Docfile commited on
Commit
63fb4eb
·
verified ·
1 Parent(s): 5487fbb

Update config/config.py

Browse files
Files changed (1) hide show
  1. config/config.py +18 -8
config/config.py CHANGED
@@ -4,10 +4,20 @@ from datetime import timedelta
4
 
5
  class Config:
6
  SECRET_KEY = os.environ.get("SECRET_KEY") or "dev-secret-key-change-in-production"
7
- SQLALCHEMY_DATABASE_URI = (
8
- os.environ.get("DATABASE_URL") or "sqlite:///metals_investment.db"
 
 
 
9
  )
10
  SQLALCHEMY_TRACK_MODIFICATIONS = False
 
 
 
 
 
 
 
11
  PERMANENT_SESSION_LIFETIME = timedelta(days=7)
12
  BASE_URL = os.environ.get("BASE_URL", "http://localhost:5000")
13
 
@@ -34,7 +44,6 @@ class Config:
34
  LYGOS_CREATE_GATEWAY_URL = "https://api.lygosapp.com/v1/gateway"
35
  LYGOS_GET_PAYIN_STATUS_URL = "https://api.lygosapp.com/v1/gateway/payin/"
36
  LYGOS_SHOP_NAME = "Apex OresClone"
37
-
38
  LYGOS_COUNTRIES = {
39
  "+228": "Togo",
40
  "+229": "Bénin",
@@ -50,18 +59,19 @@ class Config:
50
 
51
  class DevelopmentConfig(Config):
52
  DEBUG = True
53
- SQLALCHEMY_DATABASE_URI = "sqlite:///dev_metals_investment.db"
54
 
55
 
56
  class ProductionConfig(Config):
57
  DEBUG = False
58
- SQLALCHEMY_DATABASE_URI = (
59
- os.environ.get("DATABASE_URL") or "sqlite:///metals_investment.db"
60
- )
 
 
61
 
62
 
63
  config = {
64
  "development": DevelopmentConfig,
65
  "production": ProductionConfig,
66
  "default": DevelopmentConfig,
67
- }
 
4
 
5
  class Config:
6
  SECRET_KEY = os.environ.get("SECRET_KEY") or "dev-secret-key-change-in-production"
7
+
8
+ # PostgreSQL Configuration
9
+ SQLALCHEMY_DATABASE_URI = os.environ.get(
10
+ "DATABASE_URL",
11
+ "postgresql://neondb_owner:npg_2ew9miZStgCn@ep-falling-union-ahdrk8h5-pooler.c-3.us-east-1.aws.neon.tech/neondb?sslmode=require&channel_binding=require"
12
  )
13
  SQLALCHEMY_TRACK_MODIFICATIONS = False
14
+ SQLALCHEMY_ENGINE_OPTIONS = {
15
+ "pool_pre_ping": True, # Vérifier la connexion avant utilisation
16
+ "pool_recycle": 300, # Recycler les connexions après 5 minutes
17
+ "pool_size": 10, # Nombre de connexions dans le pool
18
+ "max_overflow": 20, # Connexions supplémentaires autorisées
19
+ }
20
+
21
  PERMANENT_SESSION_LIFETIME = timedelta(days=7)
22
  BASE_URL = os.environ.get("BASE_URL", "http://localhost:5000")
23
 
 
44
  LYGOS_CREATE_GATEWAY_URL = "https://api.lygosapp.com/v1/gateway"
45
  LYGOS_GET_PAYIN_STATUS_URL = "https://api.lygosapp.com/v1/gateway/payin/"
46
  LYGOS_SHOP_NAME = "Apex OresClone"
 
47
  LYGOS_COUNTRIES = {
48
  "+228": "Togo",
49
  "+229": "Bénin",
 
59
 
60
  class DevelopmentConfig(Config):
61
  DEBUG = True
 
62
 
63
 
64
  class ProductionConfig(Config):
65
  DEBUG = False
66
+ # En production, forcer l'utilisation de la variable d'environnement
67
+ SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL")
68
+
69
+ if not SQLALCHEMY_DATABASE_URI:
70
+ raise ValueError("DATABASE_URL must be set in production")
71
 
72
 
73
  config = {
74
  "development": DevelopmentConfig,
75
  "production": ProductionConfig,
76
  "default": DevelopmentConfig,
77
+ }