ActiveRecord::InvalidForeignKey: PG::ForeignKeyViolation: ERROR: insert or update on table "statuses" violates foreign key constraint "fk_rails_94a6f70399"
DETAIL: Key (in_reply_to_id)=(5949) is not present in table "statuses".
: ALTER TABLE "statuses" ADD CONSTRAINT "fk_rails_94a6f70399"
FOREIGN KEY ("in_reply_to_id")
REFERENCES "statuses" ("id")
ON DELETE SET NULL
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:97:in
async_exec'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:97:inblock (2 levels) in execute'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.1/lib/active_support/dependencies/interlock.rb:46:in
block in permit_concurrent_loads'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.1/lib/active_support/concurrency/share_lock.rb:185:inyield_shares'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.1/lib/active_support/dependencies/interlock.rb:45:in
permit_concurrent_loads'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:96:inblock in execute'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/connection_adapters/abstract_adapter.rb:612:in
block (2 levels) in log'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/connection_adapters/abstract_adapter.rb:611:inblock in log'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.1/lib/active_support/notifications/instrumenter.rb:21:in
instrument'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/connection_adapters/abstract_adapter.rb:603:inlog'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:95:in
execute'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/connection_adapters/abstract/schema_statements.rb:930:inadd_foreign_key'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/migration.rb:849:in
block in method_missing'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/migration.rb:818:inblock in say_with_time'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/migration.rb:818:in
say_with_time'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/migration.rb:838:inmethod_missing'/home/mastodon/live/db/migrate/20170604144747_add_foreign_keys_for_accounts.rb:5:in
change'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/migration.rb:792:inexec_migration'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/migration.rb:776:in
block (2 levels) in migrate'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/migration.rb:775:inblock in migrate'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:408:in
with_connection'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/migration.rb:774:inmigrate'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/migration.rb:953:in
migrate'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/migration.rb:1230:inblock in execute_migration_in_transaction'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/migration.rb:1298:in
block in ddl_transaction'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/connection_adapters/abstract/database_statements.rb:225:inblock in transaction'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/connection_adapters/abstract/transaction.rb:194:in
block in within_new_transaction'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/connection_adapters/abstract/transaction.rb:191:inwithin_new_transaction'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/connection_adapters/abstract/database_statements.rb:225:in
transaction'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/transactions.rb:210:intransaction'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/migration.rb:1298:in
ddl_transaction'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/migration.rb:1229:inexecute_migration_in_transaction'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/migration.rb:1201:in
block in migrate_without_lock'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/migration.rb:1200:ineach'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/migration.rb:1200:in
migrate_without_lock'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/migration.rb:1148:inblock in migrate'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/migration.rb:1317:in
with_advisory_lock'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/migration.rb:1148:inmigrate'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/migration.rb:1007:in
up'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/migration.rb:985:inmigrate'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/tasks/database_tasks.rb:171:in
migrate'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/railties/databases.rake:58:inblock (2 levels) in block in perform'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/railties-5.1.1/lib/rails/commands/rake/rake_command.rb:18:inperform'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/railties-5.1.1/lib/rails/command.rb:46:in
invoke'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/railties-5.1.1/lib/rails/commands.rb:16:inrequire'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/bootsnap-1.0.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:17:inrequire'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.1/lib/active_support/dependencies.rb:292:in
block in require'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.1/lib/active_support/dependencies.rb:258:inload_dependency'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.1/lib/active_support/dependencies.rb:292:in
require'
bin/rails:4:inPG::ForeignKeyViolation: ERROR: insert or update on table "statuses" violates foreign key constraint "fk_rails_94a6f70399"
DETAIL: Key (in_reply_to_id)=(5949) is not present in table "statuses".
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:97:in
async_exec'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:97:inblock (2 levels) in execute'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.1/lib/active_support/dependencies/interlock.rb:46:in
block in permit_concurrent_loads'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.1/lib/active_support/concurrency/share_lock.rb:185:inyield_shares'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.1/lib/active_support/dependencies/interlock.rb:45:in
permit_concurrent_loads'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:96:inblock in execute'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/connection_adapters/abstract_adapter.rb:612:in
block (2 levels) in log'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/connection_adapters/abstract_adapter.rb:611:inblock in log'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.1/lib/active_support/notifications/instrumenter.rb:21:in
instrument'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/connection_adapters/abstract_adapter.rb:603:inlog'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:95:in
execute'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/connection_adapters/abstract/schema_statements.rb:930:inadd_foreign_key'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/migration.rb:849:in
block in method_missing'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/migration.rb:818:inblock in say_with_time'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/migration.rb:818:in
say_with_time'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/migration.rb:838:inmethod_missing'/home/mastodon/live/db/migrate/20170604144747_add_foreign_keys_for_accounts.rb:5:in
change'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/migration.rb:792:inexec_migration'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/migration.rb:776:in
block (2 levels) in migrate'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/migration.rb:775:inblock in migrate'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:408:in
with_connection'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/migration.rb:774:inmigrate'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/migration.rb:953:in
migrate'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/migration.rb:1230:inblock in execute_migration_in_transaction'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/migration.rb:1298:in
block in ddl_transaction'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/connection_adapters/abstract/database_statements.rb:225:inblock in transaction'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/connection_adapters/abstract/transaction.rb:194:in
block in within_new_transaction'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/connection_adapters/abstract/transaction.rb:191:inwithin_new_transaction'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/connection_adapters/abstract/database_statements.rb:225:in
transaction'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/transactions.rb:210:intransaction'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/migration.rb:1298:in
ddl_transaction'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/migration.rb:1229:inexecute_migration_in_transaction'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/migration.rb:1201:in
block in migrate_without_lock'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/migration.rb:1200:ineach'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/migration.rb:1200:in
migrate_without_lock'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/migration.rb:1148:inblock in migrate'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/migration.rb:1317:in
with_advisory_lock'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/migration.rb:1148:inmigrate'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/migration.rb:1007:in
up'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/migration.rb:985:inmigrate'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/tasks/database_tasks.rb:171:in
migrate'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.1/lib/active_record/railties/databases.rake:58:inblock (2 levels) in block in perform'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/railties-5.1.1/lib/rails/commands/rake/rake_command.rb:18:inperform'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/railties-5.1.1/lib/rails/command.rb:46:in
invoke'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/railties-5.1.1/lib/rails/commands.rb:16:inrequire'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/bootsnap-1.0.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:17:inrequire'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.1/lib/active_support/dependencies.rb:292:in
block in require'
/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.1/lib/active_support/dependencies.rb:258:inload_dependency'/home/mastodon/live/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.1/lib/active_support/dependencies.rb:292:in
require'
bin/rails:4:inTasks: TOP => db:migrate
(See full trace by running task with --trace)
Migrating to AddForeignKeysForAccounts (20170604144747)
== 20170604144747 AddForeignKeysForAccounts: migrating ========================
-- add_foreign_key(:statuses, :accounts, {:on_delete=>:cascade})
-> 0.1190s
-- add_foreign_key(:statuses, :accounts, {:column=>:in_reply_to_account_id, :on_delete=>:nullify})
-> 0.0562s
-- add_foreign_key(:statuses, :statuses, {:column=>:in_reply_to_id, :on_delete=>:nullify})
Most helpful comment
Stop Mastodon, run
rake mastodon:maintenance:prepare_for_foreign_keys, and then re-run the migrations.