PCelia commited on
Commit
cd317bc
·
verified ·
1 Parent(s): 51f9963

Upload folder using huggingface_hub

Browse files
Files changed (1) hide show
  1. app/database.py +27 -20
app/database.py CHANGED
@@ -1,26 +1,33 @@
 
 
1
  from sqlalchemy import create_engine
2
  from sqlalchemy.orm import sessionmaker, declarative_base
3
- from dotenv import load_dotenv
4
- import os
5
 
6
- # Charger les variables du fichier .env
7
  load_dotenv()
8
 
9
- DB_USER = os.getenv("DB_USER")
10
- DB_PASSWORD = os.getenv("DB_PASSWORD")
11
- DB_HOST = os.getenv("DB_HOST")
12
- DB_PORT = os.getenv("DB_PORT")
13
- DB_NAME = os.getenv("DB_NAME")
14
-
15
- DATABASE_URL = f"postgresql+psycopg2://{DB_USER}:{DB_PASSWORD}@{DB_HOST}:{DB_PORT}/{DB_NAME}"
16
-
17
- # Use a fake SQLite DB during tests to avoid errors
18
- if os.getenv("ENV") == "test":
19
- DATABASE_URL = "sqlite:///./test.db"
20
-
21
-
22
- engine = create_engine(DATABASE_URL)
23
-
24
- SessionLocal = sessionmaker(bind=engine, autoflush=False, autocommit=False)
25
-
 
 
 
 
 
 
 
 
26
  Base = declarative_base()
 
1
+ import os
2
+ from dotenv import load_dotenv
3
  from sqlalchemy import create_engine
4
  from sqlalchemy.orm import sessionmaker, declarative_base
 
 
5
 
 
6
  load_dotenv()
7
 
8
+ # Detect HF Space or test environment
9
+ RUNNING_IN_HF = os.getenv("SPACE_ID") is not None
10
+ RUNNING_TESTS = os.getenv("ENV") == "test"
11
+
12
+ if RUNNING_IN_HF or RUNNING_TESTS:
13
+ # Use SQLite for HuggingFace and for tests
14
+ DATABASE_URL = "sqlite:///./futurisys.db"
15
+ else:
16
+ # Normal PostgreSQL configuration
17
+ DB_USER = os.getenv("DB_USER")
18
+ DB_PASSWORD = os.getenv("DB_PASSWORD")
19
+ DB_HOST = os.getenv("DB_HOST")
20
+ DB_PORT = os.getenv("DB_PORT")
21
+ DB_NAME = os.getenv("DB_NAME")
22
+
23
+ DATABASE_URL = (
24
+ f"postgresql://{DB_USER}:{DB_PASSWORD}@{DB_HOST}:{DB_PORT}/{DB_NAME}"
25
+ )
26
+
27
+ engine = create_engine(
28
+ DATABASE_URL,
29
+ connect_args={"check_same_thread": False} if DATABASE_URL.startswith("sqlite") else {}
30
+ )
31
+
32
+ SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
33
  Base = declarative_base()