2010-07-12 4 views
1

Я бегу Symfony 1.3.6 на Ubuntu Lucid.Symfony propel: insert-sql с указанным пользователем?

Мои связи для Symfony выполняются с пользователем с ограниченными привилегиями (нет необходимости в CREATE или DROP, например) - по соображениям безопасности.

Я хочу иметь возможность запускать задание перемещения: sql-insert как root, чтобы я мог создавать/удалять таблицы по желанию. Мертвым способом сделать это было бы изменение config/database.yml и использование корневого имени и pwd всякий раз, когда мне нужно было выполнить эту задачу.

Более разумным способом было бы, если бы я мог передать пользователя в задачу import-sql. Кто-нибудь знает, как это сделать?

ответ

1

У меня здесь нет 1.3; а 1,4, но взглянуть изнутри lib/vendor/symfony/lib/plugins/sfPropelPlugin/lib/task/sfPropelInsertSqlTask.class.php (! уф) дает следующий параметр можно передать - предположительно то же самое для 1.3:

Вы также можете использовать --connection вариант, если вы хотите только SQL нагрузки операторов для данного соединения.

Поэтому это будет означать, что вы можете создать новое соединение в вашем config/databases.yml, который специфичен для вставки-SQL задачи (например, корневого имя пользователя, без пароля), а затем передать это имя соединения вместе при выполнении вставки -sql.

Непрошеный ... :-)

+0

Это отличное средство, богатое. Какой-то могучий штраф spelunking :) – morpheous

+0

Хе-хе, мне нравится мой spelunking :-) – richsage

Смежные вопросы