Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3 4   вперед  Ctrl      все
 Поделитесь опытом управления/хранения исходников в svn  [new]
jigan
Member

Откуда:
Сообщений: 156
Доброго дня. Поделитесь пожалуйста информацией кто как хранит исходники метаданных в svn.
С теми типами объектов, которые возможно пересоздать, проблем нет. Интересует именно хранение изменений таблиц, индексов, ключей, обьектов в которых уже есть данные.
20 мар 13, 08:20    [14070499]     Ответить | Цитировать Сообщить модератору
 Re: Поделитесь опытом управления/хранения исходников в svn  [new]
jigan
Member

Откуда:
Сообщений: 156
Что никто не хранит исходники в свн?
20 мар 13, 09:48    [14070758]     Ответить | Цитировать Сообщить модератору
 Re: Поделитесь опытом управления/хранения исходников в svn  [new]
rockclimber
Member

Откуда: у меня в голове опилки?
Сообщений: 11085
jigan
Что никто не хранит исходники в свн?
Я пытаюсь хранить (в гите, но это не принципиально). Пока мало времени прошло, чтобы делать какие-то выводы, но пока у меня нет уверенности, что это "взлетит".
20 мар 13, 10:23    [14070880]     Ответить | Цитировать Сообщить модератору
 Re: Поделитесь опытом управления/хранения исходников в svn  [new]
jigan
Member

Откуда:
Сообщений: 156
у нас не вариант не использовать, около 50 разработчиков активно меняющих код, короткие и длинные проекты.
20 мар 13, 15:36    [14072681]     Ответить | Цитировать Сообщить модератору
 Re: Поделитесь опытом управления/хранения исходников в svn  [new]
-2-
Member

Откуда:
Сообщений: 15330
jigan
Что никто не хранит исходники в свн?
да в чем проблема-то. храни хоть пакеты, хоть таблицы. хоть в свн, хоть на файловой системе, хоть в самой бд.
А работа с изменениями это функция не столько svn, сколько системы патчевания.
20 мар 13, 15:50    [14072768]     Ответить | Цитировать Сообщить модератору
 Re: Поделитесь опытом управления/хранения исходников в svn  [new]
kinky cat
Member

Откуда: с дивана23
Сообщений: 1238
jigan,
tortoisesvn + plugin для pl/sql developer
20 мар 13, 16:08    [14072878]     Ответить | Цитировать Сообщить модератору
 Re: Поделитесь опытом управления/хранения исходников в svn  [new]
jigan
Member

Откуда:
Сообщений: 156
-2-
jigan
Что никто не хранит исходники в свн?
да в чем проблема-то. храни хоть пакеты, хоть таблицы. хоть в свн, хоть на файловой системе, хоть в самой бд.
А работа с изменениями это функция не столько svn, сколько системы патчевания.

я тут немного другого мнения, это как раз то, на что заточен subversion. Например у меня 5 разработчиков на проекте дорабатывают в рамках разных задач один пакет, а тебе нужно выпустить релиз только с фичами которые реализовали только 2 из них, сводить руками?
Может кто то еще откликнется?
20 мар 13, 16:11    [14072902]     Ответить | Цитировать Сообщить модератору
 Re: Поделитесь опытом управления/хранения исходников в svn  [new]
jigan
Member

Откуда:
Сообщений: 156
kinky cat
jigan,
tortoisesvn + plugin для pl/sql developer

черепаху и юзаю, плагин погляжу. Больше всего сейчас инетересует как храните изменения объектов, которые нельзя пересоздать. Нарпимер в таблицу нужно добавить столбец, еще через месяц удалить 2 других. Как храните список таких команд, в разных или отдельных файлах от самой команды создания таблицы. Если можно покажите структуру репозитория.
20 мар 13, 16:14    [14072931]     Ответить | Цитировать Сообщить модератору
 Re: Поделитесь опытом управления/хранения исходников в svn  [new]
dba123
Member

Откуда:
Сообщений: 1054
jigan,

у нас хранится в отдельном(ых) файле upgrade.sql, который перезаписывается от ревизии к ревизии

