さて、環境構築できたから次へ
昨日作成できたLaravelにマイグレーションファイルを作成していきます。
$ ./vendor/bin/sail artisan make:migration create_テーブル名_table
これを打つことにより、作成ができる。必要なテーブル数分ファイルも作成されるということになりますね!
早速作成してみると・・・
現状では色々記述を変更したりしているので少し違いますけど、大体に多様な記述がされています。
ここで1番びっくりしたのは、SQLの形式を指定しておかないと日本語対応してくれないので変なものが挿入されてしまう・・・
慌ててリファレンスなどを参考に書き直し・・・
そして、もう一つ気づいたのは、
$table->id()
の状態のままだとbigIntとなってしまう。
記述をincrements('id')
へと変更。
ここで、癖でやってしまったことがあります。
stringの指定しかないのに記述をvarcharとしていたところ・・・エラー吐きますよね・・・
これも注意点の一つだと思いました。
rollbackやりすぎ
色んなところを間違えたり、テーブル名を入れるところがそもそも間違っている・・・
そんなことを繰り返しやっていたので、rollbackを何度もやっていました。
Laravelリファレンスを見ていたところ
./vender/bin/sail artisan migrate:refresh
を使用すると今まで作成してあったテーブルを削除して、もう一度テーブルを作り直してくれるというもの。
詳しくはリファレンスを参照した方が良いかと思われます。
簡単に解説しておくと
- freshはテーブルを削除して、migrateを実行
- refreshはロールバックを実行して、migrateを実行
どちらがいいのか実際は触りきってはませんが、refreshがいいのかな〜?と感じて実行をしました。
続けてModelクラスも作成!
./vendor/bin/sail artisan make:model モデル名
こちらのモデル名というところには、テーブル名と結びついた名前を定義すると・・・
Laravelが自動で判断してくれるという素晴らしい機能!!!
- テーブル名には複数系の名前を定義
- モデル名には単数系の名前を定義
明日も開発に取り組んでいく予定です!
間違いなことがあれば、Twitterなどでお話をしてくれると幸いです!!!