7

Tôi đã tạo một công cụ mới trong Rails 3.1.3 và dường như có tác vụ rake sao chép tất cả các lần di chuyển. Tôi cố gắng sau rake abc:install:migrations mà ném:Cài đặt di chuyển từ động cơ sẽ không hoạt động

rake aborted! 
Don't know how to build task 'abc:install:migrations' 

(See full trace by running task with --trace) 

Tôi cũng đã cố gắng rake abc_engine:install:migrations với kết quả tương tự.

Sau đó, tôi đọc bundle exec rake railties:install:migrations hoặc bundle exec rake railties:install:migrations FROM=abc_engine cũng nên thực hiện thủ thuật nhưng không thành công. Không có gì được sao chép mặc dù không có lỗi nào bị ném.

di cư của tôi được đặt tại db/di chuyển/trong thư mục động cơ và tôi chạy tất cả các lệnh trên từ đặc tả/giả/

Có ai biết làm thế nào để sử dụng nhiệm vụ cào mới này để sao chép di cư từ động cơ ?

+0

Tôi bị kẹt như bạn, tài liệu thực sự thiếu ở đây! –

Trả lời

2

Cuối cùng tôi đã tìm thấy/đã gặp may mắn với vấn đề (tương tự) của tôi. Đối với các lỗi đầu tiên, nó chỉ biến mất, không chắc chắn lý do tại sao. Sau đó, tôi đã tìm ra rằng tôi đã không tạo các di chuyển bằng định dạng tên tệp thông thường, do đó phương thức ActiveRecord::Migrator.migrations đã bỏ qua chúng.

+0

Cảm ơn bạn đã chỉ ra rằng migraitons là một phần của activerecord, tôi không có nó trong dự án của mình để không hoạt động: / – Geoffroy

10

Tôi chạy này thay vì:

rake railties:install:migrations 

Và cuộc di cư của tôi đã được sao chép từ động cơ. Hy vọng điều này sẽ hữu ích.

0

Nếu ứng dụng bạn gắn động cơ chưa có ActiveRecord (tức là bạn đang giới thiệu ActiveRecord cho ứng dụng máy chủ của mình lần đầu tiên bằng cách lắp động cơ), bạn cũng có thể gặp phải lỗi này. Cụ thể, bạn sẽ gặp phải lỗi này nếu bạn không có require "active_record/railtie" trong số application.rb hoặc nếu nhận xét đó bị xóa. Dòng đó là thứ cho phép tác vụ rake railties:install:migrations được xác định here. rake railties:install:migrations, lần lượt, được gọi là nhiệm vụ rake abc_engine:install:migrationshere.

Tl; dr: thử thêm require "active_record/railtie" vào application.rb nếu chưa có ở đó.

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