データベースを触る必要性が出てきたのでLaravel5の勉強中。
勉強中に参考にしたページをメモっていく。
順次更新予定。
Composer
Composerをダウンロードするのに参考にした。
Hello Laravel 5! しようとしたら一瞬つまづいた時の対応 - Qiita
Webサーバを立ち上げたときにWhoops, looks like something went wrong.
と表示されてうまくいかなかったときに参考になった。
composer install
は最初はCould not find composer.json
などと言われて実行できないことがあったが、何回かやってみるとできたので原因は分からない。何もしていないのにcomposer install
を何回か実行しただけでできた。
データベースにアクセスできない
Access denied for user 'homestead'@'localhost' (using password YES)
と表示されてデータベースにアクセスできなかったとき(migrateができなかった)、.env
ファイルの中の
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
を
DB_DATABASE=[laravelでアクセスするデータベースの名前]
DB_USERNAME=[上記データベースにアクセスできるユーザの名前]
DB_PASSWORD=[上記ユーザのパスワード]
とする。
が、それでもできない!
Access denied for user 'dbuser'@'localhost' (using password YES)
と表示され、ユーザネームがちゃんとdbuser(僕の環境ではこういう名前にしてただけです)になっているのにdenyされる。
・・・パスワードが間違っていただけだった。
.envのDB_PASSWORDに記したパスワードとMySQLでdbuserにrootから設定したパスワードが違っていた。
しょうもないミスだったが、一回こういうミスをすると一生同じミスをしない(もしくは一瞬でトラブルシュートできる)ので良しとする(こういうところにメモっとくとなおさら)。
Migrationファイルでテーブルのカラムの属性を変更する
Laravel 5.3 データベース:マイグレーションを参考にusersテーブルのpasswordカラムのデータ型をvarchar(20)からvarchar(100)に変更した。
作成したMigrationファイルのup()とdown()を以下のように記述し、Migrationファイルを適用した。
down()に何を書くのが正解が分からず、とりあえず単純に作業を巻き戻す処理を記述した。
public function up()
{
Schema::table('users', function($table) {
$table->string('password', 100)->change();
});
}
public function down()
{
Schema::table('users', function($table) {
$table->string('password', 20)->change();
});
}