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+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
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.