自定义数据库类型

默认情况下,Dify App Hub 使用 MySQL 进行应用配置的持久化存储。

1. 使用 MySQL

如果你有 MySQL 数据库,那么非常简单,只需要构建一个用于存放 Dify App Hub 数据的数据库连接并配置在环境变量:

mysql://username:password@host:port/database_name

2. 使用其他数据库

如果你的数据库是其他类型,则需要修改代码。下面以 PostgreSQL 为例说明如何配置。

首先,修改 Drizzle schema 配置中的数据库方言:

db/schema/apps.ts
import { pgTable } from 'drizzle-orm/pg-core'
// 将 mysqlTable 替换为 pgTable

然后在 .env 中配置你的数据库连接地址:

.env
DATABASE_URL=postgres://username:password@ip:port/dify-app-hub

重新生成迁移文件并执行:

# 删除旧的迁移文件
rm -rf db/migrations/*

# 生成新的迁移文件
pnpm --filter dify-app-hub db:generate

# 执行迁移
pnpm --filter dify-app-hub db:migrate

最后,按照你喜欢的方式(Docker 或者脚本)重新构建启动即可。