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 #!/bin/bash
set -e set -e
# Initialize database if it doesn't exist # Create migrations tracking table if it doesn't exist
if [ ! -f "$DATABASE_FILE" ]; then sqlite3 "$DATABASE_FILE" "CREATE TABLE IF NOT EXISTS schema_migrations (
sqlite3 "$DATABASE_FILE" < migrations/001_init.sql version TEXT PRIMARY KEY,
sqlite3 "$DATABASE_FILE" < migrations/002_add_anime_titles.sql applied_at DATETIME DEFAULT CURRENT_TIMESTAMP
sqlite3 "$DATABASE_FILE" < migrations/003_add_anime_airing.sql );"
fi
# 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 # Start the app
exec "$@" exec "$@"