Tämä projekti sisältää tietokantapäivitykset Oracle Juku-tietokannan skeeman luontiin ja päivitykseen.
Päivitysten hallintaan käytetään dbmaintain-työkalua.
Päivitykset olettavat että tietokannassa on valmiina tietokantakäyttäjä: juku, jolla tietokantaobjektit luodaan ja jolla on riittävät oikeudet muutosten tekemiseen.
Kaikki tietoa varaavat kantaobjektit luodaan juku-käyttäjän oletustaulualueeseen: juku_data. Oletustaulualueen lisäksi tarvitaan taulualue indekseille: juku_indx.
Indeksitaulualue valitaan siten että sen nimi on juku%_indx
, johon juku käyttäjällä on varattu tilaa (quota).
Tarvittavien taulualueiden luontiin löytyy esimerkit: dba/tablespace.sql
Tarvittavien roolien ja käyttäjien luontiin löytyy esimerkit: dba/roles.sql ja dba/users.sql
Oracle JDBC-ajurit ladataan oraclen maven-varastosta. Tänne pääsy edellyttää Oracle Technology Network (OTN) tunnukset. Ohjeet OTN tunnusten saamiseen löytyy täältä.
Tunnukset tallennetaan tiedostoon: ~/.lein/profiles.clj
esim.
{:auth {:repository-auth {#"oracle" {:username "scott" :password "tiger"}}}}
Asenna java, docker ja leiningen.
Käynnistä tietokanta.
Tietokannan päivitys:
lein with-profiles +test-data run update-db
Tietokannan tyhjentäminen:
lein run clear-db
Tyhjennys/päivitys:
lein with-profiles +test-data do run clear-db, run update-db
Tämä kehityskäyttöön tarkoitettu päivitys lisää aina myös testidatan. Testidata on tarkoitettu automaattisten testien ajamista varten. SQL lähdetiedostot luetaan kansioista:
- sql - tuotantokäyttöön tarkoitetut skeema-päivitykset
- test/sql - automaattisia testejä varten tehty vakiodata esim. testikäyttäjät
Oletustietokanta-asetukset ovat:
- url =
jdbc:oracle:thin:@localhost:1521/orclpdb1.localdomain
- user =
juku
- password =
juku
Asetuksia voi muuttaa ympäristömuuttujilla:
- DB_URL
- DB_USER
- DB_PASSWORD
Esim. letto-tietokannassa oleva kehitysympäristön päivitys:
DB_URL=letto.solita.fi:1521/ldev.solita.fi lein do run clear-db, run update-db
Tuotantoasennuksessa käytetään lein-työkalun sijasta itsenäistä java-ohjelmaa juku-db.jar. Tämä paketti sisältää kaiken tarvittavan tietokannan päivittämiseen.
Tuotantoasennuksessa tuotantokannan osoite ja salasana annetaan ympäristömuuttujina esim.
DB_URL=oracle.livi.fi:1521/juku.livi.fi DB_PASSWORD=trustno1 java -jar juku-db.jar update-db
Asennusohjelma tuotetaan komennolla:
lein uberjar
Testiympäristöt asennetaan samalla tavalla kuin tuotantoympäristö. Testiympäristössä kanta voidaan tyhjentää komennolla:
java -jar juku-db.jar clear-db
Asennusohjelmasta voi tuottaa testidatan sisältävän version komennolla:
lein with-profiles +test-data uberjar