/** * Console application's method for installing migrations' table * @throws Exception * @return void */ public static function install() { if (static::installed()) { throw new Exception('migrations table is already installed'); } QueryBuilder::createTable(static::$tableName, array('id' => 'INT NOT NULL AUTO_INCREMENT PRIMARY KEY', 'name' => 'VARCHAR(100)', 'timestamp' => 'INT', 'className' => 'VARCHAR(100)', 'active' => 'TINYINT NOT NULL DEFAULT 0'))->exec(); $fh = fopen(static::$dumpFileName, 'r'); while ($row = fgetcsv($fh)) { QueryBuilder::insert(static::$tableName, array('id' => $row[0], 'name' => $row[1], 'timestamp' => $row[2], 'className' => $row[3]))->exec(); } fclose($fh); }
/** * Creates and returns Table object * @param string $tableName * @param array $fields * @return Table */ public static function create($tableName, $fields) { QueryBuilder::createTable($tableName, $fields)->exec(); return new static($tableName); }