Page MenuHomePhabricator

D21017.id50080.diff
No OneTemporary

D21017.id50080.diff

diff --git a/resources/sql/autopatches/20200222.xident.01.migrate.php b/resources/sql/autopatches/20200222.xident.01.migrate.php
new file mode 100644
--- /dev/null
+++ b/resources/sql/autopatches/20200222.xident.01.migrate.php
@@ -0,0 +1,40 @@
+<?php
+
+$account_table = new PhabricatorExternalAccount();
+$identifier_table = new PhabricatorExternalAccountIdentifier();
+
+$conn = $account_table->establishConnection('w');
+$table_name = $account_table->getTableName();
+
+$iterator = new LiskRawMigrationIterator($conn, $table_name);
+foreach ($iterator as $account_row) {
+ // We don't need to migrate "accountID" values for "password" accounts,
+ // since these were dummy values in the first place and are no longer
+ // read or written after D21014. (There would be no harm in writing these
+ // rows, but it's easy to skip them.)
+
+ if ($account_row['accountType'] === 'password') {
+ continue;
+ }
+
+ $account_id = $account_row['accountID'];
+ if (!strlen($account_id)) {
+ continue;
+ }
+
+ queryfx(
+ $conn,
+ 'INSERT IGNORE INTO %R (
+ phid, externalAccountPHID, providerConfigPHID,
+ identifierHash, identifierRaw,
+ dateCreated, dateModified)
+ VALUES (%s, %s, %s, %s, %s, %d, %d)',
+ $identifier_table,
+ $identifier_table->generatePHID(),
+ $account_row['phid'],
+ $account_row['providerConfigPHID'],
+ PhabricatorHash::digestForIndex($account_id),
+ $account_id,
+ $account_row['dateCreated'],
+ $account_row['dateModified']);
+}

File Metadata

Mime Type
text/plain
Expires
Wed, Oct 16, 8:19 AM (1 d, 20 h ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
6713565
Default Alt Text
D21017.id50080.diff (1 KB)

Event Timeline