diff --git a/core/model/Database.php b/core/model/Database.php index 9020f7669..7f09152a6 100755 --- a/core/model/Database.php +++ b/core/model/Database.php @@ -221,7 +221,9 @@ abstract class Database extends Object { } else { $this->checkAndRepairTable($table); } - + + $this->requireField($table, "ID", "int(11) not null auto_increment"); + // Create custom fields if($fieldSchema) { foreach($fieldSchema as $fieldName => $fieldSpec) { diff --git a/core/model/MySQLDatabase.php b/core/model/MySQLDatabase.php index 3468d1a0b..2f3e4788c 100644 --- a/core/model/MySQLDatabase.php +++ b/core/model/MySQLDatabase.php @@ -176,11 +176,11 @@ class MySQLDatabase extends Database { public function createTable($tableName, $fields = null, $indexes = null) { $fieldSchemas = $indexSchemas = ""; + if(!isset($fields['ID'])) $fields['ID'] = "int(11) not null auto_increment"; if($fields) foreach($fields as $k => $v) $fieldSchemas .= "`$k` $v,\n"; if($indexes) foreach($indexes as $k => $v) $fieldSchemas .= $this->getIndexSqlDefinition($k, $v) . ",\n"; $this->query("CREATE TABLE `$tableName` ( - ID int(11) not null auto_increment, $fieldSchemas $indexSchemas primary key (ID)