-
Notifications
You must be signed in to change notification settings - Fork 0
/
database_init.py
31 lines (28 loc) · 1.34 KB
/
database_init.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
if __name__ == "__main__":
import os, asyncio
import asyncpg
from settings import QR_PATH, credentials
async def main():
if not os.path.exists("data"):
os.mkdir("data")
print("Created data directory.")
if not os.path.exists(QR_PATH):
os.mkdir(QR_PATH)
print("Created QR code directory.")
async with asyncpg.create_pool(**credentials) as pool:
await pool.execute('''CREATE TABLE IF NOT EXISTS guilds (
id numeric PRIMARY KEY,
name text
);''')
await pool.execute('''CREATE TABLE IF NOT EXISTS users (
id numeric PRIMARY KEY,
guild_id numeric NOT NULL,
username text NOT NULL,
phone_number text DEFAULT '0',
promptpay_qr text DEFAULT '0',
CONSTRAINT fk_guild_id
FOREIGN KEY (guild_id)
REFERENCES guilds(id)
ON DELETE CASCADE
);''')
asyncio.run(main())