File tree Expand file tree Collapse file tree 3 files changed +20
-19
lines changed
Expand file tree Collapse file tree 3 files changed +20
-19
lines changed Original file line number Diff line number Diff line change @@ -79,6 +79,14 @@ openapi JSON 数据在线地址
7979
8080数据库字符集,仅用于 mysql
8181
82+ ### ` DATABASE_PK_MODE ` <Badge type =" info " text =" str " />
83+
84+ 数据库主键模式,更多详情:[ 切换主键] ( ./pk.md )
85+
86+ ::: caution
87+ 不要随意更新此配置!!!否则将导致致命问题!!!
88+ :::
89+
8290## Redis 配置
8391
8492### ` REDIS_TIMEOUT ` <Badge type =" info " text =" int " /> <Badge type =" warning " text =" env " />
@@ -272,10 +280,6 @@ JWT 中间件存储用户信息到 Redis 时的前缀
272280
273281## 数据权限配置
274282
275- ### ` DATA_PERMISSION_MODELS ` <Badge type =" info " text =" dict[str, str] " />
276-
277- 允许进行数据过滤的 SQLA 模型,模型值必须以模块字符串的方式定义
278-
279283### ` DATA_PERMISSION_COLUMN_EXCLUDE ` <Badge type =" info " text =" list[str] " />
280284
281285排除允许进行数据过滤的 SQLA 模型列,例如 id, password 等
Original file line number Diff line number Diff line change 22title : 切换数据库
33---
44
5- ::: caution
5+ ::: warning
66fba 自 v1.10.0 开始,已将默认数据库由 MySQL 替换为 PostgreSQL
77:::
88
@@ -73,11 +73,11 @@ DATABASE_PASSWORD='123456'
7373
7474## 解耦
7575
76- 如果你只想保留一种数据库兼容性,请参考以下内容 :
76+ 如果你只想保留一种数据库,请参考以下内容进行解耦 :
7777
7878- 删除 ` with_variant ` 相关代码(如果存在),仅保留数据库对应的类型
7979- 删除 ` backend/core/conf.py ` 文件中的 ` DATABASE_TYPE ` 及其相关的调用代码
8080- 删除 ` .env_example ` 和 ` .env ` 文件中的 ` DATABASE_TYPE `
8181- 更新 ` backend/templates/py/model.jinja ` 文件中的 ` database_type ` 相关代码
82- - 删除 ` backend/sql ` 目录中的 ` postgresql ` 或 ` mysql ` 文件夹
83- - 删除 ` docker-compose.yml ` 文件中的 ` fba_postgres ` 或 ` fba_mysql ` 容器脚本
82+ - 删除 ` backend/sql ` 目录中不需要的文件夹
83+ - 删除 ` docker-compose.yml ` 文件中不需要的容器脚本
Original file line number Diff line number Diff line change @@ -53,14 +53,14 @@ title: 主键
5353在切换选择之前,请确认以下事项
5454
5555- 未启动过项目
56- - 未通过 SQL 脚本创建过表
57- - ` backend/conf.py ` 文件中的 ` DATABASE_SCHEMA ` 配置符合预期
56+ - 未执行过 alembic 迁移
57+ - ` backend/core/ conf.py ` 文件中的 ` DATABASE_SCHEMA ` 配置符合预期
5858
5959如果存在以上操作,在切换选择前,必须删除所有数据库表
6060:::
6161
6262::: caution
63- 不要随意切换选择!!! 自增 ID 是数据库表级物理绑定 ,随意切换将导致致命问题!!!
63+ 不要随意切换选择!自增 ID 会创建数据库物理绑定 ,随意切换将导致致命问题!!!
6464:::
6565
6666### 自增 ID
@@ -70,13 +70,9 @@ title: 主键
7070### 雪花 ID
7171
72721 . 务必仔细查看本章节警告内容,确保数据库环境整洁
73- 2 . 更新 fba 内所有 sqlalchemy model 中的 ` id: Mapped[id_key] ` 为 ` id: Mapped[snowflake_id_key] `
74-
75- 温馨提示:合理利用 IDE 一键替换功能,可避免繁琐操作和遗漏
76-
77- 3 . 更新所有 ` id_key ` 导入为 ` snowflake_id_key `
78- 4 . 执行 ` backend/sql/xxx/init_snowflake_test_data.sql ` 脚本初始化测试数据
79- 5 . 阅读 [ 注意事项] ( #注意事项 )
73+ 2 . 更新 ` backend/core/conf.py ` 中的 ` DATABASE_PK_MODE ` 配置为 ` snowflake `
74+ 3 . 执行 ` backend/sql/xxx/init_snowflake_test_data.sql ` 脚本初始化测试数据
75+ 4 . 阅读 [ 注意事项] ( #注意事项 )
8076
8177::: caution Windows 平台警告
8278如果您正在 Windows 平台中使用 mysql >= 8.0,还需要更新 ` backend/database/db.py ` 文件内的 ` mysql+asyncmy ` 为
@@ -92,7 +88,8 @@ issue:[asyncmy/issues/35](https://github.com/long2ice/asyncmy/issues/35)
9288
9389 当后端 api 返回长整数时,返回结果是没有问题的,但是通过前端渲染数据后,可能导致长整数渲染错误。
9490
95- 通过浏览器控制台可以发现,前端渲染后的数据 id 与返回数据不一致,最佳解决方法是:后端将长整数序列化为字符串之后再返回
91+ 通过浏览器控制台可以发现,前端渲染后的数据 id 与返回数据不一致,最佳解决方法是:后端将长整数序列化为字符串之后再返回;以下提供两种方案,
92+ 仅供参考:
9693
9794 ::: tabs
9895 @tab schemaBase
You can’t perform that action at this time.
0 commit comments