18 lines
877 B
MySQL
18 lines
877 B
MySQL
|
|
-- v0.603 T1-02: Seller transfer tracking
|
||
|
|
CREATE TABLE IF NOT EXISTS seller_transfers (
|
||
|
|
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||
|
|
seller_id UUID NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
||
|
|
order_id UUID NOT NULL REFERENCES orders(id) ON DELETE CASCADE,
|
||
|
|
stripe_transfer_id VARCHAR(255),
|
||
|
|
amount_cents BIGINT NOT NULL,
|
||
|
|
platform_fee_cents BIGINT NOT NULL,
|
||
|
|
currency VARCHAR(3) NOT NULL DEFAULT 'EUR',
|
||
|
|
status VARCHAR(50) NOT NULL DEFAULT 'pending',
|
||
|
|
error_message TEXT,
|
||
|
|
created_at TIMESTAMPTZ DEFAULT NOW(),
|
||
|
|
updated_at TIMESTAMPTZ DEFAULT NOW()
|
||
|
|
);
|
||
|
|
CREATE INDEX IF NOT EXISTS idx_seller_transfers_seller ON seller_transfers(seller_id);
|
||
|
|
CREATE INDEX IF NOT EXISTS idx_seller_transfers_order ON seller_transfers(order_id);
|
||
|
|
CREATE UNIQUE INDEX IF NOT EXISTS idx_seller_transfers_seller_order ON seller_transfers(seller_id, order_id);
|