Как создать столбцы, подобные mysql тип данных в sequlize? - PullRequest
0 голосов
/ 22 апреля 2020

Я хочу создать два столбца, как показано ниже, с типом данных datetime и с теми же ограничениями, в sequelize. есть идеи?

CreatedTime datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
UpdatedTime datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

1 Ответ

0 голосов
/ 22 апреля 2020

Sequelize по умолчанию создает две отметки времени, а именно created_at и updated_at. Если вы хотите переименовать эти столбцы, вы можете переименовать их следующим образом -

sequelize.define('user', ..., {
  CreatedTime: 'created_at',
  UpdatedTime: 'updated_at',
});

Если вы не хотите использовать атрибуты по умолчанию, вы можете создать их вручную следующим образом -

const User = sequelize.define(
  'User',
  {
    id: {
      type: DataTypes.BIGINT,
      allowNull: false,
      primaryKey: true,
      autoIncrement: true,
      field: 'id'
    },
    createdAt: {
      type: DataTypes.DATE,
      allowNull: false,
      defaultValue: sequelize.literal('CURRENT_TIMESTAMP'),
      field: 'created_at'
    },
    updatedAt: {
      type: DataTypes.DATE,
      allowNull: false,
      defaultValue: sequelize.literal('CURRENT_TIMESTAMP'),
      onUpdate: sequelize.literal('CURRENT_TIMESTAMP'),
      field: 'updated_at'
    }
  },
  {
    tableName: 'user',
    timestamps: false
  }
);

Надеюсь, это поможет!

...