Beispiel #1
0
 /**
  * Fonction de creation d'une nouvelle table dans la base de donnée.
  *
  * @param string $table
  * @param callable $cb
  * @param bool $displaySql
  */
 public static function create($table, callable $cb, $displaySql = false)
 {
     static::$table = $table;
     $fields = new Fields($table);
     call_user_func_array($cb, [$fields]);
     $sql = (new StatementMaker($fields))->toCreateTableStatement();
     if ($sql == null) {
         die("Please check your 'up' method.\n");
     }
     if ($displaySql) {
         echo $sql . "\n";
     }
     static::$data = $fields->getBindData();
     if (Database::statement($sql)) {
         echo "{$table} table created.\n";
     }
 }
Beispiel #2
0
 /**
  * Ajout les indexes et la clé primaire.
  *
  * @param \StdClass $info
  * @param string    $field
  */
 private function addIndexOrPrimaryKey($info, $field)
 {
     if ($info["primary"]) {
         $this->sql .= " PRIMARY KEY";
         $info["primary"] = false;
     } else {
         if ($info["unique"]) {
             $this->sql .= " UNIQUE";
             $info["unique"] = false;
         } else {
             if (isset($info["indexes"])) {
                 $this->sql .= ", INDEXE `" . $this->columns->getTableName() . "_indexe_" . $field . "` (`" . $field . "`)";
                 $info["indexes"] = false;
             }
         }
     }
 }