Tôi hiện đang sử dụng sqlite3 làm DB cho một trong các dự án Django của tôi. Tôi muốn thay đổi điều này để sử dụng postgresql, và tôi muốn giữ nguyên tất cả dữ liệu.Chuyển dự án Django từ phần phụ trợ sqlite3 sang postgresql không thành công khi tải datadump
Tôi đã sử dụng ./manage.py dumpdata > dump.json
để tạo một kết xuất dữ liệu và thay đổi cài đặt của mình để sử dụng postgresql. Trước tiên, hãy thử với một cơ sở dữ liệu trống để làm ./manage.py loaddata dump.json
dẫn đến lỗi về các bảng không tồn tại, vì vậy tôi đã chạy ./manage.py syncdb
và thử lại. Điều đó dẫn tới lỗi này:
Problem installing fixture 'dump.json': Traceback (most recent call last):
File "/usr/lib/python2.6/site-packages/django/core/management/commands/loaddata.py", line 163, in handle
obj.save()
File "/usr/lib/python2.6/site-packages/django/core/serializers/base.py", line 163, in save
models.Model.save_base(self.object, raw=True)
File "/usr/lib/python2.6/site-packages/django/db/models/base.py", line 495, in save_base
rows = manager.filter(pk=pk_val)._update(values)
File "/usr/lib/python2.6/site-packages/django/db/models/query.py", line 448, in _update
return query.execute_sql(None)
File "/usr/lib/python2.6/site-packages/django/db/models/sql/subqueries.py", line 124, in execute_sql
cursor = super(UpdateQuery, self).execute_sql(result_type)
File "/usr/lib/python2.6/site-packages/django/db/models/sql/query.py", line 2347, in execute_sql
cursor.execute(sql, params)
File "/usr/lib/python2.6/site-packages/django/db/backends/util.py", line 19, in execute
return self.cursor.execute(sql, params)
IntegrityError: duplicate key value violates unique constraint "django_content_type_app_label_key"
- Đây có phải là không cách chính xác để di chuyển dữ liệu từ một cơ sở dữ liệu khác?
- Tôi nên làm gì để chuyển đổi phần phụ trợ DB một cách an toàn?
tôi bỏ qua một số bảng django. './manage.py dumpdata -e sessions -e quản trị -e contenttypes -e auth.Permission -e authtoken --natural> db.json' và sau đó đã làm' ./manage.py loaddata db.json'. Có lẽ nó giúp ai đó. Để biết chi tiết, hãy xem câu hỏi này http://stackoverflow.com/questions/853796/problems-with-contenttypes-when-loading-a-fixture-in-django –