以下を実行する
$ rails db:migrate:reset
Dropped database 'XXX_development'
Dropped database 'XXX_test'
Created database 'XXX_development'
Created database 'XXX_test'
== 20230325042627 CreateUsers: migrating ======================================
-- create_table(:users)
-> 0.0067s
== 20230325042627 CreateUsers: migrated (0.0067s) =============================
参考
追記 (2023.5.6)
ご指摘を受け修正。
こちらの記事とこちらの記事を参考にしました。
基本的にMySQL側でテーブルを操作するのは良くないと思っていたのですが、この場合は操作してもOKのような印象です(実際はどうかわからないです)。
以下のようにエラーが出ているとします。
$ rails db:migrate
== 20230325044645 CreateUsers: migrating ======================================
-- create_table(:users)
rails aborted!
StandardError: An error has occurred, all later migrations canceled:
Mysql2::Error: Table 'users' already exists
/Users/me/environment/XXX/db/migrate/20230325044645_create_users.rb:3:in `change'
Caused by:
ActiveRecord::StatementInvalid: Mysql2::Error: Table 'users' already exists
/Users/me/environment/XXX/db/migrate/20230325044645_create_users.rb:3:in `change'
Caused by:
Mysql2::Error: Table 'users' already exists
/Users/me/environment/XXX/db/migrate/20230325044645_create_users.rb:3:in `change'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)
MySQL側でusersテーブルを削除します。
mysql> drop table users;
Query OK, 0 rows affected (0.17 sec)
usersテーブルが消えたことを確認します。
mysql> show tables;
+--------------------------------+
| Tables_in_agribeit_development |
+--------------------------------+
| ar_internal_metadata |
| jobs |
| schema_migrations |
+--------------------------------+
3 rows in set (0.00 sec)
再度rails db:migrate
を実行します。
$ rails db:migrate
== 20230325044645 CreateUsers: migrating ======================================
-- create_table(:users)
-> 0.0637s
== 20230325044645 CreateUsers: migrated (0.0640s) =============================
usersテーブルが再度作られたことを確認します。
mysql> show tables;
+--------------------------------+
| Tables_in_agribeit_development |
+--------------------------------+
| ar_internal_metadata |
| jobs |
| schema_migrations |
| users |
+--------------------------------+
4 rows in set (0.01 sec)