diff --git a/db/migrate/20221002193055_delete_orphaned_query_and_role_from_queries_roles.rb b/db/migrate/20221002193055_delete_orphaned_query_and_role_from_queries_roles.rb new file mode 100644 index 000000000..aa86450a2 --- /dev/null +++ b/db/migrate/20221002193055_delete_orphaned_query_and_role_from_queries_roles.rb @@ -0,0 +1,14 @@ +class DeleteOrphanedQueryAndRoleFromQueriesRoles < ActiveRecord::Migration[6.1] + def self.up + queries_roles = "#{Query.table_name_prefix}queries_roles#{Query.table_name_suffix}" + queries = Query.table_name + roles = Role.table_name + + ActiveRecord::Base.connection.execute "DELETE FROM #{queries_roles} WHERE query_id NOT IN (SELECT DISTINCT(id) FROM #{queries})" + ActiveRecord::Base.connection.execute "DELETE FROM #{queries_roles} WHERE role_id NOT IN (SELECT DISTINCT(id) FROM #{roles})" + end + + def self.down + # no-op + end +end