让django在“上自动创建数据库”;“迁移”;

让django在“上自动创建数据库”;“迁移”;,django,Django,在开发环境中,有一种方法可以让django使用“migrate”命令自动创建数据库(在postgreSQL服务器上),就像创建测试数据库一样 我的最终目标是为每个git分支拥有一个数据库。不,因为django是一个web框架,而不是一个web服务器,如何运行取决于您自己 另外,每个git分支拥有一个数据库听起来像是一场噩梦,我希望您正在提交迁移并根据需要进行适当的合并您可以使用下面的伪代码编写脚本 branch_name=<get branch name from git> crea

在开发环境中,有一种方法可以让django使用“migrate”命令自动创建数据库(在postgreSQL服务器上),就像创建测试数据库一样

我的最终目标是为每个git分支拥有一个数据库。

不,因为django是一个web框架,而不是一个web服务器,如何运行取决于您自己


另外,每个git分支拥有一个数据库听起来像是一场噩梦,我希望您正在提交迁移并根据需要进行适当的合并

您可以使用下面的伪代码编写脚本

branch_name=<get branch name from git>
create_database with branch_name as db name
run django migrate

然后,您的Django settings.py还需要更改以使用该DB名称,因此您也可以在settings.py中从Python读取Git分支名称:

>>> import subprocess
>>> DBNAME = subprocess.check_output('git rev-parse --symbolic-full-name --abbrev-ref HEAD', shell=True)
>>> DBNAME.replace('\n', '')
'develop'

然后,您可以在
settings.py
中使用该值(我在git分支
develope

是的,Django在“迁移”上创建了一个数据库。但前提是它使用SQLite。 文件清楚地说明了这一点 ()

用于SQLite以外的数据库

如果您使用的是SQLite以外的数据库,请确保此时已经创建了数据库。使用
创建数据库\u name

如果您使用的是SQLite,则无需事先创建任何内容—数据库文件将在需要时自动创建


谢谢你的回复。我们只需要在开发环境中使用它。当在一个特定分支上处理数据库更改的特性时,由于django“检查”迁移状态,我们在更改到另一个分支时会陷入困境。有一个推荐的过程吗?我想这不是我在django开发的所有时间里遇到的问题,我不知道这是否取决于用户在切换之前确保分支处于稳定状态的过程或其他什么。我想,如果这确实是您所需要的,那么逻辑步骤应该是:我已经使用环境变量检索了数据库名称。我只是想知道django是否能够在本地做到这一点。如果没有,我会在之前手动完成。有什么解决方案吗?我不明白为什么在执行“迁移”时,django会自动创建sqlite3数据库,但不会创建postgresql数据库
>>> import subprocess
>>> DBNAME = subprocess.check_output('git rev-parse --symbolic-full-name --abbrev-ref HEAD', shell=True)
>>> DBNAME.replace('\n', '')
'develop'