Règles Database et Liquibase¶
Copy of
sumaris-pod/.agents/rules/database-liquibase.md(rule written for AI coding agents, when creating or modifying Liquibase changelogs, database schemas, SQL scripts, or HSQLDB test data). Do not edit here: runnpm run site:sync-rulesto update it.
Liquibase¶
- Auteur :Auteur de chaque changeset = email du développeur (ex.
benoit.lavenier@e-is.pro). - Identifiants : Utiliser le format
<timestamp_ms>-NNN(ex:1707744000000-001). - Préconditions : Toujours vérifier l'absence d'une table avant sa création avec
<preConditions onFail="MARK_RAN"><not><tableExists tableName="... "/></not></preConditions>. - Nomenclature :
- Tables : snake_case (ex:
my_table). - Clés étrangères : suffixe
_fk(colonne) et_fkc(nom de la contrainte). - Séquences : suffixe
_seq.
- Tables : snake_case (ex:
- Compatibilité :
- Crée une version du changelog pour chacun: HSQLDB, PostgreSQL, Oracle — avec les mêmes ids, si possible.
SQL / HSQLDB¶
- Pour les tests unitaires, HSQLDB est utilisé. Veiller à utiliser une syntaxe SQL compatible ou spécifique si nécessaire.
- Les fichiers de données de test sont des fichiers XML chargés par DBUnit dans
sumaris-test-shared/src/main/resources.