H2Database
Inleiding
Het grote voordeel van H2Database is dat er geen databaseserver nodig is, omdat het embedded in applicaties kan werken.
H2Database wordt alleen aanbevolen voor ontwikkel- en testdoeleinden; in productie moet een ander, consistenter type database worden gebruikt.
Aanbevelingen en beperkingen
H2Database staat niet toe dat meer dan één proces toegang heeft tot het databasebestand.
Dus als u het bestand wilt bewerken of via de webconsole wilt openen, moet u de uitvoering van Netuno stoppen.
Databasebestanden
De databasebestanden van H2Database staan in de map dbs, die zich in de applicatie bevindt, bijvoorbeeld:
apps/mijn_app/dbs
Als u de database wilt hernoemen, wijzigt u de naam van het bestand en past u de configuratie van de applicatie aan, bijvoorbeeld in de development-omgeving:
config/_development.json
De aanpassing moet worden gedaan in het gedeelte van de configuratie voor de databaseverbinding:
...
"db": {
"default": {
"password": "",
"engine": "h2",
"port": "",
"host": "",
"name": "mijn_db",
"username": ""
}
}
...
Webconsole
Het kan nodig zijn om rechtstreeks toegang te krijgen tot de database; in dat geval is dit mogelijk via de webconsole van H2Database.
De webconsole wordt gestart door de jar van H2Database rechtstreeks als volgt uit te voeren:
java -cp web/WEB-INF/lib/h2-*.jar org.h2.tools.Server
Er wordt aangenomen dat u zich in de hoofdmap van Netuno bevindt.
Om de beschikbare opties te bekijken:
java -cp web/WEB-INF/lib/h2-*.jar org.h2.tools.Server -?
Start de webconsole op de Netuno-poort 9000 en staat toegang vanaf externe IP's toe:
java -cp web/WEB-INF/lib/h2-*.jar org.h2.tools.Server -webPort 9000 -tcpAllowOthers
U moet de uitvoering van Netuno eerst stoppen om te voorkomen dat meerdere processen het databasebestand bewerken.
De JDBC-URL om verbinding te maken met de database moet zijn:
jdbc:h2:./apps/mijn_app/dbs/mijn_db;MODE=PostgreSQL;CASE_INSENSITIVE_IDENTIFIERS=TRUE;DATABASE_TO_LOWER=TRUE;DEFAULT_NULL_ORDERING=HIGH;DB_CLOSE_ON_EXIT=TRUE;
Vervang het deel
mijn_appdoor de naam van de app enmijn_dbdoor de naam van de overeenkomstige database.
De authenticatie is gebruiker sa maar zonder wachtwoord.
Toegangen resetten
Vooral wanneer de toegang van de gebruiker dev verloren gaat.
Open de webconsole van H2Database zoals hierboven beschreven.
Om de toegang opnieuw aan te maken, verwijdert u de gegevens uit de tabel netuno_user, bijvoorbeeld:
delete from netuno_user
Zo maakt Netuno de gebruikers opnieuw aan met de respectieve standaardwachtwoorden wanneer het opnieuw wordt gestart.