public function testAddingForeignKeys()
{
R::nuke();
$sql = 'CREATE TABLE book ( id INTEGER PRIMARY KEY AUTOINCREMENT ) ';
R::exec($sql);
$sql = 'CREATE TABLE page ( id INTEGER PRIMARY KEY AUTOINCREMENT, book_id INTEGER ) ';
R::exec($sql);
asrt(count(R::getAll(' PRAGMA foreign_key_list("page") ')), 0);
$writer = R::getWriter();
$writer->addFK('page', 'book', 'book_id', 'id', TRUE);
asrt(count(R::getAll(' PRAGMA foreign_key_list("page") ')), 1);
$writer->addFK('page', 'book', 'book_id', 'id', TRUE);
asrt(count(R::getAll(' PRAGMA foreign_key_list("page") ')), 1);
$writer->addFK('page', 'book', 'book_id', 'id', FALSE);
asrt(count(R::getAll(' PRAGMA foreign_key_list("page") ')), 1);
R::nuke();
$sql = 'CREATE TABLE book ( id INTEGER PRIMARY KEY AUTOINCREMENT ) ';
R::exec($sql);
$sql = 'CREATE TABLE page ( id INTEGER PRIMARY KEY AUTOINCREMENT, book_id INTEGER ) ';
R::exec($sql);
asrt(count(R::getAll(' PRAGMA foreign_key_list("page") ')), 0);
$writer = R::getWriter();
$writer->addFK('page', 'book', 'book_id', 'id', FALSE);
asrt(count(R::getAll(' PRAGMA foreign_key_list("page") ')), 1);
$writer->addFK('page', 'book', 'book_id', 'id', TRUE);
asrt(count(R::getAll(' PRAGMA foreign_key_list("page") ')), 1);
$writer->addFK('page', 'book', 'book_id', 'id', FALSE);
asrt(count(R::getAll(' PRAGMA foreign_key_list("page") ')), 1);
}