Обновить

Комментарии 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...

Вообще никто ничего не прячет и вообще ни одной абстракции.
Вообще никто ничего не прячет и вообще ни одной абстракции.


Да, совсем совсем это 1 в 1 sql, прямо таки не отличить
Да, совсем совсем это 1 в 1 sql, прямо таки не отличить
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации