# Database-configuratie: twee gescheiden databases

Om te voorkomen dat Laravel's eigen tabellen (users, cache, jobs, sessions, migrations, website_news)
ooit per ongeluk je LIVE spelersdatabase raken (bijv. via `php artisan migrate:fresh`), gebruiken we
twee aparte databases:

- **`anonymous_web`** — nieuw aan te maken, alleen voor Laravel zelf (default connection)
- **`anonymous`** — je bestaande spelersdatabase, alleen uitgelezen via de `game`-connectie

## 1. Nieuwe database aanmaken

Open phpMyAdmin en maak een nieuwe, lege database aan genaamd `anonymous_web`
(Nieuwe database aanmaken > naam invullen > Aanmaken).

## 2. Opruimen: verwijder de per ongeluk aangemaakte tabellen uit `anonymous`

Omdat je zojuist `php artisan migrate` draaide tegen de `anonymous`-database, staan daar nu per
ongeluk deze tabellen tussen je spelersdata:
`migrations`, `users`, `password_reset_tokens`, `sessions`, `cache`, `cache_locks`, `jobs`,
`job_batches`, `failed_jobs` (en mogelijk `website_news` als de migratie daarvoor wél doorging).

Verwijder deze tabellen in phpMyAdmin uit `anonymous` (NIET je eigen account/character-tabellen
aankomen!). Dit is veilig, want dit zijn puur lege Laravel-systeemtabellen, geen spelersdata.

## 3. .env aanpassen

Vervang je huidige database-instellingen door:

```env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=anonymous_web
DB_USERNAME=root
DB_PASSWORD=jouw_mysql_wachtwoord

DB_GAME_HOST=127.0.0.1
DB_GAME_PORT=3306
DB_GAME_DATABASE=anonymous
DB_GAME_USERNAME=root
DB_GAME_PASSWORD=jouw_mysql_wachtwoord
```

(Als je server-config en dit wachtwoord hetzelfde zijn, wat meestal zo is, mag je gewoon dezelfde
waarde twee keer invullen.)

## 4. config/database.php aanpassen

Open `config/database.php` en zoek de `'connections' => [ ... ]` array. Voeg **naast** de bestaande
`'mysql' => [ ... ]` connectie een nieuwe `'game'` connectie toe:

```php
'connections' => [

    'mysql' => [
        // ... (dit blok laat je ongewijzigd staan, dit is nu anonymous_web)
    ],

    'game' => [
        'driver' => 'mysql',
        'host' => env('DB_GAME_HOST', '127.0.0.1'),
        'port' => env('DB_GAME_PORT', '3306'),
        'database' => env('DB_GAME_DATABASE', 'anonymous'),
        'username' => env('DB_GAME_USERNAME', 'root'),
        'password' => env('DB_GAME_PASSWORD', ''),
        'unix_socket' => env('DB_SOCKET', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'strict' => true,
        'engine' => null,
    ],

    // ... eventuele andere connecties (sqlite, pgsql, sqlsrv) laat je ongewijzigd staan

],
```

## 5. Migreren (nu tegen de juiste, lege database)

```bash
php artisan migrate
```

Dit maakt nu alle Laravel-tabellen + `website_news` aan in `anonymous_web` — je `anonymous`-database
(met al je spelersdata) wordt hierdoor nooit meer aangeraakt door migraties.

## 6. Testen

- Ga naar `/register` en maak een test-account aan → check in phpMyAdmin of dit account verschijnt in
  de `account`-tabel van je **`anonymous`**-database (niet in `anonymous_web`).
- Ga naar `/ranking` → check of dit spelersdata toont uit `anonymous`.

Vanaf nu kun je vrij `php artisan migrate:fresh` of andere destructieve commando's gebruiken zonder
angst voor je spelersdata — die staat volledig gescheiden in `anonymous`, waar Laravel's migraties
nooit bij kunnen.
