From 3d302182b6c5d6d61369bf8007d86af337ab409b Mon Sep 17 00:00:00 2001 From: Sam Minnee Date: Fri, 5 Dec 2008 00:56:42 +0000 Subject: [PATCH] Merged db/build fix for auto_increment git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/branches/2.2@67482 467b73ca-7a2a-4603-9d3b-597d59a354a9 --- core/model/Database.php | 4 +++- core/model/MySQLDatabase.php | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) 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)