Wingman
индексы + связи в самой БД
Александр
как раз индексы в самой базе данных я не делаю... В базу данных вообще не лезу. Просто в модели прописал public function user() { return $this->belongsTo('App\User','admin_id'); } и все работает... Вот и возник вопрос, а стоит ли заморачиваться, создавать миграции, создавать внешние ключи, если и без этого всего связь работает
Nikita
Что значит не делаешь, у тебя же в таблице с новостями есть колонка 'admin_id' которая указывает на пользователя из таблицы users
Nikita
Или я тоже вопрос не понял)
Александр
Или я тоже вопрос не понял)
ну я сам не особо секу в этих sql Но на сколько я понимаю в mysql есть возможность устанавливать связи между таблицами. http://take.ms/uH8Qc и сам ларавел в миграциях предоставляет инструмент для создания этих связей через foreign_key и раньше все только так и делали связи
Александр
а я вообще в mysql никаких манипуляций не делал
Александр
только код в модели прописал
Nikita
Я использую движок MyISAM, а он, если не ошибаюсь, не поддерживает связи между таблицами. Поэтому я всегда использовал связь через обычную integer колонку с указанием отношений в модели)
Nikita
Так что мой ответ - не стоит заморачиваться с внешними ключами и связями в самой бд. Хотя, наверное, они дают преимущества при большом объеме данных
Wingman
myisam сам по себе пиздец на больших объемах
Wingman
да и не больших тоже
Wingman
он лочит всю таблицу в отличие от одной записи в innodb
Nikita
У него вообще есть преимущества?)
Nikita
Я как то никогда не думал об этом))
Wingman
восстанавливать при крешах проще, разве что
Nikita
Лучше использовать InnoDB? Или есть другие альтернативы?
Владислав
MariaDb
Nikita
А причем тут мариа?)
Wingman
ну в целом он прав, лучше марию :)
Nikita
Кто-то из нас запутался) MariaDB это альтернатива MySQL
Wingman
ага
Wingman
и в ней innodb форкнут в xtradb )
Wingman
Nikita
А выше мы говорили про поисковый движок
Nikita
Тоесть Мария может использовать иннодб или MyISAM
Nikita
Разве не так?
Wingman
да там дохрена движков, в общем-то
Nikita
Просто я как раз использую MariaDB и по умолчанию она использует MyISAM)
Владислав
бери любой, кроме isam)
Nikita
А phpmyadmin причем)
Nikita
У меня его нет вообще)
Wingman
крч юзай innodb )
Nikita
😂
Nikita
Phpmyadmin это ж просто панелька для управления базой, какое отношение оно имеет к движку бд)) Не путайте меня
Wingman
ну там при создании базы выставляется дефолтный двиг
Nikita
Я через консоль создаю и по дефолту устанавливается MyISAM, хотя только что посмотрел доки MariaDB и вроде должен быть innodb по умолчанию. Что ж, будем явно указывать :)
Arthur'); DROP TABLE Users;--
привет. как при каждой генерации юзера пикать нового рандомного в referrer_id ? спасибо
Arthur'); DROP TABLE Users;--
он у меня всем причисляет одного и того же, первого попавшегося
Владислав
orderby('Random()')->first()
Владислав
или orderby('Rand()')->first()
Владислав
не помню
Wingman
inRandomOrder()
Владислав
можно и так, но в запросе он все равно на sql напишет order by Rand()
Arthur'); DROP TABLE Users;--
Wingman
Лучше как можно меньше нативный скул юзать
Wingman
Они казлы
Wingman
После 5.2 например поломали алиасинг бд без "as"
Arthur'); DROP TABLE Users;--
при свежем, первом сиде у всех null. при втором все норм
Wingman
ну типа from users u, или select from table1 t, table2 t2
Wingman
На issue говорят - хуйня, регекспами у себя весь код перелопать, и ок
Wingman
Ещё веселее - поломали типизацию: передаю ораклу инт, а ларавел его делает стрингом
Wingman
После 5.2
Юрий
Использовать оракл но ларавел
Wingman
Тоже "это не issue, юзай DB::raw"
Юрий
Мда
Юрий
Интерпрайз на костылях, вот что не так
Юрий
Симфони же
Юрий
И доктриной все
Юрий
Не сахарно, но без такой херни
Wingman
Возможно
Wingman
Но оракл это только малая часть
Wingman
Там огромная црм и оракл - только взаимодействие с билингом
Arthur'); DROP TABLE Users;--
если я проверку условия уберу то сид не запустится когда пользователей 0
Anonymous
Да лан, каждый день sql запросы пишу
Anonymous
Phpmyadmin тормозной, возьми heidisql
Anonymous
чуваки в чем суть миграций так не втыкаю
Anonymous
Я например workbench юзаю
Александр
Миграции типо система контроля версий для баз данных. Если работает несколько человек над проектом, то командой migrate любой человек быстро развернёт у себя базу данных
Александр
А с помощью seed заполнит базу, например, дефолтными данными
Евгений
Anonymous
А чо диаграммы щас уже не модно? Ну визуальный редактор, который наглядно показывает структуру таблиц, связи, итд, потом из этой прожки можно куда угодно модель накатить, forward, revers, sync, итд
Александр
А при чем тут визуальный? Речь о том что склонировав проект человек одной командой разворачивает всю структуру
Александр
Без всяких импортов, экспортов
Александр
Плюс все видят как изменялась структура во времени
Александр
И можно откатится к другой версии
Александр
Как в системе контроля версий