Обновление БД при инсталяции новой версии приложения?
От: vladpol Украина http://vlad-mislitel.livejournal.com/
Дата: 20.04.18 12:57
Оценка:
Приветствую кого-то есть success story  поддержки версионости БД. чтобы инсталятор новой версии без проблем дотягивал БД до нужного состояния? Самый ходовой вариант, — писать апдейт- скрипты вручную и хранить в базе номер последнего. Но может быть есть что-то по продвинутей
С уважением, Владислав Полищук
Re: Обновление БД при инсталяции новой версии приложения?
От: rm822 Россия  
Дата: 20.04.18 19:33
Оценка:
Здравствуйте, vladpol, Вы писали:

V>Приветствую кого-то есть success story  поддержки версионости БД. чтобы инсталятор новой версии без проблем дотягивал БД до нужного состояния? Самый ходовой вариант, — писать апдейт- скрипты вручную и хранить в базе номер последнего. Но может быть есть что-то по продвинутей


Саксес стори именно в том варианте что ты описал.
Посмотри на https://www.red-gate.com/products/sql-development/sql-compare/
Готовые тулзы они только для схемы, данные мигрировать придется самому
Re: Обновление БД при инсталяции новой версии приложения?
От: GarryIV  
Дата: 20.04.18 19:52
Оценка:
Здравствуйте, vladpol, Вы писали:

V>Приветствую кого-то есть success story  поддержки версионости БД. чтобы инсталятор новой версии без проблем дотягивал БД до нужного состояния? Самый ходовой вариант, — писать апдейт- скрипты вручную и хранить в базе номер последнего. Но может быть есть что-то по продвинутей


У джавы есть liquibase и flyway у питона есть django. Видел сакксес стори на этих трех.
Еще видел саксес стори с самодельной тулзой, даже круче вышеперечисленных была. Если нет хранимых процедур то все просто вобщем-то.
WBR, Igor Evgrafov
Re: Обновление БД при инсталяции новой версии приложения?
От: hun  
Дата: 21.04.18 09:04
Оценка:
Лично я ни разу не видел фирменной тулзы для апгрейда базы с данными. Успешно пользовались самописными. Если нет логики в БД и изменения структуры не сильные, то да, можно использовать что-то типа django. Если есть процедуры-вьюхи и структура меняется, то мы делали свою тулзу. Вполне успешно.
И еще, по поводу хранить в базе номер изщменения и его потом анализировать — это путь тяжелый. Особенно если клиентов много и не все они у себя строго обновляют версии до последней. Я даже не говорю про вариант, что они в БД залезли и что-то там поменяли.
Отредактировано 21.04.2018 9:08 hun . Предыдущая версия .
Re: Обновление БД при инсталяции новой версии приложения?
От: Степанов Андрей  
Дата: 21.04.18 15:25
Оценка:
Здравствуйте, vladpol, Вы писали:

V>Приветствую кого-то есть success story  поддержки версионости БД. чтобы инсталятор новой версии без проблем дотягивал БД до нужного состояния? Самый ходовой вариант, — писать апдейт- скрипты вручную и хранить в базе номер последнего. Но может быть есть что-то по продвинутей


Если используется какой-нибудь ORM вроде Entity Framework, то он сам при соответствующих настройках обновит структуру таблиц в БД при запуске. Но лично я таким никогда не пользовался, все подобные виды автоматизации отключаю. Вместо этого скрипт модификации пишу всегда так, чтобы его можно было прогонять сколько угодно раз, и он догонял базу до последней версии. Никакой "текущей" версии хранить не надо ни в скрипте, ни в базе. Работает всегда, исключения составляют редкие массовые изменения данных в БД.
Re: Обновление БД при инсталяции новой версии приложения?
От: Джеффри  
Дата: 21.04.18 19:23
Оценка: +1
Здравствуйте, vladpol, Вы писали:

V>Приветствую кого-то есть success story  поддержки версионости БД. чтобы инсталятор новой версии без проблем дотягивал БД до нужного состояния? Самый ходовой вариант, — писать апдейт- скрипты вручную и хранить в базе номер последнего. Но может быть есть что-то по продвинутей


Если у вас Microsoft SQL Server, то можете попробовать SQL Server Data Tools deployment. Позволяет накатить схему БД до нужной версии + есть возможность более тонкой настройки с помощью пре- и пост-деплоймент скриптов.

На нашем проекте перешли уже года четыре назад, как раз с ручных апдейт скриптов. В разы удобней
Re: Обновление БД при инсталяции новой версии приложения?
От: bnk СССР http://unmanagedvisio.com/
Дата: 02.05.18 20:58
Оценка:
Здравствуйте, vladpol, Вы писали:

V>Приветствую кого-то есть success story  поддержки версионости БД. чтобы инсталятор новой версии без проблем дотягивал БД до нужного состояния? Самый ходовой вариант, — писать апдейт- скрипты вручную и хранить в базе номер последнего. Но может быть есть что-то по продвинутей


Чуть более продвинутый вариант — писать апдейт-скрипты вручную (на SQL) или, например для .net, на "птичьем языке" (типа EF Migration или Fluent Migrator) и хранить в базе "номера" ВСЕХ примененных.
Re: Обновление БД при инсталяции новой версии приложения?
От: vsb Казахстан  
Дата: 02.05.18 22:09
Оценка:
Здравствуйте, vladpol, Вы писали:

V>Приветствую кого-то есть success story  поддержки версионости БД. чтобы инсталятор новой версии без проблем дотягивал БД до нужного состояния? Самый ходовой вариант, — писать апдейт- скрипты вручную и хранить в базе номер последнего. Но может быть есть что-то по продвинутей


Полно таких, но база это слишком важная штука, поэтому обычно пишут скрипты сами. Для тривиальных миграций это тривиально, поэтому проблемы не должно составлять, для нетривиальных по-любому придётся писать самому.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.