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
This commit is contained in:
Sam Minnee 2008-12-05 00:56:42 +00:00
parent d2130a44f3
commit 3d302182b6
2 changed files with 4 additions and 2 deletions

View File

@ -221,7 +221,9 @@ abstract class Database extends Object {
} else { } else {
$this->checkAndRepairTable($table); $this->checkAndRepairTable($table);
} }
$this->requireField($table, "ID", "int(11) not null auto_increment");
// Create custom fields // Create custom fields
if($fieldSchema) { if($fieldSchema) {
foreach($fieldSchema as $fieldName => $fieldSpec) { foreach($fieldSchema as $fieldName => $fieldSpec) {

View File

@ -176,11 +176,11 @@ class MySQLDatabase extends Database {
public function createTable($tableName, $fields = null, $indexes = null) { public function createTable($tableName, $fields = null, $indexes = null) {
$fieldSchemas = $indexSchemas = ""; $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($fields) foreach($fields as $k => $v) $fieldSchemas .= "`$k` $v,\n";
if($indexes) foreach($indexes as $k => $v) $fieldSchemas .= $this->getIndexSqlDefinition($k, $v) . ",\n"; if($indexes) foreach($indexes as $k => $v) $fieldSchemas .= $this->getIndexSqlDefinition($k, $v) . ",\n";
$this->query("CREATE TABLE `$tableName` ( $this->query("CREATE TABLE `$tableName` (
ID int(11) not null auto_increment,
$fieldSchemas $fieldSchemas
$indexSchemas $indexSchemas
primary key (ID) primary key (ID)