1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-24 15:52:41 +01:00
phorge-phorge/resources/sql/autopatches/20141107.ssh.7.colnull.sql
epriestley bf17b12daf Standardize SSH key storage
Summary:
Ref T5833. This fixes a few weird things with this table:

  - A bunch of columns were nullable for no reason.
  - We stored an MD5 hash of the key (unusual) but never used it and callers were responsible for manually populating it.
  - We didn't perform known-key-text lookups by using an index.

Test Plan:
  - Ran migrations.
  - Faked duplicate keys, saw them clean up correctly.
  - Added new keys.
  - Generated new keys.
  - Used `bin/auth-ssh` and `bin/auth-ssh-key`.

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: epriestley

Maniphest Tasks: T5833

Differential Revision: https://secure.phabricator.com/D10805
2014-11-07 15:34:44 -08:00

23 lines
775 B
SQL

UPDATE {$NAMESPACE}_auth.auth_sshkey
SET name = '' WHERE name IS NULL;
ALTER TABLE {$NAMESPACE}_auth.auth_sshkey
CHANGE name name VARCHAR(255) COLLATE {$COLLATE_TEXT} NOT NULL;
UPDATE {$NAMESPACE}_auth.auth_sshkey
SET keyType = '' WHERE keyType IS NULL;
ALTER TABLE {$NAMESPACE}_auth.auth_sshkey
CHANGE keyType keyType VARCHAR(255) COLLATE {$COLLATE_TEXT} NOT NULL;
UPDATE {$NAMESPACE}_auth.auth_sshkey
SET keyBody = '' WHERE keyBody IS NULL;
ALTER TABLE {$NAMESPACE}_auth.auth_sshkey
CHANGE keyBody keyBody LONGTEXT COLLATE {$COLLATE_TEXT} NOT NULL;
UPDATE {$NAMESPACE}_auth.auth_sshkey
SET keyComment = '' WHERE keyComment IS NULL;
ALTER TABLE {$NAMESPACE}_auth.auth_sshkey
CHANGE keyComment keyComment VARCHAR(255) COLLATE {$COLLATE_TEXT} NOT NULL;