Match project user FKs to legacy signed integer users.id
Deploy HickLab3D Dashboard / Deploy to production (push) Successful in 38s
Deploy HickLab3D Dashboard / Deploy to production (push) Successful in 38s
Live HickLab3Dash users.id is INT, so bigint foreignId constraints failed mid-migrate and left an empty unrecorded projects table.
This commit is contained in:
@@ -15,7 +15,9 @@ return new class extends Migration
|
|||||||
$table->text('notes')->nullable();
|
$table->text('notes')->nullable();
|
||||||
$table->string('stage')->default('design');
|
$table->string('stage')->default('design');
|
||||||
$table->string('currency', 3)->default('GBP');
|
$table->string('currency', 3)->default('GBP');
|
||||||
$table->foreignId('created_by')->constrained('users')->restrictOnDelete();
|
// Legacy users.id is signed INT, not bigint.
|
||||||
|
$table->integer('created_by');
|
||||||
|
$table->foreign('created_by')->references('id')->on('users')->restrictOnDelete();
|
||||||
$table->timestamp('archived_at')->nullable();
|
$table->timestamp('archived_at')->nullable();
|
||||||
$table->timestamps();
|
$table->timestamps();
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -14,8 +14,10 @@ return new class extends Migration
|
|||||||
$table->unsignedInteger('revision_number');
|
$table->unsignedInteger('revision_number');
|
||||||
$table->text('change_notes')->nullable();
|
$table->text('change_notes')->nullable();
|
||||||
$table->string('status')->default('draft');
|
$table->string('status')->default('draft');
|
||||||
$table->foreignId('created_by')->constrained('users')->restrictOnDelete();
|
$table->integer('created_by');
|
||||||
$table->foreignId('approved_by')->nullable()->constrained('users')->nullOnDelete();
|
$table->foreign('created_by')->references('id')->on('users')->restrictOnDelete();
|
||||||
|
$table->integer('approved_by')->nullable();
|
||||||
|
$table->foreign('approved_by')->references('id')->on('users')->nullOnDelete();
|
||||||
$table->timestamp('approved_at')->nullable();
|
$table->timestamp('approved_at')->nullable();
|
||||||
$table->string('fusion_project_id')->nullable();
|
$table->string('fusion_project_id')->nullable();
|
||||||
$table->string('fusion_document_id')->nullable();
|
$table->string('fusion_document_id')->nullable();
|
||||||
|
|||||||
@@ -18,7 +18,8 @@ return new class extends Migration
|
|||||||
$table->string('media_type');
|
$table->string('media_type');
|
||||||
$table->unsignedBigInteger('byte_size');
|
$table->unsignedBigInteger('byte_size');
|
||||||
$table->string('sha256', 64);
|
$table->string('sha256', 64);
|
||||||
$table->foreignId('uploaded_by')->constrained('users')->restrictOnDelete();
|
$table->integer('uploaded_by');
|
||||||
|
$table->foreign('uploaded_by')->references('id')->on('users')->restrictOnDelete();
|
||||||
$table->string('printer_profile')->nullable();
|
$table->string('printer_profile')->nullable();
|
||||||
$table->string('material')->nullable();
|
$table->string('material')->nullable();
|
||||||
$table->timestamps();
|
$table->timestamps();
|
||||||
|
|||||||
@@ -21,7 +21,8 @@ return new class extends Migration
|
|||||||
$table->decimal('grand_total', 14, 4)->nullable();
|
$table->decimal('grand_total', 14, 4)->nullable();
|
||||||
$table->string('source_reference')->nullable();
|
$table->string('source_reference')->nullable();
|
||||||
$table->text('notes')->nullable();
|
$table->text('notes')->nullable();
|
||||||
$table->foreignId('recorded_by')->constrained('users')->restrictOnDelete();
|
$table->integer('recorded_by');
|
||||||
|
$table->foreign('recorded_by')->references('id')->on('users')->restrictOnDelete();
|
||||||
$table->timestamp('recorded_at');
|
$table->timestamp('recorded_at');
|
||||||
$table->timestamps();
|
$table->timestamps();
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -14,7 +14,8 @@ return new class extends Migration
|
|||||||
$table->foreignId('revision_id')->constrained('project_revisions')->restrictOnDelete();
|
$table->foreignId('revision_id')->constrained('project_revisions')->restrictOnDelete();
|
||||||
$table->foreignId('cost_snapshot_id')->nullable()->constrained('project_cost_snapshots')->restrictOnDelete();
|
$table->foreignId('cost_snapshot_id')->nullable()->constrained('project_cost_snapshots')->restrictOnDelete();
|
||||||
$table->string('action')->default('release');
|
$table->string('action')->default('release');
|
||||||
$table->foreignId('released_by')->constrained('users')->restrictOnDelete();
|
$table->integer('released_by');
|
||||||
|
$table->foreign('released_by')->references('id')->on('users')->restrictOnDelete();
|
||||||
$table->timestamp('released_at');
|
$table->timestamp('released_at');
|
||||||
$table->text('notes')->nullable();
|
$table->text('notes')->nullable();
|
||||||
$table->timestamps();
|
$table->timestamps();
|
||||||
|
|||||||
@@ -20,7 +20,8 @@ return new class extends Migration
|
|||||||
$table->timestamp('synced_at')->nullable();
|
$table->timestamp('synced_at')->nullable();
|
||||||
$table->foreignId('live_release_id')->nullable()->constrained('project_releases')->nullOnDelete();
|
$table->foreignId('live_release_id')->nullable()->constrained('project_releases')->nullOnDelete();
|
||||||
$table->unsignedInteger('lock_version')->default(0);
|
$table->unsignedInteger('lock_version')->default(0);
|
||||||
$table->foreignId('created_by')->constrained('users')->restrictOnDelete();
|
$table->integer('created_by');
|
||||||
|
$table->foreign('created_by')->references('id')->on('users')->restrictOnDelete();
|
||||||
$table->timestamp('detached_at')->nullable();
|
$table->timestamp('detached_at')->nullable();
|
||||||
$table->timestamps();
|
$table->timestamps();
|
||||||
$table->unique(['shop_id', 'listing_id', 'variation_key']);
|
$table->unique(['shop_id', 'listing_id', 'variation_key']);
|
||||||
|
|||||||
@@ -12,7 +12,8 @@ return new class extends Migration
|
|||||||
$table->id();
|
$table->id();
|
||||||
$table->foreignId('project_id')->constrained('projects')->cascadeOnDelete();
|
$table->foreignId('project_id')->constrained('projects')->cascadeOnDelete();
|
||||||
$table->string('event_type');
|
$table->string('event_type');
|
||||||
$table->foreignId('actor_id')->nullable()->constrained('users')->nullOnDelete();
|
$table->integer('actor_id')->nullable();
|
||||||
|
$table->foreign('actor_id')->references('id')->on('users')->nullOnDelete();
|
||||||
$table->string('subject_type')->nullable();
|
$table->string('subject_type')->nullable();
|
||||||
$table->unsignedBigInteger('subject_id')->nullable();
|
$table->unsignedBigInteger('subject_id')->nullable();
|
||||||
$table->json('metadata')->nullable();
|
$table->json('metadata')->nullable();
|
||||||
|
|||||||
Reference in New Issue
Block a user