$ php artisan migrate
Illuminate\Database\QueryException
SQLSTATE[HY000] [1044] Access denied for user ...
migrateしようとしたらエラーが出た。
原因はMySQL8.0の認証プラグインがcaching_sha2_passwordであるのに、LaravelのPHPでは認証プラグインがまだmysql_native_passwordであるかららしい。
詳しい解決方法はこのサイトを参考にしました。
疲れた。
もう二度とLaravelもMySQLもAzureも触りたくない。
なんて言っていたらまたmigrateでエラー。
$ php artisan migrate
Migrating: 2020_06_17_200051_create_device_tableBadMethodCallException
Method Illuminate\Database\Schema\Blueprint::increment does not exist.
なんかメソッドが悪い?
まさかと思ったら、
public function up(){Schema::create('device', function (Blueprint $table) {//$table->id();$table->increment('id');$table->string('DeviceId');$table->timestamps();});}
じゃなくて、
public function up(){Schema::create('device', function (Blueprint $table) {//$table->id();$table->increments('id');$table->string('DeviceId');$table->timestamps();});}
でした。どこが違うかわかりますか???
はい、increment()じゃなくてincrements()ですね。
これ、参考書に使ってるLaravel入門で誤植してました。もうほんとさ……。