lnbits-legend/lnbits/extensions/gerty/migrations.py
2023-01-05 22:27:25 +00:00

106 lines
2.3 KiB
Python

import time
async def m001_initial(db):
"""
Initial Gertys table.
"""
await db.execute(
"""
CREATE TABLE gerty.gertys (
id TEXT PRIMARY KEY,
wallet TEXT NOT NULL,
refresh_time INT,
name TEXT NOT NULL,
lnbits_wallets TEXT,
mempool_endpoint TEXT,
exchange TEXT,
display_preferences TEXT
);
"""
)
async def m002_add_utc_offset_col(db):
"""
support for UTC offset
"""
await db.execute("ALTER TABLE gerty.gertys ADD COLUMN utc_offset INT;")
async def m003_add_gerty_model_col(db):
"""
support for Gerty model col
"""
await db.execute("ALTER TABLE gerty.gertys ADD COLUMN type TEXT;")
#########MEMPOOL MIGRATIONS########
async def m004_initial(db):
"""
Initial Gertys table.
"""
await db.execute(
"""
CREATE TABLE gerty.mempool (
id TEXT PRIMARY KEY,
mempool_endpoint TEXT NOT NULL,
endpoint TEXT NOT NULL,
data TEXT NOT NULL,
time TIMESTAMP
);
"""
)
async def m005_add_gerty_model_col(db):
"""
support for Gerty model col
"""
await db.execute("ALTER TABLE gerty.gertys ADD COLUMN urls TEXT;")
async def m006_add_gerty_model_col(db):
"""
Add UUID ID's to links and migrates existing data
"""
await db.execute("ALTER TABLE gerty.mempool RENAME TO mempool_old")
await db.execute(
f"""
CREATE TABLE gerty.mempool (
id TEXT PRIMARY KEY,
mempool_endpoint TEXT NOT NULL,
endpoint TEXT NOT NULL,
data TEXT NOT NULL,
time FLOAT
);
"""
)
for row in [
list(row) for row in await db.fetchall("SELECT * FROM gerty.mempool_old")
]:
await db.execute(
"""
INSERT INTO gerty.mempool (
id,
mempool_endpoint,
endpoint,
data,
time
)
VALUES (?, ?, ?, ?, ?)
""",
(
row[0],
row[1],
row[2],
row[3],
time.time(),
),
)
await db.execute("DROP TABLE gerty.mempool_old")