Existe-t-il un moyen d'annuler les effets d'une commande d'échafaudage dans Rails?
ruby-on-rails
ruby
scaffolding
Daniel
la source
la source
Réponses:
Tout d'abord , si vous avez déjà exécuté les migrations générées par la
scaffold
commande, vous devez d'abord effectuer une restauration.Vous pouvez créer des échafaudages en utilisant:
(ou similaire), et vous pouvez le détruire / annuler en utilisant
Cela supprimera tous les fichiers créés par
generate
, mais pas les modifications supplémentaires que vous auriez pu apporter manuellement.la source
rake db:rollback
détruire votre échafaudage. Cela détruira / supprimera la table s'il n'y a pas d'autre migration que la migration de l'échafaudage avant elle.git status
et / ougit diff
, pour voir si la commande destroy a manqué quelque chose.Rishav Rastogi a raison, et avec les rails 3.0 ou supérieurs, son:
la source
rake db:rollback
avantrails destroy scaffold
ou si ce n'est pas le dernier que vous avez ratissé,db:migrate:down VERSION=20080906120000
vous pouvez trouver le numéro avant son nom dans db / migrateVous pouvez annuler tout ce que vous avez fait avec
Par
Par exemple, cela applique des générateurs à la migration, à l'échafaudage, au modèle, etc.
la source
Si vous voulez simplement voir les fichiers qu'un générateur va créer, vous pouvez passer l'option --pretend ou -p du générateur.
la source
Le meilleur moyen est:
Pour échafaudage:
la source
Assurez-vous également d'annuler la migration que vous avez effectuée par restauration ou vers une version particulière.
la source
pour la première fois, vous pouvez vérifier la migration de votre base de données si vous avez généré un échafaudage. vous devez les détruire pour nettoyer votre base de données
puis
la source
Pour générer des échafaudages:
Pour rétablir l'échafaudage:
la source
Les rails détruisent le nom
la source
Pour générer des échafaudages dans des rails -
Pour défaire l'échafaudage dans les rails -
la source
rails g
etrails d
.vous devez aussi annuler les migrations après avoir détruit l'échafaudage
la source
Ainsi, vous devez suivre le processus pour annuler l'échafaudage dans les rails 4. Exécutez la commande comme ci-dessous:
rails d scaffold FooBar
rake db:rollback
si you_had_run_rake db:migrate
après avoir créé l'échafaudage ci-dessus?C'est ça!
À votre santé!
la source
Recommander une restauration Tout d'abord, saisissez votre terminal.
Ajouter un échafaudage de destruction (le «d» signifie «détruire»)
Profitez de votre code.
la source
utilisez ceci
la source
Vous devrez d'abord faire le rake db: rollback pour détruire la table
si vous avez déjà exécuté rake db: migrate et ensuite vous pouvez exécuter
rails d échafaudage Modèle
la source
vous devez d'abord annuler les migrations en effectuant le rake db: annuler le cas échéant, puis détruire l'échafaudage en
la source
Oui, le
scaffold
lui - même et toutes les choses qui le fusionnent.La
destroy
commande est l'opposé degenerate
et annulera celle-ci. Il vous suffit de luigenerate
donner le nom de la même manière et il sera supprimé de votre projet:la source
Pour générer l'échafaudage:
Pour rétablir cet échafaudage:
Si vous avez exécuté la migration pour cela, il suffit de revenir en arrière
la source
fournisseur une autre solution basée sur git
démarrer un nouveau projet
initialiser git
créer un échafaudage
faire reculer l'échafaudage
la source
Option
Si tu fais
Puis inversez-le en utilisant
la source
Lorsque nous générons un échafaudage, les fichiers suivants seront créés:
Commander:
rails generate scaffold Game
Fichiers créés:
Si nous avons exécuté la migration après cela, nous devons d'abord annuler la migration car la suppression de l'échafaudage supprimera également le fichier de migration et nous ne pourrons pas annuler cette migration.
Dans le cas où nous avons exécuté la migration:
et après cela, nous pouvons retirer l'échafaudage en toute sécurité par cette commande.
Cette commande supprimera tous les fichiers créés par l'échafaudage dans votre projet.
la source
Chaque fois que vous exécutez
rails g
, vous pouvez l'inverser en exécutantrails d
(détruire) pour supprimer ce que vous avez généré. Si vous avez déjà coururake db:migrate
, vous devrez courirrake db:rollback
avant de détruire :)la source
Cas 1: si vous exécutez uniquement cette commande pour générer un échafaudage -
mais jusqu'à présent, vous n'avez exécuté aucune commande de migration comme
alors vous devez exécuter uniquement cette commande comme -
Cas 2: Si vous exécutez déjà (Scaffold et Migration) par les commandes ci-dessous comme -
Ensuite, vous devez exécuter la première commande de migration de restauration puis détruire l'échafaudage comme ci-dessous -
Ainsi, de cette manière, nous pouvons annuler l'échafaudage. Nous pouvons également utiliser d pour détruire et g pour générer comme raccourci.
la source
pour générer et
pour enlever
la source