mirror of
https://github.com/pacnpal/thrillwiki_laravel.git
synced 2025-12-20 07:31:09 -05:00
2.3 KiB
2.3 KiB
Operator Model Conversion
Original Django Model Structure
Company Model (Now Operator)
class Company(TrackedModel):
name = models.CharField(max_length=255)
slug = models.SlugField(max_length=255, unique=True)
website = models.URLField(blank=True)
headquarters = models.CharField(max_length=255, blank=True)
description = models.TextField(blank=True)
total_parks = models.IntegerField(default=0)
total_rides = models.IntegerField(default=0)
Manufacturer Model
class Manufacturer(TrackedModel):
name = models.CharField(max_length=255)
slug = models.SlugField(max_length=255, unique=True)
website = models.URLField(blank=True)
headquarters = models.CharField(max_length=255, blank=True)
description = models.TextField(blank=True)
total_rides = models.IntegerField(default=0)
total_roller_coasters = models.IntegerField(default=0)
Laravel Implementation Plan
Database Migrations
- Create operators table:
Schema::create('operators', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('slug')->unique();
$table->string('website')->nullable();
$table->string('headquarters')->nullable();
$table->text('description')->nullable();
$table->integer('total_parks')->default(0);
$table->integer('total_rides')->default(0);
$table->timestamps();
});
- Create manufacturers table:
Schema::create('manufacturers', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('slug')->unique();
$table->string('website')->nullable();
$table->string('headquarters')->nullable();
$table->text('description')->nullable();
$table->integer('total_rides')->default(0);
$table->integer('total_roller_coasters')->default(0);
$table->timestamps();
});
Models
- Operator Model:
- Implement Sluggable trait
- Add relationships (parks)
- Add statistics updating methods
- Add slug history functionality
- Manufacturer Model:
- Implement Sluggable trait
- Add relationships (rides)
- Add statistics updating methods
- Add slug history functionality
Next Steps
- Create operators table migration
- Create manufacturers table migration
- Create Operator model
- Create Manufacturer model
- Implement statistics update methods