static function reset()
{
self::$pdo->beginTransaction();
// sequences
if (self::driver() === 'sqlite') {
self::query("DELETE FROM sqlite_sequence WHERE name='user'");
self::query("DELETE FROM sqlite_sequence WHERE name='post'");
self::query("DELETE FROM sqlite_sequence WHERE name='category'");
self::query("DELETE FROM sqlite_sequence WHERE name='dummy'");
}
if (self::driver() === 'mysql') {
self::query("ALTER TABLE user AUTO_INCREMENT = 1");
self::query("ALTER TABLE post AUTO_INCREMENT = 1");
self::query("ALTER TABLE category AUTO_INCREMENT = 1");
self::query("ALTER TABLE dummy AUTO_INCREMENT = 1");
}
if (self::driver() === 'pgsql') {
self::query("SELECT setval('user_id_seq', 3)");
self::query("SELECT setval('post_id_seq', 13)");
self::query("SELECT setval('category_id_seq', 23)");
self::query("SELECT setval('dummy_id_seq', 1, false)");
}
// data
// users
self::query("DELETE FROM " . self::quoteIdentifier("user") . "");
self::query("INSERT INTO " . self::quoteIdentifier("user") . " (id, name) VALUES (1, 'Writer')");
self::query("INSERT INTO " . self::quoteIdentifier("user") . " (id, name) VALUES (2, 'Editor')");
self::query("INSERT INTO " . self::quoteIdentifier("user") . " (id, name) VALUES (3, 'Chief Editor')");
// posts
self::query("DELETE FROM post");
self::query("INSERT INTO post (id, title, date_published, author_id, editor_id) VALUES (11, 'Championship won', '2014-09-18', 1, NULL)");
self::query("INSERT INTO post (id, title, date_published, author_id, editor_id) VALUES (12, 'Foo released', '2014-09-15', 1, 2)");
self::query("INSERT INTO post (id, title, date_published, author_id, editor_id) VALUES (13, 'Bar released', '2014-09-21', 2, 3)");
// categories
self::query("DELETE FROM category");
self::query("INSERT INTO category (id, title) VALUES (21, 'Tech')");
self::query("INSERT INTO category (id, title) VALUES (22, 'Sports')");
self::query("INSERT INTO category (id, title) VALUES (23, 'Basketball')");
// categorization
self::query("DELETE FROM categorization");
self::query("INSERT INTO categorization (category_id, post_id) VALUES (22, 11)");
self::query("INSERT INTO categorization (category_id, post_id) VALUES (23, 11)");
self::query("INSERT INTO categorization (category_id, post_id) VALUES (21, 12)");
self::query("INSERT INTO categorization (category_id, post_id) VALUES (21, 13)");
// dummy
self::query("DELETE FROM dummy");
// #20
self::query("INSERT INTO TABLES (TABLE_NAME,TABLE_SCHEMA) VALUES ('testname', 'test')");
self::$pdo->commit();
}