* * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class CreateFormsTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('forms', function (Blueprint $table) { $table->increments('id'); $table->string('form', 24)->collate('utf8_general_ci'); $table->string('tense', 24); $table->string('mode', 24); $table->enum('voice', ['A','M','P','MP'])->nullable(); $table->enum('person', [1,2,3])->nullable(); $table->enum('number', ['sg', 'pl'])->nullable(); $table->enum('gender', ['M', 'F', 'N'])->nullable(); $table->enum('case', ['nom', 'gen', 'dat', 'acc'])->nullable(); $table->unique(['form', 'tense', 'mode', 'voice', 'person', 'number', 'gender', 'case']); $table->foreign('tense')->references('name')->on('tenses'); $table->foreign('mode')->references('name')->on('modes'); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::drop('forms'); } }