Комментарии 3
У drizzle плохо сделаны миграции, не возможно указать например timestamp или что-то кастомное, из-за чего при работе в команде возникают проблемы конфликты и одинаковые версии, но с разным sql кодом. И Kysely.js будет быстрее.
Это правда. Используем drizzle, столкнулись с этим разок, когда при мерже в _journal.json возник конфликт.
Версия в ветке А:
{
"version": "7",
"dialect": "postgresql",
"entries": [
{
"idx": 0,
"version": "7",
"when": 1753399668849,
"tag": "0000_something",
"breakpoints": true
}, // общая миграция
{
"idx": 1,
"version": "7",
"when": 1753400000001,
"tag": "0001_new_from_A",
"breakpoints": true
}, // новая конфликтующая
]
}Версия в ветке B
{
"version": "7",
"dialect": "postgresql",
"entries": [
{
"idx": 0,
"version": "7",
"when": 1753399668849,
"tag": "0000_something",
"breakpoints": true
}, // общая миграция
{
"idx": 1,
"version": "7",
"when": 1753400000002,
"tag": "0001_new_from_B",
"breakpoints": true
}, // новая конфликтующая
]
}И IDE предложила просто поменять значения полей, а надо было добавить в журнал новый объект. Невнимательно апрувнули разрешение конфликта и потом удивлялись, почему на деплое миграции не сработали =D
Извлеченный урок - надо держать в курсе друг друга о миграциях, благо они происходят редко.
А если не секрет, что у вас там за проект, в котором часто много людей накатывают миграции?
Если вы устали от сложных ORM, которые прячут SQL за слоями абстракций, то вам стоит обратить внимание на Drizzle.
A few moments later...



Упрощаем работу с БД с помощью Drizzle ORM — как выжать максимум из инструмента