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