/**
  * 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);
 }
Beispiel #2
0
 /**
  * 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);
 }