Ruby on rails RubyonRails中模型的更改
全部, 我需要澄清如何在RubyonRails中跟踪模型更改。我首先创建了一个模型,其中包含两个字段:name和email。这就是我所做的Ruby on rails RubyonRails中模型的更改,ruby-on-rails,model,Ruby On Rails,Model,全部, 我需要澄清如何在RubyonRails中跟踪模型更改。我首先创建了一个模型,其中包含两个字段:name和email。这就是我所做的 通过运行 “rails生成模型用户first\u name:string last\u name:string” 这创建了一个模型文件 然后,我在user中创建的文件中添加了一些验证 使用注释gem对类进行注释 使用“bundle exec rake db:migrate”将我的模型移动到创建表的数据库中 现在,我想向模型中添加更多字段。我需要遵循哪些步骤
Venu我不确定您使用的rails版本。。但是intrails3.x可以按如下方式完成
rails generate migration add_fields_user
这将在db/migrate/[timestamp]/add\u fields\u user.rb中创建一个文件
现在您可以写入该文件并运行rake db:migrate
add_column :users , :city, :string
您要做的是通过键入来运行迁移。rails生成迁移的迁移描述。这将创建一个空迁移,您可以定义要添加到模型中的内容。在您的情况下,可能是这样的:
class DescriptionOfMigration < ActiveRecord::Migration
self.up
add_column :users, :email, :string
end
self.down
remove_column :users, :email
end
end
class DescriptionOfMigration
这使得您可以在模型上以两种方式进行迁移。如果要使用迁移来更新现有表,可以从命令行执行整个过程 假设你做到了
rails generate model user first_name:string last_name:string
以前您会添加这样的字段
rails generate migration AddFieldsToModel new_field:string another_field:string....
Rails在“AddFieldsToModel”上发挥了神奇的作用,并根据值为您计算出表名
创建迁移后,您可以在db/migrations中查看它,如果您对它满意,就运行它
rake db:migrate
这将更新数据库以向其中添加新字段。您不需要对实际的model.rb文件执行任何操作,但需要重新运行annotate任务以将其重新标记到model.rb文件。rails将使用数据库中的所有字段“填充”此模型是真的吗?字段的名称是否与列名相同?这些是对象级变量吗?