create( 'dimensions', function ($table) { $table->increments('id'); $table->string('name')->unique(); $table->string('short')->unique(); } ); $builder->create( 'groups', function ($table) { $table->increments('id'); $table->string('name')->unique(); } ); $builder->create( 'articles', function ($table) { $table->increments('id'); $table->string('name')->unique(); $table->string('short')->unique(); $table->unsignedInteger('group_id'); $table->foreign('group_id')->references('id')->on('groups'); $table->float('content_size', 8, 2); $table->float('portion_size', 8, 2); $table->float('portion_price', 8, 2); $table->unsignedInteger('content_dimension'); $table->foreign('content_dimension')->references('id')->on('dimensions'); $table->unsignedInteger('portion_dimension'); $table->foreign('portion_dimension')->references('id')->on('dimensions'); $table->timestamp('created_at')->useCurrent(); $table->timestamp('updated_at')->useCurrent(); } ); $builder->create( 'sets', function ($table) { $table->increments('id'); $table->string('name')->unique(); $table->timestamp('created_at')->useCurrent(); $table->timestamp('updated_at')->useCurrent(); } ); $builder->create( 'set_article', function ($table) { $table->increments('id'); $table->unsignedInteger('order'); $table->unsignedInteger('set_id'); $table->foreign('set_id')->references('id')->on('sets'); $table->unsignedInteger('article_id'); $table->foreign('article_id')->references('id')->on('articles'); $table->timestamp('created_at')->useCurrent(); $table->timestamp('updated_at')->useCurrent(); } ); } /** * Reverse the migrations. * * @return void */ public function down() { $builder = Capsule::schema(); $builder->drop('set_article'); $builder->drop('sets'); $builder->drop('articles'); $builder->drop('groups'); $builder->drop('dimensions'); } }