schema1
- package
- procedure
- function
- view
- ...
schema2
- package
- procedure
- function
- view
- ...
schema1.upgrade.sql
schema2.upgrade.sql
lastddl.log
20 мар 13, 16:38    [14073132]     Ответить | Цитировать Сообщить модератору
 Re: Поделитесь опытом управления/хранения исходников в svn  [new]
-2-
Member

Откуда:
Сообщений: 15330
jigan
я тут немного другого мнения, это как раз то, на что заточен subversion. Например у меня 5 разработчиков на проекте дорабатывают в рамках разных задач один пакет, а тебе нужно выпустить релиз только с фичами которые реализовали только 2 из них, сводить руками?
Как все запущено, больного уже не спасти. Svn только инструмент, считай градусник, который поможет поставить диагноз в некоторых случаях.
20 мар 13, 16:40    [14073143]     Ответить | Цитировать Сообщить модератору
 Re: Поделитесь опытом управления/хранения исходников в svn  [new]
jigan
Member

Откуда:
Сообщений: 156
-2-
jigan
я тут немного другого мнения, это как раз то, на что заточен subversion. Например у меня 5 разработчиков на проекте дорабатывают в рамках разных задач один пакет, а тебе нужно выпустить релиз только с фичами которые реализовали только 2 из них, сводить руками?
Как все запущено, больного уже не спасти. Svn только инструмент, считай градусник, который поможет поставить диагноз в некоторых случаях.

говори, если есть что сказать по делу, умник. если желаешь пофлеймить иди дальше.
20 мар 13, 16:55    [14073275]     Ответить | Цитировать Сообщить модератору
 Re: Поделитесь опытом управления/хранения исходников в svn  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34630
jigan
Интересует именно хранение изменений таблиц, индексов, ключей, обьектов в которых уже есть данные.


Так а собственно в чём проблема-то ?

Ну, сделай скрипт (скрипты) и храни.
Мы например модель храним, ErWin там или SDesigner.
20 мар 13, 16:57    [14073304]     Ответить | Цитировать Сообщить модератору
 Re: Поделитесь опытом управления/хранения исходников в svn  [new]
Vint
Member

Откуда: Москва
Сообщений: 4564
jigan
говори, если есть что сказать по делу, умник. если желаешь пофлеймить иди дальше.

Умник, тебе лечиться надо. если у тебя 5 разработчиков одновременно дорабатывают 1 пакет то твоя архитектура -Г***о, и архитектора надо казнитьнельзяпомиловать серпом по яйцам. svn оставь для ооп.. и иже с ними..
20 мар 13, 16:59    [14073313]     Ответить | Цитировать Сообщить модератору
 Re: Поделитесь опытом управления/хранения исходников в svn  [new]
kinky cat
Member

Откуда: с дивана23
Сообщений: 1238
jigan
kinky cat
jigan,
tortoisesvn + plugin для pl/sql developer

черепаху и юзаю, плагин погляжу. Больше всего сейчас инетересует как храните изменения объектов, которые нельзя пересоздать. Нарпимер в таблицу нужно добавить столбец, еще через месяц удалить 2 других. Как храните список таких команд, в разных или отдельных файлах от самой команды создания таблицы. Если можно покажите структуру репозитория.

по поводу таблиц итп (давно это было, уже даже не разработчик - так что репы нет ), как то так:
файлик на create, отдельные на alter
при изменении таблы разраб
- лочит на креате
- создает новый файл алтер
- обновляет креате - т.е он всегда актуальный
- коммит

Файлы алтер со временем архивируются.
20 мар 13, 17:06    [14073355]     Ответить | Цитировать Сообщить модератору
 Re: Поделитесь опытом управления/хранения исходников в svn  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
Vint
jigan
говори, если есть что сказать по делу, умник. если желаешь пофлеймить иди дальше.

Умник, тебе лечиться надо. если у тебя 5 разработчиков одновременно дорабатывают 1 пакет то твоя архитектура -Г***о, и архитектора надо казнитьнельзяпомиловать серпом по яйцам. svn оставь для ооп.. и иже с ними..

эмоционально сказано, однако, схвачена суть.
никакой svn не способен (сам по себе) противостоять бардаку.
20 мар 13, 17:15    [14073403]     Ответить | Цитировать Сообщить модератору
 Re: Поделитесь опытом управления/хранения исходников в svn  [new]
