Add master deployment script for one-command setup

NEW SCRIPT: deploy.sh - Master deployment automation

- Tears down existing containers and volumes

- Fixes file permissions automatically

- Starts fresh containers

- Initializes database schema

- Generates test data

- Verifies deployment

- IDEMPOTENT: Safe to run multiple times

FEATURES:

- Beautiful colored output with progress indicators

- Confirmation prompt before destructive operations

- Waits for PostgreSQL to be healthy before proceeding

- Comprehensive access information at completion

- Useful commands reference

DOCUMENTATION:

- Updated README.md with Option A (one-command) and Option B (manual)

- Updated QUICKSTART.md with super quick start section

- Manual steps now in collapsible section

USER EXPERIENCE:

- Clone repo + run deploy.sh = DONE

- No more complex multi-step setup

- Perfect for demos and quick testing

- Rebuilds from scratch every time (no stale data)
This commit is contained in:
Alphaeus Mote
2025-10-24 12:18:06 -04:00
parent dc5e9f8597
commit 3e927fc5a8
3 changed files with 283 additions and 2 deletions
+37 -1
View File
@@ -102,6 +102,38 @@ This will automatically install:
---
## 🚀 Quick Start
### Option A: One-Command Deployment (Recommended)
```bash
# Clone the repository
git clone https://github.com/freedbygrace/SQL.git
cd SQL
# Deploy everything with one command
chmod +x deploy.sh
./deploy.sh
```
**That's it!** The master deployment script will:
1. ✅ Tear down existing containers
2. ✅ Remove old data volumes
3. ✅ Fix file permissions
4. ✅ Start fresh containers
5. ✅ Initialize database schema
6. ✅ Generate test data (15-30 minutes)
7. ✅ Verify everything works
**IDEMPOTENT:** Safe to run multiple times - rebuilds from scratch each time.
---
### Option B: Manual Step-by-Step
<details>
<summary>Click to expand manual installation steps</summary>
### 1. Clone the Repository
```bash
git clone https://github.com/freedbygrace/SQL.git
@@ -155,7 +187,11 @@ This starts:
⏱️ **Note:** Data generation takes 15-30 minutes depending on your system.
### 6. Access the Database
</details>
---
## 📊 Access the Database
**Option A: pgAdmin Web Interface**
```