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

87 lines
2.2 KiB
Python
Raw Normal View History

2020-04-16 17:10:53 +02:00
from lnbits.db import open_ext_db
2020-08-30 23:19:43 -03:00
def m001_initial(db):
db.execute(
"""
CREATE TABLE IF NOT EXISTS events (
id TEXT PRIMARY KEY,
wallet TEXT NOT NULL,
name TEXT NOT NULL,
info TEXT NOT NULL,
closing_date TEXT NOT NULL,
event_start_date TEXT NOT NULL,
event_end_date TEXT NOT NULL,
amount_tickets INTEGER NOT NULL,
price_per_ticket INTEGER NOT NULL,
sold INTEGER NOT NULL,
time TIMESTAMP NOT NULL DEFAULT (strftime('%s', 'now'))
);
"""
)
db.execute(
"""
CREATE TABLE IF NOT EXISTS tickets (
id TEXT PRIMARY KEY,
wallet TEXT NOT NULL,
event TEXT NOT NULL,
name TEXT NOT NULL,
email TEXT NOT NULL,
registered BOOLEAN NOT NULL,
time TIMESTAMP NOT NULL DEFAULT (strftime('%s', 'now'))
);
"""
)
2020-04-16 17:10:53 +02:00
2020-08-13 22:01:33 +01:00
def m002_changed(db):
db.execute(
"""
CREATE TABLE IF NOT EXISTS ticket (
id TEXT PRIMARY KEY,
wallet TEXT NOT NULL,
event TEXT NOT NULL,
name TEXT NOT NULL,
email TEXT NOT NULL,
registered BOOLEAN NOT NULL,
2020-08-13 23:43:42 +01:00
paid BOOLEAN NOT NULL,
2020-08-13 22:01:33 +01:00
time TIMESTAMP NOT NULL DEFAULT (strftime('%s', 'now'))
);
"""
)
2020-08-30 23:19:43 -03:00
2020-08-13 22:01:33 +01:00
for row in [list(row) for row in db.fetchall("SELECT * FROM tickets")]:
usescsv = ""
for i in range(row[5]):
if row[7]:
usescsv += "," + str(i + 1)
else:
usescsv += "," + str(1)
2020-08-30 23:19:43 -03:00
usescsv = usescsv[1:]
2020-08-13 22:01:33 +01:00
db.execute(
"""
INSERT INTO ticket (
id,
wallet,
event,
name,
email,
2020-08-13 23:43:42 +01:00
registered,
paid
2020-08-13 22:01:33 +01:00
)
VALUES (?, ?, ?, ?, ?, ?, ?)
""",
2020-08-30 23:19:43 -03:00
(row[0], row[1], row[2], row[3], row[4], row[5], True,),
2020-08-13 22:01:33 +01:00
)
db.execute("DROP TABLE tickets")
2020-08-30 23:19:43 -03:00
2020-04-16 17:10:53 +02:00
def migrate():
with open_ext_db("events") as db:
m001_initial(db)
2020-08-13 22:01:33 +01:00
m002_changed(db)