2009-10-23 12 views
1

J'ai une base de données. J'essaie de faire de l'ingénierie inverse en utilisant symfony pour créer schema.yml. Je reçois ce message d'erreur:reverse engineering dans symfony

[propulsera-schéma inverse] Il y avait un XML de construction d'erreur de métadonnées: SQLSTATE [HY000]: Erreur générale: 2030 Cette commande est pas pris en charge dans le protocole de déclaration préparé encore

Je peux générer le fichier schema.xml en utilisant Creole, mais je rencontrerai un autre problème plus tard:

Impossible d'extraire TableMat pour une table non définie: m_country. Assurez-vous d'avoir le code d'enregistrement MapBuilder statique après la définition de la classe de remplacement de votre homologue.

Cela se produit lorsque j'essaie d'ajouter des données de base à la table m_country. Cela arrive pour toutes les tables.

Quelqu'un peut-il donner des pointeurs? Merci d'avance.

+2

Pouvez-vous publier les instructions create pour votre base de données? Avez-vous des procédures stockées? vues? dans votre base de données? Aussi, à quoi ressemble votre schema.xml pour la 2ème erreur? –

Répondre

0

Merci pour vos réponses. J'ai trouvé le problème le jour même où j'ai posté la question ici. Cependant, j'utilise creole pour désosser mon db qui me donne un schema.xml, puis utilisez une commande propel pour le convertir en schema.yml et ensuite le modifier pour une utilisation ultérieure. Je ne sais toujours pas pourquoi l'ingénierie inverse ne peut pas être faite en utilisant propel.

Non, je n'ai aucune procédure/vue dans mon db. J'utilise simplement un concepteur db pour créer des mappages relationnels dans des tables, puis désosser pour créer schema.yml. J'utilise Ubuntu 9.04 et les dernières versions GA stables de symfony, php et mysql.

Questions connexes