diff --git a/migrations/20220914123743-create-record-history.js b/migrations/20220914123743-create-record-history.js new file mode 100644 index 0000000..371fd10 --- /dev/null +++ b/migrations/20220914123743-create-record-history.js @@ -0,0 +1,42 @@ +'use strict'; +module.exports = { + async up(queryInterface, Sequelize) { + await queryInterface.createTable('RecordHistories', { + id: { + allowNull: false, + autoIncrement: true, + primaryKey: true, + type: Sequelize.INTEGER + }, + affectedId: { + type: Sequelize.INTEGER + }, + userId: { + type: Sequelize.INTEGER + }, + type: { + type: Sequelize.STRING + }, + property: { + type: Sequelize.STRING + }, + newValue: { + type: Sequelize.TEXT + }, + oldValue: { + type: Sequelize.TEXT + }, + createdAt: { + allowNull: false, + type: Sequelize.DATE + }, + updatedAt: { + allowNull: false, + type: Sequelize.DATE + } + }); + }, + async down(queryInterface, Sequelize) { + await queryInterface.dropTable('RecordHistories'); + } +}; \ No newline at end of file diff --git a/models/recordhistory.js b/models/recordhistory.js new file mode 100644 index 0000000..3fc773c --- /dev/null +++ b/models/recordhistory.js @@ -0,0 +1,28 @@ +'use strict'; +const { + Model +} = require('sequelize'); +module.exports = (sequelize, DataTypes) => { + class RecordHistory extends Model { + /** + * Helper method for defining associations. + * This method is not a part of Sequelize lifecycle. + * The `models/index` file will call this method automatically. + */ + static associate(models) { + // define association here + } + } + RecordHistory.init({ + affectedId: DataTypes.INTEGER, + userId: DataTypes.INTEGER, + type: DataTypes.STRING, + property: DataTypes.STRING, + newValue: DataTypes.TEXT, + oldValue: DataTypes.TEXT + }, { + sequelize, + modelName: 'RecordHistory', + }); + return RecordHistory; +}; \ No newline at end of file