PG::DependentObjectsStillExist: ERROR: cannot drop function delete_user_password() because other objects depend on it
Parece venir de aquí:
PG::DependentObjectsStillExist: ERROR: cannot drop function delete_user_password() because other objects depend on it
Parece venir de aquí:
Es una migración posterior:
== 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'
Tienes tablas en el esquema backup (utilizado durante las copias de seguridad/restauraciones) que dependen de esta función.
¿Está obsoleto el esquema backup aquí? Si es así, probablemente solo necesites DROP SCHEMA backup aquí para deshacerte de él.
¡Muchas gracias! Eso suena correcto, pero cuando lo hago, obtengo cosas como ![]()
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
Esta era una base de datos nueva/vacía cuando empecé, así que estoy confundido por qué tengo una base de datos de respaldo obsoleta.
EDITAR: Usé cascade, como me dijo:
DROP SCHEMA backup CASCADE;
¡Supongo que eso lo solucionó! Tardaré 25 minutos en saberlo y espero haber dejado de mirar una computadora para entonces.
Informaré mañana.
Gracias de nuevo.
Eso fue todo. Estoy 99% seguro de que detuve una restauración con control-c por alguna razón (como que tarda 25 minutos) y eso dejó atrás el esquema obsoleto. ¡No puedo creer que esto no sea algo que haya logrado aprender en la última década, pero así es!
Muchas gracias.
Este tema se cerró automáticamente 30 días después de la última respuesta. Ya no se permiten nuevas respuestas.