mirror of
https://github.com/scroll-tech/scroll.git
synced 2026-01-14 08:28:02 -05:00
50 lines
1.3 KiB
PL/PgSQL
50 lines
1.3 KiB
PL/PgSQL
-- +goose Up
|
|
-- +goose StatementBegin
|
|
create table l2_message
|
|
(
|
|
nonce BIGINT NOT NULL,
|
|
msg_hash VARCHAR NOT NULL,
|
|
height BIGINT NOT NULL,
|
|
sender VARCHAR NOT NULL,
|
|
target VARCHAR NOT NULL,
|
|
value VARCHAR NOT NULL,
|
|
calldata TEXT NOT NULL,
|
|
layer2_hash VARCHAR NOT NULL,
|
|
layer1_hash VARCHAR DEFAULT NULL,
|
|
proof TEXT DEFAULT NULL,
|
|
status INTEGER DEFAULT 1,
|
|
created_at TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
updated_at TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
comment
|
|
on column l2_message.status is 'undefined, pending, submitted, confirmed, failed, expired, relay_failed';
|
|
|
|
create unique index l2_message_hash_uindex
|
|
on l2_message (msg_hash);
|
|
|
|
create unique index l2_message_nonce_uindex
|
|
on l2_message (nonce);
|
|
|
|
create index l2_message_height_index
|
|
on l2_message (height);
|
|
|
|
CREATE OR REPLACE FUNCTION update_timestamp()
|
|
RETURNS TRIGGER AS $$
|
|
BEGIN
|
|
NEW.updated_at = CURRENT_TIMESTAMP;
|
|
RETURN NEW;
|
|
END;
|
|
$$ language 'plpgsql';
|
|
|
|
CREATE TRIGGER update_timestamp BEFORE UPDATE
|
|
ON l2_message FOR EACH ROW EXECUTE PROCEDURE
|
|
update_timestamp();
|
|
|
|
|
|
-- +goose StatementEnd
|
|
|
|
-- +goose Down
|
|
-- +goose StatementBegin
|
|
drop table if exists l2_message;
|
|
-- +goose StatementEnd |