Size: a a a

2021 March 16

V

V in pro.elixir
> Он не для экономии а для констрейнтов

Почему он не для экономии, если на деле экономит?
И чем тогда экономить, если не enum-ом?
источник

P

Pavel in pro.elixir
V
> Он не для экономии а для констрейнтов

Почему он не для экономии, если на деле экономит?
И чем тогда экономить, если не enum-ом?
Экономия тут - это побочный эффект. Вы экономите на спичках. Человек спросил про один статус чего-то. У меня есть куча примеров где люди работают уже 8 год на рынке и у них статусы везде строками. Не ощущают беды
источник

V

V in pro.elixir
То есть на вопрос "как экономить" пришли к ответу "не экономьте". Ок
источник

AN

Alexey Novoselov in pro.elixir
Ivan Ananev
так и стрингу ж тоже придется чистить
ее через update можно почистить, это сильно дешевле, особенно если все равно не используются строки
источник

P

Pavel in pro.elixir
Bogdan
Есть 5 статусов заказа. Как правильнее делать, отдельную табличку и ключами добавить или явно прописать название статуса в колонке?
Вот оригинальный вопрос
источник

P

Pavel in pro.elixir
V
То есть на вопрос "как экономить" пришли к ответу "не экономьте". Ок
Вы троллите или как?
источник

IA

Ivan Ananev in pro.elixir
Alexey Novoselov
ее через update можно почистить, это сильно дешевле, особенно если все равно не используются строки
так и c enum так же
источник

V

V in pro.elixir
Pavel
Вы троллите или как?
Я видел выше ваш совет про битфлаги. Можно, да. Но последнем сообщении вы ответили именно что экономия не нужна.
источник

P

Pavel in pro.elixir
У человека 5 статусов, а вы уже почти ему продали колоночную БД потому, что когда он будет размером с Фейсбук, то он страдать начнёт
источник

P

Pavel in pro.elixir
V
Я видел выше ваш совет про битфлаги. Можно, да. Но последнем сообщении вы ответили именно что экономия не нужна.
Экономия не нужна, это преждевременная оптимизация. Особенно если у вас 5 статусов у платежей и все
источник

P

Pavel in pro.elixir
Легче оставить код читабельнее и поставить тазик для данных побольше
источник

P

Pavel in pro.elixir
Программисты стоят дороже ежемесячно, чем тазик побольше
источник

IA

Ivan Ananev in pro.elixir
Pavel
Программисты стоят дороже ежемесячно, чем тазик побольше
enum не усложняет читабельность же..
источник

P

Pavel in pro.elixir
Ivan Ananev
enum не усложняет читабельность же..
Enum в бд усложняет maintainability
источник

P

Pavel in pro.elixir
На каждый новый статус у тебя будет миграция
источник

AN

Alexey Novoselov in pro.elixir
Ivan Ananev
так и c enum так же
из pg_enum нельзя удалить значение, не создав новый enum, а это 100% переписывание всей таблицы
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Делайте как в рельсе пока не получите пизды на проде
источник

SM

Sergei Maximov in pro.elixir
Ihor Katkov
У тебя два с половиной варианта:
- Сделать enum в postgres
- Сделать enum с валидацией на стороне changeset

Мне нравится второй вариант, так как если добавится ещё один статус тебе не нужно будет писать сложную миграцию

К тому же, там наверняка state machine на этих статусах
В новом постгресе up-миграция уже не сложная
источник

SM

Sergei Maximov in pro.elixir
Максим Барулин
А потом ушёл, пришёл кто-то другой и спать перестал в поисках этих проверок...
Уж лучше от этого не спать, чем от неконсистентных данных в БД
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Sergei Maximov
Уж лучше от этого не спать, чем от неконсистентных данных в БД
Ценность консистентности данных сильно преувеличена
источник