
Cate
22.11.2016
01:00:16
мне и так понятно
бизнес таблицы не строит

Alexander
22.11.2016
01:00:42
его пишут совместно

Google

Alexander
22.11.2016
01:00:53
менеджер исполнителя и менеджер заказчика

Cate
22.11.2016
01:01:01
бизнес в таблице ничего не понимает
особенно менеджер

Alexander
22.11.2016
01:01:16
там те же таблицы, но на логическом уровне
вот в таком виде, модель сущность-связь
потом из этого получаются уже таблички
ну а потом уже запросы (это уже на этапе реализации)

Cate
22.11.2016
01:02:48

Alexander
22.11.2016
01:03:16
нет

Cate
22.11.2016
01:03:26
ну и хорошо.

Alexander
22.11.2016
01:03:30
null это null

Artur
22.11.2016
01:03:42

Google

Alexander
22.11.2016
01:03:50
»> None is 0
False
питон тоже думает, что нет

Artur
22.11.2016
01:04:09

Alexander
22.11.2016
01:04:12
а что думает MySQL я не знаю)

Cate
22.11.2016
01:04:26

Artur
22.11.2016
01:04:31
его пишут совместно
это пишет либо арзхитектор либо программист согласовывает. но здесь явно стандартные поля и задачи банальные

Cate
22.11.2016
01:05:13
)

Alexander
22.11.2016
01:05:17

Cate
22.11.2016
01:05:27
ну?
есть

Alexander
22.11.2016
01:05:40
ну, просто странная табличка)

Cate
22.11.2016
01:05:41
странная.

Artur
22.11.2016
01:05:49

Cate
22.11.2016
01:05:53
мне ее сделали такую

Alexander
22.11.2016
01:06:16

Artur
22.11.2016
01:06:22

Alexander
22.11.2016
01:06:29
==
None / null - это пустота
одна пустота равна другой пустоте?

Google

Alexander
22.11.2016
01:07:19
да, равна
потому что это пустота
пустота - она ведь везде та же самая
и она равна самой себе
всё логично вроде

Artur
22.11.2016
01:09:50
а знаешь почему?
потому что null в sql это не пустота
это неопределённая переменная. но не в смысле isset
а в смысле неизвестная. ЛЮБАЯ
любая возможная!
это чит для понимания sql :)

Alexander
22.11.2016
01:10:41
может быть)

Alexander
22.11.2016
01:10:49
но я на SQL не пишу) у меня ORM)

Artur
22.11.2016
01:11:08
так там то же самое о_0

Alexander
22.11.2016
01:11:13
фактически, оно сначала загружается из базы в питон, потом в питоне я что-то делаю, потом оно из питона через ORM загружается в базу

Artur
22.11.2016
01:11:34
но запросы писать всё равно приходится
особенно когда надо статистику снять

Alexander
22.11.2016
01:12:23
ну, я не пишу на SQL)
базы маленькие

Cate
22.11.2016
01:12:38
phpORMadmin)

Google

Alexander
22.11.2016
01:12:42
они и с питоном через ORM ок
https://docs.djangoproject.com/en/1.10/topics/db/queries/
в фреймворке есть файл моделей, там указывается связь и фактически по каждой модели есть возможность легко получить связанные объекты
можно указать, на какую глубину и все эти JOIN'ы он сам напишет
удобно)
технологии должны облегчать жизнь людям, они не должны вручную все эти SQL писать)
вот вы сейчас пару часов какой-то SQL писали-писали и не написали, а с ORM маленькая обезьянка может за 20 минут это сделать)

Admin
ERROR: S client not available

Artur
22.11.2016
01:17:35
так в орм было бы так же

Alexander
22.11.2016
01:17:44
там был бы не 1 запрос
а много мелких
и потом бы это склеивалось в один и он бы там сам выбирал, какой SQL для такого запроса запустить

Artur
22.11.2016
01:21:31
орм это не только много мелких

Alexander
22.11.2016
01:21:36
в случае с ORM как можно: сначала за 20 минут пишем какой-нибудь тест, потом скрипт на ORM + язык программирования, потом смотрим, что тест выполняется, пуляем в продакшен, там оно работает, а мы этот кусок кода просто показываем в группе SQL и говорим "чуваки, как отрефакторить?"

Artur
22.11.2016
01:21:39
ты просто не умеешь писать модели :)
по той же причине

Alexander
22.11.2016
01:23:10
почему не умею писать?
я, скорее, не понимаю, зачем напрягаться так и несколько часов с 0 сразу же писать нормально, когда можно сделать побыстрее (и с тестом), а потом рефакторить
вот есть люди, которые хотят идеально сделать фичу и эта фича полгода делается поэтому, а есть те, кто тяп-ляп и готово, а потом улучшают, так лучше , потому что у первого когда приходит время мержить всё это - уже проблемы с мержем - другие вперед убежали и проще переписать с нуля, чем это мержить пока они там оптимизировали.. если решения задачи нет - сделайте как быстрее
и когда хоть какое-то решение будет - его уже можно будет обвешать тестами и рефакторить

Google

Alexander
22.11.2016
01:25:54
а вы тут сразу какие-то многоуровневые джоины стали писать)
это уровень DBA, а не обычного программиста/менеджера)

Vladimir
22.11.2016
01:27:05
почему сразу DBA? A - administrator же
на одной моей работке был целый отдел pl/sql погромистов, которые занимались только тем, что писали селекты на тысячу строк

Artur
22.11.2016
01:29:01

Alexander
22.11.2016
01:30:44
тут выше речь была о проекте Кати, у неё как я понимаю проблема в том, что "нужно пока сделать лишь бы как, нагрузки нет", а делает и тестирует она сама.. было бы проще в таком случае какую-нибудь ORM заюзать, ну, как мне кажется, ошибок меньше было бы...
а когда большая нагрузка - конечно, уже переходят с ORM на SQL
но там это делает не владелец проекта, а те, кто разбирается..


Cate
22.11.2016
01:31:56
В опщем придется галки в другую сторону ставить.
если галка есть - то показывать, а если нет то нет. а это плюс работы менеджеру.
SELECT c.*
FROM adv_campaigns c
JOIN statistics s
ON c.id=s.campaign_id
JOIN adv_campaigns_platforms as cp
ON s.platform_id = cp.platform_id
where c.status=3
AND cp.adv_campaign_id = c.id
AND s.platform_id=4
AND s.type_id != 3
AND s.uid='5'
Вот он.
идеал.
блин, на работу вставать рано еще надо.
api on production ушло))
нет. не работает так. на платфоорме с id = 4 есть, а на платформе с id = 10 нету.
хотя похоже что дело не в запросе.
не хватает самого первого статуса, его никто не удосужился сделать за год.

Alexander
22.11.2016
01:54:46
твоему проекту нужен СТО

Cate
22.11.2016
01:55:29
CTO моего проекта ниче не делал) за что пришлось уволить)