octavian7 commited on
Commit
3ad0307
·
verified ·
1 Parent(s): c39b3c2

Update database.py

Browse files
Files changed (1) hide show
  1. database.py +43 -46
database.py CHANGED
@@ -1,46 +1,43 @@
1
- import motor.motor_asyncio
2
- import os
3
- import logging
4
- from dotenv import load_dotenv
5
-
6
- load_dotenv()
7
-
8
- logging.basicConfig(level=logging.INFO)
9
- logger = logging.getLogger(__name__)
10
-
11
- MONGO_URI = os.getenv("MONGO_URI")
12
- if not MONGO_URI:
13
- raise ValueError("MONGO_URI is not set")
14
-
15
- logger.info("Connecting to MongoDB")
16
-
17
- client = None
18
- db = None
19
- users_collection = None
20
-
21
- async def get_database():
22
- global client, db, users_collection
23
-
24
- if client is None:
25
- try:
26
- logger.info("Connecting to MongoDB")
27
- client = motor.motor_asyncio.AsyncIOMotorClient(MONGO_URI)
28
- db = client["fastapi_db"]
29
- users_collection = db["users"]
30
- logger.info("Successfully connected to MongoDB")
31
- except Exception as e:
32
- logger.error(f"MongoDB connection failed: {e}")
33
- raise
34
-
35
- return db
36
-
37
- async def get_users_collection():
38
- await get_database()
39
- return users_collection
40
-
41
- async def close_database():
42
- global client
43
- if client:
44
- logger.info("Closing MongoDB connection")
45
- client.close()
46
- client = None
 
1
+ import motor.motor_asyncio
2
+ import os
3
+ import logging
4
+
5
+ logging.basicConfig(level=logging.INFO)
6
+ logger = logging.getLogger(__name__)
7
+
8
+ MONGO_URI = os.getenv("MONGO_URI")
9
+ if not MONGO_URI:
10
+ raise ValueError("MONGO_URI is not set")
11
+
12
+ logger.info("Connecting to MongoDB")
13
+
14
+ client = None
15
+ db = None
16
+ users_collection = None
17
+
18
+ async def get_database():
19
+ global client, db, users_collection
20
+
21
+ if client is None:
22
+ try:
23
+ logger.info("Connecting to MongoDB")
24
+ client = motor.motor_asyncio.AsyncIOMotorClient(MONGO_URI)
25
+ db = client["fastapi_db"]
26
+ users_collection = db["users"]
27
+ logger.info("Successfully connected to MongoDB")
28
+ except Exception as e:
29
+ logger.error(f"MongoDB connection failed: {e}")
30
+ raise
31
+
32
+ return db
33
+
34
+ async def get_users_collection():
35
+ await get_database()
36
+ return users_collection
37
+
38
+ async def close_database():
39
+ global client
40
+ if client:
41
+ logger.info("Closing MongoDB connection")
42
+ client.close()
43
+ client = None