BonBonSlick
@BonBonSlick
Web Developer Trainee

Автоудаление, чистка записей в БазеДанных?

В магазине, есть юзера зарегистрированные , они могут регистрировать адреса, тут все ясно как день. А еще, есть незарегистрированные пользователи которые так же могут оформлять заказ, по адресу, вопрос, если сохранять этот адрес в БД, как его потом удалить, или как лучше оформить это все в таблицах?
  • Вопрос задан
  • 349 просмотров
Решения вопроса 1
syschel
@syschel
freelance/python/django/backend
у меня 2 таблицы, в рдну я пихаю адреса зарегистрированных пользователей, в другую, адреса тех кто покупает без регистрации. таким образом адрес привязан только к этому заказу, как потом автоматически удалить его из БД? и правильно вообще так делать?

Смотря что за магазин. Если реальный и живой с претензией на рост, то удалять ничего нельзя. Нужно будет для маркетологов статистику собирать. Графики для продажников рисовать.
Адрес доставки можешь хранить в заказе, а можешь в юзере. Можешь авторегистрировать юзера по данным из заказа. Возможно ты захочешь приветствовать старого юзара, начислять бонусы, вести историю или начать предугадывать корзину. Много вещей куда нужны данные если магазин будет расти и он реален.
Если же это просто тестовая среда разработчика или на какой-то джумле поднят магазин, то без разницы, всёравно ты через пол года его удалишь.

Можешь связи каскадные установить на таблицы (при удалении одной записи удаляются все связанные).
Можешь триггеры написать на события.
Можешь эвенты написать.
Можешь отдельную команду на крон повешать с запуском по таймеру раз в день, неделю, месяц, год на удаление "старого".

Вообще, удалять "старое" и "не нужное", как я заметил, это маниакальная идея всех новичков. Для большой БД лучше если записи не будешь трогать а оставишь на месте, чем удалять постоянно. Крупные ресурсы обычно симулируют удаление, просто введя поле delete или подобное в каждую таблицу, а по нему отображают или нет.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
sashkets
@sashkets
Даром получили — даром давайте (Матфея 10:8)
создать event в mysql
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы