This commit is contained in:
Dwi Swandhana
2026-02-21 05:12:55 +07:00
parent 1dac4b9e2a
commit 3b61faafbd
10 changed files with 603 additions and 1 deletions
@@ -0,0 +1,26 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
public function up(): void
{
Schema::create('bio_cabinets', function (Blueprint $table) {
$table->id();
$table->string('code', 50)->unique();
$table->string('name', 150);
$table->string('location', 200)->nullable();
$table->text('notes')->nullable();
$table->timestamp('created_at')->useCurrent();
$table->timestamp('updated_at')->useCurrent();
});
}
public function down(): void
{
Schema::dropIfExists('bio_cabinets');
}
};
@@ -0,0 +1,30 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
public function up(): void
{
Schema::create('bio_racks', function (Blueprint $table) {
$table->id();
$table->unsignedBigInteger('cabinet_id')->index();
$table->string('code', 50);
$table->string('name', 150);
$table->integer('level')->default(1);
$table->integer('capacity')->default(0);
$table->text('notes')->nullable();
$table->timestamp('created_at')->useCurrent();
$table->timestamp('updated_at')->useCurrent();
$table->unique(['cabinet_id', 'code']);
});
}
public function down(): void
{
Schema::dropIfExists('bio_racks');
}
};
@@ -0,0 +1,32 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
public function up(): void
{
Schema::create('bio_specimens', function (Blueprint $table) {
$table->id();
$table->unsignedBigInteger('cabinet_id')->index();
$table->unsignedBigInteger('rack_id')->index();
$table->string('specimen_code', 100)->unique();
$table->string('specimen_name', 200);
$table->string('patient_name', 200)->nullable();
$table->date('collected_at')->nullable();
$table->date('stored_at');
$table->string('volume', 50)->nullable();
$table->string('storage_condition', 100)->nullable();
$table->text('notes')->nullable();
$table->timestamp('created_at')->useCurrent();
$table->timestamp('updated_at')->useCurrent();
});
}
public function down(): void
{
Schema::dropIfExists('bio_specimens');
}
};