在 Postgres DB 上从 PHP (Kohana) 运行批处理 SQL 脚本的首选方法是什么
我正在为 Kohana 3.2 项目设置 Postgres 数据库测试。我想创建一个临时模式,从文件中运行几个 sql 脚本来建立该模式,然后进行测试,然后将临时模式删除到tearDown 中。
我尝试使用 file_get_contents($sqlfilename) 获取脚本的内容,然后使用 Kohana 的 DB:query() 但这是 hack,无论如何都无法正常工作。
pg_execute 将不起作用,因为文件是批处理脚本
我应该使用 exec() 运行 psql 命令吗?
从 PHP 在 Postgres DB 上运行批处理脚本的最佳/首选方式是什么?
谢谢!!!
I'm setting up Postgres database testing for a Kohana 3.2 project. I would like to create a temporary schema, run several sql scripts from file to establish the schema, and then do my testing and then drop the temporary schema in tearDown.
I've tried getting the contents of the scripts using file_get_contents($sqlfilename) and then using Kohana's DB:query() but that is hack and didn't work properly anyway.
pg_execute will not work because the files are batch scripts
Should I run psql commands with exec()?
What is the best/preferred way of running batch scripts on a Postgres DB from PHP?
Thanks!!!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
pg_query
可以运行多个语句:因此,运行批处理脚本的一种巧妙方法是:
我能想到的唯一正确的替代方案是将 psql 作为外部程序运行:
我还没有测试过其中任何一个。祝你好运。
pg_query
can run multiple statements:Thus, a hacky way to run a batch script would be:
The only correct alternative I can think of would be to run
psql
as an external program:I haven't tested either of these. Good luck.