0

我已经为应用程序使用了 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()
4

1 回答 1

0

最后这对我有用

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

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

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

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

$ ./manage.py migrate --database=users
$ ./manage.py migrate --database=customers
于 2018-06-28T07:51:40.007 回答