Установка миграций с движка не будет работать - PullRequest
7 голосов
/ 05 января 2012

Я создал новый движок в Rails 3.1.3, и, очевидно, есть та самая задача rake, которая копирует все миграции.Я попробовал следующий rake abc:install:migrations, который бросил:

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

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

Я также попытался rake abc_engine:install:migrations с тем же результатом.

Тогда я прочитал bundle exec rake railties:install:migrations или bundle exec rake railties:install:migrations FROM=abc_engine тоже должен сделать трюкно безуспешноНичего не было скопировано, даже если не было выдано никакой ошибки.

Мои миграции находятся в папке db / migrate / в папке engine, и я выполнил все команды из spec / dummy /

Кто-нибудь знает, какиспользовать эту новую задачу rake для копирования миграций с движка?

Ответы [ 3 ]

10 голосов
/ 18 июля 2013

Я запустил это вместо:

rake railties:install:migrations

И мои миграции были скопированы с двигателя. Надеюсь, это поможет.

2 голосов
/ 20 марта 2012

Я наконец-то нашел / повезло с моей (похожей) проблемой.Из-за первой ошибки она просто исчезла, не знаю почему.Затем я понял, что не создал миграции, используя обычный формат имени файла, поэтому метод ActiveRecord::Migrator.migrations игнорировал их.

1 голос
/ 14 ноября 2017

Если приложение, в которое вы монтируете движок, еще не имеет ActiveRecord (т. Е. Вы впервые вводите ActiveRecord в ваше хост-приложение путем монтирования движка), вы также можете получить эту ошибку.В частности, вы получите эту ошибку, если у вас нет require "active_record/railtie" в вашем application.rb или если она закомментирована.Именно эта строка включает задачу rake railties:install:migrations, которая определена здесь .rake railties:install:migrations, в свою очередь, вызывается задачей rake abc_engine:install:migrations здесь .

Tl; dr: попробуйте добавить require "active_record/railtie" в application.rb, если его там еще нет.

...