nostrrelay/migrations.py
2023-02-13 14:41:43 +02:00

63 lines
1.6 KiB
Python

async def m001_initial(db):
"""
Initial nostrrelays tables.
"""
await db.execute(
"""
CREATE TABLE nostrrelay.relays (
user_id TEXT NOT NULL,
id TEXT PRIMARY KEY,
name TEXT NOT NULL,
description TEXT,
pubkey TEXT,
contact TEXT,
active BOOLEAN DEFAULT false,
meta TEXT NOT NULL DEFAULT '{}'
);
"""
)
await db.execute(
f"""
CREATE TABLE nostrrelay.events (
relay_id TEXT NOT NULL,
deleted BOOLEAN DEFAULT false,
id TEXT NOT NULL,
pubkey TEXT NOT NULL,
created_at {db.big_int} NOT NULL,
kind INT NOT NULL,
content TEXT NOT NULL,
sig TEXT NOT NULL,
size {db.big_int} DEFAULT 0,
PRIMARY KEY (relay_id, id)
);
"""
)
await db.execute(
"""
CREATE TABLE nostrrelay.event_tags (
relay_id TEXT NOT NULL,
event_id TEXT NOT NULL,
name TEXT NOT NULL,
value TEXT NOT NULL,
extra TEXT
);
"""
)
await db.execute(
f"""
CREATE TABLE nostrrelay.accounts (
relay_id TEXT NOT NULL,
pubkey TEXT NOT NULL,
sats {db.big_int} DEFAULT 0,
storage {db.big_int} DEFAULT 0,
paid_to_join BOOLEAN DEFAULT false,
allowed BOOLEAN DEFAULT false,
blocked BOOLEAN DEFAULT false,
PRIMARY KEY (relay_id, pubkey)
);
"""
)