Size: a a a

2019 November 21

D

DK in Laravel Pro
Sem
Вопрос по проектировке баз данных, на днях увидел в одной CMS - что совсем нет внешних ключей, все связи прописаны в xml схемах - и всё работает как надо, а я сейчас проектирую базу просой CRM по классике с внешними ключами (Что очень порой геморойно) и задумался а насколько "бес праксис" является использование этих ключей, может можно и без них и нет ли каких подводных камней? Поделитель опытом
удаление связанных данных
источник

ЕК

Егор Карась... in Laravel Pro
Ссылочная целостность ежжи
источник

S

Sem in Laravel Pro
DK
удаление связанных данных
С каскадностью согласен, удаление и обновление это всё как преимущества. Но видел эут же реализацию вне самой базы, в той CMS, и живут как-то же)
источник

ЕК

Егор Карась... in Laravel Pro
А то что ты рассказал звучит как какая-то лютая дичь оО
источник

ЕК

Егор Карась... in Laravel Pro
Люди и без жопы, бывает, живут. Им трубочку на живот выводят и мешочек вешают
источник

S

Sem in Laravel Pro
Так вот если бы так всё было плохо было бы понятно, но на этой CMS делают достаточно сложные проекты - магазины, форумы, социалки, црмки есть свой маркетплейс дополнений и всё это работатет по принципу отсутствия внешний ключей в базе, но с их наличием в xml схемах. Я поэтому и спрашиваю здесь, сталкивался кто либо с практикой тотального отсутствия внешних ключей в базах?
источник

M

Michael in Laravel Pro
Что такое "внешний ключ" ?
источник

M

Michael in Laravel Pro
Точнее, при чём тут xml как замена ?
источник

S

Sem in Laravel Pro
Michael
Что такое "внешний ключ" ?
источник

D

DK in Laravel Pro
Sem
Так вот если бы так всё было плохо было бы понятно, но на этой CMS делают достаточно сложные проекты - магазины, форумы, социалки, црмки есть свой маркетплейс дополнений и всё это работатет по принципу отсутствия внешний ключей в базе, но с их наличием в xml схемах. Я поэтому и спрашиваю здесь, сталкивался кто либо с практикой тотального отсутствия внешних ключей в базах?
мне было впадлу внешние ключи развешивать,обернул действия в транзакцию
источник

M

Michael in Laravel Pro
Многие приложения живут без внешних ключей и без xml-схем
Связанные вещи удаляются или евентами в моделях или в репозиториях взаимодействия с БД
источник

M

Michael in Laravel Pro
Мне кажется, так нагляднее, вся логика в одном месте. Чтобы не держать в голове "ага, тут мы удалили, а другое не удаляем, потому что оно само удалится"
источник

S

Sem in Laravel Pro
DK
мне было впадлу внешние ключи развешивать,обернул действия в транзакцию
Вот тут интересно, просто в ларе при проектировании таблиц с внешними ключами, я сталкнулся с проблемой, что нужно ещё и в определённой последовательности миграции накатывать, чтобы связанность таблиц учитывалась правильно, и это немного раздражает, менять цифры в названиях миграций что одна сработала раньше другой. Мне интересно как Вы транзакцией деалете простановку ключей, и я так понимаю это никак не отражается в файлах миграций лары, верно?
источник

ЕК

Егор Карась... in Laravel Pro
В смысле "Раздражает"
В самом начале БД продумал и пилишь.
Оно может раздражать только если сел пилить и начинаешь каждые две минуты "Ага, я тут табличку не сделал, щас пильну"
источник

S

Sem in Laravel Pro
Егор Карась
В смысле "Раздражает"
В самом начале БД продумал и пилишь.
Оно может раздражать только если сел пилить и начинаешь каждые две минуты "Ага, я тут табличку не сделал, щас пильну"
А если я в процессе что-то передумал и решил добавить ещё одну сущность, связанную с другими, вот и начинается пляски с последовательностью миграций
источник

ЕК

Егор Карась... in Laravel Pro
Sem
А если я в процессе что-то передумал и решил добавить ещё одну сущность, связанную с другими, вот и начинается пляски с последовательностью миграций
Если в процессе что-то передумал — ну это уже не вина СУБД и кому что там неудобно
источник

ЕК

Егор Карась... in Laravel Pro
У меня такое бывает только когда я в самом начале не подумал и побежал код писать
источник

S

Sem in Laravel Pro
Егор Карась
Если в процессе что-то передумал — ну это уже не вина СУБД и кому что там неудобно
Да я и не виню СУБД, я лишь ищу способ безболезненно вносить изменения в структуру базы данных
источник

П

Павел in Laravel Pro
Народ..вопрос в след..есть масссив несколько сот тыс емайлов...нужно каждый проверить на валидность и сделать по нему рассылку...как такое лучше реализовать?
источник

ЕК

Егор Карась... in Laravel Pro
Да ну и в целом менять какие-то очерёдности миграций мне кажется так себе идеей.

Передумал — написал новую миграцию, которая уберёт всё лишнее, а потом создаст всё нужное. Лезть в старые я хз
источник