@nodejs_ru

Страница 855 из 2748
Anton
09.06.2017
13:01:24
а не создавать пустые файлики)

Anton
09.06.2017
13:02:16
я знаю, что если создавать все модели через команд лайн, то он создаст и миграции

Google
Anton
09.06.2017
13:02:30
но потом ты поменяешь поле в модели, и кли тебе уже не поможет)

Сергей
09.06.2017
13:02:40
чувак

Anton
09.06.2017
13:02:52
а эта тулза делала дифф

реверс инжиниринг, вся ботва

Сергей
09.06.2017
13:04:47
а эта тулза делала дифф
я думаю не просто так загнулась видимо не нужно было это всё

Anton
09.06.2017
13:04:57
лол

чувак написал, что у него нет времени поддерживать проект

но штука суперская

Сергей
09.06.2017
13:05:42
чувак написал, что у него нет времени поддерживать проект
так опенсорс, чего сообщество не продолжает?

Anton
09.06.2017
13:06:12
хз, нравится руками миграции писать, видимо)

Сергей
09.06.2017
13:06:25
я не пишу руками

Anton
09.06.2017
13:06:28
было бы у меня мозгов чуть побольше и времени - может и взялся бы)

Google
Сергей
09.06.2017
13:06:29
генерирую из кли

Anton
09.06.2017
13:07:17
чувак, ты создал модель, и потом она 100500 раз поменялась за время жизни проекта, и эти 100500 миграций ты будешь руками писать)

Сергей
09.06.2017
13:07:37
а ничего что так не делается?

Vsevolod
09.06.2017
13:07:57
Не делаю миграции и норм живу

Anton
09.06.2017
13:07:59
уже не говоря о том, что создавать модели в консоли - то еще развлечение)

кровавый ентерпрайз же

Сергей
09.06.2017
13:08:31
если я хочу поменять модель, первое что я делаю, это думаю, и планирую, затем генерирую миграцию, и уже потом обновляю модель

кстати

для справки

Vsevolod
09.06.2017
13:08:37
я думал кровавый и нода вещи не очень совместимые :)

Сергей
09.06.2017
13:08:48
миграции это не только изменение столбцов

а ещё МИГРАЦИЯ данных!

это ни одна утилита сделать не сможет

Anton
09.06.2017
13:09:13
я про то, что две операции вместо одной

и миграция ДАННЫХ - это сиды)

Сергей
09.06.2017
13:09:29
Anton
09.06.2017
13:09:36
принято разделять эти вещи обычно

Сева
09.06.2017
13:09:54
Эээ, чо

Anton
09.06.2017
13:10:02
меняешь структуру таблиц - делаешь миграцию, меняешь содержимое - делаешь сиды

Google
Сева
09.06.2017
13:10:29
У тебя была колонка name, ты решил разнести на first_name и last_name, а в продакшне уже тыща юзеров

Anton
09.06.2017
13:10:38
я очень много чего не знаю)

Глеб
09.06.2017
13:10:41
Ммм... Сиды - это тестовые данные, как бэ)

Сергей
09.06.2017
13:10:47
я очень много чего не знаю)
сиды это вообще другое

Сева
09.06.2017
13:10:50
И в миграции ты это пишешь как раз

Сергей
09.06.2017
13:10:51
я очень много чего не знаю)
все делается в миграциях как раз данные изменяются в миграциях

Anton
09.06.2017
13:11:25
У тебя была колонка name, ты решил разнести на first_name и last_name, а в продакшне уже тыща юзеров
это запросом разрулить можно, в скл есть конкат (или что-то подобное)

не конкат, наоборот в смысле)

Сева
09.06.2017
13:12:13
Ага, збс, а ты в продакшн будешь идти и руками делать запрос?

Anton
09.06.2017
13:12:38
в миграции же - данные остались те же, только структура поменялась

Сева
09.06.2017
13:13:13
Миграция - это DSL для описания подмножества условно-обратимых запросов к базе

Сева
09.06.2017
13:13:13
Условно - потому что часть данных будет теряться при откате. Но схема теряться не будет

Глеб
09.06.2017
13:14:08
Миграции вообще штука больная и опасная, и писать её стоит только ручками, утром и на свежую голову. Доверять такое дело утилитке - плохая идея.

Таймураз
09.06.2017
13:14:39
Имхо, по-хорошему миграции должны быть проверены 2+ людьми

