configure db

This commit is contained in:
Ryan Burnette 2019-04-10 14:11:38 +00:00
parent 1e6c35151f
commit e41de293d4
2 changed files with 39 additions and 12 deletions

View File

@ -47,10 +47,38 @@ function approveDomains() {
// TODO // TODO
``` ```
## Set Options ## Sequelize Options
You can send in options that set which database connector to use, as well as a Without `config.dbOptions`, the baked-in sequelize object uses sqlite3 with
table prefix. default options. If `config.dbOptions` is provided, you can configure the
database connection per the Sequelize documentation.
```javascript
var store = require('le-store-sequelize')({
dbConfig: {
username: 'mysqluser',
password: 'mysqlpassword',
database: 'mysqldatabase,
host: '127.0.0.1',
dialect: 'mysql'
}
});
greenlock.create({
store
...
});
```
The database can also be configured using an env variable.
```javascript
var store = require('le-store-sequelize')({
dbConfig: {
use_env_variable: 'DB_URL'
}
});
```
## Provide Your Own Database Object ## Provide Your Own Database Object

View File

@ -20,18 +20,17 @@ module.exports = function (config) {
if (config.use_env_variable) { if (config.use_env_variable) {
db.sequelize = new db.Sequelize(process.env[config.use_env_variable], config); db.sequelize = new db.Sequelize(process.env[config.use_env_variable], config);
} else { }
else {
db.sequelize = new db.Sequelize(config.database, config.username, config.password, config); db.sequelize = new db.Sequelize(config.database, config.username, config.password, config);
} }
fs.readdirSync(__dirname) fs.readdirSync(__dirname).filter(function (file) {
.filter(function (file) { return ('.' !== file[0]) && (file !== basename) && (file.slice(-3) === '.js');
return ('.' !== file[0]) && (file !== basename) && (file.slice(-3) === '.js'); }).forEach(function (file) {
}) var model = db.sequelize['import'](path.join(__dirname, file));
.forEach(function (file) { db[model.name] = model;
var model = db.sequelize['import'](path.join(__dirname, file)); });
db[model.name] = model;
});
Object.keys(db).forEach(function (modelName) { Object.keys(db).forEach(function (modelName) {
if (db[modelName].associate) { if (db[modelName].associate) {