github.com/status-im/status-go@v1.1.0/appdatabase/migrations/sql/1691173699_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  );