Files
Document-Management-System-…/database/migrations/2021_04_03_041017_create_documents_table.php
2021-04-25 04:29:56 -07:00

77 lines
1.7 KiB
PHP

<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
/**
* Class CreateDocumentsTable.
*/
class CreateDocumentsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('documents', function(Blueprint $table) {
$table->increments('id');
$table->string('symbol', 30)->nullable();
$table->text('abstract')->nullable();
$table->unsignedInteger('book_id');
$table->string('type_id', 2);
$table->unsignedInteger('signer_id')->nullable();
$table->date('sign_at')->nullable();
$table->string('creator_id', 20);
$table->string('writer_id', 20)->nullable();
$table->date('effective_at');
$table->string('publisher_id', 30);
$table->unsignedInteger('link_id')->nullable();
$table->timestamps();
$table->foreign('book_id')
->references('id')
->on('books')
->onUpdate('cascade');
$table->foreign('type_id')
->references('id')
->on('document_types')
->onUpdate('cascade');
$table->foreign('signer_id')
->references('id')
->on('signers')
->onUpdate('cascade');
$table->foreign('creator_id')
->references('id')
->on('users')
->onUpdate('cascade');
$table->foreign('writer_id')
->references('id')
->on('users')
->onUpdate('cascade');
$table->foreign('publisher_id')
->references('id')
->on('organizes')
->onUpdate('cascade');
});
Schema::table('documents', function (Blueprint $table) {
$table->foreign('link_id')
->references('id')
->on('documents')
->onUpdate('cascade');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('documents');
}
}