Last active
May 2, 2017 03:57
-
-
Save geowa4/863bbcc3573f7057b1c2510e4a8d7b97 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Create users table and apply indices. | |
class CreateUsers < ActiveRecord::Migration[5.0] | |
def change | |
create_table :users, force: true, id: false, primary_key: 'id' do |t| | |
t.binary :id, default: 'uuid_v4()' | |
t.string :login, null: false | |
t.string :email, null: false | |
end | |
add_index :users, :login, unique: true | |
add_index :users, :email, unique: true | |
end | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ bin/rake db:migrate | |
== 20170502034348 CreateUsers: migrating ====================================== | |
-- create_table(:users, {:force=>true, :id=>false, :primary_key=>"id"}) | |
-> 0.2403s | |
-- add_index(:users, :email, {:unique=>true}) | |
-> 0.1133s | |
-- add_index(:users, :login, {:unique=>true}) | |
rake aborted! | |
StandardError: An error has occurred, this and all later migrations canceled: | |
PG::InternalError: ERROR: statement cannot follow a schema change in a transaction | |
: SELECT COUNT(*) | |
FROM pg_class c | |
LEFT JOIN pg_namespace n ON n.oid = c.relnamespace | |
WHERE c.relkind IN ('r','v','m') -- (r)elation/table, (v)iew, (m)aterialized view | |
AND c.relname = 'users' | |
AND n.nspname = ANY (current_schemas(false)) | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/connection_adapters/postgresql_adapter.rb:598:in `async_exec' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/connection_adapters/postgresql_adapter.rb:598:in `block in exec_no_cache' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/connection_adapters/abstract_adapter.rb:589:in `block in log' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activesupport-5.0.2/lib/active_support/notifications/instrumenter.rb:21:in `instrument' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/connection_adapters/abstract_adapter.rb:583:in `log' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/connection_adapters/postgresql_adapter.rb:598:in `exec_no_cache' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/connection_adapters/postgresql_adapter.rb:585:in `execute_and_clear' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/connection_adapters/postgresql/database_statements.rb:13:in `select_value' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/connection_adapters/postgresql/schema_statements.rb:111:in `data_source_exists?' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/connection_adapters/abstract/schema_statements.rb:1144:in `add_index_options' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/connection_adapters/postgresql/schema_statements.rb:549:in `add_index' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:846:in `block in method_missing' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:815:in `block in say_with_time' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:815:in `say_with_time' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:835:in `method_missing' | |
/Users/geowa4/Development/geowa4/meetup-docker/db/migrate/20170502034348_create_users.rb:10:in `change' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:789:in `exec_migration' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:773:in `block (2 levels) in migrate' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:772:in `block in migrate' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:398:in `with_connection' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:771:in `migrate' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:951:in `migrate' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:1214:in `block in execute_migration_in_transaction' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:1282:in `block in ddl_transaction' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/connection_adapters/abstract/database_statements.rb:232:in `block in transaction' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/connection_adapters/abstract/transaction.rb:189:in `within_new_transaction' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/connection_adapters/abstract/database_statements.rb:232:in `transaction' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/transactions.rb:211:in `transaction' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:1282:in `ddl_transaction' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:1213:in `execute_migration_in_transaction' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:1185:in `block in migrate_without_lock' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:1184:in `each' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:1184:in `migrate_without_lock' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:1132:in `block in migrate' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:1301:in `with_advisory_lock' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:1132:in `migrate' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:1006:in `up' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:984:in `migrate' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/tasks/database_tasks.rb:161:in `migrate' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/railties/databases.rake:58:in `block (2 levels) in <top (required)>' | |
ActiveRecord::StatementInvalid: PG::InternalError: ERROR: statement cannot follow a schema change in a transaction | |
: SELECT COUNT(*) | |
FROM pg_class c | |
LEFT JOIN pg_namespace n ON n.oid = c.relnamespace | |
WHERE c.relkind IN ('r','v','m') -- (r)elation/table, (v)iew, (m)aterialized view | |
AND c.relname = 'users' | |
AND n.nspname = ANY (current_schemas(false)) | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/connection_adapters/postgresql_adapter.rb:598:in `async_exec' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/connection_adapters/postgresql_adapter.rb:598:in `block in exec_no_cache' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/connection_adapters/abstract_adapter.rb:589:in `block in log' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activesupport-5.0.2/lib/active_support/notifications/instrumenter.rb:21:in `instrument' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/connection_adapters/abstract_adapter.rb:583:in `log' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/connection_adapters/postgresql_adapter.rb:598:in `exec_no_cache' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/connection_adapters/postgresql_adapter.rb:585:in `execute_and_clear' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/connection_adapters/postgresql/database_statements.rb:13:in `select_value' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/connection_adapters/postgresql/schema_statements.rb:111:in `data_source_exists?' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/connection_adapters/abstract/schema_statements.rb:1144:in `add_index_options' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/connection_adapters/postgresql/schema_statements.rb:549:in `add_index' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:846:in `block in method_missing' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:815:in `block in say_with_time' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:815:in `say_with_time' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:835:in `method_missing' | |
/Users/geowa4/Development/geowa4/meetup-docker/db/migrate/20170502034348_create_users.rb:10:in `change' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:789:in `exec_migration' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:773:in `block (2 levels) in migrate' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:772:in `block in migrate' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:398:in `with_connection' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:771:in `migrate' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:951:in `migrate' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:1214:in `block in execute_migration_in_transaction' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:1282:in `block in ddl_transaction' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/connection_adapters/abstract/database_statements.rb:232:in `block in transaction' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/connection_adapters/abstract/transaction.rb:189:in `within_new_transaction' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/connection_adapters/abstract/database_statements.rb:232:in `transaction' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/transactions.rb:211:in `transaction' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:1282:in `ddl_transaction' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:1213:in `execute_migration_in_transaction' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:1185:in `block in migrate_without_lock' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:1184:in `each' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:1184:in `migrate_without_lock' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:1132:in `block in migrate' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:1301:in `with_advisory_lock' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:1132:in `migrate' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:1006:in `up' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:984:in `migrate' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/tasks/database_tasks.rb:161:in `migrate' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/railties/databases.rake:58:in `block (2 levels) in <top (required)>' | |
PG::InternalError: ERROR: statement cannot follow a schema change in a transaction | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/connection_adapters/postgresql_adapter.rb:598:in `async_exec' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/connection_adapters/postgresql_adapter.rb:598:in `block in exec_no_cache' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/connection_adapters/abstract_adapter.rb:589:in `block in log' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activesupport-5.0.2/lib/active_support/notifications/instrumenter.rb:21:in `instrument' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/connection_adapters/abstract_adapter.rb:583:in `log' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/connection_adapters/postgresql_adapter.rb:598:in `exec_no_cache' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/connection_adapters/postgresql_adapter.rb:585:in `execute_and_clear' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/connection_adapters/postgresql/database_statements.rb:13:in `select_value' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/connection_adapters/postgresql/schema_statements.rb:111:in `data_source_exists?' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/connection_adapters/abstract/schema_statements.rb:1144:in `add_index_options' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/connection_adapters/postgresql/schema_statements.rb:549:in `add_index' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:846:in `block in method_missing' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:815:in `block in say_with_time' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:815:in `say_with_time' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:835:in `method_missing' | |
/Users/geowa4/Development/geowa4/meetup-docker/db/migrate/20170502034348_create_users.rb:10:in `change' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:789:in `exec_migration' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:773:in `block (2 levels) in migrate' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:772:in `block in migrate' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:398:in `with_connection' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:771:in `migrate' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:951:in `migrate' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:1214:in `block in execute_migration_in_transaction' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:1282:in `block in ddl_transaction' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/connection_adapters/abstract/database_statements.rb:232:in `block in transaction' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/connection_adapters/abstract/transaction.rb:189:in `within_new_transaction' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/connection_adapters/abstract/database_statements.rb:232:in `transaction' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/transactions.rb:211:in `transaction' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:1282:in `ddl_transaction' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:1213:in `execute_migration_in_transaction' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:1185:in `block in migrate_without_lock' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:1184:in `each' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:1184:in `migrate_without_lock' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:1132:in `block in migrate' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:1301:in `with_advisory_lock' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:1132:in `migrate' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:1006:in `up' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/migration.rb:984:in `migrate' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/tasks/database_tasks.rb:161:in `migrate' | |
/Users/geowa4/.gem/ruby/2.4.0/gems/activerecord-5.0.2/lib/active_record/railties/databases.rake:58:in `block (2 levels) in <top (required)>' | |
Tasks: TOP => db:migrate | |
(See full trace by running task with --trace) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment