diff --git a/app/models/box/message_threads_extensions.rb b/app/models/box/message_threads_extensions.rb index 0e8f6a0eb..f7d38176a 100644 --- a/app/models/box/message_threads_extensions.rb +++ b/app/models/box/message_threads_extensions.rb @@ -21,7 +21,7 @@ def find_or_create_by_merge_uuid!(folder:, merge_uuid:, title:, delivered_at:) delivered_at: delivered_at, last_message_delivered_at: delivered_at ) - thread.merge_identifiers.build(uuid: merge_uuid, tenant: folder.tenant) + thread.merge_identifiers.build(uuid: merge_uuid, box: folder.box) end thread.save! diff --git a/app/models/message_thread_merge_identifier.rb b/app/models/message_thread_merge_identifier.rb index 0b856ee9f..87b273e7f 100644 --- a/app/models/message_thread_merge_identifier.rb +++ b/app/models/message_thread_merge_identifier.rb @@ -4,12 +4,12 @@ # # id :integer not null, primary key # message_thread_id :integer not null -# tenant_id :integer not null +# box_id :integer not null # uuid :uuid not null # created_at :datetime not null # updated_at :datetime not null class MessageThreadMergeIdentifier < ApplicationRecord belongs_to :message_thread - belongs_to :tenant + belongs_to :box end diff --git a/db/migrate/20231114132619_add_box_id_to_message_thread_merge_identifiers.rb b/db/migrate/20231114132619_add_box_id_to_message_thread_merge_identifiers.rb new file mode 100644 index 000000000..ce1ad5602 --- /dev/null +++ b/db/migrate/20231114132619_add_box_id_to_message_thread_merge_identifiers.rb @@ -0,0 +1,14 @@ +class AddBoxIdToMessageThreadMergeIdentifiers < ActiveRecord::Migration[7.0] + def change + add_reference :message_thread_merge_identifiers, :box, null: true, index: true + + MessageThreadMergeIdentifier.find_each do |merge_identifier| + merge_identifier.update(box: merge_identifier.message_thread.box) + end + + change_column_null :message_thread_merge_identifiers, :box_id, false + remove_column :message_thread_merge_identifiers, :tenant_id + + add_index :message_thread_merge_identifiers, [:uuid, :box_id], unique: true + end +end diff --git a/db/schema.rb b/db/schema.rb index 4c939b829..f93c6d03e 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[7.0].define(version: 2023_11_01_181535) do +ActiveRecord::Schema[7.0].define(version: 2023_11_14_132619) do # These are extensions that must be enabled in order to support this database enable_extension "pgcrypto" enable_extension "plpgsql" @@ -297,10 +297,10 @@ t.uuid "uuid", null: false t.datetime "created_at", null: false t.datetime "updated_at", null: false - t.bigint "tenant_id", null: false + t.bigint "box_id", null: false + t.index ["box_id"], name: "index_message_thread_merge_identifiers_on_box_id" t.index ["message_thread_id"], name: "index_message_thread_merge_identifiers_on_message_thread_id" - t.index ["tenant_id"], name: "index_message_thread_merge_identifiers_on_tenant_id" - t.index ["uuid", "tenant_id"], name: "index_message_thread_merge_identifiers_on_uuid_and_tenant_id", unique: true + t.index ["uuid", "box_id"], name: "index_message_thread_merge_identifiers_on_uuid_and_box_id", unique: true end create_table "message_thread_notes", force: :cascade do |t| @@ -468,7 +468,6 @@ add_foreign_key "message_relations", "messages" add_foreign_key "message_relations", "messages", column: "related_message_id" add_foreign_key "message_thread_merge_identifiers", "message_threads" - add_foreign_key "message_thread_merge_identifiers", "tenants" add_foreign_key "message_thread_notes", "message_threads" add_foreign_key "message_threads", "folders" add_foreign_key "message_threads_tags", "message_threads" diff --git a/test/fixtures/message_thread_merge_identifiers.yml b/test/fixtures/message_thread_merge_identifiers.yml index c1f7262d7..3af4a2304 100644 --- a/test/fixtures/message_thread_merge_identifiers.yml +++ b/test/fixtures/message_thread_merge_identifiers.yml @@ -3,14 +3,14 @@ one: message_thread: one uuid: <%= SecureRandom.uuid %> - tenant: solver + box: one two: message_thread: one uuid: <%= SecureRandom.uuid %> - tenant: solver + box: one three: message_thread: two uuid: <%= SecureRandom.uuid %> - tenant: solver + box: one