J'ai besoin de supprimer quelques colonnes de mon rails modèle que j'ai déjà créés et ont un certain nombre de lignes d'entrées dans ce modèle. Comment faire? Les liens que les détails de la modification du schéma dans les rails ? Je suis sur les rails de la version 3.
Réponses
Trop de publicités?Pour supprimer une colonne de base de données, vous devez générer une migration:
script/rails g migration RemoveColumns
Puis dans l'auto.jusqu'méthode de classe, retirez vos colonnes:
def self.up
remove_column :table_name, :column_name
end
Vous pouvez les ajouter dans l'auto.en bas de la méthode de classe ainsi:
def self.down
add_column :table_name, :column_name, :type
end
Le [Guide Rails][1] pour que cela se passe dans beaucoup plus de détails.
[1]: http://guides.rubyonrails.org/migrations.html"Guide Rails"
Si vous connaissez les colonnes que vous souhaitez supprimer, vous pouvez utiliser la convention: Supprimer..à Partir de.. lorsque vous nommez votre migrations. En outre, vous pouvez inclure les noms de colonne lors de l'exécution de la commande de migration.
La forme de la commande:
rails g migration Remove..From.. col1:type col2:type col3:type
Par exemple:
rails g migration RemoveProjectIDFromProjects project_id:string
génère des fichiers de migration:
class RemoveProjectIdFromProjects < ActiveRecord::Migration
def self.up
remove_column :projects, :project_id
end
def self.down
add_column :projects, :project_id, :string
end
end