Django5+Vue3:OA系统前后端分离项目实战-修改OAUser模型主键(4)
Django5+Vue3 系列文章
前言
此项目采用 Django 框架的 5.0.7 版本进行开发。
Django 5.0 支持的 Python 版本为 3.10、3.11 和 3.12。
CSDN 专栏链接: ~快捷传送门: 留个赞再走呗 😭! ~
uuid
shortuuid
使用 shortuuid 可以生成短小、唯一、随机的标识符,为数据库提供跨平台兼容性、增强隐私性、减少存储空间和避免 ID 冲突等优势,比默认生成的自动增长的 id 更具有安全性。
pip install shortuuid
django-shortuuidfield
django-shortuuidfield 是一个 Django 应用程序,它提供了一个用于 Django 模型的 ShortUUIDField 字段,该字段使用 shortuuid 库来生成短小且唯一的 UUID。
Tips:此项目使用 django-shortuuidfield,已包含 uuid 库无需单>独下载 shortuuid。
pip install django-shortuuidfield
配置 ShortUUIDField
从 shortuuidfield 中导入 ShortUUIDField
from shortuuidfield import ShortUUIDField
添加至 OAUser 模型
uid = ShortUUIDField(primary_key=True)
重建数据库
由于主键的更改会对数据库结构产生重大影响,直接进行迁移可能会导致依赖于 User 表的其他表出现故障。因此,需要先删除所有引用了 User 表的表,然后再重新生成这些表以确保数据库的一致性和功能的完整性。
MySQL 重建数据库 oa
DROP DATABASE IF EXISTS oa;
CREATE DATABASE oa DEFAULT CHARACTER SET utf8mb4;
删除残留迁移文件
迁移文件位于: apps-->oaauth-->migrations-->0001_initial.py
模型映射
终端依次执行如下(示例):
python manage.py makemigrations
python manage.py migrate
检查数据库(示例):
总结
本节介绍了通过安装 django-shortuuidfield,实现数据库的重新初始化和模型迁移,以 UUID 增强实际情况下企业的信息安全。
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 Fender