Schema source-of-truth for the proserveapi DB, versioned outside the
release ZIPs (the actual binaries live in version/ but are gitignored).
0001_Init.sql — full bootstrap of proserveapi (12 tables + view +
reference data + FKs). Reworked from a phpMyAdmin dump to be safely
re-runnable on:
- fresh install (everything created)
- existing customer DB pre-populated manually before launcher rollout
- re-import via phpMyAdmin or mysql CLI
Idempotency tools used:
- CREATE TABLE IF NOT EXISTS
- INSERT IGNORE INTO ... for reference rows
- ADD PRIMARY KEY / KEY / UNIQUE KEY IF NOT EXISTS
- ADD FOREIGN KEY IF NOT EXISTS `name` (...) REFERENCES ...
(note: MariaDB does NOT accept `ADD CONSTRAINT IF NOT EXISTS name
FOREIGN KEY ...` — the IF NOT EXISTS goes after FOREIGN KEY, not
after CONSTRAINT)
- CREATE OR REPLACE VIEW
- Removed the dump's `START TRANSACTION` / `COMMIT` (the launcher
wraps each script in its own tx; embedded BEGIN/COMMIT would break
the rollback semantics)
- Removed `DEFINER=root@localhost` (uses CURRENT_USER, more portable)
0002_SessionType_ps_1.4.5.sql — adds id=7 'LongRange' + renames id=6
to 'Rescue'. Now uses INSERT IGNORE for the new row (skips if 0001
already inserted it on a fresh install) and the UPDATE is naturally
idempotent.
0003_UserSize_ps_1.5.0.sql — adds users.size column. Now uses
ADD COLUMN IF NOT EXISTS (the column is also in the recent 0001
baseline, so on a fresh install this will skip; on an upgrade from a
pre-0003 DB it actually adds it).
Validated locally on MariaDB 10.4 (XAMPP) with two consecutive runs of
each file: exit code 0 on every run, no errors.
.gitignore tightened so version/ only tracks _migrations/*.sql — the
~14 GB UE5 binaries and the _report/ build artifacts stay out of git.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
63 lines
1.2 KiB
Plaintext
63 lines
1.2 KiB
Plaintext
# Build outputs
|
|
bin/
|
|
obj/
|
|
out/
|
|
|
|
# Visual Studio
|
|
.vs/
|
|
*.user
|
|
*.suo
|
|
*.userosscache
|
|
*.sln.docstates
|
|
|
|
# JetBrains Rider
|
|
.idea/
|
|
|
|
# NuGet
|
|
*.nupkg
|
|
*.snupkg
|
|
packages/
|
|
|
|
# Logs / local state
|
|
*.log
|
|
*.tlog
|
|
|
|
# Local app data (testing)
|
|
*.local.json
|
|
|
|
# Large game build (sample only — should not be in repo)
|
|
ASTERION_VR/
|
|
|
|
# Sources des releases PROSERVE en attente de zip/upload :
|
|
# on ignore tout sauf les _migrations/ (SQL source-of-truth de la DB).
|
|
# Le _report/ est un build artifact (Vue/React minifié) maintenu ailleurs.
|
|
# Les binaires UE5 sont gigaoctets, à pousser uniquement via SFTP.
|
|
version/*
|
|
!version/.gitkeep
|
|
!version/*/
|
|
version/*/*
|
|
!version/*/_migrations/
|
|
version/*/_migrations/.htaccess
|
|
|
|
# Server-side secrets — never commit (config.example.php sert de template)
|
|
server/api/config.php
|
|
# Le contenu de server/builds/ est ignoré (gros ZIPs / launcher.exe), mais on
|
|
# garde le code (.htaccess, gate.php, .gitkeep) sous version.
|
|
server/builds/*
|
|
!server/builds/.gitkeep
|
|
!server/builds/.htaccess
|
|
!server/builds/gate.php
|
|
!server/builds/launcher/.gitkeep
|
|
|
|
# Plans
|
|
.claude/
|
|
|
|
# Binaires copiés par le post-publish à la racine du repo
|
|
/PSLauncher.exe
|
|
/PSLauncher.Updater.exe
|
|
/PSLauncher-*.exe
|
|
/PSLauncher*.bak
|
|
|
|
# Sortie de l'installeur Inno Setup
|
|
/installer/output/
|