返回项目
数据库

Storm TypeScript

TypeScript SQLite ORM

Storm TypeScript 是 Storm 在 TypeScript 生态的实现。通过 Table / Column 绑定实体字段,查询结果自动映射;提供 Node 内置 sqlite 与 better-sqlite3 驱动,以及迁移、schema 校验等分包。

Node.js · TypeScript

能力

  • npm 包 @kaus-io/storm
  • NodeSqliteDriver 与 BetterSqlite3Driver
  • bindTo 把列绑定到实体字段
  • client / server 分包分别覆盖迁移与校验

快速上手

tables.ts
export class UserInfoTable extends Table<UserInfo> {
    readonly tableName = "t_user_info"
    readonly id = Column.int("id").primaryKey().autoincrement().bindTo(this, "id")
    readonly name = Column.varchar("name").notNull().bindTo(this, "name")
    readonly email = Column.varchar("email").unique().bindTo(this, "email")
}

const db = new ReadWriteDatabase(new NodeSqliteDriver("app.db"))
db.createTable(UserInfo, true)