Replace dumpdata and loaddata with migration aware fixture commands.
Project description
The fast_fixtures django application provides apps with a way to export fixtures which note the state of the database when they were made.
They then allow the database to move to that state when loading the data or warn the user about the discrepencies (if they want to play it save)
This module is very new and it's ideas are pretty radical. Please test and consider contributing to the code.
Caveats:
* Output only supports json right now. This is a limitation of django's serializer structure.
Features:
* Json file is backwards compatible and new data is ignored if not relivent.
* Will not run any migrations for test fixtures, but this tools could be used to upgrade those fixtures.
Installation:
```python
pip install django-fast-fixtures
INSTALLED_APPS = (
...
'fast_fixtures',
)
```
Use:
```bash
manage.py dumpdata --migrated > fixture.json
manage.py migrate ... or another website instance
manage.py loaddata fixture.json
```
Data Created:
The data created in the json file is almost exactly the same, except for a new header object which appears at the start of the data stream:
```json
[
{
"model": "auth.user",
"fields": {},
"migrations": {
"app_label": "last_migration_label",
...
},
},
...
other data
]
```
The model and fields entries are there so the header is ignored by a normal loaddata process. Migrations lists all the apps that are included in this dump and their last applied migration in order.
They then allow the database to move to that state when loading the data or warn the user about the discrepencies (if they want to play it save)
This module is very new and it's ideas are pretty radical. Please test and consider contributing to the code.
Caveats:
* Output only supports json right now. This is a limitation of django's serializer structure.
Features:
* Json file is backwards compatible and new data is ignored if not relivent.
* Will not run any migrations for test fixtures, but this tools could be used to upgrade those fixtures.
Installation:
```python
pip install django-fast-fixtures
INSTALLED_APPS = (
...
'fast_fixtures',
)
```
Use:
```bash
manage.py dumpdata --migrated > fixture.json
manage.py migrate ... or another website instance
manage.py loaddata fixture.json
```
Data Created:
The data created in the json file is almost exactly the same, except for a new header object which appears at the start of the data stream:
```json
[
{
"model": "auth.user",
"fields": {},
"migrations": {
"app_label": "last_migration_label",
...
},
},
...
other data
]
```
The model and fields entries are there so the header is ignored by a normal loaddata process. Migrations lists all the apps that are included in this dump and their last applied migration in order.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file django-fast-fixtures-0.7.tar.gz
.
File metadata
- Download URL: django-fast-fixtures-0.7.tar.gz
- Upload date:
- Size: 4.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cd5ef56696cf6c019b74ed5ea9c8128b95b60e3dd37d2d402cf204d160d77de9 |
|
MD5 | b9bc6617fb8b5e0a4301ac5c5becec1e |
|
BLAKE2b-256 | 5fb82f44cf5776661a8434957500764dd19bb1ad6e887c1fdc584031bfe6e76e |