Files
scroll/database/migrate/migrations/00027_ blob_upload.sql
2025-06-10 17:16:16 +08:00

36 lines
1.3 KiB
SQL

-- +goose Up
-- +goose StatementBegin
CREATE TABLE blob_upload (
batch_index BIGINT NOT NULL,
platform SMALLINT NOT NULL,
status SMALLINT NOT NULL,
-- metadata
created_at TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP,
deleted_at TIMESTAMP(0) DEFAULT NULL
);
CREATE UNIQUE INDEX IF NOT EXISTS batch_index_platform_uindex
ON blob_upload(batch_index, platform) WHERE deleted_at IS NULL;
COMMENT ON COLUMN blob_upload.status IS 'undefined, pending, uploaded, failed';
CREATE INDEX IF NOT EXISTS idx_blob_upload_batch_index ON blob_upload(batch_index) WHERE deleted_at IS NULL;
CREATE INDEX IF NOT EXISTS idx_blob_upload_platform ON blob_upload(platform) WHERE deleted_at IS NULL;
CREATE INDEX IF NOT EXISTS idx_blob_upload_status ON blob_upload(status) WHERE deleted_at IS NULL;
CREATE INDEX IF NOT EXISTS idx_blob_upload_status_platform ON blob_upload(status, platform) WHERE deleted_at IS NULL;
CREATE INDEX IF NOT EXISTS idx_blob_upload_batch_index_status_platform ON blob_upload(batch_index, status, platform) WHERE deleted_at IS NULL;
-- +goose StatementEnd
-- +goose Down
-- +goose StatementBegin
DROP TABLE blob_upload;
-- +goose StatementEnd