mirror of
https://github.com/lnbits/lnbits-legend.git
synced 2025-02-25 07:07:48 +01:00
56 lines
1.3 KiB
Python
56 lines
1.3 KiB
Python
|
async def m001_initial_invoices(db):
|
||
|
|
||
|
# STATUS COLUMN OPTIONS: 'draft', 'open', 'paid', 'canceled'
|
||
|
|
||
|
await db.execute(
|
||
|
f"""
|
||
|
CREATE TABLE invoices.invoices (
|
||
|
id TEXT PRIMARY KEY,
|
||
|
wallet TEXT NOT NULL,
|
||
|
|
||
|
status TEXT NOT NULL DEFAULT 'draft',
|
||
|
|
||
|
currency TEXT NOT NULL,
|
||
|
|
||
|
company_name TEXT DEFAULT NULL,
|
||
|
first_name TEXT DEFAULT NULL,
|
||
|
last_name TEXT DEFAULT NULL,
|
||
|
email TEXT DEFAULT NULL,
|
||
|
phone TEXT DEFAULT NULL,
|
||
|
address TEXT DEFAULT NULL,
|
||
|
|
||
|
|
||
|
time TIMESTAMP NOT NULL DEFAULT {db.timestamp_now}
|
||
|
);
|
||
|
"""
|
||
|
)
|
||
|
|
||
|
await db.execute(
|
||
|
f"""
|
||
|
CREATE TABLE invoices.invoice_items (
|
||
|
id TEXT PRIMARY KEY,
|
||
|
invoice_id TEXT NOT NULL,
|
||
|
|
||
|
description TEXT NOT NULL,
|
||
|
amount INTEGER NOT NULL,
|
||
|
|
||
|
FOREIGN KEY(invoice_id) REFERENCES {db.references_schema}invoices(id)
|
||
|
);
|
||
|
"""
|
||
|
)
|
||
|
|
||
|
await db.execute(
|
||
|
f"""
|
||
|
CREATE TABLE invoices.payments (
|
||
|
id TEXT PRIMARY KEY,
|
||
|
invoice_id TEXT NOT NULL,
|
||
|
|
||
|
amount INT NOT NULL,
|
||
|
|
||
|
time TIMESTAMP NOT NULL DEFAULT {db.timestamp_now},
|
||
|
|
||
|
FOREIGN KEY(invoice_id) REFERENCES {db.references_schema}invoices(id)
|
||
|
);
|
||
|
"""
|
||
|
)
|