jigan
Member

Откуда:
Сообщений: 156
kinky cat
jigan
пропущено...

черепаху и юзаю, плагин погляжу. Больше всего сейчас инетересует как храните изменения объектов, которые нельзя пересоздать. Нарпимер в таблицу нужно добавить столбец, еще через месяц удалить 2 других. Как храните список таких команд, в разных или отдельных файлах от самой команды создания таблицы. Если можно покажите структуру репозитория.

по поводу таблиц итп (давно это было, уже даже не разработчик - так что репы нет ), как то так:
файлик на create, отдельные на alter
при изменении таблы разраб
- лочит на креате
- создает новый файл алтер
- обновляет креате - т.е он всегда актуальный
- коммит

Файлы алтер со временем архивируются.

спасибо, хоть один ответ по делу
20 мар 13, 17:48    [14073588]     Ответить | Цитировать Сообщить модератору
 Re: Поделитесь опытом управления/хранения исходников в svn  [new]
jigan
Member

Откуда:
Сообщений: 156
Vint
jigan
говори, если есть что сказать по делу, умник. если желаешь пофлеймить иди дальше.

Умник, тебе лечиться надо. если у тебя 5 разработчиков одновременно дорабатывают 1 пакет то твоя архитектура -Г***о, и архитектора надо казнитьнельзяпомиловать серпом по яйцам. svn оставь для ооп.. и иже с ними..

ты в реальных проектах в роли кого работаешь, если у тебя не было такой ситуации когда ты управляешь несколькими разработчиками, меняющими связаные части кода, то проходи мимо.
20 мар 13, 17:50    [14073600]     Ответить | Цитировать Сообщить модератору
 Re: Поделитесь опытом управления/хранения исходников в svn  [new]
jigan
Member

Откуда:
Сообщений: 156
Продолжаю собирать реальный опыт по управлению кодом и метадаными в Oracle использованием svn...
20 мар 13, 17:52    [14073613]     Ответить | Цитировать Сообщить модератору
 Re: Поделитесь опытом управления/хранения исходников в svn  [new]
Amberit
Member

Откуда: Киев
Сообщений: 765
jigan,

автор
Например у меня 5 разработчиков на проекте дорабатывают в рамках разных задач один пакет, а тебе нужно выпустить релиз только с фичами которые реализовали только 2 из них, сводить руками?


Вариантов как всегда несколько:

1. Нужно по максимуму стараться, чтобы в один момент времени с одним объектом БД работал один разработчик. Соответственно, в SVN каждый объект хранится в виде отдельного файла (для пакетов, например, спецификация и тело - это два отдельных файла), и перед началом работы лочится разработчиком. После окончания работы в SVN коммитится новая ревизия, и теперь следующий разработчик может начинать работать с объектом.

2. Соответственно, если несколько разработчиков изменили пакет, а в продуктив нужно двинуть только некоторые изменения, то берется либо конкретная ревизия объекта, либо создается ветка, куда вручную вливаются соответствующие изменения.

Как следствие п.2 - старайтесь не держать монстрообразных пакетов. Делите функционал на более мелкие части. Тогда будет уходить потребность одновременного изменения объектов несколькими разработчиками.

3. В БД можно реализовать учет ревизий, если в объект вставить SVN-заголовок (комментарий, содержащий №ревизии, автора, дату изменения - служебные поля SVN + с помощью хук-скриптов можно навернуть дополнительные поля: номер таска в JIRA, номер основных ревизий в ветке и т.д.). Обработку осуществлять с помощью триггера after ddl + job. Для объектов, в которых невозможно вставить SVN-заголовок (таблицы, индексы, сиквенсы и т.д., данные по ревизиям можно проставлять, вызывая процедуру, которая эти данные занесет в БД). Но это уже требует определенных соглашений между разработчиками.

