@adminjs/sql

中文文档
2.2.6发布于 2024/07/10MITTypeScriptES Module近 30 天下载 1.4万

SQL数据库的官方AdminJS适配器.

中文使用文档

@adminjs/ sql (英语)

这是SQL数据库的官方AdminJS适配器. 它不要求您使用任何ORM,而是只提供数据库连接,并且使用AdminJS配置来模拟数据源.

支持的数据库 :

  • 邮递SQL
  • MySQL 数据
  • 马上就要来了

这个适配器的灵感很大 有线康的管理员 它是 MySQL 数据库的非官方适配器.

安装

$ yarn add @adminjs/sql

用快车

以下实例显示使用 @adminjs/express。使用 Adapter 课程需要解析数据库的图案.

import AdminJS from 'adminjs'
import express from 'express'
import Plugin from '@adminjs/express'
import Adapter, { Database, Resource } from '@adminjs/sql'

AdminJS.registerAdapter({
  Database,
  Resource,
})

const start = async () => {
  const app = express()

  const db = await new Adapter('postgresql', {
    connectionString: '<your database connection string>', //  postgresql://[user]:[password]@[netloc]:[port]/[dbname]
    database: '<your database name>',
  }).init();

  const admin = new AdminJS({
    resources: [
      {
        resource: db.table('users'),
        options: { /* any resource options, rbac, etc */ },
      },
    ],
    // databases: [db] <- you can also provide the DB connection to register all tables at once
  });

  admin.watch()

  const router = Plugin.buildRouter(admin)

  app.use(admin.options.rootPath, router)

  app.listen(8080, () => {
    console.log('app started')
  })
}

start()

数据库关系

目前仅 many-to-one 如果您在数据库中指定了外国密钥限制,则关系会在框外工作。 其他关系需要您进行UI/后端定制. 请看我们的 文档 学习更多.

数字

截至版本 1.0.0 数据库中未自动检测和装入。 您可以在资源选项中手动分配 :

// ...
  const admin = new AdminJS({
    resources: [{
      resource: db.table('users'),
      options: {
        properties: {
          role: {
            availableValues: [
              { label: 'Admin', value: 'ADMIN' },
              { label: 'Client', value: 'CLIENT' },
            ],
          },
        },
      },
    }],
  })
// ...

时间戳

如果您的数据库表格自动带有默认设置的时间戳( E)created_at, (中文(简体) ), updated_at等)它们默认会在创建/编辑形式中可见. 您可以将它们隐藏在资源选项中 :

// ...
  const admin = new AdminJS({
    resources: [{
      resource: db.table('users'),
      options: {
        properties: {
          created_at: { isVisible: false },
        },
      },
    }],
  })
// ...

许可证

AdminJS拥有2023rst.software的版权. 它是一种自由软件,可按下列规定重新分配: 自由主义 文档.

关于 rst. 软件

我们是一个开放、友好的团队.

  • 我们随时可以 雇用。 。 。 .
  • 如果你想为我们工作.. 职业页面。 。 。 .

版本与发布记录

@adminjs/sql 共发布 15 个版本,首次发布于 2023/01/10;过去 12 个月发布了 0 个版本。

版本发布日期距今
2.2.6latest2024/07/102 年前
2.2.52024/06/172 年前
2.2.42024/06/142 年前
2.2.32024/04/112 年前
2.2.22024/03/302 年前
2.2.12023/07/313 年前

其他发布通道:beta → 2.0.0-beta.2。

关于 @adminjs/sql 的常见问题

@adminjs/sql 是什么?

SQL数据库的官方AdminJS适配器.

如何安装 @adminjs/sql?

在项目目录运行 npm install @adminjs/sql,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:adminjs(^7.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@adminjs/sql 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@adminjs/sql 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@adminjs/sql 可以商用吗?

@adminjs/sql 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@adminjs/sql 的下载量有多少?

根据 npm 官方下载统计,@adminjs/sql 在 2026/10/05 – 2026/11/03 这 30 天内被下载 13,966 次,日均约 466 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@adminjs/sql 还在维护吗?

最新版本 2.2.6 发布于 2024/07/10(2 年前);至今共发布 15 个版本,其中过去 12 个月发布了 0 个;首次发布于 2023/01/10。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。