Existe-t-il une méthode/un mécanisme disponible pour exécuter un ensemble différent de scripts de post-déploiement dans le projet de base de données SSDT dans Visual Studio 2012/2013? basé sur la configuration de construction? Je voudrais pré-remplir mes données pour tester/intégration continue en déployant avec une configuration "Testing", mais naturellement je ne veux pas le faire pour d'autres environnements. Cependant, je n'arrive pas à trouver un moyen de lier conditionnellement un script de post-déploiement à une configuration de construction, et cela me semble vraiment étrange.VS 2013 Database Project: Exécution de scripts post-déploiement basés sur la configuration de construction
Répondre
Vous pouvez également utiliser des variables SQLCMD pour faire quelque chose de similaire. Si la valeur == "Test", exécutez un ensemble de valeurs. Sinon, lancez autre chose. Je blogué à ce sujet ici:
http://schottsql.blogspot.com/2013/05/trick-to-not-run-prepost-sql-on-publish.html
Il ne se fait pas sur la construction et les scripts sont toujours inclus cette façon, mais si ce n'est pas un problème, il vous donne un moyen d'écrire facilement le code pour fonctionner sur différents environnements facilement.
Vous pouvez le faire en éditant le fichier .sqlproj utilisé par MSBuild. Ensuite, lorsque vous construisez la configuration "Test", vous obtenez différents contenus dacpac lors de la construction en mode "Release". Par exemple:
- Créer un projet et ajouter un script Postdéploiement
- Décharger le projet et modifier le fichier .sqlproj
- Modifier le ItemGroup contenant le script PostDeploy pour se présenter comme suit:
<ItemGroup Condition=" '$(Configuration)' == 'Release' "> <PostDeploy Include="Debug.PostDeployment1.sql" /> </ItemGroup>
- Construire dans la configuration de débogage et décompresser le dacpac: pas fil postdeploy.sql e sera inclus
- Construire en test de configuration et décompresser le dacpac: le fichier postdeploy.sql sera là.
blech, c'est moche ... mais on dirait que ça va marcher. –
- 1. VS 2010 Project Database Exécuter le script conditionnellement
- 2. VS 2010 Database Project - SQL03006 Erreur
- 3. Deploy Database Project Erroinr
- 4. Outils de construction basés sur Python
- 5. Scripts interprétés: implicite vs exécution explicite
- 6. Project Server 2013 appels PSI à partir de 2013 Sharepoint
- 7. Exclure des fichiers entiers basés sur la configuration à partir de la construction dans VS2008
- 8. Exécution de scripts sur le téléchargement de la source
- 9. Création dynamique de VS Project
- 10. Cross Database SQL Scripts
- 11. configuration de la construction
- 12. Traiter plusieurs scripts basés sur des variables de Sql
- 13. Structure des scripts de construction NAnt et structure de la solution sur le serveur de construction
- 14. Exécution de scripts racine distants sur Fedora
- 15. Paramètres de configuration basés sur la base de données Codeigniter
- 16. Impossible d'installer MS Project 2013 après l'installation d'Office 2013
- 17. Exécution de scripts Python sur un serveur?
- 18. Comparaison de la valeur sur Soumettre Vs Database
- 19. Comment exclure Web Deployment Project de la construction lorsque la configuration est Debug?
- 20. Exécution automatisée de r-scripts
- 21. Exécution de scripts via Processbuilder
- 22. Exécution de scripts sur un serveur TeamCity après la fin de la génération d'un agent
- 23. Database Taille Vs PHP Vitesse de traitement
- 24. Exécution de plusieurs scripts Python
- 25. Exécution de scripts Python sur la machine locale
- 26. H2 Database vs SQLite sur Android
- 27. VS 2013 Bower EMALFORMED bower.json
- 28. Nommage des scripts de construction
- 29. Exécution consécutive de scripts SQL
- 30. Désinstallation de VS 2013 Express après l'installation de VS 2013 Community et CUDA
Hmm ... comment définir la valeur SQLCMD comme étant la configuration de construction? J'ai essayé d'utiliser '$ (Configuration)' mais il a simplement analysé cette valeur et stocké "Debug". –
Nous créons des profils de publication pour faire tout cela. Nous construisons ensuite en utilisant ce profil de publication. Je sais qu'il y a une option pour passer les valeurs de SQLCMD, mais je ne suis pas sûr de ce que c'est. Nous construisons plus souvent d'abord, puis publions w/SQLPackage pour définir des valeurs. –
Je vois! Je vous remercie. –