2009-06-02 3 views

ответ

8

SQLite совместим как с платформами Windows, так и с Linux.

The database file format is cross-platform - you can freely copy a database between 32-bit and 64-bit systems or between big-endian and little-endian architectures. These features make SQLite a popular choice as an Application File Format.

Источник: http://sqlite.org/about.html

9

Как пишет Роберт, SQLite файлы должны работать на любой платформе. Если вы решили перейти на MySQL или PostgreSql вы можете выполнить команду следующее (стандарт), чтобы сохранить базу данных на компьютере Windows:

manage.py dumpdata <app1> <app1> > mydbdump.json 

, а затем настроить settings.py на машине Linux для MySQL или PostgreSql базы данных и выполнить:

manage.py syncdb 
manage.py loaddata ./mydbdump.json 

Я успешно сделал это несколько раз, чтобы перейти от MySQL в SQLite он работал отлично.

Для справки вы можете опустить листинг в команде dumpdata для дампа данных для всех установленных приложений, но вернуть его обратно не удастся. Дамп all-inclusive будет содержать некоторые внутренние записи Django, такие как значения по умолчанию типы контента и аутентификацию пользователя, которые также создаются командой syncdb. Таким образом, вы получаете такие ошибки, как

IntegrityError: columns app_label, model are not unique

Список конкретных приложений, которые вы хотите сбросить и загрузить, и они будут работать.

+3

Ошибка «IntegrityError: columns app_label, model not unique» будет отображаться при сбрасывании всех моделей django и попытке загрузить ее. Вместо этого вы можете использовать «python manage.py dumpdata auth.User myapp1 myapp2» (удалите только модель User из django). – xhh

+1

Отличный наконечник, xhh. Жаль, что я не видел этого раньше. – pojo

Смежные вопросы