Exportable_datasets did not generate with update

Hey @CamDavidsonPilon,

I noticed I do not have any datasets to export via gui or cli after api update. Is there a script I need to rerun to generate this yaml file?

pioreactor@pio:~ $ pio run export_experiment_data --experiment 1LR_fixed --dataset-name od_readings --output /home/pioreactor/od_readings.zip
2025-01-07T12:47:52-0500 INFO   [export_experiment_data] Starting export of dataset: od_readings.
2025-01-07T12:47:52-0500 WARNING [export_experiment_data] Dataset `od_readings` is not found as an available exportable dataset. A yaml file needs to be added to ~/.pioreactor/exportable_datasets. Skipping. Available datasets are []
2025-01-07T12:47:52-0500 INFO   [export_experiment_data] Finished export.
pioreactor@pio:~ $ cd ~/.pioreactor/exportable_datasets
-bash: cd: /home/pioreactor/.pioreactor/exportable_datasets: No such file or directory

If you are just pulling branches from github, you’ll need to manually run the update-script as well. For the 24.12.x release, it’s here.

Specifically, these two lines: pioreactor/update_scripts/24.12.5/update.sh at master · Pioreactor/pioreactor · GitHub

You can populate the exportable_datasets dir with the files in dataset.zip.

Awesome. Got it working.

I am sure this may have come up before but I haven’t seen it in the docs. How do the official pioreactor updates differ from when I run pio update app -r…

I see there’s a bunch of additional .sh scripts in the update scripts folder and I am assuming I basically have never run any of them since I flashed the pio considering I only run custom updates

pio update app will pull and execute those .sh scripts only when the -v option is used (which looks for an official release in the pioreactors repo). Otherwise, pio update app ... only updates the Python code, and not any system changes.

If you’ve only run -r ..., you may need to search those bash scripts (update.sh, and any update.sql) for important updates.


Only using pio update app -r ... -b ... is a bit off the beaten path, since it won’t pick these system updates up. I would suggest looking at official releases, and cherry picking the important system updates from them.

1 Like

Im surprised I have gone this long without major issues.

Considering I intermittently bring my repo up to date ill likely just do a -v update to have it take care of the .sh scripts followed by my own branch update

Does the script check latest recorded official pioreactor software version then run all .sh update files for all updates that occured since. (Assuming user might have skipped some updates)

Me too!

Does the script check latest recorded official pioreactor software version then run all .sh update files for all updates that occured since. (Assuming user might have skipped some updates)

No, not yet. It’s a pretty naive update system…

Another option is to just reflash the latest image. But first download the data you need.

Thanks Cam, ive considered reflashing many times but am unsure how to transfer all the data.

would it just be experiments, config file, calibrations?

Is there an export/import experiment methodology? I don’t think normal export works here

We recommend zipping all the data in the /home/pioreactor/.pioreactor folder. This will include your sqlite3 dbs (which include experiments), calibrations, configs, plugins, etc.

We have some (out of date) instructions here: Export and import your data | Pioreactor Docs

I just tried it, and there is an bug in the pio run backup_database --force line. You can comment that out, but perhaps before you start, run pio run backup_database --force yourself.