如何使用doctrine连接导入SQL文件?

时间:2012-09-07 18:44:35

标签: doctrine-orm

我有一个需要导入.sql文件的应用。我可以使用mysql -u my_user -pMyPassword db_name < import.sql从命令行导入文件,但我想将其移到我的应用程序中。我有一些事情需要在导入之前完成,其他之后需要完成。现在我必须把它分成3个步骤。最接近我发现的解决方案是获取连接(Doctrine\DBAL\Connection)并使用exec()但是即使我的源文件正确,它也会引发语法错误。我猜它正试图逃避事情并双重逃避SQL。该文件是使用mysqldump生成的。

3 个答案:

答案 0 :(得分:5)

您可以使用the DBAL "import" command并执行sql。这比直接使用mysql命令要差,因为它loads the entire file into memory

否则,我建议您使用自己的Symfony Console Command

答案 1 :(得分:4)

使用Sytrfony使用Doctrine,您可以使用:

php app/dev_console doctrine:database:import import.sql

答案 2 :(得分:-1)

在我的情况下是:

php bin/console doctrine:database:import my_sql_file.sql