Upload
lupita
View
38
Download
3
Embed Size (px)
DESCRIPTION
ADATBÁZIS VERZIÓKÖVETÉSE: LIQUIBASE. Marics Tamás. 2013. június 20. tematika. Adatbázis verziókövetése Liquibase Liquiface. Adatbázis verziókövetése. Miért is jó ez? A referencia-adatbázis mindig felépíthető a fejlesztői gépen. - PowerPoint PPT Presentation
Citation preview
WEBSTAR CSOPORTWC
S
ADATBÁZIS VERZIÓKÖVETÉSE:LIQUIBASE
Marics Tamás2013. június 20.
WEBSTAR CSOPORTWC
Stematika
Adatbázis verziókövetése
Liquibase
Liquiface
2/26
WEBSTAR CSOPORTWC
SAdatbázis verziókövetése
Miért is jó ez?
A referencia-adatbázis mindig felépíthető a fejlesztői gépen.
Ha találnak egy bug-ot a rendszer egy korábbi verziójában a hozzá tartozó adatbázisszerkezetet elő lehet állítani.
Nincs elkallódó SQL script.
3/26
WEBSTAR CSOPORTWC
SAdatbázis verziókövetése
Miért is jó ez?
Az adatbázis magától tudja mi lett futtatva, és mi nem.
Automatizálható a frissítési folyamat
Hudson-, Jenkins script írható, hogy automatikusan fusson le release-kor egy adatbázis update
4/26
WEBSTAR CSOPORTWC
SLiquibase
Az eszköz
Az egyik, erre a feladatra szánt eszköz a Liquibase
5/26
WEBSTAR CSOPORTWC
SLiquibase
Miből is áll?
Két adatbázis tábla : DATABASECHANGELOG és DATABASECHANGELOGLOCK
Egy önálló program, amit futtatni kell megadva az adatbázis elérést, vagy java API, amin ugyanezt meg tudjuk hívni kódból.
Egy changelog fájl az adatbázis-szerkezettel.
6/26
WEBSTAR CSOPORTWC
SLiquibase
Adatbázis-függetlenség
Alapból 15 féle adatbázis támogatott. Ez többé kevésbé igaz.
MySQL, PostgreSQL, Oracle, Sql Server(MSSQL), Sybase_Enterprise, Sybase_Anywhere, DB2, Apache_Derby, HSQL, H2, Informix, InterSystems Caché, Firebird, MaxDB / SAPDB, SQLite
7/26
WEBSTAR CSOPORTWC
SLiquibase
Changelog
A changelog fájl egy XML fájl, ami tartalmazza az adatbázisváltozásokat.
Ezt a fájlt lehet verziókövetni.
Lehet egymásba include-olni több changelog fájlt.
Nem csak XML lehet, már több formátum is támogatott, pl. JSON
8/26
WEBSTAR CSOPORTWC
SLiquibase
9/26
WEBSTAR CSOPORTWC
SLiquibase
Néhány changeCreate table
Drop table
Add column
Drop column
Add foreign key constant
Drop foreign key constant
stb...
10/26
WEBSTAR CSOPORTWC
SLiquibase
Nem csak szerkezet
Lehetőség van adattartalom feltöltésére is.
LoadData, Insert
11/26
WEBSTAR CSOPORTWC
SLiquibase
Speciális beállítások
Precondition
Context
12/26
WEBSTAR CSOPORTWC
SLiquibase
Speciális beállítások
Változók
13/26
WEBSTAR CSOPORTWC
SLiquibase
Speciális beállítások
Undo
A beépített change-ek nagy részét vissza tudja vonni, amit nem, ahhoz írhatunk saját visszavonást
<rollback>…</rollback>
közé changeset-enként.
14/26
WEBSTAR CSOPORTWC
SLiquibase
Parancsok
UPDATE
ROLLBACK
DIFF
GENERATE CHANGELOG
SQL output
15/26
WEBSTAR CSOPORTWC
SLiquibase
Példa
16/26
WEBSTAR CSOPORTWC
SLiquibase
Java api
Létezik Java API, amit Mavennel be tudunk húzni a projektünkbe vagy letölthetjük a JAR-t. Itt ugyanazokat a dolgokat meg tudjuk tenni, amiket beírunk a changelog-ba, vagy a parancssorba.
Akár deploy-kor le lehet futtani a changelogokat az API-val.
17/26
WEBSTAR CSOPORTWC
SLiquibase
Liquibase hátrányok, nehézségek
Meg kell tanulni a „nyelvet”
Könnyű elgépelni dolgokat (mondjuk SQL-ben is)
az XML szerkesztgetése általában lassú
XML részleteket gyakran másolunk, és elfelejtjük néhány helyen átírni
18/26
WEBSTAR CSOPORTWC
SLiquiface
Liquibase GUI, Netbeans alapokon
19/26
WEBSTAR CSOPORTWC
SLiquiface
Mi is ez, honnan jött az ötlet?
FedEX napos projekt volt
Jó lenne vizualizálni egy changelog-ot és kattintgathatóvá tenni.
Netbeansben fejlesztünk, legyen egy Netbeans plugin.
XML-t szerkeszteni nem mindig kényelmes
Minden művelet létrehoz egy change-et20/26
WEBSTAR CSOPORTWC
SLiquiface GUI
21/26
WEBSTAR CSOPORTWC
SLiquiface GUI
22/26
WEBSTAR CSOPORTWC
SLiquiface
23/26
Mit tud jelenleg?
Lehet kattintgatva alap change-eket létrehozni
Changelog fájlba menteni
Adatbázison changelog-ot futtatni
Megjeleníteni, szűrni kapcsolatokra, nevekre
WEBSTAR CSOPORTWC
SLiquiface
24/26
Jövőbeli tervek
Change-ek visszagörgethetősége
Külön change-ek kiválasztása
Property set szerkesztő
stb...
WEBSTAR CSOPORTWC
Shasznos linkek
25/26
Adatbázis verziókövetés általánosan
http://www.codinghorror.com/blog/2008/02/get-your-database-under-version-control.html
Liquibasehttp://www.liquibase.org/
Liquifacehttp://www.liquiface.org/(under construction…)
WEBSTAR CSOPORTWC
Sthe end
26/26
Köszönöm a figyelmet!