- liquibase/ - The runtime files of Liquibase
- liquibase-changelog/ - The files of change log for Liquibase
Liquibase is comprehensive utility to perform incremental upgrading on RDB.
patch-owl-database.sh
- Usepatch-owl-database.sh --help
to see help messages
./patch-owl-databases.sh [--mysql_conn=192.168.20.50:3306] [--command=update] [--options=<args>] [--database=<database>] [--change-log-base=<directory>] [--prefix=<db prefix>] [--suffix=<db suffix>]
This script would update databases(By Liquibase): "uic falcon_portal falcon_links grafana graph boss dashboard imdb"
--mysql_conn=<host:port> - host and port for database connection of MySql.
For example: 192.168.20.50:3306(default value)
--command=<command> - The command of Liquibase
For example: "update", "updateCount 13"
--database=<database> - Name of OWL database.
Value domain: "uic falcon_portal falcon_links grafana graph boss dashboard imdb"
--options=<args> - Arguments of liquibase.
For example: "--username=abc --password=cepave"
--change-log-base=<directory> - Base directory of files for changelog
Default value: "./liquibase-changelog/"
--prefix=<prefix> - The prefix to be added to name of database
--suffix=<suffix> - The suffix to be appended to name of database
--help - Show this message
recreate-owl-databases.sh
- Usepatch-owl-database.sh --help
to see help messages
./recreate-owl-databases.sh [--mysql=<args>] [--prefix=<db prefix>] [--suffix=<db suffix>] [--action=<action>]
This script would drop and create databases: "imdb falcon_portal uic falcon_links grafana graph boss dashboard"
--action=<action> - The action to be perfomed
Value domain: recreate(default), drop, create(if not existing)
--prefix=<prefix> - The prefix to be added to name of database
--suffix=<suffix> - The suffix to be appended to name of database
--mysql=<args> - The arguments to be fed to "mysql" command
--help - Show this message
The dependencies of OWL databases is depicted by following graph:
+-----+ +---------------+ +------+
| uic +-----> falcon_portal +-----> imdb |
+-----+ +---------------+ +------+
The recreate-owl-databases.sh and patch-owl-databases.sh script complies with the dependencies.
Global schema: Which is put into db_schema directory, these files won't be maintinaed anymore.
In dbpatch/, there is a simple patching tool(written by GoLang) which is put in dbpatch/tool directory.
- change-log/ - Static files of change log of databases
- go/ - Go source code of patching
- tool/ - Out-of-box utilities for patching
dbpatch-$OS-$ARCH
files - Corresponding to OS and arch, these executives are used to parse files of change log and to perform operations on database. You could execute the file to see help message.dbpatch -driverName=<driver_name> -dataSourceName=<data_srouce_name> [-changeLog=change-log.json] [-patchFileBase=patch-files] ["-dilimeter=;"] -changeLog string The file of change log (default "change-log.json") -dataSourceName string The name of data source -delimiter string The directory of patch files (default ";") -driverName string The name of driver -help Show help -patchFileBase string The directory of patch files (default "patch-files")
run-owl-patch.sh
- Executes patch to any of databases in OWL system,Options: -bin=<bin file> - default value is "dbpatch" -bin-os=<os for bin file> - If this value is provided, ignores "-bin" option linux, windows, or osx -bin-arch=<32> - If this value is provided, ignores "-bin" option 64 or 32 -database=<boss|portal|uic|links|graph|grafana|dashboard> -log-base=<base directory>. Defualt value is "../change-log/" -db-connection=<connection string> - default value is "root:cepave@tcp(192.168.20.50:3306)" -db-type=<type> - default value is "mysql"
export-changelog.sh
- Dump table ofsysdb_change_log
to maintain global schemaUsage export-changelog.sh -db-name=<database_name> {{ mysqldump options... }} Options: -db-name=<database_name>
patch_boss.sh
(DEPRECATED) - Dedicated to patching "boss" database, you should use run-owl-patch.sh instead.