首页 > 解决方案 > 如何将一个数据库与多个 django 服务器一起使用?

问题描述

我看到了很多关于在一台服务器上使用多个数据库的信息,但是我找不到关于与多台服务器共享一个数据库的内容。

使用微服务架构,如果我在一个名为 Account 的 django 服务器中定义一个数据库和模型,我如何从另一个名为 Post 的服务器中使用 Account 服务器中的数据库和模型?

我在想的是在两个服务器中编写相同的 models.py 并使用 django 命令--fake

然后,键入这些命令

python manage.py makemigrations

python manage.py migrate

在另一台服务器上

python manage.py makemigrations

python manage.py migrate --fake

我不确定这是否可行,我想知道是否有任何好的方法。

标签: pythondjango

解决方案


我怀疑这是最好的方法,但是如果您希望两个单独的 Django 项目使用相同的数据库,您可能可以像平常一样创建第一个,然后在第二个项目中复制所有 models.py 和迁移文件。Django 在后台创建一个数据库表来跟踪已应用的迁移,因此只要应用程序、模型和迁移文件在第二个应用程序中相同,它就可以工作,而无需伪造任何迁移。

也就是说,这听起来像是一团糟。我想我要做的是创建一个与数据库对话的单个 Django 项目,然后在第一个项目中创建一个 API,所有其他应用程序都可以与之交互以与数据库进行通信。这样您就可以避免重复代码或不必担心保持多个项目同步。


推荐阅读