#!/usr/bin/env python3 """ One-time script to initialize Railway database from local machine. Run this ONCE after deploying to Railway. Usage: export DATABASE_URL="postgresql://user:password@host:port/database" python3 init_railway_db.py """ import os import sys # Check DATABASE_URL DATABASE_URL = os.environ.get('DATABASE_URL') if not DATABASE_URL: print("āŒ ERROR: DATABASE_URL environment variable not set") print("\nGet your DATABASE_URL from Railway:") print("1. Go to Railway dashboard") print("2. Click on PostgreSQL service") print("3. Go to 'Connect' tab") print("4. Copy the 'Postgres Connection URL'") print("\nThen run:") print(' export DATABASE_URL="postgresql://..."') print(" python3 init_railway_db.py") sys.exit(1) print(f"āœ… DATABASE_URL is set") print(f"šŸ“Š Connecting to: {DATABASE_URL.split('@')[1] if '@' in DATABASE_URL else '***'}") # Import after checking DATABASE_URL os.chdir('/Users/chiuyiting/Documents/GitHub/TPM') sys.path.insert(0, '/Users/chiuyiting/Documents/GitHub/TPM/data_init') # Now run the initialization scripts print("\n" + "="*60) print("šŸš€ Starting Railway Database Initialization") print("="*60 + "\n") print("šŸ“‹ Step 1: Initializing Taiwan stock data (this will create schema)...") import data_init.data_init_tw_v0 print("\nāœ… Taiwan data initialized\n") print("šŸ“‹ Step 2: Initializing US stock data...") import data_init.data_init_us_v0 print("\nāœ… US data initialized\n") print("\n" + "="*60) print("šŸŽ‰ Railway Database Initialization Complete!") print("="*60) print("\nYour Railway app should now work properly.") print("Check https://nthutpm.up.railway.app")