|
1 | | -# Валидация потенциальных ошибок в SQL запросах |
| 1 | +# Валидация качества SQL запросов (поиск потенциальных ошибок) |
2 | 2 |
|
3 | 3 | К валидатору схемы БД это не относится. Собираю на будущее для другого валидатора. |
4 | 4 |
|
@@ -29,6 +29,10 @@ AND transaction_timestamp < '2023年02月06日 00:00'; |
29 | 29 | 7) Обнаруживать звёздочку в месте перечисления колонок в SELECT запросе, рекомендовать её заменить на явное перечисление колонок |
30 | 30 | 8) Если в запросе присутствует `LIMIT` и `OFFSET`, но отсутствует `ORDER BY`, то рекомендовать добавить его. |
31 | 31 | 9) Запретить `UPDATE` запросы без `WHERE`, т.к. он блокирует все строки таблицы. При одновременном выполнении этого запроса в разных транзакциях возникают взаимоблокировки. |
| 32 | +10) `CASCADE` использовать в миграциях опасно. |
| 33 | + Удаление может рекурсивно пойти по FK и удалить существующие объекты БД и записи в таблицах. |
| 34 | + Рекомендовать выстроить цепочку удаления объектов в правильной последовательности. |
| 35 | + |
32 | 36 |
|
33 | 37 | ## Ссылки |
34 | 38 |
|
|
0 commit comments