我可以将完整的MySQL DB从基于PHP的站点移动到Django应用程序吗?

开发技术 作者: 2024-06-15 19:25:01
我们有一个基于PHP的站点与MySQL数据库.我们有很多用户,订单,发票等数据.现在我们想用Django和MySQL甚至MongoDB重新设计我们的网站应用程序.对我们来说,完全按照以前的方式移动所有表格并且没有损失是非常重要的.有没有办法做到这一点?我们可以在Django中定义新模型并将它们重定向

我们有一个基于PHP的站点与MysqL数据库.我们有很多用户,订单,发票等数据.现在我们想用Django和MysqL甚至MongoDB重新设计我们的网站应用程序.

对我们来说,完全按照以前的方式移动所有表格并且没有损失是非常重要的.有没有办法做到这一点?我们可以在Django中定义新模型并将它们重定向到具有相同名称的现有数据表,然后导入以前的数据库吗?

如果真的有办法做到这一点,它是什么?如果有人知道一种实用的方法我很感激.

解决方法:

哎呀!迁移很难.

首先,备份你可以测试的数据库(这可能是一个给定的,但需要说明.)你实际上可以使用MysqLdump来转储straight to a new MySQL database.

最让你入门的是Django’s documentation for working with “legacy databases”.

粗略地说,使用数据库连接参数和数据库名称设置Django应用程序.您需要编辑DATABASES设置并为这些键分配值:

NAME
ENGINE
USER
PASSWORD
HOST
PORT

首先,有一个名为inspectdb的内置实用程序,可以根据您的数据库生成模型.

python manage.py inspectdb

请记住,这只是第一次通过,您可能需要手动修复其中一些.清除输出后,将其另存为models.py并将其添加到INSTALLED_APPS设置中.您还需要在每个模型的内部类Meta中设置managed = True.

完成所有这些后,运行

python manage.py migrate

你可能不得不一遍又一遍地调整它以使其正确.我强烈建议备份和良好(可能是自动化)设置,以保持测试和调整,以使其正确.

原创声明
本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
本文链接:http://www.jiecseo.com/news/show_27662.html