35 lines
1.0 KiB
MySQL
35 lines
1.0 KiB
MySQL
|
ALTER TABLE keycards RENAME TO keycards_old;
|
||
|
ALTER TABLE keycards_accounts RENAME TO keycards_accounts_old;
|
||
|
|
||
|
CREATE TABLE IF NOT EXISTS keycards (
|
||
|
keycard_uid VARCHAR NOT NULL PRIMARY KEY,
|
||
|
keycard_name VARCHAR NOT NULL,
|
||
|
keycard_locked BOOLEAN DEFAULT FALSE,
|
||
|
key_uid VARCHAR NOT NULL,
|
||
|
position INT NOT NULL DEFAULT 0,
|
||
|
FOREIGN KEY(key_uid) REFERENCES keypairs(key_uid)
|
||
|
ON DELETE CASCADE
|
||
|
);
|
||
|
|
||
|
CREATE TABLE IF NOT EXISTS keycards_accounts (
|
||
|
keycard_uid VARCHAR NOT NULL,
|
||
|
account_address VARCHAR NOT NULL,
|
||
|
PRIMARY KEY (keycard_uid, account_address),
|
||
|
FOREIGN KEY(keycard_uid) REFERENCES keycards(keycard_uid)
|
||
|
ON UPDATE CASCADE
|
||
|
ON DELETE CASCADE
|
||
|
);
|
||
|
|
||
|
INSERT INTO keycards
|
||
|
SELECT keycard_uid, keycard_name, keycard_locked, key_uid, last_update_clock
|
||
|
FROM keycards_old
|
||
|
ORDER BY last_update_clock;
|
||
|
|
||
|
INSERT INTO keycards_accounts
|
||
|
SELECT keycard_uid, account_address
|
||
|
FROM keycards_accounts_old;
|
||
|
|
||
|
UPDATE keycards SET position = rowid - 1;
|
||
|
|
||
|
DROP TABLE keycards_accounts_old;
|
||
|
DROP TABLE keycards_old;
|