github.com/status-im/status-go@v1.1.0/appdatabase/migrations/sql/1688636552_keycards_table_columns_update.up.sql (about)

     1  ALTER TABLE keycards RENAME TO keycards_old;
     2  ALTER TABLE keycards_accounts RENAME TO keycards_accounts_old;
     3  
     4  CREATE TABLE IF NOT EXISTS keycards (
     5      keycard_uid VARCHAR NOT NULL PRIMARY KEY,
     6      keycard_name VARCHAR NOT NULL,
     7      keycard_locked BOOLEAN DEFAULT FALSE,
     8      key_uid VARCHAR NOT NULL,
     9      position INT NOT NULL DEFAULT 0,
    10      FOREIGN KEY(key_uid) REFERENCES keypairs(key_uid)
    11        ON DELETE CASCADE
    12  );
    13  
    14  CREATE TABLE IF NOT EXISTS keycards_accounts (
    15      keycard_uid VARCHAR NOT NULL,
    16      account_address VARCHAR NOT NULL,
    17      PRIMARY KEY (keycard_uid, account_address),
    18      FOREIGN KEY(keycard_uid) REFERENCES keycards(keycard_uid)
    19        ON UPDATE CASCADE
    20        ON DELETE CASCADE
    21  );
    22  
    23  INSERT INTO keycards
    24    SELECT keycard_uid, keycard_name, keycard_locked, key_uid, last_update_clock
    25    FROM keycards_old
    26    ORDER BY last_update_clock;
    27  
    28  INSERT INTO keycards_accounts
    29    SELECT keycard_uid, account_address
    30    FROM keycards_accounts_old;
    31  
    32  UPDATE keycards SET position = rowid - 1;
    33  
    34  DROP TABLE keycards_accounts_old;
    35  DROP TABLE keycards_old;