Question

Je sais que STI est la chose la plus vilipendé mais j'ai un cas où je pense qu'il pourrait en fait sens. Mon application est l'analyse d'un tas de différents types de fichiers XML. Chaque modèle de fichier stocke exactement les mêmes informations. Juste quelques informations sur ce que l'utilisateur auquel il est associé, quand il a été chargé, et où il est stocké sur S3.

Une fois le fichier xml est stocké alors je l'analyse syntaxique des informations que j'utiliser pour créer d'autres modèles. Chaque type de fichier va créer des choses différentes. Il est possible qu'il pourrait y avoir plus de 100 différents types de fichiers xml bien que je ne pense pas que je vais écrire pour parseurs que beaucoup. Est-ce que STI ont un sens dans ce cas?

L'hypothèse de baisse I est modèles sont tous dans un répertoire de sorte qu'il va inonder ce répertoire à moins pirater Rails et le coller dans un sous-répertoire dans les modèles dir.

L'autre option est que j'ai un champ genre et mettre quelque chose dans le répertoire lib poignées tout cela. Ou j'utilise resque, peut-être chaque analyseur de fichier xml devrait être son propre travail. Il y a des inconvénients à ce que comme étant un peu bizarre de forcer un emploi dans les rails console.

Était-ce utile?

La solution

A partir de votre explication, le modèle de fichier 'stocke uniquement les résultats du processus de transfert de fichiers et les données de métadonnées associées. Sans plus d'informations sur les autres types de modèles étant généré à partir des données XML analysées, je ne vois pas pourquoi l'héritage de table unique applique à ce cas d'utilisation.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top