Доктрина Symfony 1.4 - префикс таблицы глобальной базы данных __% s - PullRequest
0 голосов
/ 08 сентября 2010

Мне нужно установить префиксы таблиц, специфичные для среды , поэтому я нашел не идеальное решение для вставки этого в ProjectConfiguration :: configureDoctrine (Doctrine_Manager $ manager): (config / ProjectConfiguration.class.php)

if (sfConfig::get('app_database_table_prefix')) {
    $manager->setAttribute(Doctrine_Core::ATTR_TBLNAME_FORMAT,
    sfConfig::get('app_database_table_prefix'));
}

... и тогда я могу установить уникальные префиксы env в app.yml:

prod:
  database_table_prefix: prefix__%s

НО .. это круто для всех приложений, кроме плагинов.Плагины игнорируют config / ProjectConfiguration.class.php.

Вы не знаете об alglobal solution БЕЗ изменения чего-либо в каталоге плагинов (мне нужно что-то, что повлияет на все возможные будущие плагины приложений)

1 Ответ

2 голосов
/ 29 сентября 2010

Похоже, вы используете Doctrine, поэтому вы можете установить префикс в своем файле databases.yml.Инструкции находятся внизу этой страницы, но похоже, что вы можете установить формат имени таблицы, добавив tblname_format к атрибутам в database.yml, например:

all:
  doctrine:
    param:
      attributes:
        tblname_format: YOURPREFIX_%s
...