我刚刚继承了一个用于维护和持续开发的 Django 项目。虽然我是一个相当精通的程序员(也是 Python),但我几乎没有使用 Django 的经验,因此我需要对我的想法进行一些理智的检查;)
当前的问题是:项目包含一个自定义install.sh
文件,它做了三件事:
- 创建一些非模型数据库并通过 SQL 导入初始数据
- 使用导入夹具
manage.py
- 通常的
migrate.py syncdb
和migrate.py migrate
。
(install.sh
还包含一些逻辑来实现半生不熟的south
依赖管理,我用原生的代替)
我的想法如下:
- 为每个非模型数据库表生成模型(
manage.py inspectdb
首先,在应用程序中拆分)。 - 将所有非
south
模型转换为south
- 将初始 SQL 数据转换为
south
夹具 - 将数据库备份例程转换为
manage.py dumpdata
(并恢复到manage.py loaddata
固定装置)。 - 不再使用原始 SQL
现在简单的问题是:这个计划是否明智?有哪些替代方案?