Files
appfactory-tools/scripts/init-appfactory-db.sh
T

46 lines
1.0 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
DB_DIR="/opt/appfactory/data/appfactory"
DB_FILE="$DB_DIR/appfactory.db"
mkdir -p "$DB_DIR"
sqlite3 "$DB_FILE" <<'SQL'
PRAGMA journal_mode=WAL;
CREATE TABLE IF NOT EXISTS apps (
id TEXT PRIMARY KEY,
name TEXT NOT NULL,
language TEXT NOT NULL,
version TEXT NOT NULL DEFAULT '1.0.0',
status TEXT NOT NULL DEFAULT 'created',
memory TEXT,
cpus TEXT,
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE IF NOT EXISTS deployments (
id INTEGER PRIMARY KEY AUTOINCREMENT,
app_id TEXT NOT NULL,
kind TEXT NOT NULL,
status TEXT NOT NULL,
commit_sha TEXT,
started_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
finished_at TEXT,
stdout TEXT,
stderr TEXT,
returncode INTEGER
);
CREATE INDEX IF NOT EXISTS idx_deployments_app_id
ON deployments(app_id);
CREATE INDEX IF NOT EXISTS idx_deployments_started_at
ON deployments(started_at);
SQL
echo "Database initialized:"
echo "$DB_FILE"