sql >> Databáze >  >> RDS >> Oracle

Nástroje pro práci s uloženými procedurami v Oracle v týmu?

Nejsem si jistý, jestli to původní plakát stále sleduje, ale přesto se zeptám.

Původní příspěvek požadoval, aby bylo možné:

Chcete-li automaticky „uzamknout“ aktuální postup, se kterým pracujete, nikdo jiný v týmu v něm nemůže provádět změny, dokud nebudete hotovi.

Možná je zde problém spíše ve vývojovém paradigmatu než v neschopnosti produktu „uzamknout“ uložený proc. Kdykoli slyším „Chci to zamknout, aby to nikdo jiný nezměnil“, okamžitě mám pocit, že lidé sdílejí schéma a všichni se vyvíjejí ve stejném prostoru.

Pokud je tomu tak, proč jednoduše nenechat každý mít své vlastní schéma s kopií datového modelu? Myslím to vážně lidi, vytvoření dalšího schématu nic "nestojí". Tímto způsobem může každý vývojář provádět změny, dokud nebude modrý ve tváři, aniž by to ovlivnilo někoho jiného.

Dalším trikem, který jsem v minulosti používal (v malých týmech), když nebylo možné ponechat každému vývojáři vlastní kopii dat kvůli velikosti, bylo mít hlavní schéma se všemi tabulkami a kódem v něm, s veřejnými synonymy ukazujícími na to všechno. Pokud pak chce vývojář pracovat na uloženém procesu, jednoduše ho vytvoří ve svém schéma. Tímto způsobem řešení Oracle názvů zjistí, že v hlavním schématu je první místo kopie, což jim umožňuje otestovat svůj kód, aniž by to ovlivnilo kohokoli jiného. Má to své nevýhody, ale tohle byl velmi specifický případ, kdy jsme s nimi mohli žít. NIKDY bych něco takového do výroby evidentně nezavedl.

Pokud jde o druhý požadavek:

Chcete-li automaticky odeslat změny, které provedete v uložené proceduře, v databázi Oracle, do úložiště Subversion, CVS,...

Překvapilo by mě, kdybych tam našel nástroje dostatečně chytré, aby to dokázaly (možná příležitost :). Musel by se připojit k vaší db, dotazovat se na datový slovník (USER_SOURCE) a vytáhnout související text. Vysoká zakázka pro systémy řízení zdrojů, kde jsou téměř univerzálně založeny na souborech.



  1. Pochopení znakových sad a řazení v MySQL

  2. Cloud Vendor Deep-Dive:PostgreSQL v Microsoft Azure

  3. Jak mohu vytvořit uživatele v databázi SQL Server Express, kterou jsem přidal do svého projektu?

  4. Vložte, pokud neexistuje, jinak vraťte id v postgresql