add migration tracking to entrypoint

This commit is contained in:
2026-04-06 23:47:29 +02:00
parent f95bc361b5
commit be8d67c9d9

View File

@@ -1,12 +1,29 @@
#!/bin/bash
set -e
# Initialize database if it doesn't exist
if [ ! -f "$DATABASE_FILE" ]; then
sqlite3 "$DATABASE_FILE" < migrations/001_init.sql
sqlite3 "$DATABASE_FILE" < migrations/002_add_anime_titles.sql
sqlite3 "$DATABASE_FILE" < migrations/003_add_anime_airing.sql
fi
# Create migrations tracking table if it doesn't exist
sqlite3 "$DATABASE_FILE" "CREATE TABLE IF NOT EXISTS schema_migrations (
version TEXT PRIMARY KEY,
applied_at DATETIME DEFAULT CURRENT_TIMESTAMP
);"
# Function to run migration
run_migration() {
local version=$1
local file=$2
# Check if migration has been run
if ! sqlite3 "$DATABASE_FILE" "SELECT 1 FROM schema_migrations WHERE version = '$version';" | grep -q 1; then
echo "Running migration: $version"
sqlite3 "$DATABASE_FILE" < "$file"
sqlite3 "$DATABASE_FILE" "INSERT INTO schema_migrations (version) VALUES ('$version');"
fi
}
# Run migrations
run_migration "001_init" "migrations/001_init.sql"
run_migration "002_add_anime_titles" "migrations/002_add_anime_titles.sql"
run_migration "003_add_anime_airing" "migrations/003_add_anime_airing.sql"
# Start the app
exec "$@"