Size: a a a

Python — вакансии и аналитика

2020 June 11

VA

Vitality Androsenko in Python — вакансии и аналитика
Пассив делейт немного не про это.
источник

VA

Vitality Androsenko in Python — вакансии и аналитика
Michael V
за примером кода сейчас не полезу, да и нет у меня чистого эксперимента. Но фабула примерно такая: две таблички, одна на другую ссылается, в рефе написано on delete no action. Удаляем SQL-ом - валится, удаляем алхимией - записыватеся NULL. WTF?
Вообще акшоны вешать внутрь релейшенов это способ отстрелить себе конечность. Кроме каскаде где оно нужно.
источник

VA

Vitality Androsenko in Python — вакансии и аналитика
Уже обсуждали не раз на конфах.
источник

MV

Michael V in Python — вакансии и аналитика
ээ... ссылку про конфы. И как ты себе представляешь no action другими способами (собссно, самый банальный способ защиты от ахтунга с рефинтегрити)? Т.е. даже так сформулирую: если ты считаешь, что cascade должна делать база, то почему no action должно делать приложение?
источник

VA

Vitality Androsenko in Python — вакансии и аналитика
За лейзи вообще отрывал бы руки. Оно потом просто может в один прекрасный момент перестать делать нетерпеливые загрузки на одном из чейнов.
источник

VA

Vitality Androsenko in Python — вакансии и аналитика
Кроме каскаде. Я же написал.
источник

VA

Vitality Androsenko in Python — вакансии и аналитика
Да нее. В кулуарах. Прям на подиум никто с такой крамольной речью не выходил, ясен пень.
источник

VA

Vitality Androsenko in Python — вакансии и аналитика
"ахтунга с рефинтегрити" - ШО?
источник

MV

Michael V in Python — вакансии и аналитика
Не, I don't follow. Смотри, я говорю базе: если я грохну эту запись, ГРОХНИ всё, что к ней привязано. Это по твоему ок, "cascade там где он нужен". А теперь я говорю гораздо меньшее: если я попытаюсь грохнуть эту запись, а к ней что-то привязано - не давай мне этого сделать. Это не ок. Почему?
источник

VA

Vitality Androsenko in Python — вакансии и аналитика
Ну это уже контроль должен быть на стороне приложения. Хотя можно поставить ограничения в FK на нот нул. Кстати. Оно не должно давать удалять, если я правильно понял. Потому как FK начнут ругаться матом, что мол есть связанные объекты.
источник

MV

Michael V in Python — вакансии и аналитика
Vitality Androsenko
Ну это уже контроль должен быть на стороне приложения. Хотя можно поставить ограничения в FK на нот нул. Кстати. Оно не должно давать удалять, если я правильно понял. Потому как FK начнут ругаться матом, что мол есть связанные объекты.
а ты попробуй.
источник

VA

Vitality Androsenko in Python — вакансии и аналитика
Удалить объект на который ссылаютя FK?
источник

VS

Vadim Sokoltsov in Python — вакансии и аналитика
Michael V
Не, I don't follow. Смотри, я говорю базе: если я грохну эту запись, ГРОХНИ всё, что к ней привязано. Это по твоему ок, "cascade там где он нужен". А теперь я говорю гораздо меньшее: если я попытаюсь грохнуть эту запись, а к ней что-то привязано - не давай мне этого сделать. Это не ок. Почему?
Можно сделать safe delete (ну то есть не удалять, а помечать удаленной)....
(не всегда он нужен, но вдруг...😅)
источник

MV

Michael V in Python — вакансии и аналитика
Vitality Androsenko
Удалить объект на который ссылаютя FK?
алхимией. Именно в этой ситуации: на самом поле нет not null, но есть реф с on delete no action. SQL рукописный матерится, алхимия радостно пиндюрит туда NULL
источник

VA

Vitality Androsenko in Python — вакансии и аналитика
Vadim Sokoltsov
Можно сделать safe delete (ну то есть не удалять, а помечать удаленной)....
(не всегда он нужен, но вдруг...😅)
+
Но тут другой случай
источник

VA

Vitality Androsenko in Python — вакансии и аналитика
Vadim Sokoltsov
Можно сделать safe delete (ну то есть не удалять, а помечать удаленной)....
(не всегда он нужен, но вдруг...😅)
Кстати. С неудалением а маркировкой есть 100500 проблем, между прочим, поэтому панацеей такой совет назвать трудно :)
источник

VS

Vadim Sokoltsov in Python — вакансии и аналитика
Vitality Androsenko
Кстати. С неудалением а маркировкой есть 100500 проблем, между прочим, поэтому панацеей такой совет назвать трудно :)
о, эт точно)
источник

MV

Michael V in Python — вакансии и аналитика
год (два?) назад когда тут вводили анальный GDPR народ воем выл про такую практику.
источник

AB

Alexander B in Python — вакансии и аналитика
Michael V
алхимией. Именно в этой ситуации: на самом поле нет not null, но есть реф с on delete no action. SQL рукописный матерится, алхимия радостно пиндюрит туда NULL
я никак не пойму, как алхимия в поле not null может записать null? это где такое?
источник

AB

Alexander B in Python — вакансии и аналитика
надо попробовать
источник