|
|
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
Приветствую! Кто какими средствами пользуется для обеспечения разработки пакетов/процедур и тд, и как кто разграничивает доступность объектов для программистов?) Интересуют какие-то программные решения, а не "мы с Васей договорились что я работаю над этим, а Степа над этим") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2015, 10:07 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
Zalm, каждый программист в своей схеме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2015, 10:11 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
Zalm, У нас SVN. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2015, 10:26 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
Программист из схемыZalm, каждый программист в своей схеме. Т.е. вы делаете клон базы данных по разным схемам? Для модификации одних и тех же таблиц весом в 30Gb каждый программист перекачивает их в свою схему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2015, 10:31 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
Вам поможет триггер before ddl on database - почитайте про него. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2015, 10:44 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
PasticВам поможет триггер before ddl on database - почитайте про него. Как триггер before ddl будет "разграничивать доступность объектов" при совместной разработке? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2015, 10:53 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
ВадиманPasticВам поможет триггер before ddl on database - почитайте про него. Как триггер before ddl будет "разграничивать доступность объектов" при совместной разработке? Делаете таблицу, в которой хранится информация о том, какой пользователь (программист) какой объект СУБД "взял". А в триггере before ddl проверяете, что пользователь, который хочет откомпилировать объект СУБД, отметил нужным образом этот объект. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2015, 11:29 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
Den89Zalm, У нас SVN. SVN... а я тогда могу зайти в другой пакет и закомпилить его когда кто-то другой что-то делает? PasticВам поможет триггер before ddl on database - почитайте про него. Я не спрашиваю как мне организовать работу, я спрашиваю кто как работает) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2015, 11:43 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
ВадиманПрограммист из схемыZalm, каждый программист в своей схеме. Т.е. вы делаете клон базы данных по разным схемам? Для модификации одних и тех же таблиц весом в 30Gb каждый программист перекачивает их в свою схему? А если 4 ТБ ))) с отдельными схемами не вариант работать) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2015, 11:44 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
ZalmВадиманпропущено... Т.е. вы делаете клон базы данных по разным схемам? Для модификации одних и тех же таблиц весом в 30Gb каждый программист перекачивает их в свою схему? А если 4 ТБ ))) с отдельными схемами не вариант работать) да чем ни пользуйтесь, пока с Васей не договоритесь - всё напрасно будет ну а что народ натрендел ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2015, 11:50 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
ZalmDen89Zalm, У нас SVN. SVN... а я тогда могу зайти в другой пакет и закомпилить его когда кто-то другой что-то делает? PasticВам поможет триггер before ddl on database - почитайте про него. Я не спрашиваю как мне организовать работу, я спрашиваю кто как работает) С какой целью интересуетесь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2015, 12:05 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
Zalm"мы с Васей договорились что я работаю над этим, а Степа над этим") Система контроля версий Но она не будет работать, если не удастся договориться в команде, что все работают с едиными правилами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2015, 12:10 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
andreymxZalm"мы с Васей договорились что я работаю над этим, а Степа над этим") Система контроля версий Но она не будет работать, если не удастся договориться в команде, что все работают с едиными правилами Система коллективной разработки на основе триггера before ddl on database весьма способствует тому, чтобы всем в команде удалось договориться о единых правилах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2015, 12:14 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
Pastic, У нас Toad + TeamCoding Следовательно только 1 программист может работать с одним пакетом. SVN тоже есть, но честно говоря через Toad по человечески он так и не подключился. :( Коммитим напрямую из виндов :(. Почему не подключается можешь не спрашивать, там админы что то ерутили вертели, потом вынесли вердикт что версии Toad / TeamCoding / SVN не совпадают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2015, 12:15 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
Toad+ VSS более 10 лет. Код блокируется монопольно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2015, 12:44 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
Zalm, Из свежих можно посмотреть http://gitora.com/ Для начала прочесть http://blog.gitora.com/ Успехов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2015, 13:36 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
отдельный дев инстанс каждому тиму (или девелоперу, или под проект). система контроля версий, каждый таск девелопится в своём бранче, перед инсталляцией на тест мержится в релизный бранч, дальнейшие фиксы идут в релизном бранче. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2015, 13:48 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
ZalmПриветствую! Кто какими средствами пользуется для обеспечения разработки пакетов/процедур и тд, и как кто разграничивает доступность объектов для программистов?) Интересуют какие-то программные решения, а не "мы с Васей договорились что я работаю над этим, а Степа над этим") Stash / Git /TeamCity / 12c / PDB / ACFS snapshot clone ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2015, 14:06 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
В примечаниях к tortoisesvn пишут, что блокировки в системах контроля версий используют только лохи, и это всё давно устарело авторКак правило, Subversion работает лучше без блокировки, используя метод «Копирование-Изменение-Слияние», описанный ранее в «Модель Копирование-Изменение-Слияние». Однако, есть несколько случаев, когда вам может потребоваться реализовать в некотором виде политику блокирования. Ваша компания в прошлом всегда использовала блокирующую систему контроля версий, и руководство решило, что «ничего не сравнится с блокированием». ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2015, 14:34 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
avasотдельный дев инстанс каждому тиму (или девелоперу, или под проект). система контроля версий, каждый таск девелопится в своём бранче , перед инсталляцией на тест мержится в релизный бранч , дальнейшие фиксы идут в релизном бранче . Копец))) такой ответ аж читать глаза болят))) Русские слова не известны?))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2015, 14:41 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
Zalmavasотдельный дев инстанс каждому тиму (или девелоперу, или под проект). система контроля версий, каждый таск девелопится в своём бранче , перед инсталляцией на тест мержится в релизный бранч , дальнейшие фиксы идут в релизном бранче . Копец))) такой ответ аж читать глаза болят))) Русские слова не известны?))) У нас похожая система. Каждый девелопер имеет свою схему в которой и ведет разработку. Для каждой команды создается свой бранч в гите, после завершения разработки, все сливается в релизный бранч и накатывается на отдельный сервак. После прохождения тестинга, все накатывается на продакшен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2015, 16:25 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
AlexGubinУ нас похожая система. Каждый девелопер имеет свою схему в которой и ведет разработку. Для каждой команды создается свой бранч в гите, после завершения разработки, все сливается в релизный бранч и накатывается на отдельный сервак. После прохождения тестинга, все накатывается на продакшен. Команда 1 разработала патч 1, проверила не тесте 1 Одновременно команда 2 разработала патч 2, проверила на тесте 2. Как в этой схеме Вы проверяете совместистную работу патчей 1 и 2? Допускается ли совместная работа команд с одними объектами (допустим package boby) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2015, 16:40 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
а зачем тест1 и тест2? имейте один тест, и проблема отпадёт. А если так хочеться 2 теста, то дальше всё равно будет стейжинг где оба фикса будут стоять вместе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2015, 19:52 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
кто-какStash / Git /TeamCity / 12c / PDB / ACFS snapshot clone Не затруднит немного поподробнее расписать? Мы Stash / Git начинаем использовать, не хочется на грабли наступать. Можно в почту ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2015, 19:52 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
ZalmПриветствую! Кто какими средствами пользуется для обеспечения разработки пакетов/процедур и тд, и как кто разграничивает доступность объектов для программистов?) Интересуют какие-то программные решения, а не "мы с Васей договорились что я работаю над этим, а Степа над этим") http://www.dbmaestro.com/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2015, 22:31 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
Максим Н http://www.dbmaestro.com/ +1 Рекомендую - очень достойный инструмент. Мы когда себе выбирали систему контроля версий для БД - он был у нас на первом месте. Не прижился по политическим причинам. Он умеет делать check-in/check-out объектов прямо в базе данных - т.е. работает для случая когда Вася с Петей не могут/не хотят договориться. Разработчики достаточно хорошо понимают что такое версионная разработка - и достаточно отзывчивы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2015, 13:25 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
кое-кто2Он умеет делать check-in/check-out объектов прямо в базеблокировку псевдообъекта в базе умеют делать тоад и, посредством плагина свцо, plsql и sql developerы. как пользовать всеми конкретный инструмент для получения кода из бд, так никто не мешает договориться в качестве источника редактирования использовать файлы для хранимого plsql со всем функционалом системы контроля версий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2015, 14:32 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
[quot скв]кое-кто2 так никто не мешает договориться в качестве источника редактирования использовать файлы для хранимого plsql со всем функционалом системы контроля версий. с PLSQL все понятно - там единица деплоймента - целый файл (самодостаточный)- т.e. CREATE OR REPLACE PROCEDURE .... END; как быть с DDL на таблицы, к примеру ? и еще учесть то что эти DDL строго инкрементальные - нельзя пропустить ни одной версии. Этого требования нет в хранении версий файлов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2015, 14:48 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
кое-кто2как быть с DDL на таблицы, к примеру ? и еще учесть то что эти DDL строго инкрементальные - нельзя пропустить ни одной версии. Этого требования нет в хранении версий файлов.А как dbmestro определяет, что ты решил править таблицу? В случае с таблицами держится эталонный файл c ddl создания. Система патчей - это уже скрипты с альтерами, которые сами по себе версионировать бессмысленно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2015, 17:05 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
ддляторА как dbmestro определяет, что ты решил править таблицу? а структура таблицы заблокирована. чтобы изменить структуру таблицы тебе надо сделать ей check-out сначала. ддляторВ случае с таблицами держится эталонный файл c ddl создания. Система патчей - это уже скрипты с альтерами, которые сами по себе версионировать бессмысленно. глобально есть два способа версионности базы данных - держать DDL create table и вычислять разницу чтобы сгенерировать патч (как делает dbmaestro) - держать под контролем именно все ALTER - как делают, например, Liquibase/dbup/roundhouse/... . есть плюсы и минусы у каждого подхода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2015, 20:29 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
кое-кто2ддляторА как dbmestro определяет, что ты решил править таблицу? а структура таблицы заблокирована. чтобы изменить структуру таблицы тебе надо сделать ей check-out сначала.Заблокирована при правке через форму правки? Что делать с правками, недоступными через интерфейс или, если генерируемый формой код не устроил. Например, create or replace view грохает констрейнты и комменты на нее. кое-кто2глобально есть два способа версионности базы данных - держать DDL create table и вычислять разницу чтобы сгенерировать патч (как делает dbmaestro) - держать под контролем именно все ALTER - как делают, например, Liquibase/dbup/roundhouse/... . есть плюсы и минусы у каждого подхода.Первый вариант применим только для крайне узкого круга правок структуры. Сохранить ддл в процессе разработки не составляет труда, в отличие от разгребания явных и неявных зависимостей результата сравнения объектов. ddl-diff пригоден только для контроля последствий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2015, 21:49 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
ренамекое-кто2пропущено... а структура таблицы заблокирована. чтобы изменить структуру таблицы тебе надо сделать ей check-out сначала.Заблокирована при правке через форму правки? Что делать с правками, недоступными через интерфейс или, если генерируемый формой код не устроил. Например, create or replace view грохает констрейнты и комменты на нее. Заблокирована прямо в базе. Не имеет значения какой софт использовать чтобы сделать изменения в базе. Нужно только с помощью dbMaestro сделать checkout объекта - иначе все alter table упадут с ошибкой что изменения невозможны. Если ты сказал в базе create or replace view - ты и убил констрейнты и комменты - это твое дело их воссоздать. А как только ты воссоздал, dbMaestro повторит это (с точностью до багов, если они есть в этом месте :) ) ренамекое-кто2глобально есть два способа версионности базы данных - держать DDL create table и вычислять разницу чтобы сгенерировать патч (как делает dbmaestro) - держать под контролем именно все ALTER - как делают, например, Liquibase/dbup/roundhouse/... . есть плюсы и минусы у каждого подхода.Первый вариант применим только для крайне узкого круга правок структуры. Сохранить ддл в процессе разработки не составляет труда, в отличие от разгребания явных и неявных зависимостей результата сравнения объектов. ddl-diff пригоден только для контроля последствий. 1. CREATE TABLE ddl устаревает в момент первого исполнения. Чтобы изменить таблицу потом - он уже не поможет. 2.авторесть плюсы и минусы у каждого подхода 3. Как насчет того, чтобы выстроить последовательнось выполнения 17000 скриптов для патча? Чем это отличается от "разгребания явных и неявных зависимостей" но которые известны и правила не меняются? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2015, 06:15 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
кое-кто2Как насчет того, чтобы выстроить последовательнось выполнения 17000 скриптов для патча? Чем это отличается от "разгребания явных и неявных зависимостей" но которые известны и правила не меняются?Каждый выбирает себе свой вид сексуальной веры в автоматы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2015, 07:48 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
AlexGubinZalmпропущено... Копец))) такой ответ аж читать глаза болят))) Русские слова не известны?))) У нас похожая система. Каждый девелопер имеет свою схему в которой и ведет разработку. Для каждой команды создается свой бранч в гите, после завершения разработки, все сливается в релизный бранч и накатывается на отдельный сервак. После прохождения тестинга, все накатывается на продакшен. База поди пару гигов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2015, 11:57 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
ZalmКто какими средствами пользуется для обеспечения разработки пакетов/процедур и тд, и как кто разграничивает доступность объектов для программистов?) Имеется: - DEV база одна на всех; - репозиторий SVN; - установленный на каждой рабочей станции клиент SVN; Перед началом изменений выполняется Lock в SVN файла объекта, изменяется на DEV-базе до нужной кондиции, после этого выполняется Commit в SVN и Deploy на TEST-сервер. Принято соглашение, что если объект залочен - никто другой в это время работать с ним не может (ни на DEV-базе, ни с файлом в SVN). Нужно либо договариваться об Unlock, либо вести разработку в отдельной копии пакета. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2015, 16:36 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
кое-кто2как быть с DDL на таблицы, к примеру ? и еще учесть то что эти DDL строго инкрементальные - нельзя пропустить ни одной версии. Этого требования нет в хранении версий файлов. Возможно, не совсем понял проблему, но что мешает в системе контроля версий завести файлик DDL_{имя_таблицы}.sql. В первой ревизии будет CREATE_TABLE, во второй и всех последующих: необходимые ALTER. И в случае необходимости накатывать эти ревизии последовательно до нужной кондиции... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2015, 16:44 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
ZalmПриветствую! Кто какими средствами пользуется для обеспечения разработки пакетов/процедур и тд, и как кто разграничивает доступность объектов для программистов?) Интересуют какие-то программные решения, а не "мы с Васей договорились что я работаю над этим, а Степа над этим") Из моего опыта разных организаций оптимальным видится такой подход: 1. Делается "эталон" - регулярно обновляемая схема с некоторым набором данных- типичные ситуации. 2. Для разработки используется схемы на усмотрения разработчиков. Хотят- одну на несколько человек, хотят- одну на каждого, 10 на каждого. 3. Для тестирования тоже может подниматься нужное количество схем. Тестировщики могу вести свои схемы с привычными им данными. Как- решают сами. 4. Есть большая схема данных для тестирования производительности. Архитектор решает, когда и что на ней тестировать. 5. Есть схема для тестирования релизов (если они есть и их тестируют). Код хранится в системе контроля версий. VSS - уродство и кошмар, лучше svn/git/hg. Чтобы разработчики не мешали друг другу, надо иметь разработчиков с мозгами. Безмозглые находятся и удаляются. Разделение кода- именно что "мы с Васей договорились", т.к. формализация разработки только тормозит разработку. Это я говорю как человек, потративший немало сил на замену VSS (где файлы блокируются монопольно) на SVN (где всё решается мержем потом). git/hg лучше, т.к. merge там умнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2015, 16:51 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
AmberitПеред началом изменений выполняется Lock в SVN файла объектачто есть файл объекта? Один меняет тип поля таблицы, другой view с использованием синонима на эту таблицу, третий триггер на эту вью, четвертый меняет сигнатуру функции, используемой этим триггером. ZalmAlexGubinУ нас похожая система. Каждый девелопер имеет свою схему в которой и ведет разработку. Для каждой команды создается свой бранч в гите, после завершения разработки, все сливается в релизный бранч и накатывается на отдельный сервак. После прохождения тестинга, все накатывается на продакшен.База поди пару гигов?Не так много систем, где разработчики сидят на проде, где есть полный объем БД. А неполнота (или переполнота) может быть выбрана исходя из возможностей и целей решаемых разработчиком задач. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2015, 16:54 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
Amberitкое-кто2как быть с DDL на таблицы, к примеру ? и еще учесть то что эти DDL строго инкрементальные - нельзя пропустить ни одной версии. Этого требования нет в хранении версий файлов. Возможно, не совсем понял проблему, но что мешает в системе контроля версий завести файлик DDL_{имя_таблицы}.sql. В первой ревизии будет CREATE_TABLE, во второй и всех последующих: необходимые ALTER. И в случае необходимости накатывать эти ревизии последовательно до нужной кондиции... Только не таблицы, а всей схемы. Иначе будут проблемы, когда надо обновить данные в нескольких таблицах при изменении структур. У нас ещё был самописный софт, который при мерже кода брал последний номер и создавал файл DDL_1234.sql в котором делалось всё, что нужно для этой ветки. Точнее всё было не так, т.к. использовалось VSS, но это неважно :D Соответственно взяв эталонный дамп последнего релиза и выполнив сотню скриптов, получали эталон следующего релиза. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2015, 17:03 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
Де Пендантчто есть файл объекта? Один меняет тип поля таблицы, другой view с использованием синонима на эту таблицу, третий триггер на эту вью, четвертый меняет сигнатуру функции, используемой этим триггером. В описанном Вами случае это будет: - изменения файла таблицы ddl_table.sql; - изменение файла представления vw_1.viw; - изменение файла триггера table_biud.trg; - изменение файла функции func_1.fnc; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2015, 17:07 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
AmberitДе Пендантчто есть файл объекта? Один меняет тип поля таблицы, другой view с использованием синонима на эту таблицу, третий триггер на эту вью, четвертый меняет сигнатуру функции, используемой этим триггером. В описанном Вами случае это будет: - изменения файла таблицы ddl_table.sql; - изменение файла представления vw_1.viw; - изменение файла триггера table_biud.trg; - изменение файла функции func_1.fnc;То есть, на уровне файлов каждый имеет свой лок, а на уровне базы ждут друг от друга реализации зависимостей или получают постоянные инвалидации. Все равно общаться напрямую и договариваться о работах. Неленивый архитектор поможет нетупому менеджеру разбить проект на подзадачи, выстроить зависимости, запланировать реализацию, включая зависимости БД с аналитикой, админами, прикладниками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2015, 17:55 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
Бардак усамаТо есть, на уровне файлов каждый имеет свой лок, а на уровне базы ждут друг от друга реализации зависимостей или получают постоянные инвалидации. Да, так и есть. Обычно решается организационно, т.е. тот разработчик, кот. добавляет новое поле в таблицу, также дорабатывает соответствующий функционал, использующий это новое поле, и т.д. Бардак усамаВсе равно общаться напрямую и договариваться о работах. Только в том случае, когда необходимый файл залочен в SVN. При нормальной декомпозиции системы и распределении работ такое у нас случается достаточно редко. Бардак усамаНеленивый архитектор поможет нетупому менеджеру... Если мы имеем ленивого архитектора, тупого менеджера и просто кодера то, к сожалению, слово СЧАСТЬЕ из этих букв не складывается... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2015, 19:02 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
Amberitкое-кто2как быть с DDL на таблицы, к примеру ? и еще учесть то что эти DDL строго инкрементальные - нельзя пропустить ни одной версии. Этого требования нет в хранении версий файлов. Возможно, не совсем понял проблему, но что мешает в системе контроля версий завести файлик DDL_{имя_таблицы}.sql. В первой ревизии будет CREATE_TABLE, во второй и всех последующих: необходимые ALTER. И в случае необходимости накатывать эти ревизии последовательно до нужной кондиции... КАК накатывать ? Ручками копировать нужную команду в sql plus ? На самом деле Liquibase практически это и делает. :) Только ему нужно указать имя (changeset id) для каждого alter table - и он будет пропускать то, что уже было выполнено в прошлый раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2015, 10:50 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
Кое-кто2КАК накатывать ? Ручками копировать нужную команду в sql plus ? Сделать .sql из Код: sql 1. 2. 3. Несложно. ZalmAlexGubinпропущено... У нас похожая система. Каждый девелопер имеет свою схему в которой и ведет разработку. Для каждой команды создается свой бранч в гите, после завершения разработки, все сливается в релизный бранч и накатывается на отдельный сервак. После прохождения тестинга, все накатывается на продакшен. База поди пару гигов? А зачем _разработчику_ больше? У него небольшой набор данных, часть- общее (типа КЛАДР и базовых своих справочников) часть- под его задачу. Вот я разрабатывал софт, работающий у филиалов Ростелекома. Что мне, делать это на БД с 10 млн абонентов и соответствующим количеством услуг и звонков? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2015, 11:07 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
Alexey TominЭто я говорю как человек, потративший немало сил на замену VSS Никак не могу у себя в отделе продавить идею "блокировок" на этапе разбора задачи и решения конфликтов при помощи merge. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2015, 15:51 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
CasufiAlexey TominЭто я говорю как человек, потративший немало сил на замену VSS Никак не могу у себя в отделе продавить идею "блокировок" на этапе разбора задачи и решения конфликтов при помощи merge. Надо. 1. Чтобы была задача, когда НАДО коллективно менять код. 2. Заменить все самописные скрипты, если они есть. У меня 2 было малореальным, поэтому заменил только для некоторых проектов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2015, 15:57 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
Alexey TominА зачем _разработчику_ больше?ну банально - сделать бенчмарк двух подходов на объемах, близких к реальным. понять, какой быстрее. разобраться почему. учесть в работе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2015, 16:42 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
кит северных морейAlexey TominА зачем _разработчику_ больше?ну банально - сделать бенчмарк двух подходов на объемах, близких к реальным. понять, какой быстрее. разобраться почему. учесть в работе.Возвращаясь к начальному посылу про подход с копией для каждого разработчика. Полноценный тест сравнения производительности предполагает идентичное начальное состояние, а не все тесты оставляют БД неизменной. При групповом насиловании БД результаты теста могут быть неадекватными. Посему эталонная база так или иначе требует клонирования или рестора к начальной точке и эксклюзивного владения. Неполноценный тест вполне можно провести нагенерив данные скриптиком поверх компактного разработческого клона. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2015, 16:53 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
датапумп схем внутри бдНеполноценный тест вполне можно провести нагенерив данные скриптиком поверх компактного разработческого клона.ок. вот недавняя задача из практики. две таблички, не очень маленькие, не очень большие - по 300М строк, 50 и 150гб без индексов. нужно отфильтровать ту, что поменьше, той, что побольше, и обновить несколько полей в отфильтрованном наборе на некоторые рассчитанные значения. задача не разовая. я рассматриваю два варианта - один сложный dml или несколько простых dml по цепочке временных таблиц (вопрос консистентности для ясности вынесем за скобки). мне не нужен полноценный тест, мне нужно оценить, будут ли они сопоставимы, или один окажется на порядок/порядки быстрее другого. с какого процента от реального объема можно начинать такую оценку? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2015, 17:28 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
кит северных морейможно начинать такую оценку?Разговор шел за то, вести разработку на легко клонируемом объеме или на реальном. При этом нюансы, касаемые поддержания реальности данных, противником клонируемости не уточнены. На мой взгляд, идеальным состоянием для целей проверки производительности является точная копия железа, физического расположения блоков и строк, с вариантами конкуретной нагрузки. В общем случае, поддержание такого контура недешевая вещь и все равно противоречит одновременной разработке на одной БД. Это вопрос нагрузочного тестирования, а не разработки. Неидельные условия для разработки можно рассматривать по ситуации и здесь мне кажется более предпочтительным нагенерить данные в очередной, возможно ошибочный, вариант изменяемой разработчиком структуры, чем тратить время на миграцию накопленных продуктивом данных в эту экспериментальную структуру под крики других разработчиков, сидящих на этих же данных. В твоем случае, после длительного теста останутся измененные данные, которые надо возвращать назад. Замеры эффективности могут сильно зависеть от и влиять на действия других разработчиков (тема - коллективная разработка). Банально после часа экспериментов повиснуть на блокировке строки. То есть, твой тест однозначно должен проводиться на эксклюзивном клоне, а уж продуктива, тестовой генерации и в каком объеме - вопрос возможностей и целесообразности. Впрочем, именно об этом я и написал в предыдущем сообщении. Посему, цель вопроса не ясна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2015, 18:09 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
кит северных морейAlexey TominА зачем _разработчику_ больше?ну банально - сделать бенчмарк двух подходов на объемах, близких к реальным. понять, какой быстрее. разобраться почему. учесть в работе. Это надо не так часто. Для этого разработчику на время выделяется "большая" схема. Нет, вполне реально такое- всё же у разработчиков сервер поменьше, поэтому реально, что на сервере может одновременно жить 2-3 промышленные схемы, а нагрузку можно давать в один момент только на одну из них. Это разделяемый ресурс, и на этих схемах идёт не разработка (когда нечаянно можно и запортить все данные), а только тесты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2015, 08:18 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
Клонерасткит северных морейможно начинать такую оценку?Разговор шел за то, вести разработку на легко клонируемом объеме или на реальном. При этом нюансы, касаемые поддержания реальности данных, противником клонируемости не уточнены. На мой взгляд, идеальным состоянием для целей проверки производительности является точная копия железа, физического расположения блоков и строк, с вариантами конкуретной нагрузки. В общем случае, поддержание такого контура недешевая вещь и все равно противоречит одновременной разработке на одной БД. Да это нереально! Опять же, мой опыт- в одном филиале HP/UX на каком-то безумно дорогом серваке, у других Солярка на Спарках, у кого-то IBM с AIX. И что, у себя всё держать? Это ж не окупится никогда. Понятно, что у нас стоит нечто попроще на одной из платформ. А если специфичный только для этой ОС баг- ну что ж, и такое случалось... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2015, 08:20 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
Alexey TominА если специфичный только для этой ОС баг- ну что ж, и такое случалось... Чаще всего такие баги завершаются кейсом для oracle, создание его на проде не вызывает негатива у владельцев базы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2015, 15:12 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
ArtNickAlexey TominА если специфичный только для этой ОС баг- ну что ж, и такое случалось... Чаще всего такие баги завершаются кейсом для oracle, создание его на проде не вызывает негатива у владельцев базы У них деньги не ждут. Так что обходили... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2015, 19:45 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
Alexey TominArtNickпропущено... Чаще всего такие баги завершаются кейсом для oracle, создание его на проде не вызывает негатива у владельцев базы У них деньги не ждут. Так что обходили... Ну да, ну да. Обычно оформляешь и обходишь. Но пару раз заказчик решил что ему дешевле полождать патча чем платить за исправления. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2015, 10:27 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
ArtNickAlexey Tominпропущено... У них деньги не ждут. Так что обходили... Ну да, ну да. Обычно оформляешь и обходишь. Но пару раз заказчик решил что ему дешевле полождать патча чем платить за исправления. Я с трудом представляю, что оператор связи будут ждать патча, если это можно поправить в коде (а можно всё). И всё давно оплачено- техподдержка'с! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2015, 13:49 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
Alexey TominЯ с трудом представляю, что оператор связи будут ждать патча, если это можно поправить в коде (а можно всё). И всё давно оплачено- техподдержка'с! ничего сложного. Например в базе часто используется конструкция Код: plsql 1. 2. через некоторое время после миграции на новую версию oracle было замечено что из этой конструкции пропадают строки, oracle это признал, обещал выдать патч. Переписывание всех конструкций стоит N времени и N*M денег, дешевле вернуться назад и ждать патч. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2015, 15:48 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
ArtNickAlexey TominЯ с трудом представляю, что оператор связи будут ждать патча, если это можно поправить в коде (а можно всё). И всё давно оплачено- техподдержка'с! ничего сложного. Например в базе часто используется конструкция Код: plsql 1. 2. через некоторое время после миграции на новую версию oracle было замечено что из этой конструкции пропадают строки, oracle это признал, обещал выдать патч. Переписывание всех конструкций стоит N времени и N*M денег, дешевле вернуться назад и ждать патч. Ну что ж, хороший у вас договор техподдержки :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2015, 16:56 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
ArtNickAlexey TominЯ с трудом представляю, что оператор связи будут ждать патча, если это можно поправить в коде (а можно всё). И всё давно оплачено- техподдержка'с! ничего сложного. Например в базе часто используется конструкция Код: plsql 1. 2. через некоторое время после миграции на новую версию oracle было замечено что из этой конструкции пропадают строки, oracle это признал, обещал выдать патч. Переписывание всех конструкций стоит N времени и N*M денег, дешевле вернуться назад и ждать патч. это в какой версии бага? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2015, 20:19 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
Melkomyagkii_newbi, один из первый версий 11 (точнее не помню уже) и только под аих. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2015, 09:54 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
ZalmПриветствую! Кто какими средствами пользуется для обеспечения разработки пакетов/процедур и тд, и как кто разграничивает доступность объектов для программистов?) Интересуют какие-то программные решения, а не "мы с Васей договорились что я работаю над этим, а Степа над этим") Использую SVCO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2015, 11:41 |
|
||
|
Коллективная разработка в pl/sql
|
|||
|---|---|---|---|
|
#18+
Hi Everyone, I am the founder of Gitora, version control tool for PL/SQL. I noticed that our tool has been mentioned on this site. So I thought I chime in. (I tried to read the comments via Google Translate) A few months ago we released a new version of Gitora, Gitora 2.0. I encourage you to take a look at it. It solves most of the problems PL/SQL developers face during day to day development. It allows you to commit code changes, rollback code commits. You can even create branches and switch between branches and your database code will be updated automatically. You can clone your code from one database to the other. Multiple developers can work on the same logical package and merge their changes at a later time etc... I highly encourage your to watch the 30 minute video we made which shows how Gitora works: http://blog.gitora.com/gitora-in-30-minutes/ If you have any questions, I'd be more than happy to answer them. Thank you. Kind Regards, Yalim Gerger ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2017, 04:47 |
|
||
|
|

start [/forum/topic.php?all=1&fid=52&tid=1886635]: |
0ms |
get settings: |
5ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
140ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 227ms |
| total: | 445ms |

| 0 / 0 |
