python - 如何将一个数据库与多个 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
我不确定这是否可行,我想知道是否有任何好的方法。
解决方案
我怀疑这是最好的方法,但是如果您希望两个单独的 Django 项目使用相同的数据库,您可能可以像平常一样创建第一个,然后在第二个项目中复制所有 models.py 和迁移文件。Django 在后台创建一个数据库表来跟踪已应用的迁移,因此只要应用程序、模型和迁移文件在第二个应用程序中相同,它就可以工作,而无需伪造任何迁移。
也就是说,这听起来像是一团糟。我想我要做的是创建一个与数据库对话的单个 Django 项目,然后在第一个项目中创建一个 API,所有其他应用程序都可以与之交互以与数据库进行通信。这样您就可以避免重复代码或不必担心保持多个项目同步。
推荐阅读
- react-native - 重定向到另一个页面之前的异步存储
- ruby-on-rails - 是否可以将文本列更改为整数支持的枚举而无需停机?
- javascript - “服务器上的子类别响应问题”
- wordpress - 为什么 wp_redirect() 向我显示标头信息 - 标头已由..发送?
- python-3.x - 匹配长度不等的字符列表
- php - 当我编辑要更新的 html 表时,未检测到我的输入,仅显示单词 Array 和 number 1 并更新到我的数据库
- python - 将数据帧从 google collab 导出到驱动器时出错(csv)
- android - 使用FFmpeg在surfaceview中获取当前帧大小
- javascript - const 和 let 在作用域链中创建上下文对象吗?
- amazon-web-services - 在 AWS 上安装 Neo4j(指令失败)