Я получаю сообщение об ошибке при запуске db:setup
для моего проекта Hobo с чистой базой данных. У меня есть две модели, A и B, где B расширяет A посредством наследования одной таблицы. Создание все работает. Но если я начну с новой базы данных, rake завершится с ошибкой:
$ rake db:setup
...
rake aborted!
Table as does not exist
Вот шаги, которые я прошел, чтобы воспроизвести это. Сначала создайте приложение Hobo:
$ hobo testproject
Создать первую модель, A
:
$ ruby script/generate hobo_model_resource a name:string type:string
Настройте database.yml, сгенерируйте и выполните миграцию:
$ ruby script/generate hobo_migration
Создать вторую модель, B
:
$ruby script/generate hobo_model_resource b
Измените модель B
на расширение A
:
class B < A
# --- Permissions --- #
def create_permitted?
acting_user.administrator?
end
def update_permitted?
acting_user.administrator?
end
def destroy_permitted?
acting_user.administrator?
end
def view_permitted?(field)
true
end
end
Создайте и запустите миграцию:
$ ruby script/generate hobo_migration
Вуаля. Все работает отлично. Теперь, если я удаляю все таблицы и запускаю db:setup
, происходит сбой:
$ rake db:setup
...
rake aborted!
Table as does not exist
Следуя рекомендациям на Проблема наследования отдельных таблиц Ruby on Rails (STI) и модульного тестирования (с PostgreSQL) , я попытался удалить test/fixtures/as.yml
и test/fixtures/bs.yml
, но это не помогло.
hobo 0.9.103
рельсы 2.3.5
грабли 0.8.7
jruby 1.4.0RC1
Есть предложения?