A simple tool to dump and load CiviCRM configuration.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Cassowary Rusnov 7dbc4ae55c
Fix potential import error
3 weeks ago
.gitignore added utf8 support & added confdump.venv to gitignore 1 year ago
README.md and another 1 year ago
confdump.py Fix potential import error 3 weeks ago
example.env Add README for steps to load data into test instance. fix error in code. add requirements.txt 1 year ago
requirements.txt Switch to autonomic-cooperative civicrmapi4 3 weeks ago
tox.ini Initial checkin 1 year ago


  • Needs working local CiviCRM from caat-crm-installer
  • Install pre-dependencies for MySQL client https://pypi.org/project/mysqlclient/ (on dpkg based linux: sudo apt install python3-dev default-libmysqlclient-dev build-essential)
  • In confdump path, virtualenv confdump.venv
  • Load the virtualenv . confdump.venv/bin/activate
  • Install requirements pip install -r requirements.txt
  • cp example.env .env
  • Edit .env and add creds for the production, test or development server you'll retrieve the data from.
  • Execute dump to retrieve base data: env $(cat .env) python ./confdump.py dump -o mydata INSTANCEPATH where INSTANCEPATH is something like https://crm.dev.caat.org.uk/.
  • IMPORTANT!! - If you sourced the data from live, you must delete the .env file or delete the creds from inside it. If you leave them in it will negate the whole purpose of having this conf dump utility, which is to provide a way of creating a local site without any sensitive data.
  • If your civicrm is in a docker container, load data into running local instance with: python confdump.py mysql -i mydata/ -p 63306
  • Otherwise use confdump.py mysql -i mydata/ --host=<host> --db=<db> --user=<user> --password=<password>
  • Clear the cache in CiviCRM:
    • DOCKER: make shell, and then inside the shell cd /app; ./vendor/bin/drush cc all
    • NORMAL: cd web; vendor/bin/drush cc all