mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-03 04:02:43 +01:00
917da08417
Summary: Ref T1191. Notable stuff: - Adds `--disable-utf8mb4` to `bin/storage` to make it easier to test what things will (approximately) do on old MySQL. This isn't 100% perfect but should catch all the major stuff. It basically makes us pretend the server is an old server. - Require utf8mb4 to dump a quickstart. - Fix some issues with quickstart generation, notably special casing the FULLTEXT handling. - Add an `--unsafe` flag to `bin/storage adjust` to let it truncate data to fix schemata. - Fix some old patches which don't work if the default table charset is utf8mb4. Test Plan: - Dumped a quickstart. - Loaded the quickstart with utf8mb4. - Loaded the quickstart with `--disable-utf8mb4` (verified that we get binary columns, etc). - Adjusted schema with `--disable-utf8mb4` (got a long adjustment with binary columns, some truncation stuff with weird edge case test data). - Adjusted schema with `--disable-utf8mb4 --unsafe` (got truncations and clean adjust). - Adjusted schema back without `--disable-utf8mb4` (got a long adjustment with utf8mb4 columns, some invalid data on truncated utf8). - Adjusted schema without `--disable-utf8mb4`, but with `--unsafe` (got truncations on the invalid data). Reviewers: btrahan Reviewed By: btrahan Subscribers: epriestley Maniphest Tasks: T1191 Differential Revision: https://secure.phabricator.com/D10757
26 lines
564 B
PHP
26 lines
564 B
PHP
<?php
|
|
|
|
final class PhabricatorUserSchemaSpec extends PhabricatorConfigSchemaSpec {
|
|
|
|
public function buildSchemata() {
|
|
$this->buildEdgeSchemata(new PhabricatorUser());
|
|
|
|
$this->buildRawSchema(
|
|
id(new PhabricatorUser())->getApplicationName(),
|
|
PhabricatorUser::NAMETOKEN_TABLE,
|
|
array(
|
|
'token' => 'sort255',
|
|
'userID' => 'id',
|
|
),
|
|
array(
|
|
'token' => array(
|
|
'columns' => array('token(128)'),
|
|
),
|
|
'userID' => array(
|
|
'columns' => array('userID'),
|
|
),
|
|
));
|
|
|
|
}
|
|
|
|
}
|