expanded basic game features
This commit is contained in:
107
sql/INSTALL_PROCEDURES.md
Normal file
107
sql/INSTALL_PROCEDURES.md
Normal file
@@ -0,0 +1,107 @@
|
||||
# Installing Stored Procedures
|
||||
|
||||
All stored procedure SQL files are ready to use. You have several options:
|
||||
|
||||
## Prerequisites
|
||||
|
||||
1. **SSH Port Forwarding** - Make sure you have an active SSH tunnel:
|
||||
```bash
|
||||
ssh -L 3306:localhost:3306 lukesau.com
|
||||
```
|
||||
Keep this terminal open while running SQL commands.
|
||||
|
||||
2. **MySQL Client** - Install if needed:
|
||||
```bash
|
||||
brew install mysql-client
|
||||
```
|
||||
|
||||
To add mysql-client to your PATH permanently, add to `~/.zshrc`:
|
||||
```bash
|
||||
echo 'export PATH="/opt/homebrew/opt/mysql-client/bin:$PATH"' >> ~/.zshrc
|
||||
source ~/.zshrc
|
||||
```
|
||||
|
||||
## Option 1: Use the Helper Script (Easiest)
|
||||
|
||||
```bash
|
||||
./sql/run_sql.sh sql/create_all_stored_procedures.sql
|
||||
```
|
||||
|
||||
## Option 2: Use MySQL Client Directly
|
||||
|
||||
If mysql is in your PATH (added to ~/.zshrc), you can use:
|
||||
|
||||
```bash
|
||||
mysql -h 127.0.0.1 -P 3306 -u vckonline -p vckonline < sql/create_all_stored_procedures.sql
|
||||
```
|
||||
|
||||
Or use the full path:
|
||||
|
||||
```bash
|
||||
/opt/homebrew/opt/mysql-client/bin/mysql -h 127.0.0.1 -P 3306 -u vckonline -p vckonline < sql/create_all_stored_procedures.sql
|
||||
```
|
||||
|
||||
**Note:** The `-h 127.0.0.1 -P 3306` flags connect through your SSH tunnel to the remote database.
|
||||
|
||||
## Option 3: Interactive MariaDB Session
|
||||
|
||||
If you're already logged into MariaDB on the server:
|
||||
|
||||
```sql
|
||||
source sql/create_all_stored_procedures.sql;
|
||||
```
|
||||
|
||||
## Option 4: Install Individually
|
||||
|
||||
Run each procedure file separately using the helper script:
|
||||
|
||||
```bash
|
||||
./sql/run_sql.sh sql/select_base1_citizens_sp.sql
|
||||
./sql/run_sql.sh sql/select_base1_monsters_sp.sql
|
||||
./sql/run_sql.sh sql/select_base2_citizens_sp.sql
|
||||
./sql/run_sql.sh sql/select_base2_monsters_sp.sql
|
||||
./sql/run_sql.sh sql/select_random_domains_sp.sql
|
||||
./sql/run_sql.sh sql/select_random_dukes_sp.sql
|
||||
```
|
||||
|
||||
Or using mysql client directly:
|
||||
|
||||
```bash
|
||||
/opt/homebrew/Cellar/mysql-client/9.5.0/bin/mysql -h 127.0.0.1 -P 3306 -u vckonline -p vckonline < sql/select_base1_citizens_sp.sql
|
||||
# ... repeat for each file
|
||||
```
|
||||
|
||||
Or interactively in MariaDB on the server:
|
||||
|
||||
```sql
|
||||
source sql/select_base1_citizens_sp.sql;
|
||||
source sql/select_base1_monsters_sp.sql;
|
||||
source sql/select_base2_citizens_sp.sql;
|
||||
source sql/select_base2_monsters_sp.sql;
|
||||
source sql/select_random_domains_sp.sql;
|
||||
source sql/select_random_dukes_sp.sql;
|
||||
```
|
||||
|
||||
## Verify Installation
|
||||
|
||||
After installing, verify with:
|
||||
|
||||
```sql
|
||||
SHOW PROCEDURE STATUS WHERE Db = 'vckonline';
|
||||
```
|
||||
|
||||
Or run the test script:
|
||||
|
||||
```bash
|
||||
python3 test_database.py
|
||||
```
|
||||
|
||||
## What Each Procedure Does
|
||||
|
||||
- **select_base1_citizens()** - Returns all citizens from base game 1
|
||||
- **select_base1_monsters()** - Returns all monsters from base game 1
|
||||
- **select_base2_citizens()** - Returns base game 2 citizens + Peasant and Knight from base1
|
||||
- **select_base2_monsters()** - Returns base game 2 monsters + 2 random areas from base1
|
||||
- **select_random_domains()** - Returns 15 random domains
|
||||
- **select_random_dukes()** - Returns all dukes in random order
|
||||
|
||||
Reference in New Issue
Block a user