1
1
const { Sequelize } = require ( 'sequelize' ) ;
2
2
const fs = require ( 'node:fs' ) ;
3
- const path = require ( 'node:path' ) ;
4
3
5
- const database = fs . readFileSync ( "/mnt/secrets-store/database" , 'utf8' )
6
- const username = fs . readFileSync ( "/mnt/secrets-store/username" , 'utf8' )
7
- const password = fs . readFileSync ( "/mnt/secrets-store/password" , 'utf8' )
8
- const host = fs . readFileSync ( "/mnt/secrets-store/host" , 'utf8' )
4
+ require ( 'dotenv' ) . config ( ) ;
5
+ let usePostgres = true ;
6
+ let database ;
7
+ let username ;
8
+ let password ;
9
+ let host ;
10
+ let sequelize ;
11
+ let config ;
9
12
10
- const sequelize = new Sequelize ( database , username , password , {
11
- host : host ,
12
- dialect : 'postgres' ,
13
- dialectOptions : {
13
+ if ( process . env . NODE_ENV === 'production' ) {
14
+ database = fs . readFileSync ( "/mnt/secrets-store/database" , 'utf8' )
15
+ username = fs . readFileSync ( "/mnt/secrets-store/username" , 'utf8' )
16
+ password = fs . readFileSync ( "/mnt/secrets-store/password" , 'utf8' )
17
+ host = fs . readFileSync ( "/mnt/secrets-store/host" , 'utf8' )
18
+ config = {
19
+ host : process . env . host ,
20
+ dialect : 'sqlite' ,
21
+ logging : false ,
22
+ storage : 'database.sqlite' ,
23
+ }
24
+ sequelize = new Sequelize ( database , username , password , config ) ;
25
+ } else if ( usePostgres ) {
26
+ const databaseUrl = process . env . databaseUrl
27
+ const config = {
28
+ dialect : 'postgres' ,
14
29
ssl : {
15
- require : true ,
16
- rejectUnauthorized : false // This is necessary for Azure
30
+ rejectUnauthorized : false ,
31
+ require : true ,
17
32
}
18
33
}
19
- } ) ;
20
-
34
+ sequelize = new Sequelize ( databaseUrl , config )
35
+ } else {
36
+ database = process . env . database
37
+ username = process . env . username
38
+ password = process . env . password
39
+ config = {
40
+ host : process . env . host ,
41
+ dialect : 'sqlite' ,
42
+ logging : false ,
43
+ storage : 'database.sqlite' ,
44
+ }
45
+ sequelize = new Sequelize ( database , username , password , config ) ;
46
+ }
47
+
48
+
21
49
// Test the connection
22
50
sequelize . authenticate ( )
23
51
. then ( ( ) => {
@@ -27,7 +55,7 @@ sequelize.authenticate()
27
55
console . error ( 'Unable to connect to the database:' , err ) ;
28
56
} ) ;
29
57
30
-
58
+
31
59
const EventsTable = require ( './models/events.js' ) ( sequelize , Sequelize . DataTypes ) ;
32
60
const UsersTable = require ( './models/users.js' ) ( sequelize , Sequelize . DataTypes ) ;
33
61
const BikesTable = require ( './models/bikes.js' ) ( sequelize , Sequelize . DataTypes ) ;
0 commit comments