SequelizeとSQLiteを使用したデータベース操作の例


  1. パッケージのインストール: まず、プロジェクトディレクトリで以下のコマンドを使用して、必要なパッケージをインストールします。
npm install sequelize sqlite3
  1. データベースの接続: 以下のコード例は、Sequelizeを使用してSQLiteデータベースに接続する方法を示しています。
const { Sequelize } = require('sequelize');
const sequelize = new Sequelize({
  dialect: 'sqlite',
  storage: 'path/to/database.sqlite' // データベースファイルのパス
});
  1. モデルの定義と同期: 次に、モデルを定義し、データベースと同期します。以下のコード例は、"User"モデルを作成し、データベースと同期する方法を示しています。
const { DataTypes } = require('sequelize');
const User = sequelize.define('User', {
  name: {
    type: DataTypes.STRING,
    allowNull: false
  },
  age: {
    type: DataTypes.INTEGER,
    allowNull: false
  }
});
(async () => {
  await sequelize.sync({ force: true }); // データベースとモデルの同期
  console.log('モデルとデータベースが同期されました。');
})();
  1. データの作成、読み取り、更新、削除: 以下のコード例は、データの作成、読み取り、更新、削除の方法を示しています。
// データの作成
const createUser = async (name, age) => {
  try {
    const user = await User.create({ name, age });
    console.log('ユーザーが作成されました:', user.toJSON());
  } catch (error) {
    console.error('ユーザー作成エラー:', error);
  }
};
// データの読み取り
const getUsers = async () => {
  try {
    const users = await User.findAll();
    console.log('ユーザーリスト:', users.map(user => user.toJSON()));
  } catch (error) {
    console.error('ユーザー読み取りエラー:', error);
  }
};
// データの更新
const updateUser = async (id, data) => {
  try {
    await User.update(data, { where: { id } });
    console.log('ユーザーが更新されました。');
  } catch (error) {
    console.error('ユーザー更新エラー:', error);
  }
};
// データの削除
const deleteUser = async (id) => {
  try {
    await User.destroy({ where: { id } });
    console.log('ユーザーが削除されました。');
  } catch (error) {
    console.error('ユーザー削除エラー:', error);
  }
};
// 使用例
createUser('John Doe', 25);
getUsers();
updateUser(1, { age: 26 });
deleteUser(1);

これらのコード例を使用することで、SequelizeとSQLiteを組み合わせてデータベースを操作することができます。適切なエラーハンドリングを行いながら、データの作成、読み取り、更新、削除を行うことができます。