嗨,大家好,我想知道如果您嘗試回滾遷移以更新模式,是否有辦法不丟失數據?例如,在運行rake db:migrate之後,插入幾輪數據之後,您想要在模式中添加一個新屬性。如何在不丟失原始數據的情況下更新數據庫模式
所以我的問題是如何添加新屬性而不會丟失我以前的記錄?有可能這樣做嗎?因爲所有這些,我只是通過運行rake db:rollback STEP = ...並丟失了我生成的所有數據。就是想。
感謝您的幫助 來源: BC2
嗨,大家好,我想知道如果您嘗試回滾遷移以更新模式,是否有辦法不丟失數據?例如,在運行rake db:migrate之後,插入幾輪數據之後,您想要在模式中添加一個新屬性。如何在不丟失原始數據的情況下更新數據庫模式
所以我的問題是如何添加新屬性而不會丟失我以前的記錄?有可能這樣做嗎?因爲所有這些,我只是通過運行rake db:rollback STEP = ...並丟失了我生成的所有數據。就是想。
感謝您的幫助 來源: BC2
,如果你有一個現有的表,並希望在現有表中添加新屬性,然後簡單寫入獨立遷移。
例如:您有屬性名稱的學生桌,roll_no ...現在ü要增加學生表「地址」屬性
$ rails generate migration AddAddressToStudents address:string
會產生
class AddAddressToStudents < ActiveRecord::Migration
def change
add_column :students, :address, :string
end
end
然後只需運行「rake db:migrate」
感謝您的幫助=) – BC2
你不需要回滾到更新架構。只需編寫一個新的遷移來更新現有的表。
例如,將字段添加到您的用戶表,不破壞任何東西,寫遷移,如:
class AddFieldsToUser < ActiveRecord::Migration
def change
change_table :users do |t|
t.date :birthday # add new field
t.remove :first # remove a field
t.rename :gender, :sex # rename a field
end
end
end
這裏看到更多的信息:http://guides.rubyonrails.org/migrations.html#changing-tables
目前尚不清楚你要求什麼。你想回滾?你想生成一個當前的模式文件?你想達到什麼目的? – Dogweather