From f5019ac5aac229b9ac118a905703c675688e4ed0 Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Fri, 29 Oct 2010 16:26:45 -0700 Subject: [PATCH] tweaks for the installer whee --- db/core.php | 1 + lib/installer.php | 13 ++++++------- lib/mysqlschema.php | 9 ++++++++- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/db/core.php b/db/core.php index 695a3e3aa0..29aa917c1f 100644 --- a/db/core.php +++ b/db/core.php @@ -230,6 +230,7 @@ $schema['notice_source'] = array( 'name' => array('type' => 'varchar', 'length' => 255, 'not null' => true, 'description' => 'name of the source'), 'url' => array('type' => 'varchar', 'length' => 255, 'not null' => true, 'description' => 'url to link to'), 'notice_id' => array('type' => 'int', 'not null' => true, 'description' => 'date this record was created'), + 'created' => array('type' => 'datetime', 'not null' => true, 'description' => 'date this record was created'), 'modified' => array('type' => 'timestamp', 'not null' => true, 'description' => 'date this record was modified'), ), 'primary key' => array('code'), diff --git a/lib/installer.php b/lib/installer.php index 441f726606..ad1989f4eb 100644 --- a/lib/installer.php +++ b/lib/installer.php @@ -341,6 +341,7 @@ abstract class Installer } $schema->ensureTable($name, $def); } + return true; } /** @@ -441,11 +442,12 @@ abstract class Installer if (!mb_strlen($stmt)) { continue; } - $res = $conn->execute($stmt); - if (DB::isError($res)) { - $error = $result->getMessage(); + try { + $res = $conn->simpleQuery($stmt); + } catch (Exception $e) { + $error = $e->getMessage(); $this->updateStatus("ERROR ($error) for SQL '$stmt'"); - return $res; + return false; } } return true; @@ -458,9 +460,6 @@ abstract class Installer */ function registerInitialUser() { - define('STATUSNET', true); - define('LACONICA', true); // compatibility - require_once INSTALLDIR . '/lib/common.php'; $data = array('nickname' => $this->adminNick, diff --git a/lib/mysqlschema.php b/lib/mysqlschema.php index 153b79ccd9..a2581e6d81 100644 --- a/lib/mysqlschema.php +++ b/lib/mysqlschema.php @@ -387,7 +387,14 @@ class MysqlSchema extends Schema $vals = array_map(array($this, 'quote'), $column['enum']); return 'enum(' . implode(',', $vals) . ')'; } else if ($this->_isString($column)) { - return parent::typeAndSize($column) . ' CHARSET utf8'; + $col = parent::typeAndSize($column); + if (!empty($column['charset'])) { + $col .= ' CHARSET ' . $column['charset']; + } + if (!empty($column['collate'])) { + $col .= ' COLLATE ' . $column['collate']; + } + return $col; } else { return parent::typeAndSize($column); }