如何将测试数据库传输到产品数据库

时间:2020-03-31 02:28:38

标签: python django migration

我正在研究Django项目,并在GCP上使用数据库进行构建和测试。它充满了测试数据,一团糟。

现在,我想使用新的另一个数据库发布该应用程序。

如何迁移到新数据库?所有这些migrations/文件夹?

我不想删除文件夹,因为开发可能会继续。

不需要保留数据。只是测试数据。

Django版本为2.2; Python 3.7

谢谢。

=========

更改settings.py后,python manage.py makemigrations表示未检测到更改。

然后我做了python manage.py migrate,现在它抱怨关系不存在。

=============== update2

问题似乎是,我有一个表名Customer,并将其更改为'Client'。现在,它抱怨“ psycopg2.errors.UndefinedTable:关系“ app_customer”不存在”。

如何解决它,也许不删除migrations/中的所有文件?

=================更新最终版本

消除所有可能性之后,我发现“新”数据库根本不是新的。几个月前,我在该数据库上进行了迁移。

现在,我创建了一个全新的游戏,migrate就像一个饰物。

再次,谢谢大家的建议。

2 个答案:

答案 0 :(得分:0)

您不需要删除任何迁移/文件夹,您可以在产品数据库中使用相同的迁移文件,如果不需要测试数据,只需删除数据库即db.sqlite3(我想您正在使用默认值数据库)。 注意:迁移文件不会影响您的数据库结构(如果您删除并进行makemigrations或使用现有的文件,它将保持不变)

答案 1 :(得分:0)

迁移文件夹是您的朋友。无需删除。如果您认为迁移文件夹太大而又没有很多迁移文件,则可以扁平化迁移。

如果计划在GCP中使用新数据库,只需更改SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate FROM Customers INNER JOIN Orders ON Customers.CustomerID!=Orders.CustomerID; 文件,该文件通常位于settings.py文件夹中。找到“数据库”部分以反映新的数据库凭据。

一旦您的应用指向新数据库,请运行project_name/project_name/。这将使用必要的表构建数据库架构,以开始填充新数据库。