Здесь я работаю над Node.js с Mysql и Sequelize для миграции, на ранней стадии моего проекта я создал все таблицы с create_at , updated_at тип данных как Sequelize.DATE и defaultValue как Sequelize.fn ('now') без указания Sequelize.literal ('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP') , как упоминалось ниже
created_at: {
type: Sequelize.DATE,
defaultValue: Sequelize.fn('now')
},
updated_at: {
type: Sequelize.DATE,
defaultValue: Sequelize.fn('now')
}
, затем через некоторое время я обнаружил, что моя отметка времени updated_at не обновляется автоматически во время запросов на обновление. Моя база данных содержит более 50 таблиц, поэтому я не могу выполнить операцию изменения вручную для всех столбцов updated_at во всех средах. так что есть способ создать один файл миграции с помощью sequelize и выполнить один и тот же следующий запрос ко всем таблицам в базе данных или любым другим способом упростить мою работу
up: (queryInterface, Sequelize) => {
return queryInterface.changeColumn('table_name', 'updated_at', {
type: 'TIMESTAMP',
defaultValue: Sequelize.literal('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'),
})},