前回、sqliteに変更したあと、model変更してmigrateしても実行されなくて情報がなかなか出てこなかったので書いておきます。
後から気付きましたが、一度マイグレーションした後に変更する場合って変更するためのマイグレーションファイルを作成して実行する必要があるんですね…
まあ新規開発だったら変更するマイグレーションファイルを作成するよりもなるべく一つにまとめたいと思うので続けます。
症状
apiの認証を試す際にUsersモデルに項目を追加してmigrateしても反映されない症状が状態になりました。
class CreateUsersTable extends Migration { public function up() { Schema::create('users', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->timestamp('email_verified_at')->nullable(); $table->string('password'); $table->rememberToken(); $table->timestamps(); $table->string('api_token',60)->unique()->nullable(); }); } }
対応
キャッシュのクリア
とりあえずキャッシュをクリアして再度migrateしてみました。
php artisan cache:clear
うまく行きませんでした。
DBの再構築
キャッシュのクリアしてもうまくいかなかったので、DBを再構築します。
php artisan migrate:refresh
うまくいったっぽいです。
tinkerを使って確かめてみます。
できました。
ただ、このコマンドは全て初期化されてデータが飛ぶようなので、注意が必要です。
0件のコメント