我正在使用phpunit和Symfony2。
我决定使用sqlite进行测试。
我遇到的问题是外键约束被忽略。
我知道我必须执行以下查询才能使用外键:PRAGMA foreign_keys = ON
)。
我的问题是:有没有办法在使用sqlite创建数据库模式时始终使用外键?
谢谢!
答案 0 :(得分:3)
不幸的是,这是不可能的。相应于SQLite documentation:
假设在编译库时启用了外键约束, 它必须仍然由应用程序在运行时启用,使用 PRAGMA foreign_keys命令。
我建议创建自己的测试用例类,并使用setUp()方法启用外键。
class SQLiteTestCase extends \PHPUnit_Framework_TestCase
{
protected function setUp()
{
parent::setUp();
// Here add your code to enable foreign keys
}
}
class MyTest extends SQLiteTestCase
{
protected function setUp()
{
// Setup your test data-set here
parent::setUp();
}
}