Symfony2: модульное тестирование с помощью sqlite
Я использую phpunit с Symfony2.
Я решил использовать sqlite для своих тестов.
проблема в том, что ограничения внешних ключей игнорируются.
Я знаю, что я должен выполнить следующий запрос, чтобы использовать внешние ключи : PRAGMA foreign_keys = ON
).
мой вопрос : есть ли способ, чтобы всегда использовать внешние ключи при создании схемы базы данных с помощью SQLite ?
спасибо !
1 ответов
к сожалению, это невозможно. Соответственно документация SQLite:
предполагая, что библиотека скомпилирована с включенными ограничениями внешнего ключа, он все равно должен быть включен приложением во время выполнения, используя Команда 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();
}
}