使用Django从Mysql迁移数据到Postgres - 如何迁移通用表数据,而不是特定于模型?

时间:2010-09-27 19:56:51

标签: django migration

  1. python manage.py dumpdata modelName > file.json
  2. 在postgres上为用户meder创建了一个空数据库
  3. 修改了pga_hb.conf,以便meder可以使用数据库
  4. 更改了settings.py
  5. 中的设置
  6. python manage.py syncdb(我没有创建su)
  7. 尝试loaddata file.json,但它抱怨超级用户不存在或不匹配...

    追踪(最近一次通话):   文件“manage.py”,第11行,in     execute_manager(设置)   在execute_manager中输入文件“/srv/python-environments/saltycrane/lib/python2.5/site-packages/django/core/management/init.py”,第438行     utility.execute()   文件“/srv/python-environments/saltycrane/lib/python2.5/site-packages/django/core/management/init.py”,第379行,执行中     self.fetch_command(子命令).run_from_argv(self.argv)   在run_from_argv中输入文件“/srv/python-environments/saltycrane/lib/python2.5/site-packages/django/core/management/base.py”,第191行     self.execute(* args,** options。 dict )   文件“/srv/python-environments/saltycrane/lib/python2.5/site-packages/django/core/management/base.py”,第220行,执行     output = self.handle(* args,** options)   文件“/srv/python-environments/saltycrane/lib/python2.5/site-packages/django/core/management/commands/loaddata.py”,第219行,句柄     器transaction.commit(使用利用=)   提交文件“/srv/python-environments/saltycrane/lib/python2.5/site-packages/django/db/transaction.py”,第199行     connection._commit()   文件“/srv/python-environments/saltycrane/lib/python2.5/site-packages/django/db/backends/init.py”,第32行,在_commit中     return self.connection.commit() psycopg2.IntegrityError:在表“bugs_bug”上插入或更新违反外键约束“poster_id_refs_id_89e0243f” 详细信息:表(“auth_user”)中没有键(poster_id)=(1)。

  8. 我不应该同步syncdb吗?我是否应该为通用表格使用dumpdata?我仍然在MySQL中完整地保存数据库,但是会欣赏任何方向。

    SIDENOTE :我安装了south。我几天前做了--initial命令。也许我也可以使用南方?

3 个答案:

答案 0 :(得分:5)

你必须跑:

python manage.py dumpdata > file.json.

这将从所有表(模型)转储数据。

运行python manage.py dumpdata myapp.modelName > file.json.只会在app myapp中转储model modelName的数据。

如果您只想转储模型modelName的数据,也可以尝试这个:

python manage.py dumpdata auth myapp.MyModel > file.json

这样,用户的数据也将被转储。

答案 1 :(得分:3)

使用

python manage.py dumpdata --natural > file.json.

更多信息: http://docs.djangoproject.com/en/dev/ref/django-admin/#django-admin-option---natural

答案 2 :(得分:0)

很久以前,在出口/导入jsons痛苦之后,我最终使用了https://pypi.python.org/pypi/py-mysql2pgsql

相关问题