Skip to content

ormCommon ORM Interface for Go, PHP, Python, Rust, and TypeScript

Generate query, row, and relation types from a schema and execute them with language-specific drivers.

One query under the shared client API ​

Go ​

go
count, err := model.Author().Connect(slave1).GetCountByServiceSeq(7)

PHP ​

php
$count = (new Author)->connect($slave1)->getCountByServiceSeq(7);

Rust ​

rust
let count = Author::new().connect(&slave1).get_count_by_service_seq(7).await?;

TypeScript ​

ts
const count = await new Author().connect(slave1).getCountByServiceSeq(7)

Python ​

python
count = Author().connect(slave1).get_count_by_service_seq(7)

Go model.Author() returns *model.AuthorModel. Rust and TypeScript use asynchronous results, and Python a synchronous one. Syntax follows each language; argument meaning, data structure roles, and execution rules are shared.

Read the guide for binding, reads, writes, and relations. See the component diagram for ownership rules.

Implementation status ​

config/parity.json declares six implementations: Go, PHP, PHP-extension, Rust, TypeScript, and Python. The examples above show the library API forms. The PHP-extension is part of the common implementation set, while its unfinished native behavior and database evidence remain in the checklist. The shared protocol runs planning in the calling process; see the implementation matrix for the verified scope.

DSL · Schema · IR / Plan · Complex query example · Documentation build and deployment · 한국어 문서

MIT License · Go / PHP / Rust / TypeScript