github.com/status-im/status-go@v1.1.0/walletdatabase/migrations/sql/1692701329_add_collectibles_and_collections_data_cache.up.sql (about) 1 CREATE TABLE IF NOT EXISTS collectible_data_cache ( 2 chain_id UNSIGNED BIGINT NOT NULL, 3 contract_address VARCHAR NOT NULL, 4 token_id BLOB NOT NULL, 5 provider VARCHAR NOT NULL, 6 name VARCHAR NOT NULL, 7 description VARCHAR NOT NULL, 8 permalink VARCHAR NOT NULL, 9 image_url VARCHAR NOT NULL, 10 animation_url VARCHAR NOT NULL, 11 animation_media_type VARCHAR NOT NULL, 12 background_color VARCHAR NOT NULL, 13 token_uri VARCHAR NOT NULL 14 ); 15 16 CREATE UNIQUE INDEX IF NOT EXISTS collectible_data_identify_entry ON collectible_data_cache (chain_id, contract_address, token_id); 17 18 CREATE TABLE IF NOT EXISTS collectible_traits_cache ( 19 chain_id UNSIGNED BIGINT NOT NULL, 20 contract_address VARCHAR NOT NULL, 21 token_id BLOB NOT NULL, 22 trait_type VARCHAR NOT NULL, 23 trait_value VARCHAR NOT NULL, 24 display_type VARCHAR NOT NULL, 25 max_value VARCHAR NOT NULL, 26 FOREIGN KEY(chain_id, contract_address, token_id) REFERENCES collectible_data_cache(chain_id, contract_address, token_id) 27 ON UPDATE CASCADE 28 ON DELETE CASCADE 29 ); 30 31 CREATE TABLE IF NOT EXISTS collection_data_cache ( 32 chain_id UNSIGNED BIGINT NOT NULL, 33 contract_address VARCHAR NOT NULL, 34 provider VARCHAR NOT NULL, 35 name VARCHAR NOT NULL, 36 slug VARCHAR NOT NULL, 37 image_url VARCHAR NOT NULL 38 ); 39 40 CREATE UNIQUE INDEX IF NOT EXISTS collection_data_identify_entry ON collection_data_cache (chain_id, contract_address); 41 42 CREATE TABLE IF NOT EXISTS collection_traits_cache ( 43 chain_id UNSIGNED BIGINT NOT NULL, 44 contract_address VARCHAR NOT NULL, 45 trait_type VARCHAR NOT NULL, 46 min REAL NOT NULL, 47 max REAL NOT NULL, 48 FOREIGN KEY(chain_id, contract_address) REFERENCES collection_data_cache(chain_id, contract_address) 49 ON UPDATE CASCADE 50 ON DELETE CASCADE 51 );