2010-06-25 10 views
0

Version courte:
Y at-il un moyen d'utiliser râteau sans l'environnement/enregistrement actif complet rails pour gérer une base de données SQL Server? Existe-t-il des alternatives à rake pour fournir le même ensemble de fonctionnalités?utilisation Rake/alternatives pour la gestion de base de données SQL Server dans un environnement non-rails

version plus longue:
je l'ai fait un certain développement passe-temps en utilisant Rails mais je l'ai pas utilisé pour le travail, ni que je compte. Mais en l'utilisant, une chose (parmi d'autres, bien sûr) qui est apparue était la façon intuitive dont j'ai trouvé rake db: migrate d'être du point de vue de la gestion du cycle de vie du développement de la base de données.

Je aime particulièrement:

  • Tous les scripts sont commandés pour l'exécution des étapes de mise à niveau/mise à niveau inférieur séparés.
  • génération de table est intrinsèquement scénarisé (ne repose pas sur Management Studio interface utilisateur de cliquer cliquez sur.
  • insertion de données est explicite en version/étape.
  • Facilité d'utilisation

Quel genre de les options sont là là-bas pour faire ce type de gestion sur une base de données SQL Server pour le codeur seul

Répondre

0

rake db: migrer ne rend plus facile migrations faciles

Bigg. Les migrations sont still just as hard et nécessitent une réflexion sur les changements de schéma en termes de ce que la base de données doit réellement faire.

Quoi qu'il en soit, je pense que vous êtes coincé en utilisant le tout, parce que db: migrate n'est pas une migration centrée sur la base de données - c'est vraiment centré sur le modèle.

Typiquement, j'aime utiliser quelque chose comme SQL Compare pour passer de la production actuelle au schéma de production suivant.

Je n'ai pas tendance à exécuter plusieurs migrations pour passer de 1.0.1 (Release) -> 1.0.2 (Dev) -> 1.0.3 (Dev) -> 1.1.0 (Release) (ie les développeurs de scripts utilisé pour accéder à différentes versions internes), parce que je veux mettre à niveau un environnement intermédiaire d'une version de production à la prochaine version de production directement comme cela se produira pour la production. Il y a toujours des possibilités que les scripts ne fonctionnent pas sur des données réelles (ou ils seront trop lents, ou il y aura des problèmes d'intégrité référentielle avec les données réelles).

En ce qui concerne les scripts, ils sont disponibles via SMO ou avec des outils tels que Red Gate ou APEX SQLScript.