sequelizeを外部ファイルconfig.jsonを使用し接続の仕方
外部ファイルで設定を記入する理由
gitでプロジェクトを管理をするため.gitignoreで設定ファイルを第3者から見えなくするため
.gitignoreの概要
.gitignoreは、Gitでコード管理したくないファイルやディレクトリを指定するためのファイルです。".gitignore"という名前の特殊なファイルであり、隠しファイルとして存在します。このファイルに指定したファイルやディレクトリは、Gitのトラッキングの対象外となります。つまり、Gitで管理しているディレクトリにあっても無視されます。
.gitignoreファイルを使うことで、個人のPC環境に依存するファイルやパスワード関連の重要なファイルなどをGitのリモートレポジトリにプッシュしないようにすることができます。また、不要なデータがプッシュされないため、第三者がコードを見る際に確認しやすくなります。さらに、公開したくない情報をGitの管理対象外とすることでセキュリティ面を向上させることもできます
config.jsonファイルの記述
config.jsonファイルを作成し、接続情報を記述します
{
"development": {
"username": "your_username", //データベースを操作するユーザ名
"password": "your_password", //ユーザのパスワード
"database": "your_database", //データベースの名前
"host": "localhost",
"dialect": "mariadb"//操作するソフトウェア名
},
"production": {
"username": "your_username",
"password": "your_password",
"database": "your_database",
"host": "localhost",
"dialect": "mariadb"
}
}
DBUnit.jsの接続テストの記述
config.jsonファイルをconfigとしてインポートし、env変数を使用して環境に応じた設定を取得しています。 envConfigオブジェクトには、対応する環境の設定が格納されます。
sequelizeのインスタンスを作成する際には、envConfigから必要な設定を取得して使用します。
このようにすることで、config.jsonファイルから接続情報を読み込んでMariaDBに接続することができます。
const { Sequelize } = require('sequelize');
const config = require('./config.json');
// 環境に応じた設定を取得します(ここではdevelopmentを使用しています)
const env = process.env.NODE_ENV || 'development';
const envConfig = config[env];
// Sequelizeのインスタンスを作成して、接続情報を設定します
const sequelize = new Sequelize(envConfig.database, envConfig.username, envConfig.password, {
host: envConfig.host,
dialect: envConfig.dialect,
logging: false, // ログを表示したくない場合は、falseに設定します
});
// モデルの定義など、データベース操作を行います
// 非同期処理をasync / await で実行する
async function connectToDatabase(){
try {
// データベースに接続します
await sequelize.authenticate();
console.log('MariaDBに正常に接続されました。');
}
.catch((error) => {
console.error('MariaDBへの接続中にエラーが発生しました:', error);
}
}
// 関数を呼び出してデータベースに接続する。
connectToDatabase();