Version Control

8 отговора 290 прегледа
#1

Version Control

Някой има ли впечатление от софтуер за контрол на версиите, но за база данни. Нещо като Source Safe, но да не работи със файлове, а с database objects.
Аз намерих едно нещо DBGhost, което изнася цялата базата на скриптове и след това вече се интегрира със Source Safe и ако да речем човек иска да си промени Stored Procedure, прави check Out, редактира и след това я CheckIn-ва. Но става предимно за View-тa, StoredProcedures и тригери. Ако на човек му трябва да добави колона или таблица нещата не са особено приятни.

Това си ми е стара мечта - development tool за база данни със version control. Другите хубави features на чистите програмистки IDE-та съм ги виждал по базите данни- не задължително в един tool, но горе долу всички екстри
- Syntax Higlights
- Autocomplete
- Debug, trace, StepInto...
Списъка е доста дълъг, но за съжаление Version Control няма. Освен собствени разработки, които са доста ръчно-крачни.

Отговор
в отговор на Blandings Castle #2

Re: Version Control

ами има нещо, което се казва Point In Time Recovery (някои бази имат такъв feature) и до някъде може да се ползва за нещо такова, но незнам до колко ще е удобно (а и като плюс или минус - връща и данните в предишното състояние)

а бе май ... като се замисля, не става за такова нещо или трябва май доста да се изчепатиш ;-)

не може ли просто да си правиш db.sql файлове примерно и тях да си редактираш и ги си ползваш пак SS, cvs или там subversion, и само правиш промята допълнително и в db-то на ръка (аз лично така правя)

не че дадох некъв смислен акъл, но може да стане някой от вариантите

Редактирано от phpGuru на

Отговор
в отговор на phpGuru #3

Re: Version Control

Нещо подобно имах предвид под ръчно-крачните варианти. Промяната на таблиците(барабар с constraints и ForeignKeys) си я следя на ръка(по разни файлове), а другите обекти (views, Storedprocedures, Functions, Triggers) си ги има и без това всичките на едно място в базата- тоест там не ми е голям проблем.
Но теоретично би трябвало да има и по културно решение. Щом може един да речем C++ проект да му скачат 100 човека и да се контролира версията, би трябвало да може и с база данни да става така.
Неприятното, като се замисля, е че системите за Version Control ти дават локално копие с което да работиш и като си свършиш работата го връщаш към сървъра, а с локално копие на база данни е малко глупаво.. Де да знам де,
може например да се палят разни процеси на репликации при CheckIn и CheckOut.
Като цяло ми се иска някакво по-интелигентно решение, ама и аз не знам какво

Отговор
в отговор на Blandings Castle #4

Re: Version Control

Ако използваш Oracle , те имат такъв продукт, който се продава отделно , но до колкото знам е скъпичък, и повечето хора за sql файлове използват VSS - Visual Source Safe , но ти винаги можеш да си свалиш Oracle продукта за тестове , така че може да пробваш. Ето и един линк на който има PDF файл в който е описано примерно приложение на продукта.
[линк]

Защо да правим нещата лесно...
Отговор
в отговор на Blandings Castle #5

Version Control for Oracle DB

Сега разгледах страницата на DBGhost, обаче има версия само за SQL Server , иначе щях да го пробвам веднага.
А за tool-а на Oracle - може да прави версии на обекти, таблици и т.н., обаче не може за stored procedures, което е тъпо. Трябва да ги сваляш на файлове сорсовете и да правиш версия. Правен е за JDeveloper и много добре се интегрира с него, всъщност само с него се интегрира . Иначе ако го използваш отделно, с него можеш да правиш версии на обектите в базата.
На мен в работа ми трябваше да се правят версии на софтуер, който е в сторнати процедури, обаче ставаше тъпо. Най-евтино, ако ще се използва комерсиално може да се купи с пакета на JDeveloper - към 800$
А за версии на сторнати процедури ние се спряхме на версията Visual Source Safe + PL/SQL Developer, който има add-in за работа с VSS, обаче не сме го тествали още дали ще се получи така както се очаква.

Отговор
в отговор на no_data_found #6

Re: Version Control for Oracle DB

DBGhost -също работи със файлове. На мен по принцип ми трябва за MS SQL, така че като платформа ме устройва, но тези файлове, на които изнася базата не ми се нравят особено. На мен проблема ми е с таблиците - а той точно там е малко куц. Няма идеални неща, в крайна сметка.
От друга страна да ти пази stored Procedures на файлове е удобно, ако си ги пазиш в базата само в компилиран вид.

Отговор
в отговор на Blandings Castle #7

Re: Version Control for Oracle DB

SCM-а всичко си го прави в базата поне по отношение на обектите, има си repository което се пази в базата, но работи и с файлове. Така че по отношение на таблици и такива неща работи много добре, това всъщност е една част от един друг софтуер - Oracle Designer, който е отделен впоследствие и доразвит за да се използва и с JDeveloper.
А за сторнатите процедури поне за нас не е удобно на файлове, щото става куцо като се прави версия - трябва да сваляш всичко на файлове и т.н. А иначе не е проблем че се пазят само в компилиран вид, щото това значи че са в backup-а на базата и няма опасност да се изгубят.
Абе с две думи, няма пълен tool за такова нещо. Аз с VSS не съм работил, но не ми се вярва да стават версиите на сторнатите процедури без сваляне на файлове. Кофти

Отговор
в отговор на Blandings Castle #8

Re: Version Control

разгледай quest.com - може да си харесаш нещо, тъй като има и средства за работа с MS SQL Server

специално за Oracle, продуктите на quest поддържат собствено repository, което поддържа много допълнителни функционалности, като контрол на версиите в това число (могат даже да се махат и добавят нови функционалности без проблем)

аз лично съм ползвал доста SQL Navigator + VSS (поддържат се още няколко такива + собствено, което има само lock контрол) специално за PL/SQL процедури и съм мнооого доволен - всичко е напълно автоматично и не се занимаваш с никакви странични занимания, включващи размотаване с файлове

Отговор
в отговор на AcidMemory #9

Re: Version Control

хе-хеее, виждам вече са изкарали момчетата от quest "TOAD for MySQL" preview някакво - може и да си сменя EMS-то в скоро време

Отговор