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(); $table->index(['organization_id', 'name']); }); } public function down(): void { Schema::dropIfExists('configurations'); } };