Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以将完整的MySQL数据库从基于PHP的站点移动到Django应用程序吗?_Php_Mysql_Django_Mongodb_Transmission - Fatal编程技术网

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

我可以将完整的MySQL数据库从基于PHP的站点移动到Django应用程序吗?,php,mysql,django,mongodb,transmission,Php,Mysql,Django,Mongodb,Transmission,我们有一个基于php的网站和MySQL数据库。我们在那里有很多数据,包括用户、订单、发票等。现在我们想使用Django和MySQL甚至MongoDB重新设计我们的站点应用程序 对我们来说,准确地移动所有的桌子并没有损失是非常重要的。有没有办法做到这一点?我们能否在Django中定义新模型,并将它们重定向到具有相同名称的现有数据表,然后导入以前的数据库 如果真的有办法,那是什么?如果有人知道一种实用的方法,我将不胜感激。哎呀!迁移很困难 首先,备份您的数据库,您可以使用它进行测试(这可能是给定的,

我们有一个基于php的网站和MySQL数据库。我们在那里有很多数据,包括用户、订单、发票等。现在我们想使用Django和MySQL甚至MongoDB重新设计我们的站点应用程序

对我们来说,准确地移动所有的桌子并没有损失是非常重要的。有没有办法做到这一点?我们能否在Django中定义新模型,并将它们重定向到具有相同名称的现有数据表,然后导入以前的数据库


如果真的有办法,那是什么?如果有人知道一种实用的方法,我将不胜感激。

哎呀!迁移很困难

首先,备份您的数据库,您可以使用它进行测试(这可能是给定的,但需要说明)。实际上,您可以使用
mysqldump
进行转储

大部分能让你开始的东西都在你的生活中

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

NAME
ENGINE
USER
PASSWORD
HOST
PORT
首先,有一个名为
inspectdb
的内置实用程序,可以根据您的数据库生成模型

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

完成所有这些之后,运行

python manage.py migrate

你可能需要反复调整才能使其正确。我强烈建议使用备份和良好的(可能是自动的)设置来保持测试和调整,以使其正确。

创建使用现有表的Django模型是可能的,尽管有时会有一些复杂情况-Django确实希望其所有表都有一个自动递增整数主键。请参阅文档:您可能可以,但将mysql 1-1与mongodb一起移动通常意味着大量的模式、索引、磁盘使用和其他问题