# Golder DB Bundle

Bu klasordeki iki script, master veritabanini ve `customers` tablosunda
listelenen tum tenant veritabanlarini tek bir zip dosyasina alir ve daha sonra
bu zip dosyasindan tekrar kurabilir.

## Gereksinimler

- Python 3.9+
- `pip install mysql-connector-python`
- Export icin `mysqldump`
- Restore icin `mysql`

## 1. Export

Ornek:

```bash
python tools/golder_db_bundle_export.py \
  --host 127.0.0.1 \
  --port 3306 \
  --master-user goldermaster \
  --master-pass 'Mmty2676*' \
  --master-db golder_master \
  --output-dir backups
```

`--master-db` verilmezse script sirayla `golder_master`, `goldermaster` ve
`Goldr` adlarini deneyip mevcut olan master DB'yi otomatik bulmaya calisir.

Uretilen dosya:

```text
backups/golder_backup_YYYYMMDD_HHMMSS.zip
```

Zip icerigi:

- `manifest.json`
- `dumps/golder_master.sql`
- `dumps/<tenant_db>.sql`

## 2. Restore

Restore icin admin/root yetkili bir MySQL kullanicisi gerekir. Cunku script hem
veritabanlarini import eder hem de tenant kullanicilarini yeniden olusturur.

Ornek:

```bash
python tools/golder_db_bundle_restore.py \
  --bundle backups/golder_backup_YYYYMMDD_HHMMSS.zip \
  --host 127.0.0.1 \
  --port 3306 \
  --admin-user root \
  --admin-pass 'ROOT-SIFRE'
```

## Notlar

- Export sirasinda her tenant DB kendi `mysql_db_user` ve `mysql_db_pass`
  bilgileriyle dump edilir.
- Restore sirasinda tenant kullanicilari `'%'` host'u ile olusturulur ve ilgili
  veritabanina tum yetkiler verilir.
- Dump dosyalari `mysqldump --databases` ile alindigi icin restore tarafinda
  veritabani olusturma komutlari SQL icinde bulunur.


