Eugeniu Tambur
417c625ab2
Fix for migration active_storage migration
...
*ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR: relation "active_storage_attachments" does not exist*
Updating to rails 6.0.0.beta3 if the command rake app:update is used a new migration file is generated:
```ruby
# db/migrate/add_foreign_key_constraint_to_active_storage_attachments_for_blob_id.active_storage.rb
class AddForeignKeyConstraintToActiveStorageAttachmentsForBlobId < ActiveRecord::Migration[6.0]
def up
unless foreign_key_exists?(:active_storage_attachments, column: :blob_id)
add_foreign_key :active_storage_attachments, :active_storage_blobs, column: :blob_id
end
end
end
```
**If the project does not have previously installed active storage** this mgiration causes an error:
ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR: relation "active_storage_attachments" does not exist
**Error output:**
PG::UndefinedTable: ERROR: relation "active_storage_attachments" does not exist
activerecord-6.0.0.beta3/lib/active_record/connection_adapters/postgresql/database_statements.rb:90:in `async_exec'
activerecord-6.0.0.beta3/lib/active_record/connection_adapters/postgresql/database_statements.rb:90:in `block (2 levels) in execute'
activesupport-6.0.0.beta3/lib/active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads'
activesupport-6.0.0.beta3/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
activesupport-6.0.0.beta3/lib/active_support/dependencies/interlock.rb:47:in `permit_concurrent_loads'
activerecord-6.0.0.beta3/lib/active_record/connection_adapters/postgresql/database_statements.rb:89:in `block in execute'
activerecord-6.0.0.beta3/lib/active_record/connection_adapters/abstract_adapter.rb:643:in `block (2 levels) in log'
activerecord-6.0.0.beta3/lib/active_record/connection_adapters/abstract_adapter.rb:642:in `block in log'
activesupport-6.0.0.beta3/lib/active_support/notifications/instrumenter.rb:23:in `instrument'
activerecord-6.0.0.beta3/lib/active_record/connection_adapters/abstract_adapter.rb:633:in `log'
activerecord-6.0.0.beta3/lib/active_record/connection_adapters/postgresql/database_statements.rb:88:in `execute'
activerecord-6.0.0.beta3/lib/active_record/connection_adapters/abstract/schema_statements.rb:977:in `add_foreign_key'
activerecord-6.0.0.beta3/lib/active_record/migration.rb:875:in `block in method_missing'
activerecord-6.0.0.beta3/lib/active_record/migration.rb:843:in `block in say_with_time'
activerecord-6.0.0.beta3/lib/active_record/migration.rb:843:in `say_with_time'
activerecord-6.0.0.beta3/lib/active_record/migration.rb:864:in `method_missing'
/db/migrate/20190315102607_add_foreign_key_constraint_to_active_storage_attachments_for_blob_id.active_storage.rb:5:in `up'
activerecord-6.0.0.beta3/lib/active_record/migration.rb:816:in `exec_migration'
activerecord-6.0.0.beta3/lib/active_record/migration.rb:797:in `block (2 levels) in migrate'
activerecord-6.0.0.beta3/lib/active_record/migration.rb:796:in `block in migrate'
activerecord-6.0.0.beta3/lib/active_record/connection_adapters/abstract/connection_pool.rb:416:in `with_connection'
activerecord-6.0.0.beta3/lib/active_record/migration.rb:795:in `migrate'
activerecord-6.0.0.beta3/lib/active_record/migration.rb:985:in `migrate'
activerecord-6.0.0.beta3/lib/active_record/migration.rb:1293:in `block in execute_migration_in_transaction'
activerecord-6.0.0.beta3/lib/active_record/migration.rb:1344:in `block in ddl_transaction'
activerecord-6.0.0.beta3/lib/active_record/connection_adapters/abstract/database_statements.rb:265:in `block in transaction'
activerecord-6.0.0.beta3/lib/active_record/connection_adapters/abstract/transaction.rb:272:in `block in within_new_transaction'
activerecord-6.0.0.beta3/lib/active_record/connection_adapters/abstract/transaction.rb:270:in `within_new_transaction'
activerecord-6.0.0.beta3/lib/active_record/connection_adapters/abstract/database_statements.rb:265:in `transaction'
activerecord-6.0.0.beta3/lib/active_record/transactions.rb:212:in `transaction'
activerecord-6.0.0.beta3/lib/active_record/migration.rb:1344:in `ddl_transaction'
activerecord-6.0.0.beta3/lib/active_record/migration.rb:1292:in `execute_migration_in_transaction'
activerecord-6.0.0.beta3/lib/active_record/migration.rb:1264:in `block in migrate_without_lock'
activerecord-6.0.0.beta3/lib/active_record/migration.rb:1263:in `each'
activerecord-6.0.0.beta3/lib/active_record/migration.rb:1263:in `migrate_without_lock'
activerecord-6.0.0.beta3/lib/active_record/migration.rb:1211:in `block in migrate'
activerecord-6.0.0.beta3/lib/active_record/migration.rb:1364:in `with_advisory_lock'
activerecord-6.0.0.beta3/lib/active_record/migration.rb:1211:in `migrate'
activerecord-6.0.0.beta3/lib/active_record/migration.rb:1044:in `up'
activerecord-6.0.0.beta3/lib/active_record/migration.rb:1019:in `migrate'
activerecord-6.0.0.beta3/lib/active_record/tasks/database_tasks.rb:191:in `migrate'
activerecord-6.0.0.beta3/lib/active_record/railties/databases.rake:78:in `block (3 levels) in <main>'
activerecord-6.0.0.beta3/lib/active_record/railties/databases.rake:76:in `each'
activerecord-6.0.0.beta3/lib/active_record/railties/databases.rake:76:in `block (2 levels) in <main>'
railties-6.0.0.beta3/lib/rails/commands/rake/rake_command.rb:23:in `block in perform'
railties-6.0.0.beta3/lib/rails/commands/rake/rake_command.rb:20:in `perform'
railties-6.0.0.beta3/lib/rails/command.rb:48:in `invoke'
railties-6.0.0.beta3/lib/rails/commands.rb:18:in `<main>'
bootsnap-1.4.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `require'
bootsnap-1.4.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `block in require_with_bootsnap_lfi'
bootsnap-1.4.1/lib/bootsnap/load_path_cache/loaded_features_index.rb:83:in `register'
bootsnap-1.4.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:20:in `require_with_bootsnap_lfi'
bootsnap-1.4.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:29:in `require'
activesupport-6.0.0.beta3/lib/active_support/dependencies.rb:297:in `block in require'
activesupport-6.0.0.beta3/lib/active_support/dependencies.rb:263:in `load_dependency'
activesupport-6.0.0.beta3/lib/active_support/dependencies.rb:297:in `require'
bin/rails:4:in `<main>'
2019-03-15 12:54:42 +01:00