2013-02-13 28 views
5

Tôi đã sử dụng trình tạo mặc định để tạo một số bảng và tất cả chúng đều có t.timestamp trong định nghĩa của chúng để lược đồ được tạo cũng có các trường created_at và updated_at. Bây giờ tôi được thông báo rằng tôi không cần hai trường đó trong lược đồ của mình vì vậy tôi đã chuyển đến các tệp create_table * gốc và lấy ra dòng t.timestamp từ chúng và chạy các lệnh db:migrateschema:load Nhưng vẫn còn khi tôi đi đến tệp schema.rb Tôi có thể thấy chúng vẫn còn đó.Xóa các trường dấu thời gian khỏi lược đồ

Tôi có làm gì sai ở đây không?

Trả lời

13

Run

rails g migration remove_timestamps_from_table created_at updated_at 

với table là tên của mô hình của bạn. Vì đây là sau mẫu xóa x khỏi y, đường ray đủ thông minh để tạo ra sự di chuyển thích hợp cho bạn.

Sau đó chạy

rake db:migrate 

để cập nhật cơ sở dữ liệu phát triển của bạn và

rake db:test:prepare 

để chuẩn bị cơ sở dữ liệu kiểm tra, và bạn đã sẵn sàng!

Đọc thêm về di chuyển here. Nếu bạn vẫn gặp sự cố, hãy xem xét khởi động lại máy chủ đường ray hoặc máy chủ cơ sở dữ liệu của bạn.

+3

Ngoài ra, bạn cũng sẽ muốn quay lại và hoàn nguyên các thay đổi bạn đã thực hiện đối với việc di chuyển ban đầu vì bạn không nên chỉnh sửa di chuyển bạn đã chạy, đặc biệt nếu bạn chưa cuộn chúng trở lại trước. – Tomdarkness

+0

Cảm ơn @Tomdarkness! – weltschmerz

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