Je reçois une erreur lors de l'exécution db:setup
pour mon projet Hobo avec une base de données propre. J'ai deux modèles, A et B, où B étend A à travers l'héritage de table unique. Créer tout fonctionne. Mais si je commence avec une nouvelle base de données, râteau échoue avec une erreur:Rails et Hobo avec le problème de l'héritage de table simple
$ rake db:setup
...
rake aborted!
Table as does not exist
Voici les étapes je suis passé par de reproduire cela. Tout d'abord, créer l'application Hobo:
$ hobo testproject
Créer le premier modèle, A
:
$ ruby script/generate hobo_model_resource a name:string type:string
Configuration database.yml, générer et exécuter la migration:
$ ruby script/generate hobo_migration
Créer le second modèle , B
:
$ruby script/generate hobo_model_resource b
Modifier le modèle B
pour étendre 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
Générez et exécuter la migration:
$ ruby script/generate hobo_migration
Voila. Tout fonctionne bien. Maintenant, si je supprime toutes les tables et exécuter db:setup
, il échoue:
$ rake db:setup
...
rake aborted!
Table as does not exist
Suite aux suggestions à Ruby on Rails Single Table Inheritance (STI) and unit test problem (with PostgreSQL), j'ai essayé de supprimer test/fixtures/as.yml
et test/fixtures/bs.yml
, mais cela n'a pas aidé.
clochard 0.9.103
rails 2.3.5
râteau 0.8.7
JRuby 1.4.0RC1
Toutes les suggestions?
Notez que cela a été corrigé le 24/01/2010 et est dans la dernière version candidate. – organicveggie