使用Python将SQLite3数据库表迁移到MySQL而不使用转储文件

时间:2010-02-25 08:29:53

标签: python mysql django sqlite

我需要将我在SQLite3中创建的信息迁移到我网站上的MySQL数据库中。该网站位于托管服务器上。我可以远程访问MySQL数据库。我最初认为这很容易,但我没有找到任何好的信息,我读到的一切似乎暗示你需要转储SQLite3文件,使用凌乱的脚本将其转换为MySQL转储文件,然后导入它进入MySQL。

(例如:Quick easy way to migrate SQLite3 to MySQL?

我的问题:阅读它并将其直接从脚本导入MySQL是不是更好。我根本没有使用过Python的MySQL,但是看起来很直观,没有什么步骤可以让你错过阅读。我还想通过不必了解MySQL转储文件的工作方式来节省一点时间。

如果你有一个脚本(Python,如果可能的话),工具或链接将帮助我,这将是伟大的,但我首先关注的是如何去做。我无法现实地检查所有内容(否则我只会复制和粘贴),所以我想确保我以正确的方式进行检查。

我正在使用Django,也许有一个Django特定的方法,但我找不到。

2 个答案:

答案 0 :(得分:2)

需要“杂乱”脚本的原因是它通常是一个难以解决的问题。

如果幸运的话,数据库之间的架构不兼容性不会太多。

这些可能会有所帮助

db_dump.py
dbpickle.py
What is your favorite solution for managing database migrations in django?

答案 1 :(得分:2)

您是否尝试过使用django-admin的dumpdata和loaddata?

e.g。 dump sqllite3 db

manage.py dumpdata

将db更改为mysql,重新创建表并加载

manage.py loaddata mydata.json
默认情况下,

dumpdata会转储json,但您也可以将格式设置为xml。

或者,您可以使用python db api或sqlalchemy或django ORM读取整个sqlite3数据库并将其转储到MySQL数据库。