我正在为现有Web应用程序构建伴随的Web /移动应用程序。该数据库在MySQL中实现。我将使用Django / Django Rest Framework(DRF)编写API。
该应用程序被各种组织使用。关于实现的有趣部分是每个组织都有自己的数据库。在现有的Web应用程序中,用户输入数据库名称以及登录凭据。
如何在Django中实现呢?我将有很多模型-它们都需要根据当前用户从正确的数据库中读取。
答案 0 :(得分:0)
在settings.py
DATABASES = {
'default': {},
'database_one': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'db1',
'PORT': '3306',
'HOST': '127.0.0.1',
'USER': 'db1_user',
'PASSWORD': 'db1_pwd'
},
'database_two': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'db2',
'PORT': '3306',
'HOST': '127.0.0.1',
'USER': 'db2_user',
'PASSWORD': 'db2_pwd'
}
}
要同步数据库,您应该这样做:
python manage.py migrate
python manage.py migrate --database=database_one
python manage.py migrate --database=database_two
第一个命令在默认数据库上运行,并且使用--database选项,您可以操作所需的数据库。
更多信息。可以在这里找到:https://docs.djangoproject.com/en/2.0/topics/db/multi-db/