Anton
09.06.2017
13:15:01
ну, смотря какие - если пример выше, то задача тривиальная

если комплексная, то конечно

Таймураз
09.06.2017
13:15:28
Практика показывает, что лучше и тривиальные вещи перепроверять

https://vc.ru/n/renova-fail

Google
Anton
09.06.2017
13:15:56
для этого есть дев серваки, чтоб излишне не параноить)

ну и тесты можно накидать а-ля "интеграционные", если дикие изменения

Сергей
09.06.2017
13:18:58
так все и делают

если не написал сам миграцию, то можешь проглядеть что там нагенерила программка

Anton
09.06.2017
13:19:49
проглядеть можешь даже если сам написал

Таймураз
09.06.2017
13:20:15
проглядеть можешь даже если сам написал
Поэтому лучше все перепроверять И не только самим И по отдельности, а потом все вместе обсудить

Сергей
09.06.2017
13:21:03
Anton
09.06.2017
13:21:11
мой посыл был в том, что ты изменил модель (изменения, которые не повлекут изменение данных в бд, добавил поле, изменил названия поля, добаввил индекс), и софтина может сгенерить миграци. лучше тебя в таком случае

Admin
ERROR: S client not available

Сергей
09.06.2017
13:21:50
только вот любая миграция — дело ответственное и бездумное переименование/добавление полей это уже проблема

по мне написание миграции должно быть первым

Anton
09.06.2017
13:22:24
бизнес-требования меняются часто, тут бездумность не причем

Сергей
09.06.2017
13:23:11
бизнес-требования не обязывают тебя писать миграцию после изменения кода модели

Anton
09.06.2017
13:23:18
и я за подход code first, а если точнее, то вообще сначала абстракция, потом код, и потом ты уже думаешь, как это хранить

Сергей
09.06.2017
13:23:37
отсюда все проблемы и тормоза обычно

Anton
09.06.2017
13:23:51
наоборот)

Сергей
09.06.2017
13:24:13
надумают себе охуенных абстракций, а потом думают как эффективно это хранить в базе и как оптимизировать выборки

Anton
09.06.2017
13:24:21
у нас чувак пару месяцев проектировал бд, потом требования координально поменялись)

Сергей
09.06.2017
13:24:40
проблема тех кто требует

Aleh
09.06.2017
13:25:01
проблема тех кто требует
кек, ваши бизнес-задачи не подходят под мои офигенные схемы

Google
Сергей
09.06.2017
13:26:58
Таймураз
09.06.2017
13:27:03
бизнес-требования меняются часто, тут бездумность не причем
Тут уж у кого как Условия в лице бизнеса в нашем разговоре до этого не стояло и намека на него не было

Сергей
09.06.2017
13:27:30
кек, ваши бизнес-задачи не подходят под мои офигенные схемы
Когда требования кардинально меняются я тут же увольняюсь

Aleh
09.06.2017
13:27:44
В тормозах
нет никаких тормозов

Anton
09.06.2017
13:27:51
они всегда меняются

Aleh
09.06.2017
13:28:03
Когда требования кардинально меняются я тут же увольняюсь
окей, тут у нас явно есть непонимание, что такое "кардинально"?

Таймураз
09.06.2017
13:28:06
Aleh
09.06.2017
13:28:21
На си пишешь?
не, на всяких скриптовых этих вот языках

Таймураз
09.06.2017
13:29:13
не, на всяких скриптовых этих вот языках
Ты же согласен, что один сложный запрос на SQL будет быстрее аналогичного решения на множестве примитивных SQL запросов и обработки данных на стороне приложения?

Anton
09.06.2017
13:29:41
ну это уже не та степь

Сергей
09.06.2017
13:30:23
Таймураз
09.06.2017
13:30:33
Так не только отправка запроса, работа с данными на стороне приложения практически в любом случае будет медленнее аналогии в SQL

Aleh
09.06.2017
13:30:47
И на собственно исполнение
ну если грубо делать, то один большой мы рассматриваем по сложности как батч простых

Таймураз
09.06.2017
13:30:49
Говоря проще, исполнение, да

Aleh
09.06.2017
13:30:53
поэтому это время будет грубо говоря похожим

в любом случае больше всего будет потрачено времени на io

если остальное время одинаковое *

Anton
09.06.2017
13:31:44
ну, если массовое изменение большого объема данных, то может и нет)

но это довольно редкие случаи

Страница 855 из 2748