Skip to content

Migrating from Kysely

This guide helps you transition from Kysely to db-semantic-planner. Both tools are type-safe query builders, but dbsp adds semantic planning (automatic strategy decisions), relation handling, and full query observability.

Key Differences

ConceptKyselydbsp
Schema definitionTypeScript interfacesschema() with ref()
RelationsManual joins only.include('posts') (auto-strategy)
Query buildingdb.selectFrom('users')orm.select('users')
Filtering.where('active', '=', true).where(eq('active', true))
Observability.compile() → SQL only.dump() → plan + SQL + params
N+1 preventionManualAutomatic
Multi-tenantManual.withSchema('tenant') built-in

Quick Translation Reference

Kysely → dbsp

Kyselydbsp
db.selectFrom('users').selectAll()orm.select('users').all()
db.selectFrom('users').where('active', '=', true)orm.select('users').where(eq('active', true)).all()
db.insertInto('users').values(data)orm.insert('users').values(data).execute()
db.updateTable('users').set(data).where(...)orm.update('users').set(data).where(...).execute()
db.deleteFrom('users').where(...)orm.delete('users').where(...).execute()
.compile().dump()

Released under the MIT License.