Update H2 Database from 1.3.175 to 2.X

Not following these steps will result in data loss!

These steps are only required when a H2 database is used. No Migration is required when other databases are configured.

1. Download Driver for Migration:

2. Identify Path to *.h2.db file

<webapp>/<kgsPRoduct>/work/<product>/store/<product>.h2.db

3. Stop application Server ( make sure that *.lock.db files aren't in the folder anymore)

4. Backup H2 Files by copy all files in the folder to a new directory

5. Execute export Script

java -cp h2-1.4.199.jar org.h2.tools.Script -url "jdbc:h2:file:<PathToDBFile>;MODE=MySQL;AUTO_SERVER=true;cipher=AES" -user "kgs" -password "<password>" -script export.sql

Do not use a file extension in <PathToDBFile>. Example: ./webapp/migration/work/store/KGSMigration

6. Check the export File, it should not be empty and contains values from the tables

7. Download H2 Driver for migration target (>=2.1.214):
http://www.h2database.com/html/download.html (Binary.jar)

8. Delete the V1 Database (<Product>.h2.db, don’t forget the backup!)

9. Create V2 File

java -cp h2-2.1.214.jar org.h2.tools.RunScript -url "jdbc:h2:file:<PathToDBFile>;MODE=MySQL;AUTO_SERVER=true;cipher=AES" -user "kgs" -password "<password>" -script export.sql -options FROM_1X

10. Start Application server and check database entries

11. Delete both H2 Driver and export.sql file.

 

Products/Modules with H2 integration

Name

Path (with Filename H2 1.3.175)

Name

Path (with Filename H2 1.3.175)

Protocolservice

<work>/protocol/store/KGSProtocol.h2.db

Securityprovider

<work>/secprovider/store/secprovider.h2.db

Migration

<work>/migration/store/KGSMigration.h2.db

Proxy

<work>/proxy/store/KGSProxy.h2.db

Lockservice

<work>/lockservice/store/KGSLockService.h2.db

DocRouter4

<work>/documentrouter/store/KGSDocRouter.h2.db

ReadCache

<work>/readcache/store/KGSReadCache.h2.db

WriteCache

<work>/writecache/store/KGSWriteCache.h2.db

ScanServer

<work>/scanserver/store/scan.h2.db