Six copy-paste friendly SQLAlchemy 2.0 scripts for CUBRID.
Each recipe is a single .py file you can run directly with python3.
Connection used by all recipes:
cubrid+pycubrid://dba@localhost:33000/testdb
- Python 3.10+
- CUBRID running on
localhost:33000(testdb, userdba)
From repository root:
make uppip install -r requirements.txt01_connect_and_session.py- Engine creation, Session usage,
SELECT 1, connection metadata, clean shutdown
- Engine creation, Session usage,
02_orm_crud.py- ORM model with
DeclarativeBaseandmapped_column, full CRUD lifecycle
- ORM model with
03_relationships.py- Department/Employee relationship, lazy/eager loading, child-first deletion
04_bulk_insert.py- Bulk insert via
session.execute(insert(), rows)vsadd_all, timing comparison
- Bulk insert via
05_cubrid_upsert.py- CUBRID
ON DUPLICATE KEY UPDATEandREPLACE INTOviasqlalchemy_cubrid.dml
- CUBRID
06_reflection.py- Runtime schema discovery with
inspect()and Inspector API
- Runtime schema discovery with
python3 01_connect_and_session.py
python3 02_orm_crud.py
python3 03_relationships.py
python3 04_bulk_insert.py
python3 05_cubrid_upsert.py
python3 06_reflection.py- Every script creates its own
cookbook_tables, seeds data, demonstrates the feature, and drops tables infinally. - Boolean-like values are stored as
Integer(0/1). - Money values are stored as integer cents.
- No DB-level cascade is used; related deletes are handled in application code.