No Postgres adapter was broken.  It turns out that another developer had 
installed the postgres_ext gem, which doesn't support add_index.  Removing 
that gem fixed the failures.

On Tuesday, July 23, 2013 4:21:52 PM UTC-4, Benjamin Nash wrote:
>
> I've written a simple Rails migration that adds an index to an existing 
> Postgres table:
>
> class AddIndexToEvents < ActiveRecord::Migration
>>   def change
>>     add_index :sf_events, :account_id
>>   end
>> end
>
>
> However, when I run the migration, it fails due to a syntax error on the 
> CREATE INDEX line.  I'm expecting some SQL like this to be generated:
>
> CREATE INDEX index_sf_events_on_account_id ON sf_events (account_id);
>
>
> But instead I get something like this:
>
> CREATE INDEX index_sf_events_on_account_id ON sf_events  ( );
>
>
> The migration works fine on my friend's Mac, but it fails on my Linux box. 
>  It seems like I may have the wrong/outdated packages.   I'm running Ubuntu 
> 12.10 and have these packages installed: libpq-dev, libpq5, postgresql, 
> postgresql-9.1, postgresql-client-9.1, 
> postgresql-client-common, postgresql-common, postgresql-contrib, 
> postgresql-contrib-9.1. 
>  
>
> Here's the full error message:
>
> ==  AddIndexToEvents: migrating 
>> ===============================================
>> rake aborted!
>> An error has occurred, this and all later migrations canceled:
>> PG::Error: ERROR:  syntax error at or near ")"
>> LINE 1: ...ATE  INDEX "index_sf_events_on_account_id" ON "sf_events"( )
>>                                                                       ^
>> : CREATE  INDEX "index_sf_events_on_account_id" ON "sf_events"( 
>> )/home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@workbench-api/gems/activerecord-3.2.13/lib/active_record/connection_adapters/postgresql_adapter.rb:650:in
>>  
>> `async_exec'
>> /home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@workbench-api/gems/activerecord-3.2.13/lib/active_record/connection_adapters/postgresql_adapter.rb:650:in
>>  
>> `block in execute'
>> /home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@workbench-api/gems/activerecord-3.2.13/lib/active_record/connection_adapters/abstract_adapter.rb:280:in
>>  
>> `block in log'
>> /home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@workbench-api/gems/activesupport-3.2.13/lib/active_support/notifications/instrumenter.rb:20:in
>>  
>> `instrument'
>> /home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@workbench-api/gems/activerecord-3.2.13/lib/active_record/connection_adapters/abstract_adapter.rb:275:in
>>  
>> `log'
>> /home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@workbench-api/gems/activerecord-3.2.13/lib/active_record/connection_adapters/postgresql_adapter.rb:649:in
>>  
>> `execute'
>> /home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@workbench-api/gems/postgres_ext-0.4.0/lib/postgres_ext/active_record/connection_adapters/postgres_adapter.rb:326:in
>>  
>> `add_index'
>> /home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@workbench-api/gems/pg_power-1.5.0/lib/pg_power/create_index_concurrently.rb:82:in
>>  
>> `add_index'
>> /home/ben/git/workbench-api/db/migrate/20130723195953_add_index_to_events.rb:3:in
>>  
>> `change'
>> /home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@workbench-api/gems/activerecord-3.2.13/lib/active_record/migration.rb:407:in
>>  
>> `block (2 levels) in migrate'
>> /home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@workbench-api/gems/activerecord-3.2.13/lib/active_record/migration.rb:407:in
>>  
>> `block in migrate'
>> /home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@workbench-api/gems/activerecord-3.2.13/lib/active_record/connection_adapters/abstract/connection_pool.rb:129:in
>>  
>> `with_connection'
>> /home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@workbench-api/gems/activerecord-3.2.13/lib/active_record/migration.rb:389:in
>>  
>> `migrate'
>> /home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@workbench-api/gems/activerecord-3.2.13/lib/active_record/migration.rb:528:in
>>  
>> `migrate'
>> /home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@workbench-api/gems/activerecord-3.2.13/lib/active_record/migration.rb:720:in
>>  
>> `block (2 levels) in migrate'
>> /home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@workbench-api/gems/activerecord-3.2.13/lib/active_record/migration.rb:775:in
>>  
>> `call'
>> /home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@workbench-api/gems/activerecord-3.2.13/lib/active_record/migration.rb:775:in
>>  
>> `block in ddl_transaction'
>> /home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@workbench-api/gems/activerecord-3.2.13/lib/active_record/connection_adapters/abstract/database_statements.rb:192:in
>>  
>> `transaction'
>> /home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@workbench-api/gems/activerecord-3.2.13/lib/active_record/transactions.rb:208:in
>>  
>> `transaction'
>> /home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@workbench-api/gems/activerecord-3.2.13/lib/active_record/migration.rb:775:in
>>  
>> `ddl_transaction'
>> /home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@workbench-api/gems/pg_power-1.5.0/lib/pg_power/create_index_concurrently.rb:201:in
>>  
>> `ddl_transaction_with_postponed_queries'
>> /home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@workbench-api/gems/activerecord-3.2.13/lib/active_record/migration.rb:719:in
>>  
>> `block in migrate'
>> /home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@workbench-api/gems/activerecord-3.2.13/lib/active_record/migration.rb:700:in
>>  
>> `each'
>> /home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@workbench-api/gems/activerecord-3.2.13/lib/active_record/migration.rb:700:in
>>  
>> `migrate'
>> /home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@workbench-api/gems/activerecord-3.2.13/lib/active_record/migration.rb:570:in
>>  
>> `up'
>> /home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@workbench-api/gems/activerecord-3.2.13/lib/active_record/migration.rb:551:in
>>  
>> `migrate'
>> /home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@workbench-api/gems/activerecord-3.2.13/lib/active_record/railties/databases.rake:193:in
>>  
>> `block (2 levels) in <top (required)>'
>> /home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@global/gems/rake-10.0.4/lib/rake/task.rb:246:in
>>  
>> `call'
>> /home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@global/gems/rake-10.0.4/lib/rake/task.rb:246:in
>>  
>> `block in execute'
>> /home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@global/gems/rake-10.0.4/lib/rake/task.rb:241:in
>>  
>> `each'
>> /home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@global/gems/rake-10.0.4/lib/rake/task.rb:241:in
>>  
>> `execute'
>> /home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@global/gems/rake-10.0.4/lib/rake/task.rb:184:in
>>  
>> `block in invoke_with_call_chain'
>> /home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@global/gems/rake-10.0.4/lib/rake/task.rb:177:in
>>  
>> `invoke_with_call_chain'
>> /home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@global/gems/rake-10.0.4/lib/rake/task.rb:170:in
>>  
>> `invoke'
>> /home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@global/gems/rake-10.0.4/lib/rake/application.rb:143:in
>>  
>> `invoke_task'
>> /home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@global/gems/rake-10.0.4/lib/rake/application.rb:101:in
>>  
>> `block (2 levels) in top_level'
>> /home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@global/gems/rake-10.0.4/lib/rake/application.rb:101:in
>>  
>> `each'
>> /home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@global/gems/rake-10.0.4/lib/rake/application.rb:101:in
>>  
>> `block in top_level'
>> /home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@global/gems/rake-10.0.4/lib/rake/application.rb:110:in
>>  
>> `run_with_threads'
>> /home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@global/gems/rake-10.0.4/lib/rake/application.rb:95:in
>>  
>> `top_level'
>> /home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@global/gems/rake-10.0.4/lib/rake/application.rb:73:in
>>  
>> `block in run'
>> /home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@global/gems/rake-10.0.4/lib/rake/application.rb:160:in
>>  
>> `standard_exception_handling'
>> /home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@global/gems/rake-10.0.4/lib/rake/application.rb:70:in
>>  
>> `run'
>> /home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@workbench-api/bin/ruby_noexec_wrapper:14:in
>>  
>> `eval'
>> /home/ben/.rvm/gems/ruby-1.9.3-p392-railsexpress@workbench-api/bin/ruby_noexec_wrapper:14:in
>>  
>> `<main>'
>> Tasks: TOP => db:migrate
>> (See full trace by running task with --trace)
>
>
>

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-talk+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/ba11dc80-3424-4f95-b6d5-c119384ce4af%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to