SHA256
57 lines
2.5 KiB
SQL
57 lines
2.5 KiB
SQL
CREATE TABLE IF NOT EXISTS archive_chain_cursor (
|
|
blockchain_name TEXT PRIMARY KEY,
|
|
last_archived_source_block_number BIGINT NOT NULL,
|
|
last_archived_source_block_hash BYTEA NOT NULL,
|
|
last_archive_big_block_number BIGINT NOT NULL,
|
|
last_archive_big_block_hash BYTEA NOT NULL,
|
|
last_chunk_offset BIGINT NOT NULL,
|
|
last_chunk_size BIGINT NOT NULL,
|
|
updated_at_ms BIGINT NOT NULL
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS archive_publish_job (
|
|
id BIGSERIAL PRIMARY KEY,
|
|
big_block_number BIGINT NOT NULL,
|
|
status TEXT NOT NULL,
|
|
created_at_ms BIGINT NOT NULL,
|
|
local_archive_path TEXT,
|
|
archive_hash BYTEA,
|
|
arweave_tx_id BYTEA,
|
|
arweave_confirmations INTEGER,
|
|
solana_signature TEXT,
|
|
error_text TEXT,
|
|
updated_at_ms BIGINT NOT NULL
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_archive_publish_job_status
|
|
ON archive_publish_job(status);
|
|
CREATE INDEX IF NOT EXISTS idx_archive_publish_job_big_block_number
|
|
ON archive_publish_job(big_block_number);
|
|
|
|
CREATE TABLE IF NOT EXISTS archive_publish_job_chain (
|
|
job_id BIGINT NOT NULL REFERENCES archive_publish_job(id) ON DELETE CASCADE,
|
|
blockchain_name TEXT NOT NULL,
|
|
from_source_block_number BIGINT NOT NULL,
|
|
to_source_block_number BIGINT NOT NULL,
|
|
previous_source_block_hash BYTEA NOT NULL,
|
|
last_source_block_hash BYTEA NOT NULL,
|
|
previous_archive_big_block_number BIGINT,
|
|
previous_archive_big_block_hash BYTEA,
|
|
previous_chunk_offset BIGINT,
|
|
previous_chunk_size BIGINT,
|
|
new_chunk_offset BIGINT,
|
|
new_chunk_size BIGINT,
|
|
PRIMARY KEY (job_id, blockchain_name)
|
|
);
|
|
|
|
ALTER TABLE solana_user_pda_current
|
|
ADD COLUMN IF NOT EXISTS archive_head_tx_id TEXT NOT NULL DEFAULT '';
|
|
ALTER TABLE solana_user_pda_current
|
|
ADD COLUMN IF NOT EXISTS archive_head_hash TEXT NOT NULL DEFAULT '';
|
|
ALTER TABLE solana_user_pda_history
|
|
ADD COLUMN IF NOT EXISTS archive_head_tx_id TEXT NOT NULL DEFAULT '';
|
|
ALTER TABLE solana_user_pda_history
|
|
ADD COLUMN IF NOT EXISTS archive_head_hash TEXT NOT NULL DEFAULT '';
|
|
|
|
UPDATE db_schema_version SET schema_version = 22, updated_at_ms = CAST(EXTRACT(EPOCH FROM clock_timestamp())*1000 AS BIGINT) WHERE id = 1;
|