SQL

CREATE TABLE agent_voucher_sales  (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  agent_id INTEGER NOT NULL,
  voucher_code TEXT UNIQUE NOT NULL,
  package_id TEXT NOT NULL,
  package_name TEXT NOT NULL,
  customer_phone TEXT,
  customer_name TEXT,
  price DECIMAL(10,2) NOT NULL,
  commission DECIMAL(10,2) DEFAULT 0.00,
  status TEXT DEFAULT 'active' CHECK (status IN ('active', 'used', 'expired', 'cancelled')),
  sold_at DATETIME DEFAULT CURRENT_TIMESTAMP,
  used_at DATETIME,
  notes TEXT,
  agent_price DECIMAL(10,2) DEFAULT 0.00,
  commission_amount DECIMAL(10,2) DEFAULT 0.00,
  FOREIGN KEY (agent_id) REFERENCES agents(id) ON DELETE CASCADE
)

+ Add column

Columns

Column Data type Allow null Primary key Actions
id INTEGER Rename | Drop
agent_id INTEGER Rename | Drop
voucher_code TEXT Rename | Drop
package_id TEXT Rename | Drop
package_name TEXT Rename | Drop
customer_phone TEXT Rename | Drop
customer_name TEXT Rename | Drop
price DECIMAL(10,2) Rename | Drop
commission DECIMAL(10,2) Rename | Drop
status TEXT Rename | Drop
sold_at DATETIME Rename | Drop
used_at DATETIME Rename | Drop
notes TEXT Rename | Drop
agent_price DECIMAL(10,2) Rename | Drop
commission_amount DECIMAL(10,2) Rename | Drop

Foreign Keys

Column Destination
agent_id agents.id

+ Add index

Indexes

Name Columns Unique SQL Drop?
idx_agent_voucher_sales_agent_id agent_id SQL
CREATE INDEX idx_agent_voucher_sales_agent_id
ON agent_voucher_sales(agent_id)
Drop
idx_agent_voucher_sales_code voucher_code SQL
CREATE INDEX idx_agent_voucher_sales_code
ON agent_voucher_sales(voucher_code)
Drop
idx_agent_voucher_sales_status status SQL
CREATE INDEX idx_agent_voucher_sales_status
ON agent_voucher_sales(status)
Drop
sqlite_autoindex_agent_voucher_sales_1 voucher_code SQL
-- no sql found --
Drop