web-dev-qa-db-ja.com

sequelize.jsのupdatedAt(更新日)フィールドを無効にする

sequelize-autoを使用してスキーマを生成し、findOne()を使用しようとすると、次のエラーが発生します。

_Unhandled rejection SequelizeDatabaseError: Invalid column name 'updatedAt'.
_

データベーステーブルにフィールドがありませんupdatedAt

たとえば、私のテーブル名はUsersです。私のコードはUsers.findOne()であり、updatedAtテーブルにはusersフィールドがありません。

_db.users= sequelize.import(__dirname + "/models/users");
app.get('/users', function (req, res) {

  db.user.findOne().then(function (project) {
    res.json(project);
  })

});
_

それを解決する方法?

15
yozawiratama

Sequelizeでのモデルの構成については ドキュメント を参照してください

テーブルのモデルオブジェクトは次のようになります。

var user = sequelize.define('user', { /* bla */ }, {
  // don't add the timestamp attributes (updatedAt, createdAt)
  timestamps: false,
  // your other configuration here
});

チェック sequelize-auto-generationの使用法 モジュール

  1. すべてのモデル構成オプション(定義されたフラグオブジェクト here )に対して1つのjsonファイルを作成します。

  2. コマンドを実行するときは、jsonファイル構成パスを渡す必要がある場合、-aまたは--addtionalオプションを渡す必要があります。

22
Haresh Vidja