id(); $table->string('name'); $table->timestamps(); }); Schema::create('configuration_statuses', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('color')->nullable(); $table->timestamps(); }); Schema::create('configurations', function (Blueprint $table) { $table->id(); $table->foreignId('organization_id')->constrained()->cascadeOnDelete(); $table->foreignId('configuration_type_id')->constrained()->restrictOnDelete(); $table->foreignId('configuration_status_id')->nullable()->constrained()->nullOnDelete(); $table->foreignId('location_id')->nullable()->constrained()->nullOnDelete(); $table->foreignId('contact_id')->nullable()->constrained()->nullOnDelete(); $table->string('name'); $table->string('hostname')->nullable(); $table->string('primary_ip')->nullable(); $table->string('mac_address')->nullable(); $table->string('serial_number')->nullable(); $table->string('asset_tag')->nullable(); $table->string('manufacturer')->nullable(); $table->string('model')->nullable(); $table->string('operating_system')->nullable(); $table->date('installed_at')->nullable(); $table->date('warranty_expires_at')->nullable(); $table->text('notes')->nullable(); $table->boolean('is_archived')->default(false); $table->timestamps(); $table->softDeletes(); }); } };