3. Как вариант п.2, можно применить "метки" при одновременной разработке, т.е. каждый разработчик пишет код в своей метке: IF get_label_state('Таск №1') = 1 THEN ... что-то делается END IF; Соответственно, в БД есть справочник меток с признаком Вкл/Выкл. Такой подход имеет кучу недостатков, но в некоторых случаях может применяться и применяться успешно...
20 мар 13, 17:53    [14073620]     Ответить | Цитировать Сообщить модератору
 Re: Поделитесь опытом управления/хранения исходников в svn  [new]
Vadim Lejnin
Member

Откуда:
Сообщений: 7131
SVN только инструмент, главное организация работ.
Работал на большом проекте OeBS для нескольких ОС (windows,linux,HP-UX,AIX)
текущая/будущая версии

Все изменения в системы только через систему накатки патчей: скрипты, данные, формы в SVN
Все изменения оформляются штатным образом и хранятся jira + SVN.

Восстанавливается текущая базовая версия, и система накатки патчей догоняет ее до планируемой.
патчи на 95% автоматические, ручные патчи оформляются специальной процедурой.
Если наработки не сохранил штатным образом на час X, будешь переделывать.

Система автоматических backup/restore.

Основные группы систем:
development linux (помойка разработчиков)
--------------------------------------------------
develop1 текущая версия
develop2 будущая версия
develop3..N - специальные системы для которых трудно реализовать
автоматику:
- подсистемы для настройки которых требуется много ручной работы,
- подсистемы сильно влияющие на другие системы для стабильности последних или влияющие друг на друга.
- подсистемы дорогие для разворачивания, например требующие дополнительных лицензий

перезаливаются по заявке руководителей разработки. Как правило раз в неделю.

внутренне тестирование (все ОС)
----------------------------
первоначальное тестирование патчей, функционал
Перезаливаются ежедневно из стабильных версий

внешнее тестирование (все ОС) (пререлиз для отправки заказчикам)
---------------------------
окончательное тестирование и нагрузочное тестирование
отказ на последнюю стабильную версию при проблемах

Системы для тренинга/демонстрации
-------------------------------------------
Как правило только восстанавливаются, потом удаляются пол запросу
================================================

Для небольшого проекта это могут быть разные схемы.
Главная идея: все что не оформлено как патч, того не существует.
20 мар 13, 17:56    [14073640]     Ответить | Цитировать Сообщить модератору
 Re: Поделитесь опытом управления/хранения исходников в svn  [new]
jigan
Member

Откуда:
Сообщений: 156
Amberit
jigan,

автор
Например у меня 5 разработчиков на проекте дорабатывают в рамках разных задач один пакет, а тебе нужно выпустить релиз только с фичами которые реализовали только 2 из них, сводить руками?


Вариантов как всегда несколько:

1. Нужно по максимуму стараться, чтобы в один момент времени с одним объектом БД работал один разработчик. Соответственно, в SVN каждый объект хранится в виде отдельного файла (для пакетов, например, спецификация и тело - это два отдельных файла), и перед началом работы лочится разработчиком. После окончания работы в SVN коммитится новая ревизия, и теперь следующий разработчик может начинать работать с объектом.

2. Соответственно, если несколько разработчиков изменили пакет, а в продуктив нужно двинуть только некоторые изменения, то берется либо конкретная ревизия объекта, либо создается ветка, куда вручную вливаются соответствующие изменения.

Как следствие п.2 - старайтесь не держать монстрообразных пакетов. Делите функционал на более мелкие части. Тогда будет уходить потребность одновременного изменения объектов несколькими разработчиками.

3. В БД можно реализовать учет ревизий, если в объект вставить SVN-заголовок (комментарий, содержащий №ревизии, автора, дату изменения - служебные поля SVN + с помощью хук-скриптов можно навернуть дополнительные поля: номер таска в JIRA, номер основных ревизий в ветке и т.д.). Обработку осуществлять с помощью триггера after ddl + job. Для объектов, в которых невозможно вставить SVN-заголовок (таблицы, индексы, сиквенсы и т.д., данные по ревизиям можно проставлять, вызывая процедуру, которая эти данные занесет в БД). Но это уже требует определенных соглашений между разработчиками.

3. Как вариант п.2, можно применить "метки" при одновременной разработке, т.е. каждый разработчик пишет код в своей метке: IF get_label_state('Таск №1') = 1 THEN ... что-то делается END IF; Соответственно, в БД есть справочник меток с признаком Вкл/Выкл. Такой подход имеет кучу недостатков, но в некоторых случаях может применяться и применяться успешно...


