【问题标题】:How to run migration against a different database in Django?如何在 Django 中针对不同的数据库运行迁移?
【发布时间】:2021-09-11 03:20:59
【问题描述】:

我在 Django 中使用了两个数据库实例,一个在 Postgis 中,另一个在 Postgres 本身中。 Postgis 是一个地理空间数据库,它具有一些模型字段和特性,而作为其扩展器的 PostgreSQL 数据库没有。

当我运行./manage.py migrate 时,为了避免回溯,我希望与 Postgis 相关的迁移迁移到 Postgis,而与 Postgres 相关的迁移到默认数据库 Postgres。

我可以通过在运行迁移命令时指定 --database="postgis" 来做到这一点,但最好避免这样做。

【问题讨论】:

  • 为什么需要单独的数据库?为什么不使用安装了 postgis 扩展的单个 Postgres 数据库?
  • 该项目是使用 Postgres 启动的,将数据移动到 Postgis 时出现问题。所以我不得不坚持使用 Postgres 作为默认数据库,以避免弄乱数据。可能,它会在未来改变,但现在我需要弄清楚。
  • @DeeStarks 是项目内部不同应用中的模型吗?

标签: django postgresql migration postgis geodjango


【解决方案1】:

如果您有两个项目,则必须更改设置文件.. 第一个项目使用一个数据库,第二个项目使用另一个数据库。如果您使用两个项目,则需要相应地更改设置文件。

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME':  'db1',
        'USER': 'root',
        'PASSWORD': '',
        'HOST': 'localhost',
        'PORT': '3306',
    }
}

【讨论】:

猜你喜欢
  • 2017-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-26
  • 2021-07-03
  • 1970-01-01
  • 2019-01-19
  • 1970-01-01
相关资源
最近更新 更多