Skip to content

ToshihikoNode.js 向けの、もうひとつのシンプルな ORM。

Toshihiko

最初の Model ​

typescript
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 以降が必要です。

読み進め方 ​

  • はじめに:MySQL で CRUD を一通り実行します。
  • コアコンセプト:Toshihiko、Model、Query、Yukari、Adapter、Cache を理解します。
  • Model の定義:フィールド、主キー、Validator、デフォルト値、カスタムメソッドを説明します。
  • クエリ:条件、順序、フィールド選択、件数制限、戻り値を説明します。
  • v1 からの移行:既存アプリケーションを v2 に移行します。
  • API リファレンス:公開クラス、メソッド、補助型を確認します。

Released under the MIT License.