[英]changes to model in ruby on rails
所有,
我需要澄清如何在軌道上的ruby中跟蹤模型更改。 我開始創建一個模型,說兩個字段,名稱和電子郵件。 這就是我所做的
“rails generate model user first_name:string last_name:string”
這創建了一個模型文件
我現在想為模型添加更多字段。 我需要遵循哪些步驟?
我是否向數據庫中添加了列並運行了一些命令,以便模型(類)與db同步?
我是否使用新字段刪除並重新創建整個模型?
什么是推薦的方法Venu
您希望使用遷移來更新現有表,您可以從命令行執行整個過程
假設你已經完成了
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文件執行任何操作 - 但您需要重新運行注釋任務以將其重新注釋到model.rb文件。
我不確定你使用的是什么版本的rails ..但是int rails 3.x它可以完成
rails generate migration add_fields_user
這將在db / migrate / [timestamp] /add_fields_user.rb中創建一個文件
現在你可以在文件中寫入並運行rake db:migrate
add_column :users , :city, :string
您要做的是通過鍵入來運行遷移。 rails生成遷移description_of_migration。 這將創建一個空遷移,您可以定義要添加到模型的內容。 在你的情況下,它可能是這樣的:
class DescriptionOfMigration < ActiveRecord::Migration
self.up
add_column :users, :email, :string
end
self.down
remove_column :users, :email
end
end
這使得您可以在模型上雙向遷移。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.