2011-09-29 27 views
5

Chỉ cần tìm hiểu đường ray, chuyển sang di chuyển và tất cả bắt đầu khá hợp lý cho đến khi tôi đạt được điều kỳ lạ xảy ra trong mã;Rails 3 tạo ra di chuyển - không có phương pháp lên hoặc xuống

rails generate migration AddRegionToSupplier 

Ở trên tạo tệp di chuyển chỉ bằng phương pháp "thay đổi def" trong đó.

Tôi googled điều này và thấy rằng đây là chính xác những gì được cho là xảy ra;

http://guides.rubyonrails.org/migrations.html

tôi sẽ mong đợi nó để tạo ra một "def lên" và "xuống def" phương pháp, do đó sự di cư có thể được cuộn lại. Tôi đã làm điều gì đó sai trong thế hệ hay tôi thiếu một cái gì đó hiển nhiên?

+1

bạn tl; dr'ed XD đừng lo lắng xảy ra rất nhiều với tôi quá lol – corroded

Trả lời

16

Từ link you pasted:

Rails 3.1 làm cho cuộc di cư thông minh hơn bằng cách cung cấp một phương pháp mới change. Phương pháp này được ưu tiên để viết di chuyển xây dựng (thêm cột hoặc bảng). Việc di chuyển biết cách di chuyển cơ sở dữ liệu của bạn và đảo ngược khi di chuyển được khôi phục mà không cần phải ghi một phương thức riêng biệt.

Vì vậy, có vẻ như bạn không phải lo lắng về việc có một def self.down như Rails bây giờ đã đủ thông minh để biết làm thế nào để cuộn nó lại.

+1

Tôi thích câu trả lời này. Đơn giản và súc tích. :) Làm thế nào để Rails biết làm thế nào để đảo ngược một di chuyển nếu nó không có một phương pháp xuống để xử lý nó? Có một số dữ liệu bổ sung đang được lưu ở đâu đó để theo dõi dữ liệu này không? – skcin7

Các vấn đề liên quan