Managing Local Node Data

This guide explains how Arthexis automatically loads bundled fixtures on each node and how those seed records relate to user-generated data stored on disk.

How seed fixtures load

  • The maintenance task in env-refresh.py scans every fixtures/*.json file under the project root and calculates a hash so it only reloads when fixture content or migrations change. During reload, fixtures are sorted to satisfy dependencies (for example, user and group records load before module and landing pages).
  • Each fixture is patched on the fly to avoid duplicate users, update many-to-many links, and normalize Site records. Any model exposing an is_seed_data field is forced to true as the objects are written, ensuring the database tracks which rows came from the shipped dataset.
  • After the core fixtures finish loading, the task refreshes landing defaults, recreates sigils, and writes the new fixture hash to .locks/fixtures.md5 so subsequent runs can skip unchanged data.
Loading remaining sections…