65 votes

Quel est l'emplacement recommandé pour les scripts SQL (DDL)?

Quel est l'emplacement recommandé pour les scripts SQL, DDL, ... dans la structure de répertoires standard Maven ?

Je parie que presque tous les projets Web utilisent une base de données et certains types de scripts SQL qui doivent être stockés quelque part, alors quel serait probablement le "meilleur" endroit où conserver ces fichiers?

S'il vous plaît donnez votre avis.

61voto

Adrian Shum Points 10784

Je pense qu'il n'y a pas de meilleure pratique pour cela. Dans mon projet, j'ai créé un répertoire séparé pour le stockage de telles script SQL.

Par exemple src/main/db.

Il ne sera pas emballé au final JAR par défaut (qui sont le moyen privilégié dans la plupart des cas), mais il est confortable suffisant pour laisser emballés dans de l'assemblée. Vous pouvez même paquet dans les principales artefact JAR, par l'ajout de ressources correspondants de la déclaration ou de l'utilisation de maven build-helper plugin.

Cependant, tout dépend de votre utilisation de ce script. Cependant, je voudrais envisager de les mettre dans des ressources que quand ils sont vraiment les ressources pour être chargé par votre application.

5voto

MaDa Points 5571

src/main/resources est un bon endroit, mais souvenez-vous qu'il est emballé dans votre dernier pot. Cela dépend donc de savoir si vous souhaitez ou non l'indiquer dans votre code de production.

Sinon, vous pouvez filtrer cela en ajoutant l'extrait de configuration de maven-jar-plugin au pom.xml approprié:

 <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <configuration>
         <excludes>src/main/resources/privateSubdir/**</excludes>
    </configuration>
</plugin>
 

1voto

MasterCassim Points 4525

J'utiliserais src/main/resources à cette fin. Peut-être créer un sous-dossier ici.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X