kocraft-backend/Craft/database/sqlite/__init__.py

37 lines
1003 B
Python
Raw Normal View History

2024-07-15 08:47:42 +00:00
import os
import aiosqlite
from dotenv import find_dotenv, load_dotenv
load_dotenv(find_dotenv())
class Sqlite:
def __init__(self):
self.db_path = os.getenv("SQLITE_PATH")
async def __aenter__(self):
self.conn = await aiosqlite.connect(self.db_path)
return await self.conn.cursor()
async def __aexit__(self, exc_type, exc, tb):
await self.conn.commit()
await self.conn.close()
async def init_database(self):
async with self as cursor:
await cursor.execute(
"""CREATE TABLE IF NOT EXISTS Craft (
key1 VARCHAR(255),
key2 VARCHAR(255),
value_emoji VARCHAR(255),
value_word VARCHAR(255),
used_count INTEGER,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (key1, key2)
)"""
)
await self.conn.commit()