Files
quyun-v2/backend/database/migrations/20260116044549_add_order_governance_fields.sql

40 lines
2.2 KiB
SQL
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- +goose Up
-- +goose StatementBegin
ALTER TABLE orders
ADD COLUMN IF NOT EXISTS is_flagged BOOLEAN NOT NULL DEFAULT false,
ADD COLUMN IF NOT EXISTS flag_reason VARCHAR(255) NOT NULL DEFAULT '',
ADD COLUMN IF NOT EXISTS flagged_by BIGINT NOT NULL DEFAULT 0,
ADD COLUMN IF NOT EXISTS flagged_at TIMESTAMPTZ,
ADD COLUMN IF NOT EXISTS is_reconciled BOOLEAN NOT NULL DEFAULT false,
ADD COLUMN IF NOT EXISTS reconcile_note VARCHAR(255) NOT NULL DEFAULT '',
ADD COLUMN IF NOT EXISTS reconciled_by BIGINT NOT NULL DEFAULT 0,
ADD COLUMN IF NOT EXISTS reconciled_at TIMESTAMPTZ;
COMMENT ON COLUMN orders.is_flagged IS '问题订单标记;用途:运营标注需复核订单;默认 false。';
COMMENT ON COLUMN orders.flag_reason IS '问题标记原因;用途:说明问题点与风险;默认空字符串。';
COMMENT ON COLUMN orders.flagged_by IS '问题标记操作者ID用途审计追踪默认 0 表示未标记。';
COMMENT ON COLUMN orders.flagged_at IS '问题标记时间;用途:记录标记时效;未标记为空。';
COMMENT ON COLUMN orders.is_reconciled IS '对账状态;用途:标识是否完成人工对账;默认 false。';
COMMENT ON COLUMN orders.reconcile_note IS '对账说明;用途:记录对账备注与结论;默认空字符串。';
COMMENT ON COLUMN orders.reconciled_by IS '对账操作者ID用途审计追踪默认 0 表示未对账。';
COMMENT ON COLUMN orders.reconciled_at IS '对账时间;用途:记录完成对账时间;未对账为空。';
CREATE INDEX IF NOT EXISTS orders_is_flagged_idx ON orders(is_flagged);
CREATE INDEX IF NOT EXISTS orders_is_reconciled_idx ON orders(is_reconciled);
CREATE INDEX IF NOT EXISTS orders_flagged_at_idx ON orders(flagged_at);
CREATE INDEX IF NOT EXISTS orders_reconciled_at_idx ON orders(reconciled_at);
-- +goose StatementEnd
-- +goose Down
-- +goose StatementBegin
ALTER TABLE orders
DROP COLUMN IF EXISTS reconciled_at,
DROP COLUMN IF EXISTS reconciled_by,
DROP COLUMN IF EXISTS reconcile_note,
DROP COLUMN IF EXISTS is_reconciled,
DROP COLUMN IF EXISTS flagged_at,
DROP COLUMN IF EXISTS flagged_by,
DROP COLUMN IF EXISTS flag_reason,
DROP COLUMN IF EXISTS is_flagged;
-- +goose StatementEnd