BaseTest::schema PHP Méthode

schema() static public méthode

static public schema ( )
    static function schema()
    {
        self::$pdo->beginTransaction();
        //
        if (self::driver() === 'sqlite') {
            $p = "INTEGER PRIMARY KEY AUTOINCREMENT";
        }
        if (self::driver() === 'mysql') {
            $p = "INTEGER PRIMARY KEY AUTO_INCREMENT";
        }
        if (self::driver() === 'pgsql') {
            self::$db->setIdentifierDelimiter('"');
            $p = "SERIAL PRIMARY KEY";
        }
        self::query("DROP TABLE IF EXISTS " . self::quoteIdentifier("user"));
        self::query("CREATE TABLE " . self::quoteIdentifier("user") . " (\n\t\t\tid {$p},\n\t\t\tname varchar(30) NOT NULL\n\t\t)");
        self::query("DROP TABLE IF EXISTS post");
        self::query("CREATE TABLE post (\n\t\t\tid {$p},\n\t\t\tauthor_id INTEGER DEFAULT NULL,\n\t\t\teditor_id INTEGER DEFAULT NULL,\n\t\t\tis_published INTEGER DEFAULT 0,\n\t\t\tdate_published VARCHAR(30) DEFAULT NULL,\n\t\t\ttitle VARCHAR(30) NOT NULL\n\t\t)");
        self::query("DROP TABLE IF EXISTS category");
        self::query("CREATE TABLE category (\n\t\t\tid {$p},\n\t\t\ttitle varchar(30) NOT NULL\n\t\t)");
        self::query("DROP TABLE IF EXISTS categorization");
        self::query("CREATE TABLE categorization (\n\t\t\tcategory_id INTEGER NOT NULL,\n\t\t\tpost_id INTEGER NOT NULL\n\t\t)");
        self::query("DROP TABLE IF EXISTS dummy");
        self::query("CREATE TABLE dummy (\n\t\t\tid {$p},\n\t\t\ttest INTEGER\n\t\t)");
        // #20
        self::query("DROP TABLE IF EXISTS " . self::quoteIdentifier("TABLES"));
        self::query("CREATE TABLE " . self::quoteIdentifier("TABLES") . " (\n\t\t\tTABLE_NAME varchar(30) NOT NULL,\n\t\t\tTABLE_SCHEMA varchar(30) NOT NULL\n\t\t)");
        self::$pdo->commit();
    }