#OctoberCMSでテーブルを作成するには
plugin > プラグイン名 > プロジェクト名 > updates 以下にファイルを作成する。
##テーブル作成
例)usersテーブルを作成する
create_users_table.php
<?php namespace Kobayashi\Corporate\Updates;
use Schema;
use October\Rain\Database\Schema\Blueprint;
use October\Rain\Database\Updates\Migration;
class CreateUsersTable extends Migration
{
public function up()
{
Schema::create('プラグイン名_プロジェクト名_users', function (Blueprint $table) {
$table->engine = 'InnoDB';
$table->increments('id');
$table->string('fullname');
$table->string('email');
$table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('kobayashi_corporate_estimates');
}
}
##version.yaml作成
updatesファイルの中に作成
version.yaml
1.0.1: First version of プロジェクト名
1.0.2:
- 'create table users' //コメント
- create_users_table.php //実行するファイル名
##カラム追加
update_users_table.php
<?php namespace プラグイン名\プロジェクト名\Updates;
use Schema;
use October\Rain\Database\Schema\Blueprint;
use October\Rain\Database\Updates\Migration;
class UpdateUsersTable extends Migration
{
public function up()
{
Schema::table('プラグイン名_プロジェクト名_users', function (Blueprint $table) {
$table->string('tel')->nullable();
});
}
public function down()
{
Schema::table('プラグイン名_プロジェクト名_users', function ($table) {
$table->dropColumn('tel');
});
}
}
###version.yaml追記
version.yaml
1.0.1: First version of プロジェクト名
1.0.2:
- 'create table users'
- create_users_table.php
- 1.0.3:
- 'update table users'
- update_users_table.php
##カラム変更
update_users_table_2.php
<?php namespace プラグイン名\プロジェクト名\Updates;
use Schema;
use October\Rain\Database\Schema\Blueprint;
use October\Rain\Database\Updates\Migration;
class UpdateUsersTable2 extends Migration
{
public function up()
{
Schema::table('プラグイン名_プロジェクト名_users', function ($table) {
$table->dropColumn('email');
});
}
public function down()
{
Schema::table('プラグイン名_プロジェクト名_users', function (Blueprint $table) {
$table->string('email')->nullable();
});
}
}