implement unique

This commit is contained in:
Dennis Eichhorn 2020-02-08 16:48:07 +01:00
parent 0e0264ad35
commit 86b0d62a54
3 changed files with 6 additions and 5 deletions

View File

@ -571,9 +571,8 @@ class DataMapperAbstract implements DataMapperInterface
try { try {
self::$db->con->prepare($query->toSql())->execute(); self::$db->con->prepare($query->toSql())->execute();
} catch (\Throwable $t) { } catch (\Throwable $t) {
// only for debugging var_dump($t->getMessage());
//var_dump($t->getMessage()); var_dump($query->toSql());
//var_dump($query->toSql());
return -1; return -1;
} }

View File

@ -135,7 +135,7 @@ class Builder extends QueryBuilder
foreach ($definition['fields'] as $name => $def) { foreach ($definition['fields'] as $name => $def) {
$builder->field( $builder->field(
$name, $def['type'], $def['default'] ?? null, $name, $def['type'], $def['default'] ?? null,
$def['null'] ?? true, $def['primary'] ?? false, $def['autoincrement'] ?? false, $def['null'] ?? true, $def['primary'] ?? false, $def['unique'] ?? false, $def['autoincrement'] ?? false,
$def['foreignTable'] ?? null, $def['foreignKey'] ?? null $def['foreignTable'] ?? null, $def['foreignKey'] ?? null
); );
} }
@ -233,6 +233,7 @@ class Builder extends QueryBuilder
* @param mixed $default Default value * @param mixed $default Default value
* @param bool $isNullable Can be null * @param bool $isNullable Can be null
* @param bool $isPrimary Is a primary field * @param bool $isPrimary Is a primary field
* @param bool $isUnique Is a unique field
* @param bool $autoincrement Autoincrements * @param bool $autoincrement Autoincrements
* @param string $foreignTable Foreign table (in case of foreign key) * @param string $foreignTable Foreign table (in case of foreign key)
* @param string $foreignKey Foreign key * @param string $foreignKey Foreign key
@ -243,7 +244,7 @@ class Builder extends QueryBuilder
*/ */
public function field( public function field(
string $name, string $type, $default = null, string $name, string $type, $default = null,
bool $isNullable = true, bool $isPrimary = false, bool $autoincrement = false, bool $isNullable = true, bool $isPrimary = false, $isUnique = false, bool $autoincrement = false,
string $foreignTable = null, string $foreignKey = null string $foreignTable = null, string $foreignKey = null
) : self { ) : self {
$this->createFields[$name] = [ $this->createFields[$name] = [
@ -252,6 +253,7 @@ class Builder extends QueryBuilder
'default' => $default, 'default' => $default,
'null' => $isNullable, 'null' => $isNullable,
'primary' => $isPrimary, 'primary' => $isPrimary,
'unique' => $isUnique,
'autoincrement' => $autoincrement, 'autoincrement' => $autoincrement,
'foreignTable' => $foreignTable, 'foreignTable' => $foreignTable,
'foreignKey' => $foreignKey, 'foreignKey' => $foreignKey,