Как указать регистр имен столбцов в миграциях TypeORM - PullRequest
0 голосов
/ 22 октября 2018

Я использую typeORM, и я хочу использовать миграции вместо синхронизации, потому что я работаю в команде, и на самом деле это очень утомительная работа, чтобы привести db в состояние, в котором приложение фактически функционирует.

Проблема в том, что каждое имя столбца, которое я указываю в миграции, преобразуется в нижний регистр, который я обошел, делая все сущности реквизитами snake_case (что ужасно, кстати).Но внешние ключи по умолчанию (я думаю) postgres преобразуются в camelCase, поэтому я не могу связать что-либо друг с другом по внешнему ключу в моей миграции.(потому что это должен быть camelCase, но запрос преобразуется в нижний регистр)

Я ясно дал понять, в чем заключается моя проблема?

Есть ли способ решить эту проблему или есть обходной путь?

1 Ответ

0 голосов
/ 25 октября 2018

В postgresql имена столбцов и таблиц автоматически преобразуются в нижний регистр, если вы не включите их в двойные кавычки:

columnName becomes columnname
"columnName" remains as columnName

См. https://www.postgresql.org/docs/current/static/sql-syntax-lexical.html - "При цитировании идентификатора также возникает регистрчувствительны, тогда как имена без кавычек всегда складываются в нижний регистр. "

Таким образом, вы должны писать миграции как, например,

ALTER TABLE "tableName" ADD COLUMN "columnName" character varying ...

и запрашивать аналогично.

...