sequelize-cli
npm install --save-dev sequelize-cli
npx sequelize-cli init
こうするとRubyのActiveRecord風にSequelize経由でdbを操作することができるようになる。また、init
で生成されたconfig/config.json
からdbへの接続情報を指定することになる。
config.json
{
"development": {
"username": "root",
"password": null,
"database": "database_development",
"host": "127.0.0.1",
"dialect": "postgres"
},
"test": {
"username": "root",
"password": null,
"database": "database_test",
"host": "127.0.0.1",
"dialect": "postgres"
},
"production": {
"username": "root",
"password": null,
"database": "database_production",
"host": "127.0.0.1",
"dialect": "postgres"
}
}
でも、jsonにパスワードなどを直接記入するのは避け、.env
を使いたいところ。
.sequelizerc
そこで.sequelizerc
の登場。
プロジェクトのルートで
touch .sequelizerc
.sequelizerc
const path = require('path');
module.exports = {
'config': path.resolve('./config', 'config.js'),
};
そして、先程のconfig.json
をconfig.js
にリネームし、内容を下記に書き換える。
config.js
module.exports = {
development: {
username: process.env.POSTGRES_USER,
password: process.env.POSTGRES_PASSWORD,
database: 'development',
host: '127.0.0.1',
dialect: 'postgres',
},
}
このようにすることで、sequelizeのconfigに環境変数が利用できるようになった。
参考
Sequlize公式ドキュメント