La meilleure façon de l'exportation d'une table de base de données dans un fichier YAML?
J'ai des données dans ma base de données de développement que je voudrais utiliser comme des luminaires dans mon environnement de test. Quel est le meilleur moyen de Rails 2.x pour exporter une table de base de données à un YAML luminaire?
Vous devez vous connecter pour publier un commentaire.
Il y a une tâche rake pour cela. Vous pouvez spécifier RAILS_ENV si nécessaire; la valeur par défaut est l'environnement de développement:
J'ai été en utilisant YamlDb de sauvegarder l'état de ma base de données.
De l'installer avec la commande suivante:
Utiliser la tâche rake vider le contenu de Rails de la base de données db/données.yml
Utiliser la tâche rake pour charger le contenu de la base de données/données.yml dans la base de données
C'est les créateurs de la page d'accueil:
http://blog.heroku.com/archives/2007/11/23/yamldb_for_databaseindependent_data_dumps/
Ce plugin va ajouter les fonctionnalités que vous souhaitez. Il a été extraite à partir de ActiveRecord donc ne vient plus par défaut.
script/plugin install http://github.com/topfunky/ar_fixtures
Puis exécutez:
rake db:fixtures:dump MODEL=ModelName
Pour Rails 3, si vous voulez vider yaml à partir de la DB et l'utiliser comme un appareil, j'utilise ce code:
Je viens de le lancer depuis la console avec
Je n'ai pas été en mesure d'obtenir ar_fixtures de travailler avec Rails 3 (n'ai pas essayé très dur tout de même). Yaml db est génial pour l'immersion et l'enregistrement de la db, mais son format n'est pas compatible avec les appareils d'éclairage.
Fer Luminaire Extracteur a été construit pour exactement cet effet. Il est particulièrement bon pour les situations où vous souhaitez utiliser le montage différent séries pour les différents scénarios de test (plutôt que d'avoir tous les accessoires pour tous les tests). Il fournit des fonctionnalités pour l'extraction, le chargement, la reconstruction de luminaires, tronquer les tables, ou un accrochage particulier les hachages de votre appareil, les fichiers yaml.
rake db:fixtures:dump
a été modifié pour
rake db:extract_fixtures
Très simple bijou va créer yaml fixations à partir de la base de données existante...
github.com/vanboom/yaml_dump
Travaille avec des Rails 4.
Voici une tâche rake qui va faire exactement cela (testé dans les Rails 3.2.8):
Source: http://sachachua.com/blog/2011/05/rails-exporting-data-specific-tables-fixtures/
Note: j'ai dû faire quelques modifications sur le blog de code pour le rendre plus de la croix-base de données compatible et le travail dans les Rails 3.2
puis copiez & de le coller dans un fichier et de le modifier pour correspondre à ce que les luminaires d'attendre.
C'est le travail manuel, mais si vous avez besoin d'une fois sans doute le moyen le plus rapide.
De dumping pour rspec/concombre appareils de test dans Rails 3, c'est la meilleure réponse que j'ai trouvé:
Quelle est la façon standard de dump de la db à yml luminaires dans les rails?