Необходимо изменить тип данных и значение по умолчанию столбца в MySql Db с использованием knex; Позднего типа данных был дату и нужно изменить, что для DATETIME, а также значения по умолчанию необходимо изменить с NULL к CURRENT_TIMESTAMPMy Sql Alter Table с использованием knex.js
MySql запросов для достижения соответствующего приводятся ниже
ALTER TABLE `Employees`
CHANGE COLUMN `added_date` `added_date` DATETIME DEFAULT CURRENT_TIMESTAMP ;
Я создал файл knex миграции для запуска вышеуказанных изменений:
Con палатка файла миграции приведена ниже:
exports.up = function(knex, Promise) {
return knex.schema.alterTable('Employee', function(t) {
t.dateTime('added_date').defaultTo(knex.fn.now());
});
} ;
exports.down = function(knex, Promise) {
return knex.schema.alterTable('Employee', function(t) {
t.date('added_date').nullable();
});
};
Но это всегда вызывает ошибку при построении. Который как
Knex: предупреждение - миграция произошла ошибка: ALTER TABLE Employee
добавить added_date
DATETIME по умолчанию CURRENT_TIMESTAMP - ER_DUP_FIELDNAME: Дублирование имя столбца 'added_date' ошибки в переносе последней версии Ошибка: ER_DUP_FIELDNAME: Дублирование имя столбца «added_date '
, пожалуйста, добавьте эту ошибку для справки. – davejal