Files
ginxsom/db/init.sh
2025-08-18 21:51:54 -04:00

53 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
# Ginxsom Database Initialization Script
# This script creates the SQLite database with the proper schema
set -e # Exit on any error
# Configuration
DB_DIR="$(dirname "$0")"
DB_FILE="$DB_DIR/ginxsom.db"
SCHEMA_FILE="$DB_DIR/schema.sql"
echo "Initializing Ginxsom database..."
# Check if schema file exists
if [ ! -f "$SCHEMA_FILE" ]; then
echo "Error: Schema file not found at $SCHEMA_FILE"
exit 1
fi
# Create database directory if it doesn't exist
mkdir -p "$DB_DIR"
# Remove existing database if it exists (for clean initialization)
if [ -f "$DB_FILE" ]; then
echo "Warning: Existing database found. Creating backup..."
cp "$DB_FILE" "$DB_FILE.backup.$(date +%s)"
rm "$DB_FILE"
fi
# Create new database with schema
echo "Creating database at $DB_FILE..."
sqlite3 "$DB_FILE" < "$SCHEMA_FILE"
# Set proper permissions
chmod 644 "$DB_FILE"
chmod 755 "$DB_DIR"
echo "Database initialized successfully!"
echo "Database location: $DB_FILE"
# Show database info
echo ""
echo "Database tables:"
sqlite3 "$DB_FILE" ".tables"
echo ""
echo "Server configuration:"
sqlite3 "$DB_FILE" "SELECT key, value, description FROM server_config;"
echo ""
echo "Database ready for use."