7
votes

Générer automatiquement des échafaudages pour un schéma de base de données existant dans les rails 3

J'ai une base de données existante que j'aimerais générer automatiquement les contrôleurs et les vues pour inclure des modèles avec une taille de champ et non la validation nulle. J'ai examiné un projet appelé le générateur de modèle magique, mais il avait l'air vieux et crée uniquement des modèles de ce que je peux dire.

Je veux que cela soit principalement un économiseur de temps et je comprends que la plupart des contrôleurs et des vues ne seront pas utiles pour l'utilisateur face fonctionnellement. Je vais cueillir ce que je n'ai pas besoin et en déplaçant la majeure partie des pages d'administration.

Y a-t-il un outil pour faire cela?

tia!

edit: Je souhaite créer les fichiers réels et ne pas vouloir un administrateur dynamique. J'utiliserai les contrôleurs et la vue de certaines parties du site faisant face à face.


0 commentaires

4 Réponses :


3
votes

0 commentaires

4
votes

Je crois que cette question est répondue ici: Comment exécuter `rails générer un échafaud` lorsque le modèle existe déjà? et ici: Rails G Scanfold pour le modèle existant et la table DB < p> avec la réponse courte étant (par exemple modèle = post) xxx


5 commentaires

Je cherche à générer à partir d'une table de base de données existante et non un modèle.


Pourquoi ne pas créer un modèle simple pointant vers la table de base de données? Les rails génèrent un modèle de modèle


Et cela créera toutes les vues avec les formulaires et les champs?


Si vous créez le modèle, exécutez la commande Scaffold_Controller, oui, il générera toutes les vues avec des formulaires et des champs.


J'ai un de classe dans app / modèles mais la commande rails g Scaffold_Controller stuff ne génère pas tous les champs dans app / vues / show.html .erb



3
votes

Je pense que vous pouvez l'utiliser pour résoudre une partie de votre problème. Après avoir pointé votre application Rails sur votre ancienne base de données, faites un rake DB: Schema: Dump Vous pouvez utiliser un gemme appelé schema_to_scaffold pour générer un script d'échafaudage. Il génère:

rails g Utilisateurs FNAME: String LName: String Bdate: Date Email: String Crypted_password: String

de votre schema.rb notre votre renommée Schema.rb. Vérifiez ici


0 commentaires

18
votes

Je ne sais pas si travaille pour les rails 3, mais fait pour les rails 4! Les étapes ci-dessous enseigne comment construire vos modèles, formes, contrôleurs et etc. à partir d'une base de données existante.

  1. Modèle et déployez votre base de données, qui n'a pas encore rien à voir avec votre application Rails.
  2. Pointez vos rails app configuration / base de données.yml à une telle base de données
  3. Terminal ouvert
  4. Changer le répertoire de modification sur You rails app racine (exécuté dans la borne CD / chemin / chemin / à / mon / rails / app / ).
  5. Courez dans le terminal Rake DB: Schema: Dump (génère SCHEMA.RB)
  6. Installez GEM 'schema_to_scaffold' ( https://github.com/frenesim/schema_to_scaffold/ )
  7. Run dans Terminal Scaffold Pour générer des commandes d'échafaudage Rails et suivre ce qui est demandé
  8. Copiez "les commandes d'échafaudage Rails" générées par étape 7 sur un fichier .txt séparé
  9. Exécutez chaque "commande d'échafaudage rails" séparément
  10. soyez heureux!

    espérons que cela aide!


3 commentaires

Cela fonctionne parfaitement dans les rails 4.0! Merci pour la suggestion, c'était exactement ce que je cherchais.


Sur Ror 4.2 est parfait!


Super! Si vous avez plus de 300 tables comme moi. Pouvez-vous ajouter un #! / bin / sh à la première ligne du fichier, ajoutez des autorisations chmod + x fichier fichier et exécutez-le comme script.