main
QRun-IO/ci-policy: ci / fork-guard (push) Skipped
QRun-IO/ci-policy: native / fork-deny (push) Skipped
QRun-IO/ci-policy: native / dotnet-0 (push) Skipped
QRun-IO/ci-policy: ci / Scoped workflow [workflow 539bec410f7926fec3ef7fabe51934a91e0248be] (push) Successful in 8s
QRun-IO/ci-policy: ci / head-profile (push) Skipped
QRun-IO/ci-policy: native / native-result (push) Successful in 6s
QRun-IO/ci-policy: ci / repository-policy (push) Skipped
QRun-IO/ci-policy: ci / application-template-0 (push) Skipped
QRun-IO/ci-policy: ci / gradle-1 (push) Skipped
QRun-IO/ci-policy: ci / java-core-2-head (push) Skipped
QRun-IO/ci-policy: ci / java-docker-3 (push) Skipped
QRun-IO/ci-policy: ci / java-docker-3-head (push) Skipped
QRun-IO/ci-policy: ci / java-docker-4 (push) Skipped
QRun-IO/ci-policy: ci / java-frontend-browser-5 (push) Skipped
QRun-IO/ci-policy: ci / java-maven-6 (push) Skipped
QRun-IO/ci-policy: ci / java-maven-6-head (push) Skipped
QRun-IO/ci-policy: ci / java-maven-7 (push) Skipped
QRun-IO/ci-policy: ci / java-maven-7-head (push) Skipped
QRun-IO/ci-policy: ci / node-8 (push) Skipped
QRun-IO/ci-policy: ci / node-9 (push) Skipped
QRun-IO/ci-policy: ci / node-10 (push) Skipped
QRun-IO/ci-policy: ci / node-playwright-11 (push) Skipped
QRun-IO/ci-policy: ci / repository-policy-12 (push) Skipped
QRun-IO/ci-policy: ci / source-config-13 (push) Skipped
QRun-IO/ci-policy: ci / source-config-14 (push) Skipped
QRun-IO/ci-policy: ci / android-0 (push) Skipped
QRun-IO/ci-policy: ci / original-business (push) Skipped
QRun-IO/ci-policy: ci / original-mcp (push) Skipped
QRun-IO/ci-policy: ci / original-voyage (push) Skipped
QRun-IO/ci-policy: ci / original-cli (push) Skipped
QRun-IO/ci-policy: ci / not-enrolled (push) Skipped
QRun-IO/ci-policy: ci / shared-pipeline (push) Skipped
QRun-IO/ci-policy: ci / ci-result (push) Successful in 6s
maven / build (push) Successful in 2m33s
build / maven (push) Successful in 2m33s
QBit Template: Data
Template repository for creating QQQ Data QBits - reference data with table prefixing, sync processes, and Liquibase generation.
What is a Data QBit?
Data QBits provide reusable reference data sets that applications consume. They support:
- Table prefixing for multi-instance deployment
- Sync processes with natural key upsert
- Liquibase generation for schema management
- PossibleValueSources for dropdown lookups
Quick Start
Requires Java 21, Maven 3.8+, and QQQ 4.0.0. Create your repository, rename its Maven coordinates and Java package/classes, then run mvn clean verify. See Getting Started.
Structure
src/main/java/com/kingsrook/qbits/example/
├── ExampleDataQBitConfig.java # Configuration
├── ExampleDataQBitProducer.java # QBit registration
├── model/
│ ├── ExampleEntity.java
│ └── ExampleChildEntity.java
├── sync/
│ ├── ExampleDataSyncStep.java
│ └── ExampleDataSyncProcessMetaDataProducer.java
└── liquibase/
└── ExampleLiquibaseGenerator.java
Key Characteristics
- Table prefixing -
shipping_country,billing_country - Host configuration - Backend and optional table prefix
- Sync process - Upsert by natural key
- Liquibase generator - Template-based, prefix-aware
Host integration
new ExampleDataQBitProducer()
.withConfig(new ExampleDataQBitConfig().withBackendName("rdbms"))
.produce(qInstance, "example-data");
The host must already define the backend. The example prefixes table names; adapting it for multiple instances also requires unique process and possible-value-source names and consistent references. See Getting Started.
Documentation
License
Description
Template repository for creating QQQ Data QBits - reference data with table prefixing, sync processes, and Liquibase generation
Readme
150 KiB
0 Stars
3 Watchers
0 Forks
Languages
Java
100%