Spaces:
Sleeping
Sleeping
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- migrations/env.py +2 -1
- 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
|
|
|
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 |
-
|
27 |
-
|
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"
|