Files
thrillwiki_django_no_react/shared/scripts/create_initial_data.py
pacnpal d504d41de2 feat: complete monorepo structure with frontend and shared resources
- Add complete backend/ directory with full Django application
- Add frontend/ directory with Vite + TypeScript setup ready for Next.js
- Add comprehensive shared/ directory with:
  - Complete documentation and memory-bank archives
  - Media files and avatars (letters, park/ride images)
  - Deployment scripts and automation tools
  - Shared types and utilities
- Add architecture/ directory with migration guides
- Configure pnpm workspace for monorepo development
- Update .gitignore to exclude .django_tailwind_cli/ build artifacts
- Preserve all historical documentation in shared/docs/memory-bank/
- Set up proper structure for full-stack development with shared resources
2025-08-23 18:40:07 -04:00

109 lines
3.2 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
from django.utils import timezone
from parks.models import Park, ParkLocation
from rides.models import Ride, RideModel, RollerCoasterStats
from rides.models import Manufacturer
# Create Cedar Point
park, _ = Park.objects.get_or_create(
name="Cedar Point",
slug="cedar-point",
defaults={
"description": (
"Cedar Point is a 364-acre amusement park located on a Lake Erie "
"peninsula in Sandusky, Ohio."
),
"website": "https://www.cedarpoint.com",
"size_acres": 364,
"opening_date": timezone.datetime(
1870, 1, 1
).date(), # Cedar Point opened in 1870
},
)
# Create location for Cedar Point
location, _ = ParkLocation.objects.get_or_create(
park=park,
defaults={
"street_address": "1 Cedar Point Dr",
"city": "Sandusky",
"state": "OH",
"postal_code": "44870",
"country": "USA",
},
)
# Set coordinates using the helper method
location.set_coordinates(-82.6839, 41.4822) # longitude, latitude
location.save()
# Create Intamin as manufacturer
bm, _ = Manufacturer.objects.get_or_create(
name="Intamin",
slug="intamin",
defaults={
"description": (
"Intamin Amusement Rides is a design company known for creating "
"some of the most thrilling and innovative roller coasters in the world."
),
"website": "https://www.intaminworldwide.com",
},
)
# Create Giga Coaster model
giga_model, _ = RideModel.objects.get_or_create(
name="Giga Coaster",
manufacturer=bm,
defaults={
"description": (
"A roller coaster type characterized by a height between 300399 feet "
"and a complete circuit."
),
"category": "RC", # Roller Coaster
},
)
# Create Millennium Force
millennium, _ = Ride.objects.get_or_create(
name="Millennium Force",
slug="millennium-force",
defaults={
"description": (
"Millennium Force is a steel roller coaster located at Cedar Point "
"amusement park in Sandusky, Ohio. It was built by Intamin of "
"Switzerland and opened on May 13, 2000 as the world's first giga "
"coaster, a class of roller coasters having a height between 300 "
"and 399 feet and a complete circuit."
),
"park": park,
"category": "RC",
"manufacturer": bm,
"ride_model": giga_model,
"status": "OPERATING",
"opening_date": timezone.datetime(2000, 5, 13).date(),
"min_height_in": 48, # 48 inches minimum height
"capacity_per_hour": 1300,
"ride_duration_seconds": 120, # 2 minutes
},
)
# Create stats for Millennium Force
RollerCoasterStats.objects.get_or_create(
ride=millennium,
defaults={
"height_ft": 310,
"length_ft": 6595,
"speed_mph": 93,
"inversions": 0,
"ride_time_seconds": 120,
"track_material": "STEEL",
"roller_coaster_type": "SITDOWN",
"max_drop_height_ft": 300,
"launch_type": "CHAIN",
"train_style": "Open-air stadium seating",
"trains_count": 3,
"cars_per_train": 9,
"seats_per_car": 4,
},
)
print("Initial data created successfully!")