0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

PG::DuplicateTable: ERROR: relation "active_storage_blobs" already exists をなおす

Posted at

概要

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しているようです。
必要なデータが入っていないか注意はした方がいいですね。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?