Maksim (Ellrion)
мб кто то пакет знает который слепок БД делает (как в Рельсах)? или просто скрипт имеет для копирования структуры бд?
Maksim (Ellrion)
или я не понятно спросил или никого нет или никто не знает) в вк надо еще написать наверное
Anonymous
Я допустим не понимаю рамки окружения
Anonymous
что бы ответить
Anonymous
Звучит то что ты написал приблизительно так - ребят я разобрал движок на машине - как собрать хз)
Андрей
Anonymous
Эта штука просто делает миграции из бд которая есть
Anonymous
я так 1 проект на лару переводил)
Андрей
Да, если у него слишком много миграций, можно сократить
Anonymous
Так чем конкретно Migrate не угодил?
Андрей
Maksim (Ellrion)
Так чем конкретно Migrate не угодил?
долго) и не уклюже. По сути там создал поле потом гдето переименовал а потом вообще удалил. (а в промежутке еще и данные погонял которых нет))
Anonymous
Давай пойдем немного глубже
Anonymous
Что подразумевается под чистой
Maksim (Ellrion)
понятно что я могу запустить тупо миграции на новой бд и всё у меня будет. но по дороге я сделаю кучу всего ненужно. это как если бы вы что бы поднять код приложения запускали каждый комит как они в истории гита) вместо наката просто последнего состояния
Андрей
Skeptic
как вариант выгрузить дамп БД и перенести, почему это не подходит?
Skeptic
или запустить реплицирование на новую БД
Skeptic
потом переключить ее для мастера
В идеале в миграциях исключительно костяк, схемы и индексы, миграция данных - отдельный процесс
Maksim (Ellrion)
Skeptic
1 - если нужна схема, то история миграций почему не поможет? ты плохо ее поддерживал?
2 - вопрос спорный, реплицировали 4тб - ну сутки
Skeptic
ну и какую ORM используешь? доктрина помогла бы тебе сделать актуальный слепок из БД, если история миграций страдала
Aleksey Y.
Skeptic
)))))
Aleksey Y.
mysql dump умеет только схему без данных
Aleksey Y.
Если память не изменяет
Андрей
Мне кажется, ты создаёшь проблему там, где её нет
Skeptic
НЕ только
Skeptic
+1 зря заморачиваешься
Skeptic
на пустой базе пролетит в момент
Maksim (Ellrion)
Aleksey Y.
НЕ только
Имел ввиду, что умеет без
Aleksey Y.
Если для CI то можно баш написать, который дамп снимать будет для тестов
Aleksey Y.
Skeptic
да блин правда, делаешь дамп схемы, делаешь 1 миграцию, где просто RAW SQL
Skeptic
неприятно с точки зрения разных СУБД
Maksim (Ellrion)
Skeptic
php artisan migrate
Skeptic
))
Maksim (Ellrion)
ты мне предлогаешь все старые удалить?
Maksim (Ellrion)
я уже 10 раз написал что это не приемлимо
Aleksey Y.
Skeptic
я уже 10 раз написал что это не приемлимо
ахах)
Сделай в гите ветку отдельную, в нее добавь только одну миграцию финальную
Выльешь код, поднимешь проект, сделаешь миграцию, переключишься на мастер, удалишь ветку с 1 миграцией)
Skeptic
и сохранишь всю историю, если критикал
Maksim (Ellrion)
Skeptic
ты просто сам такую задачу поставил, миграции для того и нужны, чтобы сохранить историю итераций и по прохождению всего получить актуальную схему
А тут то не хочу, это не нравится)
Skeptic
Я может просто не понял мотива жесткой необходимости не пропускать все итерации
Skeptic
это не загрузит тебя, не убьет
Maksim (Ellrion)
Maksim (Ellrion)
Maksim (Ellrion)
вот в Рельсах это решено достаточно просто. после каждой миграции дополнительно снимается слепок БД - schema у нее дополнительно есть версия (id-время последней миграции)
и при необходимости новая бд поднимается по этой схеме а не по миграциям
Skeptic
В доктрине тоже это есть
Maksim (Ellrion)
В доктрине тоже это есть
это я услышал уже. но допустим у меня не рельса или доктрина а лара и элоквент
Razer_Sergey
для mysql тоже такие инструменты есть просто они ставятся отдельно, но это вначале проекта надо было делать
Skeptic
Эх, тогда плясать с бубном) с ногой на шее
Razer_Sergey
так что только сравнить дампы и дописать в последнюю миграцию разницы
Skeptic
Anonymous
Пфф
Anonymous
@ellrion расширь мать его миграции - создай метод который будет делать тебе слепок после каждой миграции
Anonymous
и ложи его куда тебе надо
Anonymous
и пройдись в 1 проход
Anonymous
лан последнее лишнее было
Maksim (Ellrion)
так изначально и был вопрос мб кто то такое уже делал, или юзает пакет или скрипт готовый)
Anonymous
там пара строк и пара переопределений
Anonymous
не разберешься чтоль?
Anonymous
при твоих скилах до часа времени
Anonymous
кстати хорошая идея сейчас запилю