mirror of
https://github.com/lingble/chatwoot.git
synced 2025-11-03 04:27:53 +00:00
fix: Notification page breakages (#5236)
- Remove the cascading foreign key indexes - Add migration to clean up existing objects fixes: #4285
This commit is contained in:
46
db/migrate/20220809104508_revert_cascading_indexes.rb
Normal file
46
db/migrate/20220809104508_revert_cascading_indexes.rb
Normal file
@@ -0,0 +1,46 @@
|
||||
class RevertCascadingIndexes < ActiveRecord::Migration[6.1]
|
||||
def change
|
||||
remove_foreign_key 'account_users', 'accounts' if foreign_key_exists? 'account_users', 'accounts'
|
||||
remove_foreign_key 'account_users', 'users' if foreign_key_exists? 'account_users', 'users'
|
||||
remove_foreign_key 'agent_bots', 'accounts' if foreign_key_exists? 'agent_bots', 'accounts'
|
||||
remove_foreign_key 'campaigns', 'accounts' if foreign_key_exists? 'campaigns', 'accounts'
|
||||
remove_foreign_key 'campaigns', 'inboxes' if foreign_key_exists? 'campaigns', 'inboxes'
|
||||
remove_foreign_key 'conversations', 'campaigns' if foreign_key_exists? 'conversations', 'campaigns'
|
||||
remove_foreign_key 'conversations', 'contact_inboxes' if foreign_key_exists? 'conversations', 'contact_inboxes'
|
||||
remove_foreign_key 'conversations', 'teams' if foreign_key_exists? 'conversations', 'teams'
|
||||
remove_foreign_key 'csat_survey_responses', 'accounts' if foreign_key_exists? 'csat_survey_responses', 'accounts'
|
||||
remove_foreign_key 'csat_survey_responses', 'contacts' if foreign_key_exists? 'csat_survey_responses', 'contacts'
|
||||
remove_foreign_key 'csat_survey_responses', 'conversations' if foreign_key_exists? 'csat_survey_responses', 'conversations'
|
||||
remove_foreign_key 'csat_survey_responses', 'messages' if foreign_key_exists? 'csat_survey_responses', 'messages'
|
||||
remove_foreign_key 'csat_survey_responses', 'users', column: 'assigned_agent_id' if foreign_key_exists? 'csat_survey_responses', 'users',
|
||||
column: 'assigned_agent_id'
|
||||
remove_foreign_key 'data_imports', 'accounts' if foreign_key_exists? 'data_imports', 'accounts'
|
||||
remove_foreign_key 'mentions', 'conversations' if foreign_key_exists? 'mentions', 'conversations'
|
||||
remove_foreign_key 'mentions', 'users' if foreign_key_exists? 'mentions', 'users'
|
||||
remove_foreign_key 'notes', 'accounts' if foreign_key_exists? 'notes', 'accounts'
|
||||
remove_foreign_key 'notes', 'contacts' if foreign_key_exists? 'notes', 'contacts'
|
||||
remove_foreign_key 'notes', 'users' if foreign_key_exists? 'notes', 'users'
|
||||
remove_foreign_key 'team_members', 'teams' if foreign_key_exists? 'team_members', 'teams'
|
||||
remove_foreign_key 'team_members', 'users' if foreign_key_exists? 'team_members', 'users'
|
||||
remove_foreign_key 'teams', 'accounts' if foreign_key_exists? 'teams', 'accounts'
|
||||
remove_foreign_key 'contact_inboxes', 'contacts' if foreign_key_exists? 'contact_inboxes', 'contacts'
|
||||
remove_foreign_key 'contact_inboxes', 'inboxes' if foreign_key_exists? 'contact_inboxes', 'inboxes'
|
||||
|
||||
remove_foreign_key 'articles', 'articles', column: 'associated_article_id' if foreign_key_exists? 'articles', 'articles',
|
||||
column: 'associated_article_id'
|
||||
remove_foreign_key 'articles', 'users', column: 'author_id' if foreign_key_exists? 'articles', 'users', column: 'author_id'
|
||||
|
||||
remove_foreign_key 'categories', 'categories', column: 'parent_category_id' if foreign_key_exists? 'categories', 'categories',
|
||||
column: 'parent_category_id'
|
||||
remove_foreign_key 'categories', 'categories', column: 'associated_category_id' if foreign_key_exists? 'categories', 'categories',
|
||||
column: 'associated_category_id'
|
||||
|
||||
remove_foreign_key 'dashboard_apps', 'accounts' if foreign_key_exists? 'dashboard_apps', 'accounts'
|
||||
remove_foreign_key 'dashboard_apps', 'users' if foreign_key_exists? 'dashboard_apps', 'users'
|
||||
|
||||
remove_foreign_key 'macros', 'users', column: 'created_by_id' if foreign_key_exists? 'macros', 'users', column: 'created_by_id'
|
||||
remove_foreign_key 'macros', 'users', column: 'updated_by_id' if foreign_key_exists? 'macros', 'users', column: 'updated_by_id'
|
||||
|
||||
Migration::RemoveStaleNotificationsJob.perform_later
|
||||
end
|
||||
end
|
||||
34
db/schema.rb
34
db/schema.rb
@@ -10,7 +10,7 @@
|
||||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema.define(version: 2022_08_02_133722) do
|
||||
ActiveRecord::Schema.define(version: 2022_08_09_104508) do
|
||||
|
||||
# These are extensions that must be enabled in order to support this database
|
||||
enable_extension "pg_stat_statements"
|
||||
@@ -862,40 +862,8 @@ ActiveRecord::Schema.define(version: 2022_08_02_133722) do
|
||||
t.index ["inbox_id"], name: "index_working_hours_on_inbox_id"
|
||||
end
|
||||
|
||||
add_foreign_key "account_users", "accounts", on_delete: :cascade
|
||||
add_foreign_key "account_users", "users", on_delete: :cascade
|
||||
add_foreign_key "active_storage_attachments", "active_storage_blobs", column: "blob_id"
|
||||
add_foreign_key "active_storage_variant_records", "active_storage_blobs", column: "blob_id"
|
||||
add_foreign_key "agent_bots", "accounts", on_delete: :cascade
|
||||
add_foreign_key "articles", "articles", column: "associated_article_id"
|
||||
add_foreign_key "articles", "users", column: "author_id"
|
||||
add_foreign_key "campaigns", "accounts", on_delete: :cascade
|
||||
add_foreign_key "campaigns", "inboxes", on_delete: :cascade
|
||||
add_foreign_key "categories", "categories", column: "associated_category_id"
|
||||
add_foreign_key "categories", "categories", column: "parent_category_id"
|
||||
add_foreign_key "contact_inboxes", "contacts", on_delete: :cascade
|
||||
add_foreign_key "contact_inboxes", "inboxes", on_delete: :cascade
|
||||
add_foreign_key "conversations", "campaigns", on_delete: :cascade
|
||||
add_foreign_key "conversations", "contact_inboxes", on_delete: :cascade
|
||||
add_foreign_key "conversations", "teams", on_delete: :cascade
|
||||
add_foreign_key "csat_survey_responses", "accounts", on_delete: :cascade
|
||||
add_foreign_key "csat_survey_responses", "contacts", on_delete: :cascade
|
||||
add_foreign_key "csat_survey_responses", "conversations", on_delete: :cascade
|
||||
add_foreign_key "csat_survey_responses", "messages", on_delete: :cascade
|
||||
add_foreign_key "csat_survey_responses", "users", column: "assigned_agent_id", on_delete: :cascade
|
||||
add_foreign_key "dashboard_apps", "accounts"
|
||||
add_foreign_key "dashboard_apps", "users"
|
||||
add_foreign_key "data_imports", "accounts", on_delete: :cascade
|
||||
add_foreign_key "macros", "users", column: "created_by_id"
|
||||
add_foreign_key "macros", "users", column: "updated_by_id"
|
||||
add_foreign_key "mentions", "conversations", on_delete: :cascade
|
||||
add_foreign_key "mentions", "users", on_delete: :cascade
|
||||
add_foreign_key "notes", "accounts", on_delete: :cascade
|
||||
add_foreign_key "notes", "contacts", on_delete: :cascade
|
||||
add_foreign_key "notes", "users", on_delete: :cascade
|
||||
add_foreign_key "team_members", "teams", on_delete: :cascade
|
||||
add_foreign_key "team_members", "users", on_delete: :cascade
|
||||
add_foreign_key "teams", "accounts", on_delete: :cascade
|
||||
create_trigger("accounts_after_insert_row_tr", :generated => true, :compatibility => 1).
|
||||
on("accounts").
|
||||
after(:insert).
|
||||
|
||||
Reference in New Issue
Block a user