1. в продакшене я применял другую базу данных - MySQL
2. возможности sqlite3 слишком ограничены, что не позволяло мне использовать south в своих разработках.
Теперь я по совету западных разработчиков использую в своих проектах PostgreSQL.
Кстати, я был привязан к sqlite потому, что это удобно сохранить данные разрабатываемого сайта в одном файлике mysite.sqlite3, потом скинуть папку с проектом на другой компьютер, запустить там manage.py runserver и... вуаля - сайт работает!
Но оказывается в django есть возможность сделать так, чтобы данные автоматически вставлялись в базу данных при syncdb проекта.
Для этого существуют fixtures - представления данных ваших приложений в форматах .json/.xml/.yaml
Дамп базы данных в файл фикстур
python manage.py dumpdata --format=json myapp > myapp/fixtures/initial_data.json
По умолчанию фикстуры нужно хранить в папке fixtures, которую нужно создать внутри каждого приложения.
Если фикстуры сохраняются в файл с названием initial_data, то при каждом syncdb фикстуры будут загружаться в базу данных вашего проекта.
Загрузка фикстуры из файла
python manage.py loaddata myapp/fixtures/myfix.json
Здесь мы вручную загружаем в базу данных приложения myapp данные, сохраненные в файле myfix.json
Комментариев нет:
Отправить комментарий