2012-07-03 7 views
5

Tôi biết với di chuyển bình thường tôi có thể làm rename_table nhưng trong mongoid tôi không chắc chắn làm thế nào để tiến hành.Đổi tên mô hình với mongoid

Tôi đã có tất cả các mô hình/quan hệ/tuyến đường/bộ điều khiển/etc của mình tất cả được đổi tên nhưng tôi chỉ cần biết cách di chuyển dữ liệu.

Đây là tài liệu nhúng nhúng btw.

UPDATE:

Hình như chỉ đơn giản là thực hiện:

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

trình. Âm thanh lành mạnh?

Trả lời

1

này Đối đổi tên tài liệu nhúng, bạn đối xử với họ giống như bạn làm một thuộc tính và đổi tên chúng bằng một cái gì đó như thế này:

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

Đối đổi tên mô hình cấp cao nhất, bạn cần phải truy cập vào trình điều khiển ruby ​​chính nó và sử dụng phương pháp #rename_collection:

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

Để xem tên bộ sưu tập cũ bạn có thể làm một cái gì đó như thế này:

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

+1

NoMethodError: phương thức chưa xác định 'cơ sở dữ liệu 'cho Mongoid: Mô-đun – Hackeron

0

Dựa trên những gì bạn nói và các tài liệu có vẻ như bạn nên làm theo cách

Model.rename(:old_name, :new_name)