【问题标题】:How to make model migration for different apps in different db in Django如何在 Django 中为不同数据库中的不同应用程序进行模型迁移
【发布时间】:2018-06-28 07:40:05
【问题描述】:

我在应用程序中使用了 DB 路由器,但是在运行 migrate 命令后,表会在默认 DB 中创建,为什么??

model code:

from django.db import models

# Create your models here.
class Employee(models.Model):

      Employee_id = models.AutoField(primary_key=True)
      Employee_name = models.CharField(max_length=100)
      Mobile_number = models.IntegerField()

【问题讨论】:

标签: django database-migration migrate makemigrations


【解决方案1】:

最后这对我有用

同步您的数据库 migrate 管理命令一次在一个数据库上运行。默认情况下,它在默认数据库上运行,但通过提供 --database 选项,您可以告诉它同步不同的数据库。因此,要将所有模型同步到上面第一个示例中的所有数据库,您需要调用:

$ ./manage.py migrate
$ ./manage.py migrate --database=users

如果您不希望每个应用程序都同步到特定数据库上,您可以定义一个数据库路由器,该路由器实施限制特定模型可用性的策略。

如果像上面第二个示例一样,您将默认数据库留空,则必须在每次运行 migrate 时提供数据库名称。省略数据库名称会引发错误。第二个例子:

$ ./manage.py migrate --database=users
$ ./manage.py migrate --database=customers

【讨论】:

    猜你喜欢
    • 2019-01-19
    • 1970-01-01
    • 2019-02-04
    • 1970-01-01
    • 2021-09-11
    • 2021-11-27
    • 2012-02-23
    • 2018-05-30
    • 2020-12-08
    相关资源
    最近更新 更多