ActiveRecord::SubclassNotFound
Je suis en train de mettre à jour mon redmine de 1.3.0 2.0.0, mais j'ai des problèmes avec la migration de base de données. Lorsque je lance la commande:
rake db:migrate RAILS_ENV=production
il affiche une erreur comme
rake aborted!
uninitialized constant RAILS_ENV
Mon journal d'erreur est:
ActiveRecord::SubclassNotFound (The single-table inheritance mechanism failed to locate the subclass: 'GoogleAppsAuthSource'. This error is raised because the column 'type' is reserved for storing the class in case of inheritance. Please rename this column if you didn't intend it to be used for storing the inheritance class or overwrite AuthSource.inheritance_column to use another column for that information.):
app/models/user.rb:139:in `try_to_login'
app/controllers/account_controller.rb:143:in `password_authentication'
app/controllers/account_controller.rb:138:in `authenticate_user'
app/controllers/account_controller.rb:30:in `login'
Voici la liste des plugins que j'utilise dans mon ancien redmine:
-
Google Apps plugin
-
Redmine la Révision du Code du plugin
-
Redmine Hudson plugin
S'il vous plaît aider moi
Vous devez vous connecter pour publier un commentaire.
Si quelqu'un trébuche ici, il ya deux façons de résoudre le problème
Définir manuellement le nom de la colonne à quelque chose d'inutile:
Voir: http://apidock.com/rails/ActiveRecord/Base/inheritance_column/class
table_type
au lieu de faire des hacks avecinheritance_column
j'ai essayé cela avec de néant et d'un symbole et de l'application se brisa sur le modèle hérité dans différents domaines.nil
) dans les migrations pour moi - mais je l'ai utilisé par la définition d'une classe factice dans la migration, que j'avais déjà fait. Je peux voir où le rendre nul dans votre modèle réel peut causer des problèmes, mais il semblait être très bien sur un mannequin de classe dans une migration.La table unique de l'héritage d'erreur est probablement causée par une colonne nommée
type
dans votre base de données.Si les rails rencontre un nom de colonne appelée
type
il suppose que c'est un Modèle qui a les sous-classes de sorte que le type discrimine ce modèle à utiliser. Je suppose que certains plugin qui n'a pas été construit à l'origine pour les rails utilise untype
colonne dans son modèle et qui provoque des Rails à l'échec.