1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-15 11:22:40 +01:00
phorge-phorge/src/applications/people/storage/PhabricatorUserSchemaSpec.php
epriestley 098d0d93d6 Generate expected schemata for User/People tables
Summary:
Ref T1191. Some notes here:

  - Drops the old LDAP and OAuth info tables. These were migrated to the ExternalAccount table a very long time ago.
  - Separates surplus/missing keys from other types of surplus/missing things. In the long run, my plan is to have only two notice levels:
    - Error: something we can't fix (missing database, table, or column; overlong key).
    - Warning: something we can fix (surplus anything, missing key, bad column type, bad key columns, bad uniqueness, bad collation or charset).
    - For now, retaining three levels is helpful in generating all the expected scheamta.

Test Plan:
  - Saw ~200 issues resolve, leaving ~1,300.
  - Grepped for removed tables.

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: epriestley

Maniphest Tasks: T1191

Differential Revision: https://secure.phabricator.com/D10580
2014-10-01 07:36:47 -07:00

38 lines
914 B
PHP

<?php
final class PhabricatorUserSchemaSpec extends PhabricatorConfigSchemaSpec {
public function buildSchemata() {
$this->buildLiskSchemata('PhabricatorUserDAO');
$this->buildEdgeSchemata(new PhabricatorUser());
$this->buildTransactionSchema(
new PhabricatorUserTransaction());
$this->buildCustomFieldSchemata(
new PhabricatorUserConfiguredCustomFieldStorage(),
array(
new PhabricatorUserCustomFieldNumericIndex(),
new PhabricatorUserCustomFieldStringIndex(),
));
$this->buildRawSchema(
id(new PhabricatorUser())->getApplicationName(),
PhabricatorUser::NAMETOKEN_TABLE,
array(
'token' => 'text255',
'userID' => 'id',
),
array(
'token' => array(
'columns' => array('token'),
),
'userID' => array(
'columns' => array('userID'),
),
));
}
}