Amberit , спасибо за ответ.
1. В большинстве случаев это катит, но все больше идет разработок одновременных, когда нельзя ждать.
2. Я не говорю о больших пакетах, все выглядит довольно красиво, с пятью разработчиками конечно утрировал, но 2-3 это ежедневная реальность.

Над предложениями подумаю.
Сейчас разработка ведется в транке, разделели ИС на некоторое количество подсистем с архитекторами. Хочу разобраться как правильно работать с ветками, как на основе диффа нескольких веток строить релиз.
20 мар 13, 18:04    [14073682]     Ответить | Цитировать Сообщить модератору
 Re: Поделитесь опытом управления/хранения исходников в svn  [new]
Vint
Member

Откуда: Москва
Сообщений: 4564
jigan
ты в реальных проектах в роли кого работаешь, если у тебя не было такой ситуации когда ты управляешь несколькими разработчиками, меняющими связаные части кода, то проходи мимо.

в роли архитектора(с эксклюзивным правом создавать и изменять таблицы представления и многие другие обьекты в базе). еще вопросы?) у меня хоть и кривая архитектура, но не полностью в жООПе, поэтому не бывает, что функциональность дописывается более чем 1им человеком)) пошел дальше кушать попкорн.
20 мар 13, 18:08    [14073699]     Ответить | Цитировать Сообщить модератору
 Re: Поделитесь опытом управления/хранения исходников в svn  [new]
Серафимный Шестикрыл
Member [заблокирован]

Откуда: С луны свалился
Сообщений: 2922
jigan
Продолжаю собирать реальный опыт по управлению кодом и метадаными в Oracle использованием svn...


Любая система управления версиями работает настолько, насколько работает голова team lead.
Тебе ведь по делу сказали - поставь хоть Perforce, хоть SVN, но если десять человек откроют по бранчу для одной
и той же единицы компилляции, накодят, а потом это смержат, то тебе останется только убить себя апстену.
Проверено многократно, многолюдно, и нотариально заверено скриншотом.
20 мар 13, 18:10    [14073703]     Ответить | Цитировать Сообщить модератору
 Re: Поделитесь опытом управления/хранения исходников в svn  [new]
vladimir74
Member

Откуда: Отсюда
Сообщений: 3613
jigan
Vint
пропущено...

Умник, тебе лечиться надо. если у тебя 5 разработчиков одновременно дорабатывают 1 пакет то твоя архитектура -Г***о, и архитектора надо казнитьнельзяпомиловать серпом по яйцам. svn оставь для ооп.. и иже с ними..

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


может все таки в одной shema а не в одном package?
все таки Oracle База и Oracle Java это две большие разницы....

Кстати в Toad есть примочка Team Coding (кажется так называется) именно для того чтоб второй разрабобтчик не смог залезть в твой package.

Насчет svn - у нас для каждой версии / релиза (называй как хочешь) есть структура с 4 папками.
1. SQL
2. PL SQL
3. всякие скрипты для веба
4. картинки и тд

В SQL хранятся все скрипты в том виде чтоб изменить обьект. (пример ALTER TABLE ....)
20 мар 13, 18:11    [14073706]     Ответить | Цитировать Сообщить модератору
 Re: Поделитесь опытом управления/хранения исходников в svn  [new]
Кто-то еще
Guest
jigan,

Я использую продукт, который позволяет оформите все объекты как пересоздаваемые. То есть есть возмжность писать что-то вроде create or replace table. Совершенно иной подход в оформлении исходников. Можно на пустую базу сразу ставить N-ную версию, а не накатывать N патчей. Очень удобно, и позволяет избежать ошибок программистов (напимер неоптимальный ALTER). Кроме того он еще позволяет откатывать все изменения до предыдущей версии.
Если интересует пишите на мыло: кгыефьлфафкщм (только в английской раскладке) at gmail.com - расскажу детали.
20 мар 13, 18:38    [14073823]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3 4   вперед  Ctrl      все
Все форумы / Oracle Ответить