当前位置: 首页 > 知识库问答 >
问题:

Django 跳过新数据库模式的长迁移历史记录

蔚丰
2023-03-14

Django使用django-tenant-schemas我的项目需要运行时租户创建(postgres模式创建),但是由于django迁移历史较长,新模式的迁移需要

因此需要一种方法来跳过迁移,但使数据库处于正确的状态。

正在阅读Django 1.9中我应该用什么来代替syncdb?以及https://docs . django project . com/en/2.0/ref/django-admin/# cmd option-migrate-run-syncdb

…似乎以下可能是一个解决方案:

python manage.py migrate auth
# performs migrations for auth and contenttypes contrib apps
python manage.py migrate --run-syncdb
# creates the rest of the database

但是这样做的后果是什么呢?这是否意味着新模式的向后迁移是不可能的?(在这个项目中可以,因为新模式没有历史记录)

这是否也意味着由于没有正确的迁移历史,因此无法应用未来的迁移?这显然是不行的。

仅供参考版本信息:

Django==1.11.7
django-tenant-schemas==1.8.0

共有1个答案

戴建义
2023-03-14

如果您没有进行任何数据迁移

使用pythonmanage.py迁移--run-syncdb和伪造迁移应用程序应该是罚款pythonmanage.py迁移--假

可以帮助您减少迁移数量的附加功能是将迁移压缩到一个迁移中

 类似资料:
  • 数据库 (Repository) 是记录文件或目录状态的地方,存储着内容修改的历史记录。在数据库的管理下,把文件和目录修改的历史记录放在对应的目录下。 远程数据库和本地数据库 首先,Git的数据库分为远程数据库和本地数据库的两种。 远程数据库: 配有专用的服务器,为了多人共享而建立的数据库。 本地数据库: 为了方便用户个人使用,在自己的机器上配置的数据库。 数据库分为远程和本地两种。平时用手头上的

  • 本文向大家介绍数据模型和数据库的历史,包括了数据模型和数据库的历史的使用技巧和注意事项,需要的朋友参考一下 数据模型的历史已有三代DBMS- 分层系统是第一代DBMS。第一代还带有CODASYL系统。他们两个都是在1960年代推出的。 第二代包括关系模型。EFCodd博士于1970年将其引入。 在第三代包括对象关系数据库管理系统和面向对象的数据库管理系统。 数据库的历史时间表如下所示- 基于文件的

  • 首先,我将用现实生活中的例子来解释我的问题。假设我们是一家公司,我们销售不同的运输工具,例如汽车、公共汽车、卡车、火车、飞机等。假设我们有大约10,000,000种不同的产品,每天都有变化。 对于每个项目,我们都有一个唯一的名称(例如,汽车奥迪A8 X或飞机波音747-200by),其中X和Y是唯一的值。不用担心命名,因为它工作很好。 对于每一项,我们也有一些特殊的数据。数据取决于类型,例如汽车:

  • 问题内容: 设置: 我正在开发一个Django应用程序,该应用程序允许用户在数据库中创建一个对象,然后根据需要返回并对其进行编辑。 Django的管理站点保留了通过管理站点对对象所做的更改的历史记录。 问题: 如何将我的应用程序挂接到管理站点的更改历史记录,以便可以看到用户对其“内容”所做的更改历史记录? 问题答案: 管理员历史记录只是一个与其他Django应用程序一样的应用程序,例外是在管理站点

  • 问题内容: 我已经积累了许多使用South(0.7)和Django(1.1.2)进行的迁移,这些迁移在我的单元测试中开始占用大量时间。我想重置基准并开始新的迁移。我已经阅读了South文档,进行了常规的Google / Stackoverflow搜索(例如“ django south(重置或删除或删除)迁移历史记录”),但没有发现任何明显的内容。 我考虑过的一种方法是通过手动“删除” South或

  • 问题内容: 我正在使用Java开发数据库迁移工具。该工具将数据库表及其数据复制到目标数据库。但是我希望它可以在不同的数据库上工作。从mysql复制并在derby等中创建。使用JDBC,我们可以收集有关表及其列的足够信息。但是我要问的是,是否可以使用sql free在Java上重新创建表。我的意思是不同的数据库具有不同的数据类型,有时它们在sql语法上也有所不同。那么JDBC或任何其他库(可以是开放