Phase3 / test_env_loading.py
mahmedmumair's picture
Deploy from GitHub commit ffad4f1
2a1425b verified
Raw
History Blame Contribute Delete
1.92 kB
import os
import sys
from dotenv import load_dotenv
import tempfile
# Create a temporary .env file with the correct values
temp_env_content = """DATABASE_URL=postgresql://neondb_owner:npg_JDbCa6ELqGQ2@ep-withered-shape-a7bd9hif-pooler.ap-southeast-2.aws.neon.tech/neondb?sslmode=require&channel_binding=require
NEON_DB_URL=postgresql://neondb_owner:npg_JDbCa6ELqGQ2@ep-withered-shape-a7bd9hif-pooler.ap-southeast-2.aws.neon.tech/neondb?sslmode=require&channel_binding=require
BETTER_AUTH_SECRET=pohwuyqoVn683bmFDoVzmtQq50Zn3bFV
SECRET_KEY=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
BETTER_AUTH_URL={os.getenv("BACKEND_URL")}
OPENAI_API_KEY=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
OPEN_ROUTER_API_KEY=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
"""
# Write to a temporary file
with tempfile.NamedTemporaryFile(mode='w', delete=False, suffix='.env') as f:
f.write(temp_env_content)
temp_env_path = f.name
# Load the temporary .env file
load_dotenv(dotenv_path=temp_env_path)
print("Environment variables loaded from temporary .env file.")
# Print the values to verify
print(f"DATABASE_URL: {os.environ.get('DATABASE_URL', 'NOT SET')}")
print(f"NEON_DB_URL: {os.environ.get('NEON_DB_URL', 'NOT SET')}")
# Clean up the temporary file
import os
os.unlink(temp_env_path)
# Now try to create the tables
print("\nCreating database tables...")
try:
# Clear any cached modules to ensure fresh import
modules_to_clear = [key for key in sys.modules.keys() if 'src' in key or 'config' in key or 'database' in key]
for module in modules_to_clear:
del sys.modules[module]
from src.database.connection import create_tables
create_tables()
print("Tables created successfully.")
except Exception as e:
print(f"Error creating tables: {e}")
import traceback
traceback.print_exc()