jameszokah commited on
Commit
892ed24
·
1 Parent(s): 28621c6

Update migration environment and run script: import additional models in env.py, enhance run.sh to create storage directories and initialize SQLite database with alembic migrations.

Browse files
Files changed (2) hide show
  1. migrations/env.py +2 -1
  2. scripts/run.sh +30 -6
migrations/env.py CHANGED
@@ -14,7 +14,8 @@ if app_dir not in sys.path:
14
 
15
  # Import your models here
16
  try:
17
- from app.models.database import Base
 
18
  except ImportError as e:
19
  raise Exception(
20
  f"Failed to import models. PYTHONPATH: {os.environ.get('PYTHONPATH')}, "
 
14
 
15
  # Import your models here
16
  try:
17
+ from app.models import Base
18
+ from app.models.models import Audiobook, TextChunk # Import models to register them
19
  except ImportError as e:
20
  raise Exception(
21
  f"Failed to import models. PYTHONPATH: {os.environ.get('PYTHONPATH')}, "
scripts/run.sh CHANGED
@@ -6,6 +6,32 @@ export PORT=${PORT:-7860}
6
  export HOST=${HOST:-"0.0.0.0"}
7
  export WORKERS=${WORKERS:-1}
8
  export LOG_LEVEL=${LOG_LEVEL:-"info"}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
 
10
  # Wait for database to be ready (if using external database)
11
  if [ ! -z "$DATABASE_URL" ] && [[ "$DATABASE_URL" != sqlite* ]]; then
@@ -21,12 +47,10 @@ fi
21
 
22
  # Run database migrations
23
  echo "Running database migrations..."
24
- alembic upgrade head
25
-
26
- # Create necessary directories if they don't exist
27
- mkdir -p /app/storage/audio
28
- mkdir -p /app/storage/text
29
- mkdir -p /app/storage/temp
30
 
31
  echo "Starting CSM-1B TTS API server..."
32
  echo "Host: $HOST"
 
6
  export HOST=${HOST:-"0.0.0.0"}
7
  export WORKERS=${WORKERS:-1}
8
  export LOG_LEVEL=${LOG_LEVEL:-"info"}
9
+ export DATABASE_URL=${DATABASE_URL:-"sqlite:///app/storage/audiobooks.db"}
10
+
11
+ # Create storage directories if they don't exist
12
+ mkdir -p /app/storage/audio
13
+ mkdir -p /app/storage/text
14
+ mkdir -p /app/storage/temp
15
+
16
+ # Initialize database if using SQLite
17
+ if [[ "$DATABASE_URL" == sqlite* ]]; then
18
+ echo "Using SQLite database at: $DATABASE_URL"
19
+ # Create the database directory if it doesn't exist
20
+ DB_DIR=$(dirname "${DATABASE_URL#sqlite:///}")
21
+ mkdir -p "$DB_DIR"
22
+
23
+ # Initialize alembic if not already initialized
24
+ if [ ! -d "migrations" ]; then
25
+ echo "Initializing alembic..."
26
+ alembic init migrations
27
+ fi
28
+
29
+ # Create initial migration if none exists
30
+ if [ ! -d "migrations/versions" ] || [ -z "$(ls -A migrations/versions)" ]; then
31
+ echo "Creating initial migration..."
32
+ alembic revision --autogenerate -m "Initial migration"
33
+ fi
34
+ fi
35
 
36
  # Wait for database to be ready (if using external database)
37
  if [ ! -z "$DATABASE_URL" ] && [[ "$DATABASE_URL" != sqlite* ]]; then
 
47
 
48
  # Run database migrations
49
  echo "Running database migrations..."
50
+ alembic upgrade head || {
51
+ echo "Warning: Database migration failed. This might be expected for first run."
52
+ echo "Continuing with application startup..."
53
+ }
 
 
54
 
55
  echo "Starting CSM-1B TTS API server..."
56
  echo "Host: $HOST"