script di avvio backend+DB
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
export PYTHONDONTWRITEBYTECODE=1
|
||||
export PYTHONPYCACHEPREFIX=/dev/null
|
||||
|
||||
echo "==> Attendo il database..."
|
||||
until python -c "
|
||||
import asyncio
|
||||
import asyncpg
|
||||
import os
|
||||
|
||||
async def check():
|
||||
url = os.environ.get('DATABASE_URL', '').replace('postgresql+asyncpg://', '')
|
||||
parts = url.split('@')
|
||||
creds = parts[0].split(':')
|
||||
host_db = parts[1].split('/')
|
||||
await asyncpg.connect(
|
||||
user=creds[0], password=creds[1],
|
||||
host=host_db[0].split(':')[0],
|
||||
port=int(host_db[0].split(':')[1]) if ':' in host_db[0] else 5432,
|
||||
database=host_db[1]
|
||||
)
|
||||
|
||||
asyncio.run(check())
|
||||
" 2>/dev/null; do
|
||||
echo " DB non pronto, attendo..."
|
||||
sleep 2
|
||||
done
|
||||
|
||||
echo "==> Eseguo migrazioni Alembic..."
|
||||
alembic upgrade head
|
||||
|
||||
echo "==> Eseguo seed utenti demo..."
|
||||
python -m app.services.seed 2>/dev/null || true
|
||||
|
||||
echo "==> Avvio server..."
|
||||
exec uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
|
||||
Reference in New Issue
Block a user