JSON schema files for use with editor validation & autocomplete when editing configuration files.
-
Plugin-Specific Configuration Schema
(a subset of the full config schema)
The core service and plugin server are versioned together, however they are presently built differently.
When pushing up a new git tag, a GitHub workflow will automatically be triggered to build and release the plugin server. That workflow will then open pull requests on each of the individual plugin repositories to update their copies of the server to the newest version.
The core server docker image build and push to DockerHub is handled in Jenkins.
Dependency version updates are automatically suggested once per week by
GitHub’s Dependabot, however if manual updates
are needed, the JVM dependencies for the full stack are declared in the
dependency catalog.
(ref Gradle Version Catalogs)
-
Make the changes to the stack-db schema definition.
-
Add a new migration directory containing migration scripts to update existing database instances in the stack-db migrations.
-
Update the impacted queries, database managers, and POJO types in the
core.lib.db.internalsubproject.
Physically, a migration is a directory full of queries used to apply the changes
necessary for a target database schema version. The directories are named after
the version that they will migrate the database schema to, e.g. a directory
named 012 would be expected to migrate the database schema to version 12. The
directories will be checked in ascending numeric order, only being used if the
database schema version is less than the version indicated by the directory
name.
|
❗
|
VDI does not update the recorded db schema version itself. The migration is expected to perform that update, preferably as its final step/statement. |
The migration scripts are baked into the service jar as resources.
On startup, VDI will test the stack-internal cache-db to fetch the current db schema version. VDI will then iterate through the migration directories, executing the SQL scripts contained in any directory whose numeric name is greater than the current schema version.
|
🔥
|
VDI will not notice or apply migration scripts that have been altered in schema versions less than or equal to the current db schema version. |
Copyright 2020 VEuPathDB
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.