lnbits-legend/lnbits/extensions/diagonalley/migrations.py

90 lines
2.1 KiB
Python
Raw Normal View History

2022-01-27 12:24:38 +00:00
async def m001_initial(db):
"""
2022-07-25 10:11:03 +01:00
Initial stalls table.
2022-01-27 12:24:38 +00:00
"""
await db.execute(
"""
2022-07-25 10:11:03 +01:00
CREATE TABLE diagonalley.stalls (
2022-01-27 12:24:38 +00:00
id TEXT PRIMARY KEY,
2022-07-25 10:11:03 +01:00
wallet TEXT NOT NULL,
name TEXT NOT NULL,
publickey TEXT,
privatekey TEXT,
relays TEXT,
shippingzones TEXT NOT NULL
2022-01-27 12:24:38 +00:00
);
"""
)
"""
2022-07-25 10:11:03 +01:00
Initial products table.
2022-01-27 12:24:38 +00:00
"""
await db.execute(
"""
2022-07-25 10:11:03 +01:00
CREATE TABLE diagonalley.products (
2022-01-27 12:24:38 +00:00
id TEXT PRIMARY KEY,
2022-07-25 10:11:03 +01:00
stall TEXT NOT NULL REFERENCES {db.references_schema}stalls (id),
product TEXT NOT NULL,
categories TEXT,
description TEXT,
image TEXT,
price INTEGER NOT NULL,
quantity INTEGER NOT NULL,
rating INTEGER NOT NULL
2022-01-27 12:24:38 +00:00
);
"""
)
"""
Initial zones table.
"""
await db.execute(
"""
CREATE TABLE diagonalley.zones (
id TEXT PRIMARY KEY,
"user" TEXT NOT NULL,
2022-01-27 12:24:38 +00:00
cost TEXT NOT NULL,
countries TEXT NOT NULL
);
"""
)
"""
Initial orders table.
"""
await db.execute(
"""
CREATE TABLE diagonalley.orders (
2022-07-25 10:11:03 +01:00
id {db.serial_primary_key},
2022-01-27 12:24:38 +00:00
productid TEXT NOT NULL,
2022-02-04 13:05:48 +00:00
usr TEXT NOT NULL,
pubkey TEXT NOT NULL,
2022-01-27 12:24:38 +00:00
shippingzone INTEGER NOT NULL,
address TEXT NOT NULL,
email TEXT NOT NULL,
invoiceid TEXT NOT NULL,
paid BOOLEAN NOT NULL,
shipped BOOLEAN NOT NULL,
time TIMESTAMP NOT NULL DEFAULT """
+ db.timestamp_now
+ """
2022-01-27 12:24:38 +00:00
);
"""
)
2022-07-25 10:11:03 +01:00
"""
Initial order details table.
"""
await db.execute(
"""
CREATE TABLE diagonalley.order_details (
id TEXT PRIMARY KEY,
orderid INTEGER NOT NULL REFERENCES {db.references_schema}orders (id)
productid TEXT NOT NULL REFERENCES {db.references_schema}products (id),
quantity INTEGER NOT NULL,
total INTEGER NOT NULL
);
"""
)