status-go/appdatabase/migrations/sql/1721215212_create_keycard_and_accounts.up.sql
Icaro Motta 3ca29b87c3
chore_: cherry-pick PRs #5581 #5557 (#5596)
* fix(Wallet)_: Add quotes around token symbol in insufficient balance error messages to ensure valid JSON parsing

* feat_: migrate v1 keycard account (#5557)

---------

Co-Authored-By: belalshehab <belal@status.im>
Co-Authored-By: flexsurfer <flexsurfer@users.noreply.github.com>
2024-07-28 23:22:47 +05:30

24 lines
725 B
SQL

INSERT INTO keycards (keycard_uid, keycard_name, keycard_locked, key_uid, position)
SELECT
s.keycard_instance_uid,
s.name,
0 AS keycard_locked,
s.key_uid,
0 AS position
FROM settings s
WHERE s.keycard_instance_uid IS NOT NULL
AND s.keycard_instance_uid NOT IN (SELECT keycard_uid FROM keycards);
INSERT INTO keycards_accounts (keycard_uid, account_address)
SELECT
k.keycard_uid,
kpa.address
FROM keypairs_accounts kpa
JOIN keycards k ON k.key_uid = kpa.key_uid
WHERE kpa.chat = 0
AND kpa.key_uid IN (SELECT key_uid FROM settings WHERE keycard_instance_uid IS NOT NULL)
AND NOT EXISTS (
SELECT 1
FROM keycards_accounts ka
WHERE ka.account_address = kpa.address
);