PG::DependentObjectsStillExist: FEHLER: kann Funktion delete_user_password() nicht löschen, da andere Objekte davon abhängen
Scheint von hier zu kommen:
PG::DependentObjectsStillExist: FEHLER: kann Funktion delete_user_password() nicht löschen, da andere Objekte davon abhängen
Scheint von hier zu kommen:
Es ist eine Post-Migration:
== 20240910090759 MakePasswordColumnsFromUsersReadOnly: migrating =============
-- execute("DROP TRIGGER IF EXISTS users_password_sync_on_delete_password ON users;\n")
-> 0.0007s
-- execute("DROP FUNCTION IF EXISTS delete_user_password;\n")
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled: (StandardError)
PG::DependentObjectsStillExist: ERROR: cannot drop function delete_user_password() because other objects depend on it
DETAIL: trigger users_password_sync_on_delete_password on table backup.users depends on function delete_user_password()
HINT: Use DROP ... CASCADE to drop the dependent objects too.
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rack-mini-profiler-4.0.0/lib/patches/db/pg/alias_method.rb:109:in `exec'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rack-mini-profiler-4.0.0/lib/patches/db/pg/alias_method.rb:109:in `async_exec'
(eval at /var/www/discourse/lib/method_profiler.rb:38):24:in `async_exec'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:56:in `block (2 levels) in raw_execute'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract_adapter.rb:1004:in `block in with_raw_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract_adapter.rb:976:in `with_raw_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:55:in `block in raw_execute'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/notifications/instrumenter.rb:58:in `instrument'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract_adapter.rb:1119:in `log'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:54:in `raw_execute'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:538:in `internal_execute'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:137:in `execute'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/query_cache.rb:27:in `execute'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:48:in `execute'
Sie haben Tabellen im Schema backup (das bei Backups/Wiederherstellungen verwendet wird), die von dieser Funktion abhängen.
Ist das backup-Schema hier veraltet? Wenn ja, müssen Sie es wahrscheinlich nur mit DROP SCHEMA backup entfernen.
Vielen Dank! Das klingt richtig, aber wenn ich das tue, bekomme ich Dinge wie ![]()
table backup.group_archived_messages depends on schema backup
table backup.incoming_emails depends on schema backup
table backup.user_options depends on schema backup
table backup.email_change_requests depends on schema backup
table backup.given_daily_likes depends on schema backup
table backup.onceoff_logs depends on schema backup
table backup.tags depends on schema backup
table backup.topic_tags depends on schema backup
table backup.tag_users depends on schema backup
table backup.category_tags depends on schema backup
table backup.scheduler_stats depends on schema backup
table backup.tag_groups depends on schema backup
Das war eine frische/leere Datenbank, als ich anfing, also bin ich verwirrt, warum ich eine veraltete Backup-Datenbank habe.
EDIT: Ich habe CASCADE verwendet, wie es mir gesagt wurde:
DROP SCHEMA backup CASCADE;
Ich vermute, das hat es gelöst! Es wird 25 Minuten dauern, bis ich es weiß, und hoffentlich schaue ich bis dahin nicht mehr auf einen Computer.
Ich melde mich morgen wieder.
Nochmals vielen Dank.
Das war’s. Ich bin mir zu 99 % sicher, dass ich aus irgendeinem Grund (z. B. weil es 25 Minuten dauert) einen Wiederherstellungsvorgang mit Strg+C abgebrochen habe und dadurch das veraltete Schema zurückgeblieben ist. Ich kann nicht glauben, dass dies nichts ist, was ich in den letzten zehn Jahren gelernt habe, aber so ist es!
Vielen Dank.
Dieses Thema wurde automatisch 30 Tage nach der letzten Antwort geschlossen. Neue Antworten sind nicht mehr zulässig.