7
votes

Les rails génèrent une commande de migration pour insérer des données dans la table

J'ai une table et je devais ajouter un script de migration pour ajouter des lignes dans la table. Veuillez vous aider avec les rails générer une commande de migration pour insérer des données dans la table.

merci, Ramya.


2 commentaires

Vous aimerez peut-être aussi regarder la tâche de rocaille, par ex. railscasts.com/episodes/179-seed-Data


Dupliqué possible de Comment puis-je ajouter des inserts dans la migration des rails? < / a>


3 Réponses :


17
votes

Vous pouvez écrire un code rubis régulier dans une migration. Donc, vous pouvez simplement faire quelque chose comme ceci:

class Foo < ActiveRecord::Migration
  def self.up
    User.create(:username => "Hello", :role => "Admin")
  end
  def self.down
    User.delete_all(:username => "Hello")
  end
end


2 commentaires

D'accord, l'utilisation d'inserts SQL RAW est meilleure car elle ne déclenchera pas de validations fournies au code ultérieurement.


Utilisez Créer au lieu de Nouveau . Nouveau Créer une instance, Créer fait une nouvelle instance et enregistrez-la dans la table



3
votes

Le code m'a aidé, c'est l'instruction SQL comme indique

dans le fichier de migration xxx


0 commentaires

-1
votes
class AddFieldInUsers < ActiveRecord::Migration
  def self.up
    add_column :users, :admin, :boolean, :null => false, :default => 0
  end

  def self.down
    remove_column :users
  end
end

2 commentaires

S'il vous plaît ne pas ajouter de code uniquement des réponses. Pouvez-vous laisser une description de votre code qui décrit comment il répond au problème?


que d'utiliser le script de migration ci-dessous: Ruby DB: migrer