微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我可以将完整的MySQL DB从基于PHP的站点移动到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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