Add integration guidelines

This commit is contained in:
2026-02-28 02:54:08 -04:00
parent dab33d0f10
commit 5ff518d49a
2 changed files with 58 additions and 21 deletions

View File

@@ -15,3 +15,61 @@ Reusable CMake entry point for embedding in a larger project:
The primary schema root folder is configurable via:
- `CPPBESSOT_WORKDIR` (defaults to `db`)
## Simple Integration Guide
### 1) Add the module from your parent project
```cmake
# Parent project CMakeLists.txt
cmake_minimum_required(VERSION 3.16)
project(MyApp LANGUAGES CXX)
# Optional: where schema versions live (default is "db")
set(CPPBESSOT_WORKDIR "db")
# Required for generation/library selection
set(DB_SCHEMA_VERSION_TO_GENERATE "v1.1")
# Optional: only needed if you will run db_gen_migrations
# set(DB_SCHEMA_MIGRATION_VERSION_FROM "v1.1")
# set(DB_SCHEMA_MIGRATION_VERSION_TO "v1.2")
include(path/to/cppbessot/cmake/cppbessot/CppBeSSOT.cmake)
```
### 2) Build generation targets manually
```bash
cmake -S . -B build
cmake --build build --target db_gen_orm_serdes_and_zod
cmake --build build --target db_gen_sql_ddl
cmake --build build --target db_check_schema_changes
```
Optional migration generation:
```bash
cmake -S . -B build \
-DDB_SCHEMA_MIGRATION_VERSION_FROM=v1.1 \
-DDB_SCHEMA_MIGRATION_VERSION_TO=v1.2
cmake --build build --target db_gen_migrations
```
### 3) Link generated libraries
```cmake
target_link_libraries(my_app PRIVATE
cppbessot::openai_model_gen
cppbessot::odb_sqlite # if sqlite odb sources exist
cppbessot::odb_pgsql # if postgre odb sources exist
)
```
### Optional manual enable mode
```cmake
set(CPPBESSOT_AUTO_ENABLE OFF)
include(path/to/cppbessot/cmake/cppbessot/CppBeSSOT.cmake)
cppbessot_enable()
```