Schema からの型推論
フィールド、主キー、検索条件、Yukari 行、JSON 出力を 1 つの Model 定義から導出します。
import { Toshihiko, Type } from 'toshihiko';
const database = new Toshihiko('mysql', {
database: 'app',
host: '127.0.0.1',
password: 'secret',
username: 'root',
});
const User = database.define('users', [
{
name: 'id',
column: 'user_id',
type: Type.Integer,
primaryKey: true,
autoIncrement: true,
},
{ name: 'name', type: Type.String },
], {
methods: {
findByName(name: string) {
return this.where({ name }).findOne();
},
},
});
const user = User.build({ name: 'Alice' });
await user.insert();
const found = await User.findByName('Alice');Schema は実行時マッピングと TypeScript の入力を兼ねます。フィールド値、主キー、検索条件、行プロパティ、カスタム Model メソッドのために別のインターフェースを保守する必要はありません。
プロジェクトの状態
Toshihiko v2 は開発中です。現在のパッケージはプレリリース版で、Node.js 22 以降が必要です。