20250807000000_init.up.sql 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. CREATE TABLE request(
  2. chain_id VARCHAR(20) NOT NULL,
  3. network_id INTEGER NOT NULL,
  4. provider VARCHAR(40) NOT NULL,
  5. sequence INTEGER NOT NULL,
  6. created_at BIGINT NOT NULL,
  7. last_updated_at BIGINT NOT NULL,
  8. state VARCHAR(10) NOT NULL,
  9. request_block_number INTEGER NOT NULL,
  10. request_tx_hash VARCHAR(64) NOT NULL,
  11. user_random_number VARCHAR(64) NOT NULL,
  12. sender VARCHAR(40) NOT NULL,
  13. reveal_block_number INTEGER,
  14. reveal_tx_hash VARCHAR(64),
  15. provider_random_number VARCHAR(64),
  16. info TEXT,
  17. gas_used VARCHAR(100),
  18. gas_limit VARCHAR(100) NOT NULL,
  19. callback_failed INTEGER,
  20. callback_return_value VARCHAR,
  21. callback_gas_used VARCHAR(100),
  22. PRIMARY KEY (network_id, sequence, provider, request_tx_hash)
  23. );
  24. CREATE INDEX request__network_id__state__created_at ON request(network_id, state, created_at);
  25. CREATE INDEX request__network_id__created_at ON request(network_id, created_at);
  26. CREATE INDEX request__sender__network_id__state__created_at ON request(sender, network_id, state, created_at);
  27. CREATE INDEX request__sender__network_id__created_at ON request(sender, network_id, created_at);
  28. CREATE INDEX request__sender__state__created_at ON request(sender, state, created_at);
  29. CREATE INDEX request__sender__created_at ON request(sender, created_at);
  30. CREATE INDEX request__sequence__network_id__state__created_at ON request(sequence, network_id, state, created_at);
  31. CREATE INDEX request__sequence__network_id__created_at ON request(sequence, network_id, created_at);
  32. CREATE INDEX request__sequence__state__created_at ON request(sequence, state, created_at);
  33. CREATE INDEX request__sequence__created_at ON request(sequence, created_at);
  34. CREATE INDEX request__state__created_at ON request(state, created_at);
  35. CREATE INDEX request__created_at ON request(created_at);
  36. CREATE INDEX request__request_tx_hash ON request (request_tx_hash)
  37. WHERE request_tx_hash IS NOT NULL;
  38. CREATE INDEX request__reveal_tx_hash ON request (reveal_tx_hash)
  39. WHERE reveal_tx_hash IS NOT NULL;