mon travail que nous rencontrons actuellement des douleurs graves qui poussent nos changements de base de données dans les environnements. Le problème commence à apparaître lorsque nous créons une nouvelle colonne non nullable sur une table existante. Le script généré par SQL Compare crée une colonne non nulle, de sorte qu'il échoue toujours. J'espérais qu'il y avait une alternative à devoir éditer manuellement le script. Y a-t-il un moyen de contourner cela? Si non, comment les gars le manipulez-vous?Existe-t-il un moyen simple d'ajouter un script de migration personnalisé aux scripts de comparaison SQL?
Répondre
Créer une table:
create table #bingo (id int)
Ajouter une valeur:
insert into #bingo values (1)
Ajouter une nouvelle colonne:
alter table #bingo add userid int
POPULATE la nouvelle colonne:
update #bingo set userid = 1 where id = 1
Modifier la nouvelle colonne de ne pas annulable:
alter table #bingo alter column userid int not null
Vous devez modifier manuellement le Redgate Sql Comparer pour le faire fonctionner comme ça.
Comment prévoyez-vous remplir la colonne NOT NULL? Je ne vois pas comment SQL Compare pourrait vraiment trouver une solution, car il n'a aucun moyen de savoir comment vous le remplir.
Vous pouvez créer la colonne avec un DEFAULT, puis ajoutez simplement une déclaration de mise à jour à la fin des scripts générés pour mettre à jour correctement la colonne si vous avez une source pour les valeurs.
ajouter un défaut sur la nouvelle colonne non nulle
lors de la création d'une nouvelle colonne non nulle, quelle valeur toutes les lignes existantes se? Si vous ne le savez pas, rendez la colonne nullable.
Cela dépend du changement, mais généralement il est tiré de l'intérieur de la base de données elle-même. –
@Correl, comment pouvez-vous attendre à jamais une nouvelle colonne NOT NULL, sur une table existante (avec des lignes) à travailler toujours, sans défaut? Vous pouvez supprimer la valeur par défaut après la création de la colonne pour forcer votre application à insérer une bonne valeur. –
J'espérais que Redgate me donner une place pour insérer les valeurs dans le script. Comme créer la colonne comme nullable, laissez une section vide pour moi d'ajouter ma logique personnalisée, puis modifiez la colonne comme non-nullable. Je peux le faire à la main, mais j'espérais que RedGate pourrait le rendre plus facile. –
- 1. Recherche de scripts T-SQL pour supprimer un travail SQL
- 2. simple checklistbox comparaison
- 3. erreur de serveur interne (500) dans un script cgi simple
- 4. Dans SharePoint, quel est le moyen le plus simple de créer un fichier "schema.xml" personnalisé?
- 5. Scripts Nhibernate et sql
- 6. Un script javascript simple a mal tourné!
- 7. Comparaison de date SQL
- 8. Un moyen simple de détecter les clés de propriétés inutilisées?
- 9. Ajouter un hook au script/générer la migration
- 10. Comment installer un travail SQL Server à l'aide de scripts?
- 11. Scripts aux documents (fonctionnalité de publication de Matlab en python)
- 12. installez ASP.NET + SQL Express dans un script
- 13. Sql 2005 migration de données
- 14. Comment obtenir des scripts pour invoquer un script externe?
- 15. Existe-t-il un moyen de mapper un tag en flex aux composants de plusieurs répertoires?
- 16. Un moyen d'obtenir le résultat d'une expression de calcul simple?
- 17. XSLT: Un moyen simple de fusionner des fichiers xml
- 18. Quel est un bon moyen de dépanner un script en termes de performance (php/mysql)?
- 19. Est-il possible d'utiliser un type de colonne personnalisé dans une migration Rails?
- 20. Un moyen facile de retrive timestamp de SQL Server db
- 21. Script simple de construction HelloWorld
- 22. Migration de SQL Server vers Oracle
- 23. générer des scripts SQL
- 24. Simple Youtube Recherche Script PHP
- 25. Script pour exécuter d'autres scripts dans sqldeveloper
- 26. Débogage de scripts IronPython dans un environnement (intégré) hébergé
- 27. Comment appeler un script SQL à partir d'un autre script SQL?
- 28. MYSQL SQL 2008 migration
- 29. Quel serait le moyen le plus simple de traiter un fichier texte en utilisant JSP?
- 30. Un moyen d'exporter/importer des abonnements aux services de reporting du serveur SQL?
J'espérais qu'il y avait un moyen de le configurer de sorte qu'il a créé toutes les colonnes que annulable, puis à gauche un espace pour moi de mettre à jour la table, puis modifier la colonne pour être non annulable. –