down(); Schema::create('modes', function (Blueprint $table) { $table->timestamps(); $table->integer('id')->autoIncrement(); $table->string('name',16); $table->string('note',255); $table->unique(['name']); }); Schema::create('cugs', function (Blueprint $table) { $table->timestamps(); $table->integer('id'); $table->string('name',16); $table->string('note',255); $table->integer('parent_id')->nullable(); $table->primary('id'); $table->foreign('parent_id')->references('id')->on('cugs'); $table->unique(['name']); }); Schema::create('frames', function (Blueprint $table) { $table->timestamps(); $table->integer('id')->autoIncrement(); $table->integer('frame'); $table->char('index',1); $table->integer('mode_id'); $table->char('type',2); $table->smallInteger('cost')->default(0); $table->integer('cug_id')->default(0); $table->boolean('public')->default(FALSE); $table->binary('content'); $table->string('note',255)->nullable(); //$table->unique(['frame','index','mode_id']); // Not needed since we have timewarp $table->foreign('mode_id')->references('id')->on('modes'); $table->foreign('cug_id')->references('id')->on('cugs'); }); Schema::create('routes', function (Blueprint $table) { $table->integer('id')->autoIncrement(); $table->char('key',1); $table->integer('route'); $table->foreign('route')->references('id')->on('frames'); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('routes'); Schema::dropIfExists('frames'); Schema::dropIfExists('cugs'); Schema::dropIfExists('modes'); } }