Il y a environ une centaine de migrations dans mon dossier migrate avec des préfixes numériques, puis une centaine avec des préfixes d'horodatage, donc je suppose qu'à un moment donné la version de Rails a été mise à jour. Maintenant, je veux arrêter Rails d'utiliser les préfixes d'horodatage comme je préfère les préfixes numériques. Quel est le meilleur moyen d'y parvenir, ou est-ce possible? Une approche possible consiste à renommer manuellement les préfixes dans leur ordre de tri, puis à accéder aux bases de données de développement, de mise en scène et de production et à modifier les horodatages par les nouveaux numéros, mais cette approche semble désordonnée. Y a-t-il un autre moyen d'accomplir cela?Puis-je empêcher Rails d'utiliser un préfixe d'horodatage pour les migrations après que certaines migrations ont été générées à l'aide d'horodatages?
Répondre
Les migrations horodatées sont géniales si vous avez une équipe, ou si vous voulez vous brancher et travailler sur autre chose. Cependant, vous pouvez modifier la façon dont les migrations sont nommées avec un paramètre de configuration.
#environment.rb
config.active_record.timestamped_migrations = false
également .... le plugin lazy_developer Je maintiens a une tâche de transformer tous vos fichiers de migration dans une migration flambant neuf. Je ne donne aucune garantie que cela fonctionnera pour vous, mais je l'ai utilisé sur quelques projets pour obtenir les choses où je veux qu'ils soient.
http://github.com/napcs/lazy_developer
Il faut essentiellement schema.rb et fait une nouvelle migration de celui-ci. Il essaie également de gérer vos index, mais il utilise un horodatage pour le numéro de migration, en définissant la nouvelle migration qu'il crée avec le même nom que la dernière migration afin que le contrôle de version de votre base de données soit correctement géré.
Encore une fois, aucune garantie ne fonctionnera, alors sauvegardez ou branchez votre projet en premier! Si j'étais vous, je laisserais ça tranquille. C'est une convention d'avoir les noms de migration, et vraiment, il suffit de les utiliser au plus une fois. Si vous vous déployez sur un nouveau serveur ou que vous vérifiez le projet sur une nouvelle machine, vous devriez vraiment utiliser rake db: schema: load à la place car c'est beaucoup plus rapide. Les migrations sont destinées au développement et aux changements incrémentaux de base de données. Et comme je l'ai dit, les migrations horodatées basculent pour plusieurs utilisateurs.
- 1. Rails Migrations: Charger les données par défaut
- 2. Utilisation des migrations dans Ruby on Rails
- 3. Ramaze avec Sequel Migrations?
- 4. Comment créer les migrations pour une base de données existante?
- 5. migrations Rails: détachez paramètre par défaut pour une colonne
- 6. Utiliser les migrations Rails pour supprimer un index sans connaître son nom
- 7. Dans Rails Migrations, à quoi correspond le nombre spécifié pour: limit sur un entier?
- 8. Comment savoir si vos migrations sont à jour avec migratordotnet?
- 9. Comment créer un nifty_scaffold sans se soucier des migrations?
- 10. Comment gérez-vous les migrations Ruby on Rails avec une équipe de développeurs?
- 11. comment (remplacer | créer) un champ enum sur les migrations de rails 2.0?
- 12. Définition des migrations SubSonic 3 ActiveRecord
- 13. rails: comment lier les valeurs dans les migrations de données aux variables de classe/modèle?
- 14. Génération des migrations à partir des mises à jour du schéma Rails, au lieu de l'inverse
- 15. SubSonic 3 migrations automatiques dans un environnement en direct
- 16. Est-ce une bonne idée d'écrouler les anciennes migrations de rails?
- 17. Can Rails Migrations peut-il être utilisé pour convertir des données?
- 18. Puis-je utiliser uniquement des migrations à partir de rails pour maintenir un schéma de base de données?
- 19. Toute prise en charge des clés étrangères dans le shell de schéma CakePHP ou les migrations?
- 20. Quel est l'équivalent des Migrations de Rails ou du Sud de Django en Pylons et TG2?
- 21. Les migrations de doctrine dans symfony ne mettent pas à jour le modèle et les formulaires
- 22. Empêcher les visiteurs d'ouvrir certaines pages
- 23. Refactorisation des migrations de base de données dans Ruby on Rails
- 24. Exécution des migrations de base de données à partir de l'application
- 25. Comment désinstaller facilement le plugin Ruby on Rails avec des migrations?
- 26. Comment supprimer certaines fonctionnalités d'une application Rails
- 27. Comment obtenir les lignes précédentes et suivantes même si certaines lignes ont été supprimées?
- 28. Comment faire pour que les objets "supposent" qu'ils ont été surchargés pour l'opérateur X?
- 29. Automatisation des migrations d'objets de base de données à partir du contrôle de code source
- 30. Pourquoi les migrations Rails définissent-elles des clés étrangères dans l'application mais pas dans la base de données?