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 1 year has passed since last update.

Mysql2::Error: Table 'users' already exists schema.rb

Posted at

エラー内容

ユーザー管理機能を実装していた時のこと。
テーブルを作成後に、rails db:migrate実行時に
Mysql2::Error: Table 'users' already existsとエラー表示される。

仮説1

調べたところ↓
https://qiita.com/TAKE1219/items/fbc9578226771427fcdd

usersテーブルは既に存在しているよ!とエラーが出ている様子。
また、原因としてdatabase.ymlの
encoding: utf8mb4encoding: utf8へ修正する必要がある。

修正して再度

rails db:migrate

Mysql2::Error: Table 'users' already exists

の表示・・・

rails db:migrate:statusでmigrationファイルの確認。

Status  Migration ID    Migration Name
-------------------------------------------
down    000000000000    Devise create users

特に問題なさそう。。。

SQL文でテーブル内を確認するも、特に問題も無さそう・・・

仮説2

色々ネットを物色していたところ
↓この記事を発見
https://qiita.com/k0kubun/items/491a9d9f2745335566e3

schema.rbファイルを確認。
何故か、前回作成していたアプリのデータベースが記述されている。
schema.rbファイル内の記述を削除して、

rails db:migrate

すると

Status     Migration ID     Migration Name
-------------------------------------------------
  up       000000000000     Devise create users

無事、migrate出来ました〜〜〜〜〜♪

まとめ

今回は、schema.rbファイルが原因でした。
なぜ、前回のアプリ内容が記述されていたかは謎なので
分かるかた居れば教えて下さい。。。。

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?