Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Накат девелоперских изменений на продакшн сервер 
:(
    Опции темы
KaKTyCc
Дата 12.2.2009, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 247
Регистрация: 2.8.2005

Репутация: нет
Всего: 1



Коллеги, поделитесь опытом, как вы решаете эту задачу.

Есть сервер разработки, на котором каждый день ведется девелопмент, изменяются пакеты, процедуры, тригеры, вьюшки и т.д.
Изменяются таблицы.

Есть сервер тестирования, на который каждый день надо накатить измения сделанные например вчера.

И есть сервер продакшн, на который надо накатить все изменения за время девелопмента, зарелизиться.

Есть какие то тулзы для это?
--------------------
Мой блог
PM MAIL WWW   Вверх
skyboy
Дата 12.2.2009, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 5
Всего: 260



даже не представляю, как должны выглядеть тулзы.
есть продакшн сервер со своей структурой и своими данными.
есть девелоп-версия, со своей структурой и своими данными.
выход вижу только в логировании всех операций преобразования структуры, чтоб все ALTER TABLE, CREATE TRIGGER и прочее накопившееся, будучи примененным к продакшн-серверу, дали желаемый результат.
Все же при использовании триггеров, функций/процедур и изменении самой структуры хранения данных, все инструменты синхронизации курят в стороне.
PM MAIL   Вверх
Zloxa
Дата 12.2.2009, 18:14 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 11
Всего: 161



У нас разработчики готовят релиз скрипты.
По большей части релиз скрипт содержит помимо модификации схемы еще и модификцию данных.
Откатать релиз-скрипт можно на пре-проде ;)

Тулзы, позволяющие сравнить схемы, если и есть, то платформо-зависимы. Тулзы, сравнивающие данные, если и есть, в большинстве случаях безполезны, что минимизирует ценность первых и релиз скрипт таки приходится колбасить ручками.


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
KaKTyCc
Дата 12.2.2009, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 247
Регистрация: 2.8.2005

Репутация: нет
Всего: 1



Zloxa, а что это за релиз скрипты, как они выглядят

куча когда который прогоняется в sqlplus?

skyboy а вы как решаете эту задачу? так же как в команде у Zloxa


Еще вопрос, у кого то используется контроль версий? 
Какой процесс разработки?
--------------------
Мой блог
PM MAIL WWW   Вверх
Zloxa
Дата 12.2.2009, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 11
Всего: 161



Цитата(KaKTyCc @  12.2.2009,  18:23 Найти цитируемый пост)
куча когда который прогоняется в sqlplus?

типа того ;)
Далеко не всегда это действительно скрипт. Если базу позволяют опустить надолго, или модификций и рисков мало, обходимся чисто лапками. Но в нотепадики таки план развертывания себе набрасываю smile

Если речь пошла об оракле, Pl/SQL Developer умеет сравнительно сносно сравнивать схемы, даже пытается выделять разницу. Однако к DDL, генерируемым pls/sql developer'ом надо относиться весьма критично. Бывает кривит он информацию о партициях, IOT'ах, локальных индексах.

Кажется были какието скриптики и от оракла для сравнения схем.

Контроля версий у нас нет. Вернее есть, но ведется она на интуитивном уровне smile


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
KaKTyCc
Дата 12.2.2009, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 247
Регистрация: 2.8.2005

Репутация: нет
Всего: 1



Zloxa,  у вас что то типо релизов?
Которые запланированы?

А вот интересно, как с такой задачей справляются сотовые провайдеры, если изменения большие,
а сервис должен быть доступен 24/7. Ложат базу?




--------------------
Мой блог
PM MAIL WWW   Вверх
skyboy
Дата 12.2.2009, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 5
Всего: 260



Цитата(KaKTyCc @  12.2.2009,  17:23 Найти цитируемый пост)
skyboy а вы как решаете эту задачу? так же как в команде у Zloxa

угу. проект, правда, у меня не особой сложности, но сейчас приходится корректировать структуру, на предыдущих этапах вполне устраивающую. Потому пишутся все нужные ALTER TABLE, UPDATE, INSERT ... SELECT, чтоб старые данные и в новой структуре остались живы.

PM MAIL   Вверх
Zloxa
Дата 13.2.2009, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 11
Всего: 161



Цитата(KaKTyCc @  12.2.2009,  18:42 Найти цитируемый пост)
А вот интересно, как с такой задачей справляются сотовые провайдеры, если изменения большие,
а сервис должен быть доступен 24/7. Ложат базу?

