The Ant
Павел
Так, ну ок, я тоже использую инсерт ор апдейт в доктрине с автогенерацией) не пойму в чем проблема) в миграции или в чем?
The Ant
The Ant
объекта нет, с чего он генерировать будет? )
Павел
в автогенерации, да
А причём тут автогенерация? Сделал сущность, назвал статистика за час. Все.
The Ant
сущность будет лежать просто для автогенерации?
The Ant
ок, следующий кейс, чуть более сложный.
Генерируемые колонки 😄
Павел
The Ant
особенно по формуле, их можно описать в доктрине?
Павел
The Ant
Это что за зверь)
в мускле (и в постгре) можно создать вирутальную колонку. которая будет генерировать автоматически, на основании других колонок
Павел
The Ant
например расчет какого нибудь цтр, где будет clicks / views
The Ant
The Ant
таким образом можно делать индексы для отдельных полей в джсоне, вынося их в виртуельную колонку
The Ant
не надо ебаться с триггерами
The Ant
или например создать колонку с фуллтекст поиском, конкатенировав несколько текстовых полей в один текст
Павел
Ну вот это если надо. Вопрос если не надо, то почему бы не использовать автогенерацию)
The Ant
Павел
Павел
Json вообще как то в релиационке подразумевает поле не особо стандарт, так как это денормализованное. А ещё через него делать сложные операции - тут стоит подумать.
The Ant
Павел
хз, нормальный жсон для реляционки )
ну это денормализация. Я пока не решаюсь его пихать там, где надо потом с строками работать и условиями. Вот где надо просто кучу данных запихать, без работы между ними (между строками с json) - то норм. Но это личная фобия. Да и был кейс где работали с json и поиском по ниму, в целом рабочая херня не спорю, надо уметь готовить и не бояться)
The Ant
The Ant
так-то да )
Юра
Юра
Ну это привязка к энтити
Юра
Поэтому говнорешение
Юра
Сам сказал сам обосрал
Юра
The Ant
ну, и еще не посортировать не нему )
Юра
Ты можешь сделать такое поле средством бд, я так понимаю проперти будет просто insertable, updatable false
Юра
И будет мапится в энтити
The Ant
так я уже написал про generated column
Сергей
Да.. У нас был json с вычисляемыми колонками.. К сожалению дикие костыли с доктриной) надо было подписываться на чтение меты
Юра
Либо написать скрипт который будет обновлять данные
The Ant
зачем? )
The Ant
вычисление можно триггером сделать, а можно виртуальной колонкой
Павел
вычисление можно триггером сделать, а можно виртуальной колонкой
Ну виртуалочка прикольная штука, но мне кажется не особо киллеровая. Для вычислений в записи - лучше использовать энтити, так как это тестируемо и domain first, а на чтении - хоть в запросе делать вычисления,хоть в пыхе, воть в view.
Хотя возможно можно намутить какие нить прикольные штуки, для всяких автогенерируемых админок
Anton
Павел
The Ant
Anton
Да я понял) К тому что не всегда он подходит. Хотя, вот буквально через пару недель начну делать кастомные поля на jsonb и доктрине)
Павел
The Ant
Anton
The Ant
поэтому я предпочитаю ручное написание миграций, а не автомат дырявый
Юра
Ну вообще ручные миграции норм
Юра
Без них часто никак
Юра
Автоматические покрывают большую часть потребностей
Юра
Дописываем туда руками что надо и всё
Юра
Хотя в ларе нет миграций поэтому тебе наверняка это не нужно
Павел
Gleb
Ребята, я что-то затупил знатно, подскажите пожалуйста.
На проде заливать первичные данные через фикстуры считается не айс. Лучше через миграцию. Миграции у нас хранятся под vcs. А как тогда первично пользователя админа залить? Светить все данные его в миграции?
The Ant
Павел
Gleb
Павел
Например создание пользователя может быть гораздо сложнее чем просто в базу строку залить, или там несколько строк разных таблиц, зачем следать через миграции все ли ок?
Павел
Юра
Почему через миграции странно?
Павел
Почему через миграции странно?
Ну потому что надо шифрануть пароль например, значт надо дергать пассворд энкодер, возможно пользователь - это несколько таблиц, надо все это следить и не завести систему в неконсистенцию
Павел
Проще создать CreateAdminCommand и хоть 10 админов создать когда надо
Юра
У тебя в миграции будет захешеный пароль
Dmitriy
Что то миграциями, что то сложнее то командой
Gleb
Спасибо всем! Пока стартану миграцией, но попробую переписать на команду.
Павел
Ну мб я не прав, но чет я хз, зачем для такого юзать миграции, по мне кастыль, но спорить не буду, если юзают большинство)
Gleb
С командой идея хорошая, я в эту сторону не думал.
Юра
Команда удобная штука. Если кто сервак ломанул, можно сразу админа сгенерить быстро
Юра
)
Юра
Доку написать еще
Павел
The Ant
грамотный ломатель не будет удалять или блокировать админа, он будет пытаться извлекать профит максимально долго
Павел
Вопросик )
Мессенджер удобная обертка, но в рамках одного приложения, так как десериализует в класс через unserialize.
Кто какие подходы использует чтобы общаться между несколькими сервисами симфони через мессенджер?
Писать свои сериализаторы и кастомные сообщения муторно, мне кажется, теряется приколюха мессенджера. Писать комманды в одних неймспейсах и структурах - как то связно слишком (но может через свои бандлы,либы общие какие то?)
Сергей
Я свои сериализаторы для транспорта писал. Видел библиотеку типа универсальную, от кого то из мейнтейнеров симфони, но чето быстро не нашёл..