2010-07-12 7 views
1

Je cours Symfony 1.3.6 sur Ubuntu Lucid.Symfony propel: insert-sql avec l'utilisateur spécifié?

Mes connexions db pour Symfony sont faites avec un utilisateur avec privilèges réduits (pas besoin de CREATE ou DROP par exemple) - pour des raisons de sécurité. Je veux être en mesure d'exécuter la tâche Propel propel: sql-insert en tant que root, afin que je puisse créer/supprimer des tables à volonté. La façon la plus crue de le faire serait de modifier config/database.yml et d'utiliser un nom racine et pwd chaque fois que je dois exécuter cette tâche.

Une façon plus intelligente serait de pouvoir passer un utilisateur à la tâche import-sql. Est-ce que quelqu'un sait comment faire cela?

Répondre

1

Je n'ai pas 1.3 ici; plutôt 1.4, mais jeter un oeil à l'intérieur lib/vendor/symfony/lib/plugins/sfPropelPlugin/lib/task/sfPropelInsertSqlTask.class.php (! ouf) donne le paramètre suivant, vous pouvez passer - sans doute la même chose pour 1.3:

Vous pouvez également utiliser l'option --connection si vous voulez charger uniquement SQL instructions pour une connexion donnée.

Par conséquent, cela impliquerait que vous pouvez créer une nouvelle connexion dans votre config/databases.yml qui est spécifique à la tâche insertion sql (par exemple nom d'utilisateur root, sans mot de passe), et passer ensuite ce nom de connexion le long lorsque vous exécutez l'insert tâche -sql.

Non testé ... :-)

+0

C'est une belle spéléologie, Rich. Quelques spéléos puissants :) – morpheous

+0

Heh, j'aime bien ma spéléologie :-) – richsage

Questions connexes