概要
Rails6にてTrixが使えない現象が発生し仕方がないのでaction_textを再インストールした時に発生したエラーです。その時以外でもgemの再インストールした時にも発生していたのですが、毎回対象のテーブルを削除してマイグレーションをやり直していたのですが、そんな必要なかったようです。
action_textをインストール
下記のような形でaction_textを再インストールしました。
./bin/rails action_text:install
上記のコマンド実行後にマイグレーションをすると下記のエラーが発生しました。
docker-compose exec web ./bin/rails db:migrate
== 20200412032659 CreateActiveStorageTables: migrating ========================
-- create_table(:active_storage_blobs, {})
rails aborted!
StandardError: An error has occurred, this and all later migrations canceled:
PG::DuplicateTable: ERROR: relation "active_storage_blobs" already exists
テーブルがバッティングしてますという意味ですね。
対象のテーブルを削除してマイグレーションをすればいいのですが、面倒です。
マイグレーションをリセット
マイグレーションをやり直しします。
データベースをリセットする
./bin/rails db:migrate:reset
Dropped database 'app_development'
Dropped database 'app_test'
Created database 'app_development'
Created database 'app_test'
== 20200325153814 CreatePosts: migrating ======================================
-- create_table(:posts)
-> 0.1883s
== 20200325153814 CreatePosts: migrated (0.1889s) =============================
== 20200411034205 CreateArticles: migrating ===================================
-- create_table(:articles)
-> 0.0431s
== 20200411034205 CreateArticles: migrated (0.0437s) ==========================
== 20200412032659 CreateActiveStorageTables: migrating ========================
-- create_table(:active_storage_blobs, {})
-> 0.3124s
-- create_table(:active_storage_attachments, {})
-> 0.1944s
== 20200412032659 CreateActiveStorageTables: migrated (0.5082s) ===============
== 20200412032660 CreateActionTextTables: migrating ===========================
-- create_table(:action_text_rich_texts)
-> 0.1888s
== 20200412032660 CreateActionTextTables: migrated (0.1892s) ==================
どうやらresetコマンドはテーブルをdropした後にcreateしているようです。
必要なデータが入っていないか注意はした方がいいですね。