ChatGPTに聞きながらLaravel9の教科書にチャレンジ中です.
教科書はこれ
プルリクしたらうまくいかなくなった
プルリクしたデータをローカルに反映したところ,tweetsテーブルが無いとのエラーが発生しました.(教科書は悪くない)
そこでまずartisanファイルがあることを確認し.
php artisan migrate
を実施したところ,
SQLSTATE[HY000]: General error: 1813 Tablespace '
DB名.
tweets' exists.
となりました.tweetsテーブルが無いようです.
確認をする
そこで,DockerのSQL側のコマンドラインを開き,
(DB側ターミナル)
mysql -u DBユーザ名 -p
でパスワードを入力してSQLにログインし,
(DB側ターミナル)
SHOW TABLES FROM DB名;
tweetsテーブルがあるか確認をしますがありませんでした.
テーブルは無いのに有るというエラーはなんぞやと.
(アプリ側ターミナル)
php artisan migrate:status
でaritisannの状態を見ると
2023_xx_xx_xxxxxx_create_tweets_table ...... Pending
と表示されpendingになっています.
削除をする
そこで,
(DB側ターミナル)
DROP TABLE IF EXISTS
DB名.
tweets;
念のためtableを削除します(無いのに,,)
(アプリ側ターミナル)
php artisan cache:clear
そして念のためキャッシュを削除します.
ファイルブラウザで
mysql/data/DB名 の /tweets.ibd
を手動で削除します
(アプリ側ターミナル)
php artisan migrate
をするとマイグレーションが成功しました.
この後は問題なく動作しました.