@symfony_php

Страница 274 из 1418
Антон
21.08.2017
07:51:27
удалил все таблицы, пытаюсь запустить миграции и вылезает ошибка [Doctrine\DBAL\Schema\SchemaException] The table with name 'react.category_product' already exists.

хотя таблиц в бд вообще нет

Valeriy
21.08.2017
07:52:34
соответственно гдето две миграциис созданием схемы?

Google
Антон
21.08.2017
07:53:05
папку миграций я тоже почистил

Denis
21.08.2017
07:53:23
console cache:clear пробовал?

Антон
21.08.2017
07:53:52
bin/console cache:clear --no-warmup

Valeriy
21.08.2017
07:54:37
энвайронмент не забывай указать

Антон
21.08.2017
07:57:11
http://imgur.com/a/CC3sZ

Sergey
21.08.2017
07:58:08
у тебя падает на migration diff?)

Антон
21.08.2017
07:58:25
угу

я мигрировал первый раз и понял что ошибся в анотациях, и 2 пивотные таблицы создал: product_category, category_product. Потом удалил используй сиквелПро таблицы

и все. больше не работает

Sergey
21.08.2017
08:00:14
подобные ошибки для diff не свойственны, это только если у тебя осталась какая-то инфа в кэше о структуре базы (кэш доктрины), но тут хз. Проверяй по пунктам что и как ты делаешь. Коллизии имен таблиц и все такое

Denis
21.08.2017
08:00:14
а в базе таблиц нету?

Sergey
21.08.2017
08:01:00
просто diff вообще не должен ругаься на то что что-то уже есть в базе

он же diff, он сравнивает мэппинг и текущную структуру

Google
Sergey
21.08.2017
08:01:15
так что возможно проблема с мэппингом

Антон
21.08.2017
08:01:25
хм

Sergey
21.08.2017
08:01:26
не помню как называется команда для валидации мэппинга

Denis
21.08.2017
08:01:28
пробуй удалить весь app/cache

вручную

Антон
21.08.2017
08:03:16
bin/console doctrine:schema:validate ругается

щас найду ошибку

в общем проблема была в аннотации. Решил сделать many-to-many и в двух сущностях указал анотацию https://paste.laravel.io/PyxXG

ну соответсвенно сменив значения. так понял это не корректно?

Sergey
21.08.2017
08:24:28
ну сам подумай)

у тебя там одинаковая связь вышла с обеих сторон и они типа с другой стороны такие же

это не так работает)

Антон
21.08.2017
08:26:22
не может быть двухсторонней равнозначной связи?

Sergey
21.08.2017
08:27:04
что по твоему означают mappedBy и inversedBy?

Антон
21.08.2017
08:34:15
inversedBy указывается для главной модели

Sergey
21.08.2017
08:34:48
не совсем

вообще старайся по возможности вообще не делать двусторонних связей

и разберись по документации как это работет

Taras
21.08.2017
11:28:34
Блин, в убой не понимаю DDD... О_о

Sergey
21.08.2017
11:28:59
книжек почитай

Google
Taras
21.08.2017
11:29:17
пытаюсь... но как доходит до реализации - хавайся

ща вот снова буду пытаться... нарыл книжку 2017 года DDD in PHP

https://www.amazon.de/Domain-Driven-Design-PHP-Carlos-Buenosvinos/dp/1787284948/ref=sr_1_fkmr0_3?ie=UTF8&qid=1503314999&sr=8-3-fkmr0&keywords=DDD+in+PHP

Sergey
21.08.2017
11:32:30
лучше красную и синюю сразу почитать

Taras
21.08.2017
12:00:54
синюю знаю, а что за красная? )

Sergey
21.08.2017
12:01:43
https://www.amazon.com/Implementing-Domain-Driven-Design-Vaughn-Vernon/dp/0321834577/ref=sr_1_3?ie=UTF8&qid=1503316879&sr=8-3&keywords=domain+driven+design

Taras
21.08.2017
12:02:03
О! пасиб... не видел ее

хм... это ведь она же? https://www.amazon.de/Domain-Driven-Design-Distilled-Vaughn-Vernon/dp/0134434420/ref=sr_1_1?s=books-intl-de&ie=UTF8&qid=1503317009&sr=1-1&keywords=domain+driven+design+distilled

только типа более новая?

Sergey
21.08.2017
12:04:24
не, другая. не читал ее еще

Taras
21.08.2017
12:04:55
ой, не, сорри

Ruslan
21.08.2017
13:37:28
Для первоначального обзора можно прочесть https://www.infoq.com/minibooks/domain-driven-design-quickly

Yuriy
21.08.2017
14:06:32
добрый день, подскажите пожалуйста какие рабочие бандлы есть для работы (парсинг/генерация) Excel, обязательно оба формата (.xls, .xlsx) ?

Alexander
21.08.2017
15:46:39
зачем бандлы? https://github.com/PHPOffice/PHPExcel

