
Dinar
02.01.2018
16:28:41

Shmaltorhbooks
02.01.2018
16:28:44
у него не две разные базы в рамках одной аппликухи

Dinar
02.01.2018
16:28:46
Утрировано.

Sergey
02.01.2018
16:28:50

Google

Sergey
02.01.2018
16:29:05
делай просто CLI команды
миграции должны удовлетворять простому требованию
ты можешь откатиться на любую ревизию гита и накатить миграции и они должны накотиться

Dinar
02.01.2018
16:29:40
А зачем для одноразового изменения команда?

Sergey
02.01.2018
16:29:53

Shmaltorhbooks
02.01.2018
16:29:55

Dinar
02.01.2018
16:29:56
Так ты можешь. В даун переносишь обратно.

Sergey
02.01.2018
16:30:12

Dinar
02.01.2018
16:30:20
Обоснуй. :)

Shmaltorhbooks
02.01.2018
16:30:21
update field set value = 100;
и потом у тебя опа, в поле 100
это ты прописал или аппликуха после деплоя написала?

Google

Dinar
02.01.2018
16:30:59
Вот конкретная задача. Всем клиентам с пакетом премиум, дать роль Вахтёр.

Sergey
02.01.2018
16:30:59
миграции - это только поддержание схемы базы в актульном состоянии. Все. Точка. Если тебе надо данные чето там как-то сделать - это не миграции

Shmaltorhbooks
02.01.2018
16:31:01
любая конкатенация - теряешь оригиналы

Sergey
02.01.2018
16:31:13

Dinar
02.01.2018
16:31:31
Это не проревьюить.

Sergey
02.01.2018
16:32:05

Dinar
02.01.2018
16:32:06
А в даун у всех с премиумом роль вахтер убрать.

Sergey
02.01.2018
16:32:08
но это НЕ миграции

Shmaltorhbooks
02.01.2018
16:32:09

Dinar
02.01.2018
16:32:22
Вот мне кажется это как раз усложнение.
Или я не прав?

Shmaltorhbooks
02.01.2018
16:32:55
зависит от того, насколько строго у тебя в проекте к этому относятся

Sergey
02.01.2018
16:32:56
Или я не прав?
если это усложнение - то почему у тебя тогда проблемы сделать так как "тебе кажется проще"?

Dinar
02.01.2018
16:33:17
Нет проблемы. Я спросил есть ли готовое решение. ;)

Shmaltorhbooks
02.01.2018
16:33:43
если делать в виде миграций - skipIf

Sergey
02.01.2018
16:33:45
а мы уточнили зачем и получили ответ что тебе не для миграций это надо (schema migrations они называются) а для того что бы одноразовые штуки делать

Shmaltorhbooks
02.01.2018
16:33:58
а там или имя хоста проверяй, или значение переменной из env - не суть

Dinar
02.01.2018
16:34:14
Иначе с ростом числа клиентов будет все хуже.

Shmaltorhbooks
02.01.2018
16:34:39
->skipIf(gethostname() != 'foo')

Google

Shmaltorhbooks
02.01.2018
16:34:41
не суть

Dinar
02.01.2018
16:34:51
А ну да. :))

Sergey
02.01.2018
16:34:54

Shmaltorhbooks
02.01.2018
16:35:02
какая разница что будет в skipIf - равно или не-равно?)

Dinar
02.01.2018
16:35:06

Sergey
02.01.2018
16:35:28
что значит "например"?)
p.s. у меня есть опыт работы с вайтлейблами по такой схеме если тебе интересно)

Dinar
02.01.2018
16:35:57

Shmaltorhbooks
02.01.2018
16:36:13

Dinar
02.01.2018
16:36:33

Shmaltorhbooks
02.01.2018
16:36:37
конфигами разрулил различия и привет

Shmaltorhbooks
02.01.2018
16:36:47

Sergey
02.01.2018
16:36:55
или 100

Shmaltorhbooks
02.01.2018
16:37:03
ты пришел с вопросом "как разграничить модификацию данных"
что есть ни что иное, как разграничение

Dinar
02.01.2018
16:37:33

Shmaltorhbooks
02.01.2018
16:38:03
дело не в миграциях, а в том, что выбрав между разными инстансами и разграничением данных ты получил и инстансы и разграничение))
сейчас тебе надо только данные модифицировать

Google

Shmaltorhbooks
02.01.2018
16:38:25
потом тебе надо будет заголовки специальные слать
потом иерархию ролей другую
потом еще что-то

Dinar
02.01.2018
16:39:08
Этторе составляет проблемы репу форкнуть в таком случае.

Shmaltorhbooks
02.01.2018
16:39:11
у тебя будет столько вариантов приложения, сколько клиентов)
репу форкнуть - дело не хитрое

Dinar
02.01.2018
16:39:29
Просто никакой опасности случайно показать данные одного клиента другому.

Shmaltorhbooks
02.01.2018
16:39:42
а вот суппортить несколько проектов, которые отличаются в каких-то мелочах - это ад
а про мелочи эти помнит только один человек

Dinar
02.01.2018
16:39:52
Если например данные финансовые какие нибудь.

Admin
ERROR: S client not available

Shmaltorhbooks
02.01.2018
16:39:54
а его вчера сбил автобус
и привет

Dinar
02.01.2018
16:40:14
Ну я уж просто приукрасил.
Считай это как одно одинаковое для всех приложение.

Shmaltorhbooks
02.01.2018
16:40:30
так а я нет :)

Dinar
02.01.2018
16:40:49
Все что будет отличаться, будет только в конфигах. Либо в данных.
Соответственно заголовки или че - можно туда же засунуть.

Shmaltorhbooks
02.01.2018
16:41:07
это сейчас)

Dinar
02.01.2018
16:41:42
Ну ты можешь какой-то реально проблемный случай предсказать?

Google

Sergey
02.01.2018
16:42:16

Dinar
02.01.2018
16:42:39
Ну как-то ее все равно надо решать же. :)
Есть ли более элегантное решение тогда?

Shmaltorhbooks
02.01.2018
16:43:06
решение чего именно?)

Sergey
02.01.2018
16:43:10

Shmaltorhbooks
02.01.2018
16:43:14
миграций, обновления данных или интансов?)

Sergey
02.01.2018
16:43:23
ему не миграции нужно делать

Shmaltorhbooks
02.01.2018
16:43:27

Sergey
02.01.2018
16:43:42
ему таски приходят в духе "эй, там надо для вайтлейблов А и Б залить данные, на другой друггие"

Dinar
02.01.2018
16:43:59

Sergey
02.01.2018
16:44:11

Dinar
02.01.2018
16:44:18
Где-то забудешь, и все увидят то, что не надо. :)

Shmaltorhbooks
02.01.2018
16:44:18

Sergey
02.01.2018
16:44:23
но тебе где-то этот if надо держать
в голове, на уровне запуска команды, на уровне конфигов

Shmaltorhbooks
02.01.2018
16:45:03

Dinar
02.01.2018
16:45:06
На этой машине тех данных нет.
Они на другой

Sergey
02.01.2018
16:46:00