shurshur, В слоёной можно спокойно заменить orm на любую другую, главное чтобы контракт домена сохранялся. Придётся миграцию провести, а тотальное переписывание будет связано лишь c моделью.
Да, я добавлю мидлу prisma для вставки в базу - чтобы писать логи в таблицу, но ровно тоже самое можно сделать обычным sql или другой orm, так что я не жёстко привязан к ней.
Например у пользователя может быть множество товаров, нужно определить состояние определённого товара для определённой записи пользователя.
- Реальный сценарий?
Akina, Первое решение хорошо звучит, только эти копии очень много диска будут занимать.
- Есть ли способ сэкономить место с этим подходом?
Триггеры для записи в таблицу аудита, меньше места но чуть сложнее извлечение, с другой стороны обращаться к ней реже будут.
- При условии что аудит хранит лишь изменённые поля.
Кажется если учесть производительность в уравнении, копия таблицы с историей лучший вариант.
Я в этом не разбираюсь, могу лишь указать на способ достижения цели:
Если раньше работало: вычти из текущего то, что было раньше и получишь разницу в которой спряталась проблема.
Например: версию kubernetes, провайдера домена, регион хоста и т.д, и т.п.
shurshur, Весьма логично провести миграцию на современную бд (postgres), это ничем не отличается от "поставить другую базу".
- Трудозатрат не так уж и много, при условии что реализация ограничивается стандартным sql.
остался всего один разраб, который по уши занят поддержкой
на старом .net примерно 15 лет назад
- Но есть нюансы, которые выяснились лишь после ответа, ведь давать полную информацию не модно.
Действительно, перед тем как покупать новый монитор нужно убедиться что проблема не в:
1. Кабеле
2. Разъёме ноутбука
3. Разъёме монитора
Кабель проверяется заменой.
Разъём ноутбука проверяется новым кабелем и ещё одним устройством для подключения hdmi. (телик в вашем случае)
Разъём монитора так-же как разъём ноутбука.
shurshur, Мочь и хотеть разные вещи. Если уже понадобилась человеческая репликация, почему не провести миграцию? На тот-же вами предложенный MS SQL Server.
Гуглинг репликации для express дал ответы за 2006 год, до ответа смотрел.
- И если эта проблема до сих пор не решилась в этом инструменте, маловероятно найти что-то кроме костылей, например тот что вы предложили.
shurshur, Зачем тыкать копьём в дохлого мамонта? Никто не говорит переписывать всё приложение, лишь работу с базой. Кто, что и на чём писал - автор не удосужился нас посветить, соответственно предположить что там 3 строки кода для вставки в базу равносильно предположению о монолите из говна и палок 30-ти летней давности.
Да, я добавлю мидлу prisma для вставки в базу - чтобы писать логи в таблицу, но ровно тоже самое можно сделать обычным sql или другой orm, так что я не жёстко привязан к ней.