| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- async def init_db(pg):
- queries = [
- "CREATE TABLE IF NOT EXISTS \
- guild (\
- id SERIAL PRIMARY KEY, \
- guild_id BIGINT UNIQUE NOT NULL \
- )\
- ",
- "CREATE TABLE IF NOT EXISTS \
- channel (\
- id SERIAL PRIMARY KEY, \
- channel_id BIGINT UNIQUE NOT NULL, \
- guild BIGINT REFERENCES guild (guild_id)\
- )\
- ",
- "CREATE TABLE IF NOT EXISTS \
- settings (\
- id SERIAL PRIMARY KEY, \
- crew_channel_id BIGINT UNIQUE NOT NULL\
- )\
- ",
- "CREATE TABLE IF NOT EXISTS \
- channel_settings (\
- id SERIAL PRIMARY KEY, \
- channel BIGINT UNIQUE NOT NULL REFERENCES channel (channel_id), \
- guild BIGINT REFERENCES guild (guild_id), \
- interact BOOL DEFAULT FALSE\
- )\
- ",
- "CREATE TABLE IF NOT EXISTS \
- \"user\" (\
- id SERIAL PRIMARY KEY, \
- user_id BIGINT UNIQUE NOT NULL\
- )\
- ",
- "CREATE TABLE IF NOT EXISTS \
- guild_access_token (\
- id SERIAL PRIMARY KEY, \
- guild BIGINT REFERENCES guild (guild_id), \
- \"user\" BIGINT NOT NULL REFERENCES \"user\" (user_id), \
- token varchar[40] UNIQUE NOT NULL, \
- created TIMESTAMP NOT NULL DEFAULT now()\
- )\
- ",
- "CREATE TABLE IF NOT EXISTS \
- channel_user (\
- id SERIAL PRIMARY KEY, \
- channel BIGINT NOT NULL REFERENCES channel (channel_id), \
- \"user\" BIGINT NOT NULL REFERENCES \"user\" (user_id), \
- total_messages BIGINT DEFAULT 1, \
- UNIQUE (channel, \"user\")\
- )\
- ",
- ]
- for query in queries:
- await pg.execute(query)
|