-- 创建订单表 CREATE TABLE IF NOT EXISTS orders ( id SERIAL PRIMARY KEY, order_no VARCHAR(64) UNIQUE NOT NULL, user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE, product_type VARCHAR(32) NOT NULL, product_name VARCHAR(255) NOT NULL, amount DECIMAL(10, 2) NOT NULL, status VARCHAR(32) NOT NULL DEFAULT 'pending', payment_method VARCHAR(32), trade_no VARCHAR(128), callback_data TEXT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, paid_at TIMESTAMP ); -- 创建索引 CREATE INDEX IF NOT EXISTS idx_orders_order_no ON orders(order_no); CREATE INDEX IF NOT EXISTS idx_orders_user_id ON orders(user_id); CREATE INDEX IF NOT EXISTS idx_orders_status ON orders(status); CREATE INDEX IF NOT EXISTS idx_orders_created_at ON orders(created_at); -- 添加注释 COMMENT ON TABLE orders IS '订单表'; COMMENT ON COLUMN orders.order_no IS '订单号'; COMMENT ON COLUMN orders.user_id IS '用户ID'; COMMENT ON COLUMN orders.product_type IS '产品类型:standard/deployment/custom'; COMMENT ON COLUMN orders.product_name IS '产品名称'; COMMENT ON COLUMN orders.amount IS '订单金额'; COMMENT ON COLUMN orders.status IS '订单状态:pending/paid/failed/cancelled'; COMMENT ON COLUMN orders.payment_method IS '支付方式'; COMMENT ON COLUMN orders.trade_no IS '第三方交易号'; COMMENT ON COLUMN orders.callback_data IS '回调数据(JSON格式)';