test
This commit is contained in:
54
apps/coordinator-api/migrations/004_payments.sql
Normal file
54
apps/coordinator-api/migrations/004_payments.sql
Normal file
@@ -0,0 +1,54 @@
|
||||
-- Migration: Add payment support
|
||||
-- Date: 2026-01-26
|
||||
|
||||
-- Add payment tracking to jobs table
|
||||
ALTER TABLE job
|
||||
ADD COLUMN payment_id VARCHAR(255) REFERENCES job_payments(id),
|
||||
ADD COLUMN payment_status VARCHAR(20);
|
||||
|
||||
-- Create job_payments table
|
||||
CREATE TABLE IF NOT EXISTS job_payments (
|
||||
id VARCHAR(255) PRIMARY KEY,
|
||||
job_id VARCHAR(255) NOT NULL,
|
||||
amount DECIMAL(20, 8) NOT NULL,
|
||||
currency VARCHAR(10) DEFAULT 'AITBC',
|
||||
status VARCHAR(20) DEFAULT 'pending',
|
||||
payment_method VARCHAR(20) DEFAULT 'aitbc_token',
|
||||
escrow_address VARCHAR(100),
|
||||
refund_address VARCHAR(100),
|
||||
transaction_hash VARCHAR(100),
|
||||
refund_transaction_hash VARCHAR(100),
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
escrowed_at TIMESTAMP,
|
||||
released_at TIMESTAMP,
|
||||
refunded_at TIMESTAMP,
|
||||
expires_at TIMESTAMP,
|
||||
metadata JSON
|
||||
);
|
||||
|
||||
-- Create payment_escrows table
|
||||
CREATE TABLE IF NOT EXISTS payment_escrows (
|
||||
id VARCHAR(255) PRIMARY KEY,
|
||||
payment_id VARCHAR(255) NOT NULL,
|
||||
amount DECIMAL(20, 8) NOT NULL,
|
||||
currency VARCHAR(10) DEFAULT 'AITBC',
|
||||
address VARCHAR(100) NOT NULL,
|
||||
is_active BOOLEAN DEFAULT TRUE,
|
||||
is_released BOOLEAN DEFAULT FALSE,
|
||||
is_refunded BOOLEAN DEFAULT FALSE,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
released_at TIMESTAMP,
|
||||
refunded_at TIMESTAMP,
|
||||
expires_at TIMESTAMP
|
||||
);
|
||||
|
||||
-- Create indexes
|
||||
CREATE INDEX IF NOT EXISTS idx_job_payments_job_id ON job_payments(job_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_job_payments_status ON job_payments(status);
|
||||
CREATE INDEX IF NOT EXISTS idx_job_payments_created_at ON job_payments(created_at);
|
||||
CREATE INDEX IF NOT EXISTS idx_payment_escrows_payment_id ON payment_escrows(payment_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_payment_escrows_address ON payment_escrows(address);
|
||||
|
||||
-- Add index for job payment_id
|
||||
CREATE INDEX IF NOT EXISTS idx_job_payment_id ON job(payment_id);
|
||||
Reference in New Issue
Block a user