Я пытаюсь написать свой собственный метод временных меток, который запускается во время миграции. Тот, который сейчас есть, добавляет к полю ограничение NOT_NULL, а я действительно этого не хочу.
У меня проблема в том, что у меня есть база данных с несколькими схемами. Где каждый крупный клиент получает свою собственную схему. Когда мы подключаем нового клиента, мы создаем новую запись арендатора, а затем запускаем миграцию для новой схемы.
Новая схема должна быть точной копией таблиц в других схемах, за исключением, конечно, отсутствия данных.
Последняя миграция, которую я выполнил, использовала более старую версию рельсов. Все еще в 3-х, но чуть старше. Когда он создал временные метки, они были равны NULL. Когда я на днях запустил миграцию (на новых рельсах)... Ну, все поля теперь NOT_NULL
У меня есть код, который был разработан с идеей, что updated_at заполняется только при обновлении записи... а не при ее создании. (сторонние приложения и "функции" базы данных создают записи). Сторонние приложения и функции базы данных, которые создают записи, падают на новую схему... Я вошел и удалил все ограничения NOT_NULL для всех таблиц. вручную, но я не хочу писать очистку прямо в мою задачу миграции, чтобы все будущие таблицы были исправлены.
Я решил, что лучше всего будет переопределить метод временных меток, который был изменен, и вернуться к тому, который не нарушал существующий код.
Итак, есть причина, по которой мне нужно отменить/переопределить..
Теперь у меня вопрос... Как мне переопределить метод. Я не вижу к нему четкого пути к классу, и я не совсем уверен, как его переопределить.