[英]Migrate models between different environments in Rails
我正在編寫一個腳本,負責將數據從生產db傳輸到新的生產db。
每個數據庫都有一個Rails應用程序。 在新應用中,我們進行了一些更改,以更改架構(刪除列等)
我試圖這樣做:
rails console old
2.0.0p247 :004 > tag = Tag.last.dup
=> #<Tag id: nil, description: " views", account_id: 46, screenshotBase64: "", user_id: 1, created_at: nil, updated_at: nil>
2.0.0p247 :005 > ActiveRecord::Base.establish_connection(:development)
2.0.0p247 :006 > tag.save
ActiveRecord::StatementInvalid: Mysql2::Error: Unknown column 'screenshotBase64' in 'field list
由於我們在新數據庫中刪除了screenshotBase64
,因此它不起作用。
有辦法用Rails做到這一點嗎? 保存之前從Rails模型中刪除屬性嗎?
是否有更好的方法來傳輸來自通過兩個數據庫之間的用戶關聯鏈接的用戶的所有數據(更改新數據庫中的ID)?
請嘗試使用此代碼
tag_attributes = Tag.last.attributes.dup
%w(id screenshotBase64).map{|method| tag_attributes.delete method}
ActiveRecord::Base.establish_connection(:development)
tag = Tag.create(tag_attributes)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.