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

Asa*_*ers 5 doctrine-orm

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

Ocr*_*ius 5

您可以使用DBAL"import"命令并执行sql.这比直接使用mysql命令要差,因为它将整个文件加载到内存中.

否则,我建议您使用自己的Symfony控制台命令.


Der*_*ron 5

使用使用Doctrine的Symfony,您可以使用以下方法:

php app/dev_console doctrine:database:import import.sql
Run Code Online (Sandbox Code Playgroud)

  • 根据 https://github.com/doctrine/dbal/pull/3241,这已从 Doctrine 中删除 (3认同)