はじめに
エラーの対処法メモ。
== 20221226020652 DeviseCreateUsers: migrating ================================
-- create_table(:users)
rails aborted!
StandardError: An error has occurred, all later migrations canceled:
以下、続く
この記述はエラーが出たのでマイグレーションをキャンセルしたという記述。
この後の記述でエラーの詳細を見ます。
原因
                略
Mysql2::Error: Invalid default value for 'hoge'
                略
ActiveRecord::StatementInvalid: Mysql2::Error: Invalid default value for 'hoge'
                略
Mysql2::Error: Invalid default value for 'hoge'
デフォルトの値が無効だとのこと。
t.date :hoge,      null: false, default: ""
公式によるとdate型はMySQL は、DATE 値を'YYYY-MM-DD'形式で取得して表示します。とあるのでdefault:""が原因でした。
以下、公式
11.2.2 DATE、DATETIME、および TIMESTAMP 型
解決策
t.date :hoge,      null: false
default:""を消してから rails db:migrate
== 20221226020652 DeviseCreateUsers: migrating ================================
-- create_table(:users)
   -> 0.0527s
        略
== 20221226020652 DeviseCreateUsers: migrated (0.0799s) =======================
 Status   Migration ID    Migration Name
--------------------------------------------------
   up     20221224075426  Create hoges
   up     20221226020652  Devise create users
無事にマイグレーションファイルが設定されました。
終わりに
カラム型:dateは初めて使うのでうっかりしてました。
db:resetなど余計なことをしましたが、しっかりエラー文を読んでいこうと思います。
参考サイト
https://qiita.com/yuya_maru2/items/b839af0b60d8096ecf49