feat(messages): use trix editor in messages
This commit is contained in:
parent
c4a53caf52
commit
ef6d6aa368
14 changed files with 83 additions and 5 deletions
|
|
@ -0,0 +1,32 @@
|
|||
class MigrateMessageBodyToActionText < ActiveRecord::Migration[7.0]
|
||||
include ActionView::Helpers::TextHelper
|
||||
|
||||
class Message < ApplicationRecord
|
||||
has_rich_text :body
|
||||
end
|
||||
|
||||
def change
|
||||
reversible do |dir|
|
||||
dir.up do
|
||||
rename_column :messages, :body, :body_old
|
||||
Message.all.each do |message|
|
||||
message.update(body: simple_format(message.body_old))
|
||||
message.body.update(record_type: :Message) # action_text_rich_texts uses STI record_type field and has to be set to the real model
|
||||
end
|
||||
remove_column :messages, :body_old, :text
|
||||
end
|
||||
dir.down do
|
||||
execute "ALTER TABLE `messages` ADD `body_old` text"
|
||||
execute "UPDATE `messages` m
|
||||
INNER JOIN `action_text_rich_texts` a
|
||||
ON m.id = a.record_id
|
||||
set m.body_old = a.body"
|
||||
Message.all.each do |message|
|
||||
message.update(body_old: strip_tags(message.body_old))
|
||||
end
|
||||
execute "DELETE FROM `action_text_rich_texts` WHERE `action_text_rich_texts`.`record_type` = 'Message'"
|
||||
execute "ALTER TABLE `messages` CHANGE `body_old` `body` TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL;"
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -292,7 +292,6 @@ ActiveRecord::Schema[7.0].define(version: 2023_02_15_085312) do
|
|||
create_table "messages", id: :integer, charset: "utf8mb4", collation: "utf8mb4_general_ci", force: :cascade do |t|
|
||||
t.integer "sender_id"
|
||||
t.string "subject", null: false
|
||||
t.text "body"
|
||||
t.boolean "private", default: false
|
||||
t.datetime "created_at", precision: nil
|
||||
t.integer "reply_to"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue