2010-05-14 14 views
1

Je crée mes environnements trac en utilisant une base de données sqlite, cela fonctionne très bien.Problème PK Trac & Sqlite

Maintenant, je veux obtenir des informations directement à partir de la base de données et j'utilise C# pour le faire en utilisant System.Data.SQLite. Le problème que j'ai est une erreur dans le concepteur parce que les tables n'ont pas de clés primaires. Après avoir obtenu cette erreur je suis allé et j'ai remarqué que toutes les tables qui ont plus d'une clé primaire définie dans le schema n'étaient pas 'converties' en sqlite, cette information est perdue.

Je crois que le problème est dans sqlite_backend.py mais python n'est pas ma spécialité et je suis pressé donc si vous pouvez me guider à une solution rapide. Je vous remercie.

UPDATE (Litle plus de détails):

System.Data.SQLite

« Appui au ADO.NET Entity Framework 3.5 Supporte presque toutes les fonctionnalités du cadre de l'entité que Sql Server prend en charge, et passe 99% de les tests dans l'application de démonstration EFQuerySamples de MS . "

Visual Studio 2005/2008 Design-temps Support Vous pouvez ajouter une connexion SQLite à l'Explorateur de serveurs, créer des requêtes avec la requête concepteur, tables glisser-déposer sur un DataSet typé et plus encore!

Lorsque je fais glisser les tables vers le concepteur, certaines tables ne parviennent pas au concepteur. Les reasos est,

« La table/vue « main.attachment » ne pas une clé primaire définie et non Ce tableau/vue clé primaire valide pourrait être déduite. A été exclue. Pour utilisation l'entité, vous devrez revoir votre schéma, ajouter les clés correctes , et le décommenter. "

Le problème est le suivant: aucune entité = aucune donnée.

MISE À JOUR (plus d'info):

Mon objectif est pas un changement datamodel.

En trac schema les tables fixation, auth_cookie, ENUM, node_change, permission, séance, SESSION_ATTRIBUTE, ticket_change, ticket_custom sont définies avec les clés primaires.

Lorsque je parcours le fichier trac.db (par défaut) les tables ne sont pas définies avec les primary_keys spécifiés dans le schéma.

Je veux une solution pour résoudre ce peu caractéristique de trac sqlite db. Je ne pense pas que ce soit la meilleure solution éditer la table après la création pour ajouter des pk qui ne sont pas créés.

MISE À JOUR

Tout ideia ?!

+0

Je pense que vous devez décrire ce que vous faites avec un peu plus de détails ... Je ne comprends pas votre objectif. – retracile

+0

Je ne suis pas familier avec ce "concepteur", mais il semble qu'il ne peut pas supporter les tables sans clés primaires. De quelles "données" avez-vous besoin de la base de données? Pouvez-vous l'obtenir sans ce concepteur? –

+0

Le concepteur est celui du studio visuel qui génère du code pour les objets entité – fampinheiro

Répondre

0

Vous pouvez consulter l'API de base de données Trac. Il est écrit en Python, mais vous pouvez probablement le réécrire en C# assez facilement. À tout le moins, cela vous donnera un point de départ pour trouver votre solution. http://trac.edgewall.org/wiki/TracDev/DatabaseApi