tweaks for the installer whee

This commit is contained in:
Brion Vibber 2010-10-29 16:26:45 -07:00
parent 283d56bed3
commit f5019ac5aa
3 changed files with 15 additions and 8 deletions

View File

@ -230,6 +230,7 @@ $schema['notice_source'] = array(
'name' => array('type' => 'varchar', 'length' => 255, 'not null' => true, 'description' => 'name of the source'), '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'), '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'), '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'), 'modified' => array('type' => 'timestamp', 'not null' => true, 'description' => 'date this record was modified'),
), ),
'primary key' => array('code'), 'primary key' => array('code'),

View File

@ -341,6 +341,7 @@ abstract class Installer
} }
$schema->ensureTable($name, $def); $schema->ensureTable($name, $def);
} }
return true;
} }
/** /**
@ -441,11 +442,12 @@ abstract class Installer
if (!mb_strlen($stmt)) { if (!mb_strlen($stmt)) {
continue; continue;
} }
$res = $conn->execute($stmt); try {
if (DB::isError($res)) { $res = $conn->simpleQuery($stmt);
$error = $result->getMessage(); } catch (Exception $e) {
$error = $e->getMessage();
$this->updateStatus("ERROR ($error) for SQL '$stmt'"); $this->updateStatus("ERROR ($error) for SQL '$stmt'");
return $res; return false;
} }
} }
return true; return true;
@ -458,9 +460,6 @@ abstract class Installer
*/ */
function registerInitialUser() function registerInitialUser()
{ {
define('STATUSNET', true);
define('LACONICA', true); // compatibility
require_once INSTALLDIR . '/lib/common.php'; require_once INSTALLDIR . '/lib/common.php';
$data = array('nickname' => $this->adminNick, $data = array('nickname' => $this->adminNick,

View File

@ -387,7 +387,14 @@ class MysqlSchema extends Schema
$vals = array_map(array($this, 'quote'), $column['enum']); $vals = array_map(array($this, 'quote'), $column['enum']);
return 'enum(' . implode(',', $vals) . ')'; return 'enum(' . implode(',', $vals) . ')';
} else if ($this->_isString($column)) { } 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 { } else {
return parent::typeAndSize($column); return parent::typeAndSize($column);
} }