Sergey
21.08.2017
18:20:49
Блин, в убой не понимаю DDD... О_о
- есть бизнес и его виденье мира - есть разработчики которые выражают бизнес процессы в коде - есть проблема перевода требований из языка бизнеса в код, потому что модель бизнес процессов часто засоряется инфраструктурной фигней - "проблема перевода" приводит к тому что спустя время сложно понять как работает модель, сложно убедиться что модель все еще соответствует бизнес процессам - идея DDD в том что бы формировать единый язык и выражать все идеи бизнеса в коде максимально придерживаясь этого единого языка. В идеале ты можешь взять код, посадить рядом нового разработчика и доменного эксперта и спросить по коду у оного что это такое. - упор на именование, формирование правильных отрошений, глоссарий, и как следствие попытка полностью изолировать модель от инфраструктуры.

короч DDD это когда ты можешь прочитать бизнесу код как прозу и он все поймет

что бы технические ограничения можно было объяснять бизнесу их языком, типа "мы же не можем добавлять инвентарь туда-то потому-что то-то-то-то"

это нужно для оптимизации коммуникаций и передачи знаний, очень важно на больших и сложных проектах.

ну и еще неплохо работает в купе с BDD на проектах где предметная область все еще формируется

Google
Sergey
21.08.2017
18:25:48
не работает если разработчикам класть и абы в контроллерах логику пописать

Taras
21.08.2017
18:29:08
Сережа, спасибо за пояснение, но вот я как раз пытаюсь у себя из головы выбить эти самые контроллеры. Черт возьми, к кому-то бы в подмастерья пойти поучиться бы...

Sergey
21.08.2017
18:35:24
представь что их нет

или сделай в коде так что бы так казалось)

ну и еще - а ты уверен что оно тебе надо?

Антон
21.08.2017
20:08:22
самое сложное в DDD понять сам этот свод правил. столько сложно понятных терминов и правил.

видимо все дело в том что рускоязычные термины не нативны для нас.

Admin
ERROR: S client not available

Антон
21.08.2017
20:09:41
хотя в вики более менее переведено.

Сводный корень - аггрегат?

Sergey
21.08.2017
20:37:27
Сводный корень - аггрегат?
корень агрегата по идее

не знаю зачем тебе изучать переведенные термины

Антон
21.08.2017
20:38:00
ну так хз зачем это в вики написали

Valentin
21.08.2017
21:16:20
В русском сегменте википедии многие считают долгом писать статьи максимально сложным языком, чтобы случайный читатель, не окончивший мехмат МГУ, не дай бог не разобрался в теме

Alexey
22.08.2017
05:36:27
Блин, в убой не понимаю DDD... О_о
На хабре размазано написано про DDD https://habrahabr.ru/post/316438/

Boris
22.08.2017
08:13:12
так может ну его нафиг тогда ))

и без него отлично можно жить

Антон
22.08.2017
08:15:18
я для себя из DDD взять именование переменных, методов

Google
Антон
22.08.2017
08:15:25
согласно бизнесу называю все

Boris
22.08.2017
08:48:26
ну тут главное не увлекаться а то переменные по 20-30 символов это тоже дичь

Max
22.08.2017
09:26:51
и без него отлично можно жить
можно и на wp все писать и не париться ... а вообще тема DDD очень обобщающая, ибо включает себя и аналитические и архитектурные паттерны, рефакторинги и переработку требований, тестирование (написание утверждений) и тп ... никто не заставляет использовать все практики и это не всегда имеет смысл

вот я читал статейки - мы с DDD заюзали все, а потом дорого, сложно и не работает

вообще основная идея это - решение какой-то бизнес проблемы

Sergey
22.08.2017
09:27:46
>а потом дорого, сложно и не работает

Max
22.08.2017
09:31:06
а чтобы решать бизнес проблему - нужна модель бизнеса (Domain), те должна воспроизводить все бизнес процессы

и все единые языки, анализы предметной области это сюда

и нужно это для борьбы со сложностью - так как брейнфак предметных областей стремится к бесконечности

а чем меньше сложность тем дешевле система

кароч, не обязательно захломлять свой код сервисами, командами, репозиториями и тп ибо это в ДДД... можно спокойно иметь минимальную модель, которая описывает предметную область, с использованием той же Active Record, без сервисов и вызовом aggregate root в контроллерах

порой достаточно просто перенести модель бизнес в диаграмму классов и прокинуть к ней вызовы

типо code first подход

а потом, если инфтраструктура начинает очень сильно влиять на домен, то уже начинать думать, о декомпозиции и разделении

Max
22.08.2017
10:03:13
зачем =) ? можно же на wp все писать? ) прмиерно это я и имел ввиду
у меня походу слишком плохо с сарказмом)) ну тут уже зависит от бизнес модели, для каких целей реально можно взять wp или magento и не парится

Boris
22.08.2017
10:03:34
все зависит от кол-ва бабла и времени)

Антон
22.08.2017
11:02:18
>кароч, не обязательно захломлять свой код сервисами, командами, репозиториями и тп ибо это в ДДД... можно спокойно иметь минимальную модель, которая описывает предметную область, с использованием той же Active Record, без сервисов и вызовом aggregate root в контроллерах +1 иногда это нафиг ненадо. и меня удивляют люди которые готовы башку об стену разбить утверждая что AR это антипаттерн. Блин оно работает и решает проблемы бизнеса

Boris
22.08.2017
11:11:17
ну оно работает это не аргумент) когда-то мы писали свои велосипеды без мвц и фремворков и оно тоже работало и решало бизнес задачи)

Антон
22.08.2017
11:41:45
а что аргумент?

Страница 274 из 1418