Export records (#12887)

* Add 'bulkdumpdata' command

* Test --bulk option in CI
This commit is contained in:
Oliver
2026-09-19 19:43:09 +10:00
committed by GitHub
parent 2845a59207
commit ea553ea232
5 changed files with 193 additions and 34 deletions
+5 -4
View File
@@ -117,14 +117,15 @@ jobs:
invoke import-records -c -f ${{ env.DATA_FILE }} --strict
invoke import-records -c -f ${{ env.DATA_FILE }} --strict
cd src/backend/InvenTree && python manage.py check_dummy_data
invoke export-records -o -f ${{ env.DATA_FILE }}
invoke export-records -o -f ${{ env.DATA_FILE }} --bulk
python ../../../.github/scripts/check_exported_data.py ${{ env.DATA_FILE }}
- name: Bulk Import Sqlite Dataset
run: |
# Ensure that the 'bulk' import process works as expected
invoke import-records -c -f ${{ env.DATA_FILE }} --strict --bulk
cd src/backend/InvenTree && python manage.py check_dummy_data
invoke export-records -o -f ${{ env.DATA_FILE }} --prettify
# Ensure that the 'bulk' export process works as expected
invoke export-records -o -f ${{ env.DATA_FILE }} --prettify --bulk
python ../../../.github/scripts/check_exported_data.py ${{ env.DATA_FILE }}
content-excludes:
@@ -132,7 +133,7 @@ jobs:
# category of data (email logs, API tokens, SSO app/token data, user
# sessions, and group/user permissions) according to its --include-x /
# --exclude-x flags. Separate from the 'test' job above since it exercises
# a different axis of behaviour (export content, not the import/export
# a different axis of behavior (export content, not the import/export
# round-trip) and doesn't need the Sqlite half at all.
runs-on: ubuntu-latest
needs: paths-filter
@@ -276,7 +277,7 @@ jobs:
"
bulk-conflicts:
# Check for expected conflict behaviour when re-importing a dataset into a database that already contains that dataset.
# Check for expected conflict behavior when re-importing a dataset into a database that already contains that dataset.
runs-on: ubuntu-latest
needs: paths-filter
if: needs.paths-filter.outputs.server == 'true' || contains(github.event.pull_request.labels.*.name, 'full-run')