From 4e1c5855afa585dbb76d19cf424f476c34988b44 Mon Sep 17 00:00:00 2001 From: Juan Felipe Zapata Moreno Date: Sun, 19 Oct 2025 18:25:48 -0600 Subject: [PATCH] ADD: Se crearon las migraciones y los modelos --- app/Models/Device.php | 26 ++++++++++++++++ app/Models/DeviceModule.php | 26 ++++++++++++++++ app/Models/Error.php | 17 ++++++++++ app/Models/File.php | 25 +++++++++++++++ app/Models/Module.php | 31 +++++++++++++++++++ app/Models/Owner.php | 25 +++++++++++++++ app/Models/Package.php | 28 +++++++++++++++++ app/Models/Record.php | 18 +++++++++++ app/Models/ScanHistory.php | 18 +++++++++++ app/Models/Tag.php | 18 +++++++++++ app/Models/Vehicle.php | 22 +++++++++++++ app/Models/VehicleTagLog.php | 27 ++++++++++++++++ ...2025_10_18_140712_create_records_table.php | 6 ++-- .../2025_10_18_140734_create_files_table.php | 4 +++ ...2025_10_18_140934_create_vehicle_table.php | 5 +++ .../2025_10_18_141002_create_errors_table.php | 2 ++ .../2025_10_18_141011_create_owners_table.php | 6 ++++ ...2025_10_18_141025_create_modules_table.php | 7 +++++ ...0_18_141041_create_device_module_table.php | 5 +++ ...2025_10_18_141053_create_devices_table.php | 4 +++ ...025_10_18_141105_create_packages_table.php | 5 +++ .../2025_10_18_141119_create_tags_table.php | 4 +++ ..._141134_create_vehicle_tags_logs_table.php | 3 ++ ...10_18_141158_create_scan_history_table.php | 2 ++ 24 files changed, 331 insertions(+), 3 deletions(-) create mode 100644 app/Models/Device.php create mode 100644 app/Models/DeviceModule.php create mode 100644 app/Models/Error.php create mode 100644 app/Models/File.php create mode 100644 app/Models/Module.php create mode 100644 app/Models/Owner.php create mode 100644 app/Models/Package.php create mode 100644 app/Models/Record.php create mode 100644 app/Models/ScanHistory.php create mode 100644 app/Models/Tag.php create mode 100644 app/Models/Vehicle.php create mode 100644 app/Models/VehicleTagLog.php diff --git a/app/Models/Device.php b/app/Models/Device.php new file mode 100644 index 0000000..5934ecf --- /dev/null +++ b/app/Models/Device.php @@ -0,0 +1,26 @@ + 'boolean', + ]; + } + +} diff --git a/app/Models/DeviceModule.php b/app/Models/DeviceModule.php new file mode 100644 index 0000000..5986f37 --- /dev/null +++ b/app/Models/DeviceModule.php @@ -0,0 +1,26 @@ + 'boolean', + ]; + } +} diff --git a/app/Models/Error.php b/app/Models/Error.php new file mode 100644 index 0000000..832a84c --- /dev/null +++ b/app/Models/Error.php @@ -0,0 +1,17 @@ + 'decimal:8', + 'latitude' => 'decimal:8', + 'status' => 'boolean', + ]; + } + +} diff --git a/app/Models/Owner.php b/app/Models/Owner.php new file mode 100644 index 0000000..6e91068 --- /dev/null +++ b/app/Models/Owner.php @@ -0,0 +1,25 @@ + 'integer', + 'ending_page' => 'integer', + ]; + } + +} diff --git a/app/Models/Record.php b/app/Models/Record.php new file mode 100644 index 0000000..c85a742 --- /dev/null +++ b/app/Models/Record.php @@ -0,0 +1,18 @@ + 'datetime', + ]; + } + +} diff --git a/database/migrations/2025_10_18_140712_create_records_table.php b/database/migrations/2025_10_18_140712_create_records_table.php index 0aa21ee..6c83467 100644 --- a/database/migrations/2025_10_18_140712_create_records_table.php +++ b/database/migrations/2025_10_18_140712_create_records_table.php @@ -13,9 +13,9 @@ public function up(): void { Schema::create('records', function (Blueprint $table) { $table->id(); - $table->foreignId('vehicle_id')->constrained('vehicles')->onDelete('cascade'); - $table->foreignId('user_id')->constrained('users')->onDelete('cascade'); - $table->foreignId('error_id')->constrained('errors')->onDelete('cascade'); + $table->foreignId('vehicle_id')->constrained('vehicle')->cascadeOnDelete(); + $table->foreignId('user_id')->constrained('users')->cascadeOnDelete(); + $table->foreignId('error_id')->nullable()->constrained('errors')->nullOnDelete(); $table->timestamps(); }); } diff --git a/database/migrations/2025_10_18_140734_create_files_table.php b/database/migrations/2025_10_18_140734_create_files_table.php index 7c26401..5271345 100644 --- a/database/migrations/2025_10_18_140734_create_files_table.php +++ b/database/migrations/2025_10_18_140734_create_files_table.php @@ -13,6 +13,10 @@ public function up(): void { Schema::create('files', function (Blueprint $table) { $table->id(); + $table->string('name'); + $table->string('path'); + $table->string('md5')->nullable(); + $table->foreignId('record_id')->constrained('records')->cascadeOnDelete(); $table->timestamps(); }); } diff --git a/database/migrations/2025_10_18_140934_create_vehicle_table.php b/database/migrations/2025_10_18_140934_create_vehicle_table.php index d482ab4..596fed9 100644 --- a/database/migrations/2025_10_18_140934_create_vehicle_table.php +++ b/database/migrations/2025_10_18_140934_create_vehicle_table.php @@ -13,6 +13,11 @@ public function up(): void { Schema::create('vehicle', function (Blueprint $table) { $table->id(); + $table->string('placa')->unique(); + $table->string('modelo'); + $table->string('marca'); + $table->string('nrpv')->unique()->nullable(); // NĂºmero REPUVE + $table->foreignId('owner_id')->nullable()->constrained('owners')->nullOnDelete(); $table->timestamps(); }); } diff --git a/database/migrations/2025_10_18_141002_create_errors_table.php b/database/migrations/2025_10_18_141002_create_errors_table.php index 39817fd..7c83127 100644 --- a/database/migrations/2025_10_18_141002_create_errors_table.php +++ b/database/migrations/2025_10_18_141002_create_errors_table.php @@ -13,6 +13,8 @@ public function up(): void { Schema::create('errors', function (Blueprint $table) { $table->id(); + $table->string('code')->unique(); + $table->text('description')->nullable(); $table->timestamps(); }); } diff --git a/database/migrations/2025_10_18_141011_create_owners_table.php b/database/migrations/2025_10_18_141011_create_owners_table.php index b68c08f..bf091e5 100644 --- a/database/migrations/2025_10_18_141011_create_owners_table.php +++ b/database/migrations/2025_10_18_141011_create_owners_table.php @@ -13,6 +13,12 @@ public function up(): void { Schema::create('owners', function (Blueprint $table) { $table->id(); + $table->string('name'); + $table->string('paternal'); + $table->string('maternal')->nullable(); + $table->string('rfc')->unique()->nullable(); + $table->string('curp')->unique()->nullable(); + $table->text('address')->nullable(); $table->timestamps(); }); } diff --git a/database/migrations/2025_10_18_141025_create_modules_table.php b/database/migrations/2025_10_18_141025_create_modules_table.php index fe16646..b9781f4 100644 --- a/database/migrations/2025_10_18_141025_create_modules_table.php +++ b/database/migrations/2025_10_18_141025_create_modules_table.php @@ -13,6 +13,13 @@ public function up(): void { Schema::create('modules', function (Blueprint $table) { $table->id(); + $table->string('name'); + $table->string('municipality'); + $table->string('address'); + $table->string('colony'); + $table->decimal('longitude', 10, 8)->nullable(); + $table->decimal('latitude', 10, 8)->nullable(); + $table->boolean('status')->default(true); $table->timestamps(); }); } diff --git a/database/migrations/2025_10_18_141041_create_device_module_table.php b/database/migrations/2025_10_18_141041_create_device_module_table.php index 0656cc8..375b7bf 100644 --- a/database/migrations/2025_10_18_141041_create_device_module_table.php +++ b/database/migrations/2025_10_18_141041_create_device_module_table.php @@ -13,7 +13,12 @@ public function up(): void { Schema::create('device_module', function (Blueprint $table) { $table->id(); + $table->foreignId('device_id')->constrained('devices')->cascadeOnDelete(); + $table->foreignId('module_id')->constrained('modules')->cascadeOnDelete(); + $table->boolean('status')->default(true); $table->timestamps(); + + $table->unique(['device_id', 'module_id']); }); } diff --git a/database/migrations/2025_10_18_141053_create_devices_table.php b/database/migrations/2025_10_18_141053_create_devices_table.php index c69e2b2..7ec2729 100644 --- a/database/migrations/2025_10_18_141053_create_devices_table.php +++ b/database/migrations/2025_10_18_141053_create_devices_table.php @@ -13,6 +13,10 @@ public function up(): void { Schema::create('devices', function (Blueprint $table) { $table->id(); + $table->foreignId('type_id')->nullable()->constrained('device_types')->nullOnDelete(); + $table->string('brand'); + $table->string('serie')->unique(); + $table->boolean('status')->default(true); $table->timestamps(); }); } diff --git a/database/migrations/2025_10_18_141105_create_packages_table.php b/database/migrations/2025_10_18_141105_create_packages_table.php index 3a013c9..d6e2998 100644 --- a/database/migrations/2025_10_18_141105_create_packages_table.php +++ b/database/migrations/2025_10_18_141105_create_packages_table.php @@ -13,6 +13,11 @@ public function up(): void { Schema::create('packages', function (Blueprint $table) { $table->id(); + $table->string('lot'); + $table->string('box_number'); + $table->integer('starting_page'); + $table->integer('ending_page'); + $table->foreignId('module_id')->constrained('modules')->cascadeOnDelete(); $table->timestamps(); }); } diff --git a/database/migrations/2025_10_18_141119_create_tags_table.php b/database/migrations/2025_10_18_141119_create_tags_table.php index 85f6a52..b48360a 100644 --- a/database/migrations/2025_10_18_141119_create_tags_table.php +++ b/database/migrations/2025_10_18_141119_create_tags_table.php @@ -13,6 +13,10 @@ public function up(): void { Schema::create('tags', function (Blueprint $table) { $table->id(); + $table->string('folio')->unique(); + $table->foreignId('vehicle_id')->nullable()->constrained('vehicle')->nullOnDelete(); + $table->foreignId('package_id')->nullable()->constrained('packages')->nullOnDelete(); + $table->enum('status', ['available', 'assigned', 'cancelled', 'lost'])->default('available'); $table->timestamps(); }); } diff --git a/database/migrations/2025_10_18_141134_create_vehicle_tags_logs_table.php b/database/migrations/2025_10_18_141134_create_vehicle_tags_logs_table.php index 6ee9dfb..3625ef0 100644 --- a/database/migrations/2025_10_18_141134_create_vehicle_tags_logs_table.php +++ b/database/migrations/2025_10_18_141134_create_vehicle_tags_logs_table.php @@ -13,6 +13,9 @@ public function up(): void { Schema::create('vehicle_tags_logs', function (Blueprint $table) { $table->id(); + $table->foreignId('vehicle_id')->constrained('vehicle')->cascadeOnDelete(); + $table->foreignId('tag_id')->constrained('tags')->cascadeOnDelete(); + $table->timestamp('cancellation_at')->nullable(); $table->timestamps(); }); } diff --git a/database/migrations/2025_10_18_141158_create_scan_history_table.php b/database/migrations/2025_10_18_141158_create_scan_history_table.php index f093ffa..bde7434 100644 --- a/database/migrations/2025_10_18_141158_create_scan_history_table.php +++ b/database/migrations/2025_10_18_141158_create_scan_history_table.php @@ -13,6 +13,8 @@ public function up(): void { Schema::create('scan_history', function (Blueprint $table) { $table->id(); + $table->foreignId('user_id')->constrained('users')->cascadeOnDelete(); + $table->foreignId('tag_id')->constrained('tags')->cascadeOnDelete(); $table->timestamps(); }); }