Пропустить неправильный префикс таблицы с внешней схемой - PullRequest
0 голосов
/ 23 января 2012

Я использую propel orm в качестве уровня абстракции базы данных.Я хочу определить различные файлы schema.xml для различных модулей.Например, user.xml.schema для обработки пользователей и ролей или app.schema.xml для модели приложения.

Моя проблема заключается в том, что я хочу сослаться на пользовательскую таблицу user.schema.xml.Я могу справиться с этим по тегу, но я хочу использовать другой префикс таблиц для таблиц пользовательских схем.При запуске propel-gen создаются два файла sql (один для user.schema и один для app.schema), но проблема в том, что таблицы пользовательских схем создаются дважды.Сначала с правильным префиксом таблицы файла пользовательской схемы, а с другим - с префиксом файла схемы приложения.Внешний ключ также ссылается на неправильные таблицы (из таблицы с префиксом app.schema.xml).

Я не знаю способов предотвратить такое поведение.Есть намеки?

1 Ответ

1 голос
/ 25 января 2012

Нельзя добавлять разные префиксы таблиц в одну базу данных, и нет способа добавить атрибут tablePrefix в тег table.Позвольте мне объяснить немного больше, я знаю, что вы можете указать tablePrefix для XML-схемы даже для одной и той же базы данных, но это приводит к ошибкам, если вы пытаетесь добавить отношения. Я не знаю, является ли это ошибкой или нет, AFAIK, tablePrefix должен быть определен на уровне table ... Безотносительно, вы получите чистый файл SQL (или два, если не установите для свойства propel.packageObjectModel build значение true.

Вы можете прочитать: http://www.propelorm.org/reference/schema.html. Так что я думаю, что невозможно сделать то, что вы хотели бы сделать, к сожалению. Кстати, то, что вы хотите достичь, называется многокомпонентная модель данных вPropel doc.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...