【PHP】laravelのデータベース設定及びMySQLテーブル作成時の型の種類

PHP

はじめに

larabelインストール後、初めてlaravelを構築した時に行ったデータベースの設定及び作成についてのメモです。

データベースの設定

.envの修正を行う

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=[DB名]
DB_USERNAME=[DBのユーザーID]
DB_PASSWORD=[DBのパスワード]

テーブルの作成

ownerテーブルを作成してみます。

php artisan make:migration create_owner_table --create=owner

このコマンドで「database/migrations/」内に、テーブルcreateのファイルが作成されます。
それを変更し、テーブルのカラムを指定します。
型の種類は以下を参照してください。

  • increments(‘id’) … 「符号なしINT」を使用した自動増分ID(主キー)
  • binary(‘カラム名’) … バイナリデータカラム
  • boolean(‘カラム名’) … 真偽値カラム
  • char(‘カラム名’, 長さ) … 長さを指定する文字列カラム
  • date(‘カラム名’) … 日付カラム
  • time(‘カラム名’) … 時間カラム
  • dateTime(カラム名) … 日時カラム
  • double(‘カラム名’, 桁数, 小数点以下桁数) … ○桁で小数点以下×桁の小数カラム
  • enum(‘カラム名’, [‘定数’, ‘定数’]) … ENUMカラム
  • integer(‘カラム名’) … 数値データカラム
  • json(‘カラム名’) … JSONフィールドカラム
  • timestamp(‘カラム名’) … TIMESTAMPカラム
  • timestamps() … created_atとupdate_atカラム
  • nullableTimestamps() … NULL値を許す以外、timestamps()と同じ
  • string(‘カラム名’) … VARCHARカラム
  • string(‘カラム名’, 長さ) … 長さ指定のVARCHARカラム
  • text(‘カラム名’) … TEXTカラム

編集完了後、マイグレーションを実行します。

php artisan migrate

マイグレーション時、「1071 Specified key was too long; max key length is 767 bytes」のエラーが発生した場合、ここを一度参照してみてください。

まとめ

データベース及びテーブルが完成したので、次回からアプリケーション設定を行います。

コメント