Django;如何将使用sqlite3完成的项目迁移到postgresql



我的朋友在OS:windows工作了几天,他使用数据库:sqlite3完成了django应用程序的一部分,他给了我他的工作的备份来完成我的部分,在备份上我找到了一个名为databaseproject.db的数据库,我在这里的问题是使用Linux作为操作系统和postgresql,如何将此数据库databaseproject.db(它是一个sqlite3数据库(迁移到postgresql。

Ps:当我尝试在目录上执行以下命令时(在我的linux上的虚拟环境中复制项目后(:

python manage.py dumpdata --natural-foreign 
--exclude=auth.permission --exclude=contenttypes 
--indent=4 > data.json

---->命令go没有错误,在这里我发现data.json包含一个空列表。。

所以我想知道,如何正确地从sqlite3迁移到postgresql。?

提前谢谢。

通过任意SQLite Viewer打开数据库,然后可以确定是否有数据。如果你有数据,然后通过以下命令转储它们:

python manage.py dumpdata --natural-foreign 
--exclude=auth.permission --exclude=contenttypes 
--indent=4 > data.json

接下来用PostgreSQL配置更新数据库设置,然后通过以下命令将数据加载到PostgreSQL数据库中:

python manage.py loaddata data.json

最简单的方法是在此处使用dumpdata,然后使用loaddata

如果您看到一个空的转储文件,则需要进行一些调查。

首先,您可以使用类似Sqlite Browser的东西来确保数据存在于共享数据库中,确保应用程序模型包含的数据不是django内置的模型。

然后,您需要确保应用程序已添加到setttings.py中的INSTALLED_APPS中。

并且该应用程序包含一个名为models.py的文件,该文件包含应用程序模型。

最新更新