Phase 4 work order profile depth

This commit is contained in:
Codex
2026-07-10 13:24:07 -05:00
parent 084b945e75
commit 24fd8c0c5c
21 changed files with 1031 additions and 110 deletions
@@ -0,0 +1,36 @@
<?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::table('work_orders', function (Blueprint $table) {
$table->timestamp('scheduled_at')->nullable()->after('deliverables_checklist');
$table->string('appointment_window')->nullable()->after('scheduled_at');
$table->json('checklist_items')->nullable()->after('appointment_window');
$table->json('checklist_completed')->nullable()->after('checklist_items');
$table->text('required_evidence')->nullable()->after('checklist_completed');
$table->json('evidence_rules')->nullable()->after('required_evidence');
$table->json('change_requests')->nullable()->after('evidence_rules');
});
}
public function down(): void
{
Schema::table('work_orders', function (Blueprint $table) {
$table->dropColumn([
'scheduled_at',
'appointment_window',
'checklist_items',
'checklist_completed',
'required_evidence',
'evidence_rules',
'change_requests',
]);
});
}
};
@@ -0,0 +1,48 @@
<?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::table('provider_profiles', function (Blueprint $table) {
$table->json('services')->nullable()->after('skills');
$table->json('tool_inventory')->nullable()->after('tools');
$table->json('certification_records')->nullable()->after('certifications');
$table->json('profile_visibility')->nullable()->after('public_contact');
$table->text('private_notes')->nullable()->after('profile_visibility');
});
Schema::table('buyer_profiles', function (Blueprint $table) {
$table->json('hiring_policies')->nullable()->after('hiring_regions');
$table->json('locations')->nullable()->after('hiring_policies');
$table->json('profile_visibility')->nullable()->after('public_contact');
$table->text('private_notes')->nullable()->after('profile_visibility');
});
}
public function down(): void
{
Schema::table('provider_profiles', function (Blueprint $table) {
$table->dropColumn([
'services',
'tool_inventory',
'certification_records',
'profile_visibility',
'private_notes',
]);
});
Schema::table('buyer_profiles', function (Blueprint $table) {
$table->dropColumn([
'hiring_policies',
'locations',
'profile_visibility',
'private_notes',
]);
});
}
};