This repository has been archived on 2022-10-22. You can view files and clone it, but cannot push or open issues or pull requests.
it-volunteers-for-peace/db/migrations/init_tables.py
2022-10-14 18:05:04 +03:00

41 lines
998 B
Python

import asyncio
import asyncpg
import os
from asyncpg.connection import Connection
async def init_tables(connection: Connection):
init_users_query = """
CREATE TABLE users ( \
user_id bigint PRIMARY KEY, \
is_admin boolean DEFAULT FALSE \
);
"""
await connection.execute(init_users_query)
init_projects_query = """
CREATE TABLE projects (
id SERIAL PRIMARY KEY, \
name varchar(50), \
description varchar(1000), \
creator bigint REFERENCES users, \
contributors smallint DEFAULT 1, \
status bit(1) DEFAULT B'1', \
tag varchar(100), \
category varchar(20), \
creation_date date DEFAULT CURRENT_DATE \
);
"""
await connection.execute(init_projects_query)
async def main():
DB_URL = os.getenv("DB_URL")
connection = await asyncpg.connect(DB_URL)
await init_tables(connection)
await connection.close()
if __name__ == '__main__':
asyncio.run(main())