2012-07-03 107 views
5

我知道正常的遷移我可以做rename_table但是在mongoid中,我並不確定如何繼續。用mongoid重命名模型

我已經得到了所有模型/關係/路線/控制器/等全部重命名,但我只需要知道如何移動數據本身。

這是一個嵌入embeds_one文件btw。

UPDATE:

貌似簡單地做:

Model.all.each {|m| m.rename :old_embedded_association_name, :new_embedded_association_name } 

作品。健全的理智?

回答

1

重命名嵌入文檔,你對待他們就像你的屬性和使用這樣的命名它們:

ParentModel.all.each {|m| m.rename :old_embedded_association_name, :new_embedded_association_name }

重命名的頂級車型,您需要訪問紅寶石驅動程序本身並使用#rename_collection方法:

Mongoid.database.rename_collection "old_collection_name", "new_collection_name"

要看到舊的集合名稱,你可以做這樣的事情:

Mongoid.database.collections.map {|c| c.name}

+1

NoMethodError:未定義的方法數據庫爲Mongoid:模塊 – Hackeron

0

根據你所說的話和文檔看來你應該去做這樣

Model.rename(:old_name, :new_name)