2010-07-12 4 views
1

저는 Ubuntu Lucid에서 Symfony 1.3.6을 실행 중입니다.symfony propel : 지정한 사용자의 insert-sql?

symfony의 내 db 연결은 보안상의 이유로 (예를 들어 CREATE 나 DROP가 필요없는) 권한이 감소 된 사용자로 이루어집니다.

propel 작업 propel : sql-insert를 루트로 실행할 수 있기 때문에 원하는대로 테이블을 만들거나 삭제할 수 있습니다. 이런 일을하는 두려운 방법은 config/database.yml을 수정하고이 작업을 실행할 때마다 루트 이름과 pwd를 사용하는 것입니다.

더 똑똑한 방법은 사용자를 import-sql 작업에 전달할 수있는 것입니다. 누구든지이 작업을 수행하는 방법을 알고 있습니다.

답변

1

여기에 1.3이 없습니다. 오히려 1.4하지만 lib/vendor/symfony/lib/plugins/sfPropelPlugin/lib/task/sfPropelInsertSqlTask.class.php 내부 살펴 본다 (! 휴) 다음과 같은 매개 변수를 전달할 수 산출 - 아마도 같은 1.3 : 당신은 부하 SQL 원한다면

당신은 또한 --connection 옵션을 사용할 수 있습니다 지정된 연결에 대한 문

그러므로 이것은 당신이 삽입-SQL 작업 (예 : 사용자 이름 루트 암호 없음)에 특정 사용자의 config/databases.yml에 새로운 연결을 만들 수 있다는 것을 의미하는 것이며, 다음 삽입 실행할 때 함께이 연결 이름을 전달 -sql 작업.

테스터되지 않았습니다 ... :

+0

거기서 멋진 동굴 탐험입니다. 어떤 위대한 spelunking :) – morpheous

+0

ㅎ, 내 spelunking을 즐길 :-) – richsage

관련 문제