Schema-manage je nástroj pro správu a verzování schematu databáze. Aktuální podpora je pro PostgreSQL, MySQL.
Aktuální verze: 0.11.44 - Přidána podpora pro vytváření a používání snapshotů.
- PostgreSQL
- MySQL
- Sqlite (bude k dispozici)
- MSSql (bude k dispozici)
- Oracle (bude k dispozici)
Oproti prostému příkazu dump přináší tyto výhody:
- Mezi verzemi/dumpy/snapshoty lze přirozeně přecházet jednotným příkazem.
- Program se snaží uchovávat db v konzistentním stavu. Hlídá, které změny jste už provedli, a které ne.
- Aktualizace schematu je věc, která pomocí dumpu nejde. Uchovávají se všechny předchozí změny a jen se databáze povíší o verzi. Tak jak to známe z vcs.
- Data mezi různými instalacemi mohou být různá (tak jak je databáze používána), ale schema databáze se udržuje stejné.
- Není zaveden žádný metajazyk. Pro patche je použito prosté SQL. To v důsledku znamená, že v patchy je možné použít jakýkoliv příkaz, který databáze umožňuje.
- Díky jednotném a systematickém řešení můžeme podle jednoho repozitáře vytvářet opakovaně databáze na libovolných klientech.
Před použitím doporučuji příkaz schema-manage --help
alespoň zběžně pročíst.
Kdo používá schema-manage
- CeSYS 2 - internetový systém pro cestovní agentury a kanceláře obsahující zájezdy českých cestovek, vyhledávač zájezdů českých a německých cestovek, webové stránky s redakčním systémem pro snadnou správu.
- Spaceteacher je sociální síť specializovaná na učení cizích jazyků se spoustou možností pro studenty, lektory i školy.
Schema-manage není tak úplně novinka, jak by se mohlo na první pohled zdát. Jeho vývoj probíhá hlavně na základě konkrétních požadavků, a řešení problémů.
Kontakt
Pokud vám něco není jasné, něco se vám nelíbí, nebo nechápete, můžete mi napsat a pokusím se vyhovět.