sorry_i_noob
@sorry_i_noob

Нормально ли, что если я удалю что-то из MySQL вручную, а не через админку на сайте, то сайт будет работать некорректно?

Здравствуйте.
Допустим, я зарегистрировал пользователя и создал публикацию от его имени. А потом зашел в PhpMyAdmin и удалил пользователя. И у публикации автор - это пустая строка вместо, скажем, строки "Пользователь удален".
Нормально ли разработан сайт? Или этого быть не должно? То есть, нужно ли учитывать, что кто-то может залезть в MySQL и удалить какую-либо запись? Или... что во время создания нового пользователя на хостинге может произойти какая-либо неполадка, из-за чего пользователь будет создан, а вот часть связанных с ним таблиц заполнена не будет? Из-за чего сайт будет работать некорректно. Такое ведь тоже может быть?
  • Вопрос задан
  • 77 просмотров
Решения вопроса 1
Если вы удалите пользователя и будет пустая строка вместо "Пользователь удален" - сайт вполне нормально разработан. Такие вещи нужно доделывать по ходу эксплуатации :) Что если пустой результат то пишем это, а если не удалить, а добавить в новое поле 1, то будем писать "Пользователь забанен" (вдруг потом захочется такое) и по всему сайту проверять это поле на наличие единички и делать соотв. действия и т.д.

Нужно ли учитывать, что кто-то может залезть в MySQL - это не нужно учитывать. Если кто то будет залазить, то сайт уже не только ваш :)

Про сбой на хостинге при добавлении - это практически не возможно.
Даже если у пользователя не 1 таблица, а несколько, то запись в них произойдет за 0.01 сек. или быстрее.
Шанс, что запись в 1 таблицу произойдет, а в другую не успеет - очень и очень мал :)
Хотя при определенных условиях такое может быть, например, при загрузке больших объемов
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
SwoDs
@SwoDs
PHP YII2
Никто в базу лазить не должен, разве только для создания таблиц и столбцов, да и то это должно быть через миграции.

Вам повезло что у "автора" пустая строка, а не критическая ошибка отсутствия переменной.

В целом у вас слишком много вопросов, на большую часть нельзя дать однозначного ответа
Ответ написан
Комментировать
Adamos
@Adamos
А если кто-то зайдет по FTP и удалит ядро сайта - это тоже разработчик должен учитывать?
Неполадки на хостинге, проверка целостности и консистентности данных - это одна тема. Слон в посудной лавке (идиот, имеющий прямой доступ, куда не надо) - совсем другая.
Ответ написан
Комментировать
@JuniorNoobie
Сижу в поддержке, пишу мелкие проекты
Если удаление какого-либо элемента в таблице БД рушит всю систему, то база данных спроектирована неверно: где-то не указаны первичные ключи, где-то опущена логика удаления элементов (например, каскадная). Другое дело, что доступ к БД напрямую имеет только администратор системы и напрямую работать с таблицами не рекомендуется (но можно, если осторожно).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы