演習課題「マイグレーションでカラムを追加」
右の環境には、Laravelで「myblog」というアプリケーションを作ってあります。データベースのdiariesテーブルに「weather」というカラムを文字列型で追加してください。
手順は次の通りです。
1. マイグレーションファイルを生成する
2. マイグレーションファイルにカラムを追加する
3. 生成したファイルの設定をデータベースに反映する
採点して、すべてのジャッジに正解すれば、演習課題クリアです!
※採点を行う前に、`php artisan serve`でLaravelのサーバーを起動してください。
※「doctrine/dbal」ライブラリはインストール済みです。
#03:マイグレーションで、カラムを追加しよう
ここでは、掲示板アプリケーションのデータベースに、投稿者の名前を表すカラムを追加します。そして、Laravelのマイグレーションについて、さらに理解を深めます。
一般的に、マイグレーションとは、データベースの中身を一括して移行したり変更したりする作業です。Laravelのマイグレーション機能では、データベースの定義や変更を一度に行うことができます。
マイグレーションは、2段階で行います。まず、専用のコマンドを使ってマイグレーションファイルを作成して、それから必要な情報を修正して、データベースに適用します。
Laravelでカラムを変更するには、doctrine/dbalというライブラリが必要になります。
doctrine/dbalを追加するには、次のコマンドを実行します。$ composer require doctrine/dbal
※この環境には、あらかじめdoctrine/dbalをインストールしてあります。
$ cd bbs
$ php artisan make:migration add_column_username --table=articles
database/migrations/2019_xx_xx_xxxxxxxx_add_column_username.php<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class AddColumnNameTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('articles', function (Blueprint $table) {
$table->string('user_name');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('articles', function (Blueprint $table) {
//
});
}
}
$ php artisan migrate
データベース:マイグレーション 5.7 Laravel
https://readouble.com/laravel/5.7/ja/migrations.html
laravelでのマイグレーション作成手順 - Qiita
https://qiita.com/Thiru0000/items/83964c6ff8d8fecc4cfe
LaravelのMigrationについて調べた結果 - Qiita
https://qiita.com/qiita-kurara/items/9a34f97a184a1d8c1c35
Laravelのマイグレーション&スキーマビルダでDBのテーブルやカラムを作成する
https://www.ritolab.com/entry/25
LaravelのMigration(マイグレーション)でテーブルのカラムを追加・変更・削除する
https://www.ritolab.com/entry/26