Denis
А если структура БД зависит от данных в каких-то нескольких таблицах. Это как называется?
Evgeniy
Evgeniy
от этого зависит приложение
Evgeniy
что в одной ситуации данные в одной таблице
Evgeniy
в другой ситуации данные в другой таблице
Sergey
Блин придётся костылики писать
Denis
Sergey
КТо знает про Мапперы?
Sergey
кто может про них рассказать?
Evgeniy
я чуть чуть)
Denis
Это условие такое - структура БД зависит от данных в каких-то нескольких таблицах
Evgeniy
ты про мапперы между реляционными и объектными)
Evgeniy
Evgeniy
но в большинстве случаев это косяк бд
Evgeniy
структура бд это набор сущностей(табличек)
Evgeniy
поэтому она включает в себя все варианты)
Denis
Смотри
Denis
Denis
Тип 1
Evgeniy
что за тип 1?
Denis
Denis
Типа теперь 2
Evgeniy
ты про id таблицы ?
Denis
Evgeniy
ну хуевая бд
Evgeniy
как я уже писал)
Denis
Evgeniy
сделай pages_translations и добавь эту колонку slug внуторь нее
Evgeniy
а не в назвнаие таблицы
Evgeniy
вижу
Evgeniy
это пиздец жеский антипатерн
Denis
Зачем?
Evgeniy
так делать не рекомендуют
Evgeniy
ну хочешь делай)
Evgeniy
но смысл видео как раз от подобных вещей избавлятся
Denis
Это ты - антипаттерн. Это - работает как часы
Evgeniy
Evgeniy
если как часы
Denis
Это не все кстати
Evgeniy
тебе говорят что создание таблиц можно избежать
Evgeniy
когда размер таблицы у тебя за 1 gb превысит
Evgeniy
представь сколько записей добавится
Evgeniy
и сколько таблиц ты на создаешь
Denis
1
Evgeniy
потому что ты вместо того чтобы добавить колонку, ты вынес это в имя таблицы
Denis
Ниче - норм
Denis
Я и сам хотел удалить
Evgeniy
вынеси эту простыню на pastebin и ссылку
Evgeniy
вон тебе ссылка
Evgeniy
как раз про твой случай
Evgeniy
там только пример с датами
Evgeniy
и как надо делать
Denis
Че там видос?
Evgeniy
нет презентация
Evgeniy
одного человека
Denis
https://pastebin.com/GKg3FSBz
Evgeniy
здесь мало записей
Evgeniy
если их будет больше
Denis
Маленький сайт
Evgeniy
будет больше таблиц
Evgeniy
и разбираться в этом будет через одно место
Denis
Когда?
Evgeniy
efault_files_translations мог создать таблицу
Evgeniy
и каждой строке добавить колонку slug или как у тебя она называется где хранится ffffcf78a388b4f82d18b10f0bc3280c
Evgeniy
и получить бд где таблицы бы не плодились
Evgeniy
чтобы потом не искать какие надо удалять
Евгений
кстати, в битриксе есть аналогичный механизм. когда на каждый инфоблок создаётся своя таблица
Evgeniy
Евгений
там это отключается
Evgeniy
Евгений
можно все инфоблоки в одной таблице хранить
Evgeniy
а нафига они так раскидывают то ?)
Евгений
хз
Evgeniy
я не знаю не одной причины
Евгений
мне тоже не очень понятно, инфоблоков не так чтобы много
Evgeniy
просто кто то хотел сделать чтобы работало как часы
Denis
про тебя, сарказм
/**
* Clean up abandoned streams.
*/
public function cleanup()
{
/* @var StreamInterface $stream */
foreach ($this->model->all() as $stream) {
if (!$this->schema->hasTable($stream->getEntryTableName())) {
$this->delete($stream);
}
}
$translations = $this->model->getTranslationModel();
$translations = $translations
->leftJoin(
'streams_streams',
'streams_streams_translations.stream_id',
'=',
'streams_streams.id'
)
->whereNull('streams_streams.id')
->get();
foreach ($translations as $translation) {
$this->delete($translation);
}
}