mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-10 00:42:41 +01:00
84b5ad09e6
Summary: Depends on D21018. Ref T13493. Ref T6703. The "ExternalAccount" table has a unique key on `<accountType, accountDomain, accountID>` but this no longer matches our model of reality and changes in this sequence end writes to `accountID`. Remove this key. Then, remove all readers of `accountType` and `accountDomain` (and all nontrivial writers) because none of these callsites are well-aligned with plans in T6703. This change has no user-facing impact today: all the rules about linking/unlinking/etc remain unchanged, because other rules currently prevent creation of more than one provider with a given "accountType". Test Plan: - Linked an OAuth1 account (JIRA). - Linked an OAuth2 account (Asana). - Used `bin/auth refresh` to cycle OAuth tokens. - Grepped for affected symbols. - Published an Asana update. - Published a JIRA link. Subscribers: PHID-OPKG-gm6ozazyms6q6i22gyam Maniphest Tasks: T13493, T6703 Differential Revision: https://secure.phabricator.com/D21019
21 lines
548 B
PHP
21 lines
548 B
PHP
<?php
|
|
|
|
// See T13493. This table previously had a UNIQUE KEY on "<accountType,
|
|
// accountDomain, accountID>", which is obsolete. The application now violates
|
|
// this key, so make sure it gets dropped.
|
|
|
|
// There's no "IF EXISTS" modifier for "ALTER TABLE" so run this as a PHP patch
|
|
// instead of an SQL patch.
|
|
|
|
$table = new PhabricatorExternalAccount();
|
|
$conn = $table->establishConnection('w');
|
|
|
|
try {
|
|
queryfx(
|
|
$conn,
|
|
'ALTER TABLE %R DROP KEY %T',
|
|
$table,
|
|
'account_details');
|
|
} catch (AphrontQueryException $ex) {
|
|
// Ignore.
|
|
}
|