我正在研究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
就像一个饰物。
再次,谢谢大家的建议。
答案 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/
。这将使用必要的表构建数据库架构,以开始填充新数据库。