Laravel 5.4 マイグレーション
Laravel 5.4 マイグレーションについて
1.環境設定
Laravelにおいて、DBへアクセスするための定義は、.env
もしくは config/database.php
で行う。
.env
が存在しない場合、 config/database.php
を使用する模様。
[.env]
下記の行をDBに合わせて設定する。 DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=homestead DB_USERNAME=homestead DB_PASSWORD=secret
[config/database.php]
下記の内容をDBに合わせて設定する。 'connections' => [ 'sqlite' => [ 'driver' => 'sqlite', 'database' => env('DB_DATABASE', database_path('database.sqlite')), 'prefix' => '', ], 'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'unix_socket' => env('DB_SOCKET', ''), 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', 'prefix' => '', 'strict' => true, 'engine' => null, ], 'pgsql' => [ 'driver' => 'pgsql', 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '5432'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'charset' => 'utf8', 'prefix' => '', 'schema' => 'public', 'sslmode' => 'prefer', ], 'sqlsrv' => [ 'driver' => 'sqlsrv', 'host' => env('DB_HOST', 'localhost'), 'port' => env('DB_PORT', '1433'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'charset' => 'utf8', 'prefix' => '', ],
2.マイグレーションファイルの作成
artisan
を使用し、マイグレーションファイルを作成する。
マイグレーションファイルが作成されるのは、database/migrations
。
[コマンド]
・テーブル作成時 php artisan make:migration [ファイル名] --create=[テーブル名] ・テーブル変更時 php artisan make:migration [ファイル名] --table=[テーブル名]
[マイグレーションファイル]
<?php use Illuminate\Support\Facades\Schema; use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class CreatePages extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('pages', function (Blueprint $table) { $table->increments('id'); // ここに追加 $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('pages'); } }
3.マイグレーションを実行
artisan
を使用し、マイグレーションを実行する。
[コマンド]
php artisan migrate ・ロールバック php artisan migrate:rollback ・リセット php artisan migrate:reset ・再作成 php artisan migrate:refresh