OOro

安装

安装 Oro 并配置 SQLite、MySQL 或 PostgreSQL。

要求

Oro 开发阶段使用 Go 1.27rc1

source ~/.gvm/scripts/gvm && gvm use go1.27rc1

添加模块

go get github.com/duxweb/oro

引入驱动

import (
    oro "github.com/duxweb/oro"
    "github.com/duxweb/oro/driver/sqlite"
    "github.com/duxweb/oro/driver/mysql"
    "github.com/duxweb/oro/driver/pgsql"

    _ "github.com/go-sql-driver/mysql"
    _ "github.com/jackc/pgx/v5/stdlib"
    _ "modernc.org/sqlite" // 或 _ "github.com/mattn/go-sqlite3"
)

驱动是基于 database/sql 的适配层。Oro 不会主动注册具体 SQL 驱动,应用通过普通 blank import 自己选择具体实现,也可以通过 Wrap 传入已有 *sql.DB

SQLite

db, err := oro.Open(oro.Config{
    Connections: map[string]oro.ConnectionConfig{
        "default": {Driver: sqlite.Open("app.db")},
    },
})

MySQL

db, err := oro.Open(oro.Config{
    Connections: map[string]oro.ConnectionConfig{
        "default": {
            Driver: mysql.Open("root:root@tcp(localhost:3306)/duxorm?parseTime=true&multiStatements=false"),
        },
    },
})

PostgreSQL

db, err := oro.Open(oro.Config{
    Connections: map[string]oro.ConnectionConfig{
        "default": {
            Driver: pgsql.Open("postgres://root@localhost:5432/duxorm?sslmode=disable"),
        },
    },
})

文档开发

文档站使用 pnpm。

cd docs && pnpm install && pnpm run dev
编辑此页