/**
  * (non-PHPdoc)
  * @see DBField::requireField()
  */
 public function requireField()
 {
     $charset = Config::inst()->get('SilverStripe\\ORM\\Connect\\MySQLDatabase', 'charset');
     $collation = Config::inst()->get('SilverStripe\\ORM\\Connect\\MySQLDatabase', 'collation');
     $parts = ['datatype' => 'mediumtext', 'character set' => $charset, 'collate' => $collation, 'default' => $this->defaultVal, 'arrayValue' => $this->arrayValue];
     $values = ['type' => 'text', 'parts' => $parts];
     DB::require_field($this->tableName, $this->name, $values);
 }
 /**
  * (non-PHPdoc)
  * @see DBField::requireField()
  */
 public function requireField()
 {
     $charset = Config::inst()->get('SilverStripe\\ORM\\Connect\\MySQLDatabase', 'charset');
     $collation = Config::inst()->get('SilverStripe\\ORM\\Connect\\MySQLDatabase', 'collation');
     $parts = array('datatype' => 'varchar', 'precision' => $this->size, 'character set' => $charset, 'collate' => $collation, 'arrayValue' => $this->arrayValue);
     $values = array('type' => 'varchar', 'parts' => $parts);
     DB::require_field($this->tableName, $this->name, $values);
 }
 public function requireField()
 {
     // @todo: Remove mysql-centric logic from this
     $charset = Config::inst()->get('SilverStripe\\ORM\\Connect\\MySQLDatabase', 'charset');
     $collation = Config::inst()->get('SilverStripe\\ORM\\Connect\\MySQLDatabase', 'collation');
     $values = array('type' => 'set', 'parts' => array('enums' => $this->enum, 'character set' => $charset, 'collate' => $collation, 'default' => $this->default, 'table' => $this->tableName, 'arrayValue' => $this->arrayValue));
     DB::require_field($this->tableName, $this->name, $values);
 }
 public function requireField()
 {
     // HACK: MSSQL does not support double so we're using float instead
     // @todo This should go into MSSQLDatabase ideally somehow
     if (DB::get_conn() instanceof MySQLDatabase) {
         DB::require_field($this->tableName, $this->name, "double");
     } else {
         DB::require_field($this->tableName, $this->name, "float");
     }
 }
 public function requireField()
 {
     $parts = array('datatype' => 'float', 'null' => 'not null', 'default' => $this->defaultVal, 'arrayValue' => $this->arrayValue);
     $values = array('type' => 'float', 'parts' => $parts);
     DB::require_field($this->tableName, $this->name, $values);
 }
 /**
  * @return void
  */
 public function requireField()
 {
     $parts = array('datatype' => 'enum', 'enums' => $this->getEnumObsolete(), 'character set' => 'utf8', 'collate' => 'utf8_general_ci', 'default' => $this->getDefault(), 'table' => $this->getTable(), 'arrayValue' => $this->arrayValue);
     $values = array('type' => 'enum', 'parts' => $parts);
     DB::require_field($this->getTable(), $this->getName(), $values);
 }
 public function requireField()
 {
     $parts = array('datatype' => 'time', 'arrayValue' => $this->arrayValue);
     $values = array('type' => 'time', 'parts' => $parts);
     DB::require_field($this->tableName, $this->name, $values);
 }
 public function requireField()
 {
     $parts = array('datatype' => 'tinyint', 'precision' => 1, 'sign' => 'unsigned', 'null' => 'not null', 'default' => $this->defaultVal, 'arrayValue' => $this->arrayValue);
     $values = array('type' => 'boolean', 'parts' => $parts);
     DB::require_field($this->tableName, $this->name, $values);
 }
 public function requireField()
 {
     $parts = ['datatype' => 'int', 'precision' => 11, 'null' => 'not null', 'default' => $this->defaultVal, 'arrayValue' => $this->arrayValue];
     $values = ['type' => 'int', 'parts' => $parts];
     DB::require_field($this->tableName, $this->name, $values);
 }
 public function requireField()
 {
     $parts = array('datatype' => 'decimal', 'precision' => "{$this->wholeSize},{$this->decimalSize}", 'default' => $this->defaultValue, 'arrayValue' => $this->arrayValue);
     $values = array('type' => 'decimal', 'parts' => $parts);
     DB::require_field($this->tableName, $this->name, $values);
 }
 public function requireField()
 {
     $spec = DB::get_schema()->IdColumn(false, $this->getAutoIncrement());
     DB::require_field($this->getTable(), $this->getName(), $spec);
 }
 public function requireField()
 {
     foreach ($this->compositeDatabaseFields() as $field => $spec) {
         $key = $this->getName() . $field;
         DB::require_field($this->tableName, $key, $spec);
     }
 }