feat: add announcement and pivot table with segment.

This commit is contained in:
weichien
2021-06-08 13:40:10 +08:00
parent aaf3385a13
commit d82f198199
2 changed files with 80 additions and 0 deletions
@@ -0,0 +1,40 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateAnnouncementsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('announcements', function (Blueprint $table) {
$table->id();
$table->string('title', 50);
$table->longText('description');
$table->timestamp('starting_on')->nullable();
$table->timestamp('ending_on')->nullable();
$table->boolean('is_all_day')->default(false);
$table->integer('duration')->default(0);
$table->boolean('is_recurring')->default(false);
$table->string('recurrence_pattern')->nullable();
$table->softDeletes();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('announcements');
}
}
@@ -0,0 +1,40 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateAnnouncementSegmentTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('announcement_segment', function (Blueprint $table) {
$table->primary(['announcement_id', 'segment_id']);
$table->bigInteger('announcement_id')->unsigned();
$table->bigInteger('segment_id')->unsigned();
$table->timestamps();
$table->foreign('announcement_id')
->references('id')
->on('announcements')->onDelete('cascade');
$table->foreign('segment_id')
->references('id')
->on('segments')->onDelete('cascade');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('announcement_segment');
}
}