53 lines
1.2 KiB
Bash
Executable File
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."
|