La question des sapins - vous utilisez l'adaptateur ActiveRecord Oracle d'origine ou un adaptateur oracle_enhanced (http://github.com/rsim/oracle-enhanced)? Je recommande d'utiliser l'adaptateur oracle_enhanced comme je l'ai fait quelques améliorations de performance pour le vidage de schéma.
Rails fournit deux façons de vidage de schéma:
rake db:schema:dump
Cela va créer le fichier schema.rb avec les migrations Rails pour la création de schéma. Dans le cas d'Oracle, il recherchera toutes les tables dans le schéma local de l'utilisateur (l'utilisateur est spécifié dans database.yml) et essaiera de traduire les types de données Oracle en types d'attributs du modèle Rails. Si vous avez des types de données qui ne sont pas supportés par Rails, vous pouvez les perdre. Mais si vous voulez ré-élaborer votre application de façon Rails, c'est l'approche préférée. Comme je l'ai dit, j'ai apporté quelques améliorations de performances dans l'adaptateur oracle_enhanced pour le vidage de schéma dans le cas de disctionnaires de données Oracle volumineux (si vous avez des milliers de tables dans tous les schémas).
rake db:structure:dump
Cela va créer le fichier de schéma SQL (par exemple db/development_structure.sql) que vous pouvez exécuter dans d'autres bases de données Oracle (cela ne fonctionnera pas sur d'autres bases de données). Cela peut être un moyen plus rapide de créer un vidage de schéma et il ne perdra pas les types de données spécifiques à Oracle. Mais de cette façon, vous risquez d'avoir des problèmes plus tard lorsque vous utiliserez ActiveRecord avec cette base de données, puis remarquerez que certains types de données ne sont pas traités correctement. Par conséquent, je recommande d'utiliser la migration Rails pour maintenir le schéma et non le SQL brut. Mais si vous voulez utiliser Rails avec une base de données Oracle existante, vous n'avez pas besoin de recréer ce schéma - vous pouvez simplement diriger database.yml vers ce schéma de base de données existant et commencer à créer des modèles ActiveRecord au-dessus des tables existantes . Voir http://blog.rayapps.com/2008/09/26/openworld-unconference-presentation-about-rails-on-oracle/ pour quelques conseils sur l'utilisation de Rails avec des bases de données Oracle héritées.
Oui je ne l'utilise --trace mais il est mort toujours sans erreurs – branchgabriel