# OnlyCoin Veritabanı Yedekleme ve Kurtarma

## Temel ilke

Canlı veritabanı otomatik olarak silinmez, boşaltılmaz veya yeniden örnek veriyle kurulmaz. Bütün kurtarma işlemleri mevcut dosyaları korur ve doğrulanmış yedeğe dayanır.

## Sağlık kontrolü

Windows:

```text
VERITABANI-KONTROL-WINDOWS.bat
```

Komut satırı:

```bash
node scripts/repair-database.js --check-only
```

Kontrol `PRAGMA integrity_check` kullanır.

## Doğrulanmış yedek

Windows:

```text
VERITABANI-YEDEKLE-WINDOWS.bat
```

Komut satırı:

```bash
npm run db:backup
```

Araç önce kaynak veritabanını doğrular, `VACUUM INTO` ile bağımsız yedek oluşturur ve yedeğe tekrar tam bütünlük kontrolü uygular.

## Bozuk dosyaları karantinaya alma

Sunucuyu ve bütün Node.js süreçlerini kapatın:

```bash
node scripts/repair-database.js --quarantine --confirm=KARANTINA
```

DB, WAL ve SHM dosyaları silinmeden zaman damgalı `data/recovery/database-*` klasörüne taşınır. Kurulum tamamlanmış sistemde karantinadan sonra doğrulanmış yedek geri yüklenmeden uygulamayı başlatmayın.

## Yedek geri yükleme

```bash
node scripts/repair-database.js --restore=/tam/yol/onlycoin-yedek.db --confirm=GERI-YUKLE
```

Araç:

1. Yedeği tam bütünlük kontrolünden geçirir.
2. Mevcut DB/WAL/SHM dosyalarını recovery klasörüne taşır.
3. Yedeği atomik olarak aktif konuma kopyalar.
4. Sidecar dosyalarını temizler.
5. Aktif veritabanını yeniden doğrular.

## Kurulum tamamlanmamışsa

Bozuk dosyaları karantinaya aldıktan sonra `BASLAT-WINDOWS.bat` ile installer yeniden açılabilir. Installer boş canlı şema oluşturur; kullanıcı veya finans hareketi eklemez.

## Gerçek veri kurtarma

Bütünlük kontrolünden geçmeyen canlı veriyi yeni veritabanının üzerine kopyalamayın. `data/recovery` klasörünü saklayın ve SQLite `.recover` veya profesyonel veri kurtarma süreci uygulayın.
