2010-10-01 9 views
2

Récemment nous avons ajouté une table "audit_logs" à la base de données, et après quelques frustrations je me suis rendu compte qu'il y avait déjà une table "auditlog" dans la base de données pour une raison quelconque. Il n'était pas utilisé alors je l'ai laissé tomber. J'ai supprimé les fichiers Auditlog.pm et AuditLogs.pm de mon schéma, puis régénéré. Pour une raison quelconque, DCSL a de nouveau créé AuditLogs.pm pour la table "audit_logs", même s'il n'y avait plus de table "auditlog" ou de fichier Auditlog.pm qui entrerait en conflit avec elle.Est-ce que DBIx :: Class :: Schema :: Loader cache sa carte moniker?

J'ai essayé à peu près tout ce que je peux penser à l'obtenir pour générer Log.pm sans succès. La seule chose que je peux comprendre est qu'il cache quelque part la carte de moniker, et je n'arrive pas à la réinitialiser.

Répondre

1

J'ai finalement dépisté ce problème jusqu'à un problème avec l'inflecteur Lingua. Il ramassait "logs" comme un verbe singulier au lieu d'un nom pluriel. Cela est arrivé parce qu'il a suivi le mot "audit" qui se termine par "it". Fondamentalement, j'ai dû écrire une fonction personnalisée moniker_map qui a ajouté une exception pour audit_logs.