mirror of
https://github.com/discourse/discourse.git
synced 2024-12-01 13:09:33 -06:00
e7b39e2fc1
This new table will be used to automatically group replies for messages into one place. In future additional functionality will be built around the thread, like pinning messages, changing the title, etc., the columns are just the main ones needed at first. The columns are not prefixed with `chat_*` e.g. `chat_channel` since this is redundant and just adds duplication everywhere, we want to move away from this generally within chat.
25 lines
749 B
Ruby
25 lines
749 B
Ruby
# frozen_string_literal: true
|
|
|
|
class CreateChatThreadingModels < ActiveRecord::Migration[7.0]
|
|
def change
|
|
create_table :chat_threads do |t|
|
|
t.bigint :channel_id, null: false
|
|
t.bigint :original_message_id, null: false
|
|
t.bigint :original_message_user_id, null: false
|
|
t.integer :status, null: false, default: 0
|
|
t.string :title, null: true
|
|
|
|
t.timestamps
|
|
end
|
|
|
|
add_index :chat_threads, :channel_id
|
|
add_index :chat_threads, :original_message_id
|
|
add_index :chat_threads, :original_message_user_id
|
|
add_index :chat_threads, :status
|
|
add_index :chat_threads, %i[channel_id status]
|
|
|
|
add_column :chat_messages, :thread_id, :bigint, null: true
|
|
add_index :chat_messages, :thread_id
|
|
end
|
|
end
|