Ну а как иначе?

Никогда не получал от операторов сообщений типа "Service is not available now"?
Ну и опять же 24*7 всякий бывает. Иногда, если сервер полежит пару-тройку часиков, потерь как таковых и не случается.

У нас гендир раньше занимал какойто из высоких постов в билайне. Когда мы его запросили залечь на четверо суток(а у нас всего лишь транспортная система, от чего ее позиционируют как 24/7 - мне не ясно. Четверо суток полежали бы, ничо не сталось бы), он нас типа в непрофессионализме обвинил, сказав что его парни из билайна биллинг за двое суток на новую платформу перенести смогли. Так что и сотовики ложаться... Правда не знаю как. Но наверно можно как то придумать, чтоб время лежки было минимальным. Вот и нам тогда пришлось усекать релиз, выносить часть трансформаций на фоновый режим, править код, чтобы обеспечить возможность "некоторое время" работать на несогласованных данных. Но в двое суток типа уложились... Правда фоновые процессы отрабатывали два месяца ;)) Но бизнес этого не заметил, слава б-гу.


Это сообщение отредактировал(а) Zloxa - 13.2.2009, 13:01


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
KaKTyCc
Дата 13.2.2009, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 247
Регистрация: 2.8.2005

Репутация: нет
Всего: 1



Zloxa, спасибо за ответ
--------------------
Мой блог
PM MAIL WWW   Вверх
Bikutoru
Дата 18.2.2009, 13:29 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Увлекающийся
**


Профиль
Группа: Участник
Сообщений: 522
Регистрация: 24.5.2005
Где: Москва

Репутация: нет
Всего: 22



Утилиты имеются:
Есть LiquiBase http://www.liquibase.org/quickstart
В Ruby on Rails есть Migrations http://wiki.rubyonrails.com/rails/pages/Un...ndingMigrations
Для перла есть модуль DBIx::Migration (http://search.cpan.org/~daniel/DBIx-Migration-0.05/lib/DBIx/Migration.pm), с помощью которого можно сделать что-то подобное.
Возможно есть что-то еще.

У всех этих "штук" общая идея - все изменения схемы данных делаются не ручками, а через утилиту. Все измения схемы описываются парами - инструкции по переводу схемы из версии N в версию N + 1 и инструкции по откату схемы из версии N + 1 обратно к версии N (в LiquiBase это делается с помощью XML, в Migrations - ruby-кодом, в DBIx::Migration - парами SQL-скриптов).





Это сообщение отредактировал(а) Bikutoru - 18.2.2009, 13:31


--------------------
Человек, словно в зеркале мир — многолик, 
Он ничтожен — и он же безмерно велик!
Омар Хайям
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Общие вопросы по базам данных"
LSD
Zloxa

Данный форум предназначен для обсуждения вопросов о базах данных не попадающих под тематику других форумов:

  • вопросам по СУБД для которых нет отдельных подфорумов
  • вопросам которые затрагивают несколько разных СУБД (например проблема выбора)
  • инструменты для работы с СУБД
  • вопросы проектирования БД
  • теоретически вопросы о СУБД

Данный форум не предназначен для:

  • вопросов о поиске разлиных БД (если не понимаете чем БД отличается от СУБД то: а) вам не сюда; б) Google в помощь)
  • обсуждения проблем с доступом к СУБД из различных ЯП (для этого есть соответсвующие форумы по каждому ЯП)
  • обсуждения проблем с написание SQL запросов, для этого есть форум Составление SQL-запросов
  • просьб о написании курсовой, реферата и т.п., для этого есть Центр помощи или фриланс биржа
  • объявлений о найме специалистов, для этого есть раздел Объявления о найме специалистов

Если вы не соблюдаете эти правила, не удивляйтесь потом не найдя свою тему/сообщение. ;)


Полезные советы:

При написании сообщения постарайтесь дать теме максимально понятное название. В теме максимально подробно опишите проблему. Если применимо укажите: название базы данных и версии (MySQL 4.1, MS SQL Server 2000 и т.п.); используемых язык программирования; способа доступа (ADO, BDE и т.д.); сообщения об ошибках.

Для вставки кода используйте теги [code=sql] [/code].

Литературу по базам данных можно поискать здесь.

Действия модераторов можно обсудить здесь.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, LSD, Zloxa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | СУБД, общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0488 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.