まず、Sequelizeをインストールし、必要なデータベースドライバーをセットアップします。例えば、MySQLデータベースを使用する場合は、以下のようにパッケージをインストールします。
npm install sequelize mysql2
次に、Sequelizeの初期化とデータベースへの接続を行います。以下のようなコード例を参考にしてください。
const { Sequelize } = require('sequelize');
// Sequelizeのインスタンスを作成し、データベースへの接続を確立する
const sequelize = new Sequelize('database', 'username', 'password', {
host: 'localhost',
dialect: 'mysql', // 使用するデータベースの種類
});
// モデルの定義
const User = sequelize.define('User', {
name: {
type: Sequelize.STRING,
allowNull: false,
},
email: {
type: Sequelize.STRING,
allowNull: false,
unique: true,
},
});
// トランザクションを使用してデータベースの操作を行う
sequelize.transaction(async (transaction) => {
try {
// トランザクション内での操作
await User.create({ name: 'John Doe', email: '[email protected]' }, { transaction });
await User.update({ name: 'Jane Smith' }, { where: { id: 1 } }, { transaction });
// コミット
await transaction.commit();
console.log('Transaction committed.');
} catch (error) {
// ロールバック
await transaction.rollback();
console.error('Transaction rolled back:', error);
}
});
上記のコードでは、Sequelizeのtransaction
メソッドを使用してトランザクションを作成し、その中でデータベースの操作を行っています。transaction
メソッドはコールバック関数を受け取り、その中でトランザクション内で行いたいデータベースの操作を記述します。操作が正常に完了した場合はcommit
メソッドでトランザクションを確定し、エラーが発生した場合はrollback
メソッドでトランザクションを取り消します。
以上が、Sequelizeを使用して他のデータベースでトランザクションを行う方法の概要です。詳細な使用方法や他のオプションについては、Sequelizeの公式ドキュメントを参照してください。