Initializing hub database

This commit is contained in:
2025-04-02 23:53:31 +02:00
parent c03c0ae3e5
commit a0f2284efa
3 changed files with 18 additions and 9 deletions

View File

@@ -1,13 +1,19 @@
import os
import motor.motor_asyncio
from beanie import Document
from fastapi_users.db import BaseOAuthAccount, BeanieBaseUser, BeanieUserDatabase
from pydantic import Field
from beanie import init_beanie
from motor.motor_asyncio import AsyncIOMotorClient
DATABASE_URL = "mongodb://localhost:27017"
client = motor.motor_asyncio.AsyncIOMotorClient(
DATABASE_URL, uuidRepresentation="standard"
)
db = client["database_name"]
from hub.user import User
from hub.auth import AccessToken
MONGO_USERNAME = os.getenv("MONGO_INITDB_ROOT_USERNAME")
MONGO_PASSWORD = os.getenv("MONGO_INITDB_ROOT_PASSWORD")
DATABASE_URL = f"mongodb://{MONGO_USERNAME}:{MONGO_PASSWORD}@mongo:27017"
async def init_db():
client = AsyncIOMotorClient(DATABASE_URL, uuidRepresentation="standard")
await init_beanie(database=client.hub,
document_models=[User, AccessToken],
allow_index_dropping=True)

View File

@@ -2,6 +2,7 @@ from contextlib import asynccontextmanager
from fastapi import FastAPI
from hub import init_db as hub_init_db
from hub.auth import oauth_router
if __name__ == '__main__':
@@ -11,6 +12,7 @@ if __name__ == '__main__':
@asynccontextmanager
async def lifespan(app: FastAPI):
await hub_init_db()
# create_db_and_tables()
# create_admin_user()
yield