Allographer:Nim语言的异步查询构建器

Allographer:Nim语言的异步查询构建器

nim-allographerA query_builder/ORM library inspired by Laravel/PHP and Orator/Python for Nim项目地址:https://gitcode.com/gh_mirrors/ni/nim-allographer

项目介绍

Allographer 是一个受 Laravel/PHPOrator/Python 启发的异步查询构建器库,专为 Nim 语言设计。它支持多种数据库,包括 Sqlite3PostgreSQLMySQLMariaDBSurrealDB。Allographer 不仅支持 Nim 1.6.14,还兼容最新的 Nim 2.0.0。

项目技术分析

Allographer 的核心功能包括 查询构建器模式构建器。查询构建器允许开发者以链式调用的方式构建复杂的 SQL 查询,而模式构建器则帮助开发者轻松创建和修改数据库表结构。

查询构建器

查询构建器提供了简洁的 API,使得构建 SQL 查询变得非常直观。例如,以下代码展示了如何使用 Allographer 查询数据库中的用户信息:

import asyncdispatch, json
import allographer/connection
import allographer/query_builder

let rdb = dbOpen(PostgreSql, "database", "user", "password", "localhost", 5432, maxConnections=95, timeout=30)

proc main(){.async.} =
  let result = await rdb
                    .table("users")
                    .select("id", "email", "name")
                    .limit(5)
                    .offset(10)
                    .get()
  echo result

waitFor main()

模式构建器

模式构建器允许开发者通过简单的代码定义数据库表结构,并支持表的创建和修改。例如,以下代码展示了如何使用 Allographer 创建和修改数据库表:

import allographer/schema_builder

rdb.create([
  table("auth", [
    Column.increments("id"),
    Column.string("name").nullable(),
    Column.timestamp("created_at").default()
  ]),
  table("users", [
    Column.increments("id"),
    Column.string("name"),
    Column.foreign("auth_id").reference("id").on("auth").onDelete(SET_NULL)
  ])
])

rdb.alter(
  table("users", [
    Column.string("email").unique().default("").add(),
    Column.deleteColumn("name")
  ])
)

项目及技术应用场景

Allographer 适用于需要高效、简洁地操作数据库的 Nim 开发者。无论是构建复杂的查询,还是管理数据库模式,Allographer 都能提供强大的支持。特别适合以下场景:

  • Web 应用开发:在 Web 应用中,数据库操作是核心部分。Allographer 的异步查询构建器可以显著提高数据库操作的效率。
  • 数据分析:在数据分析过程中,常常需要从数据库中提取大量数据。Allographer 的查询构建器可以帮助开发者快速构建复杂的查询语句。
  • 数据库管理:对于需要频繁修改数据库结构的项目,Allographer 的模式构建器可以简化表结构的创建和修改过程。

项目特点

  • 异步支持:Allographer 支持异步操作,能够显著提高数据库操作的效率。
  • 多数据库支持:支持 Sqlite3、PostgreSQL、MySQL、MariaDB 和 SurrealDB 等多种数据库,满足不同项目的需求。
  • 简洁的 API:查询构建器和模式构建器提供了简洁易用的 API,使得数据库操作变得非常直观。
  • 兼容性强:支持 Nim 1.6.14 和 2.0.0,确保在不同版本的 Nim 环境中都能稳定运行。

总结

Allographer 是一个功能强大且易于使用的异步查询构建器库,专为 Nim 语言设计。无论你是 Web 开发者、数据分析师,还是数据库管理员,Allographer 都能为你提供高效、简洁的数据库操作体验。立即尝试 Allographer,体验 Nim 语言在数据库操作上的强大能力!


安装方法

nimble install allographer

更多文档

Nim API 文档


开发分支命名规则

  • feature-***:新功能分支
  • hotfix-***:Bug 修复分支
  • chore-***:杂项工作或维护

这些命名规则会自动为 Pull Request 添加标签。

nim-allographerA query_builder/ORM library inspired by Laravel/PHP and Orator/Python for Nim项目地址:https://gitcode.com/gh_mirrors/ni/nim-allographer

  • 29
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

滑隽蔚Maia

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值