46 lines
1.0 KiB
Bash
Executable File
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"
|