======================================================= Updating values (e.g., directory paths) in the database ======================================================= The data in your FireWorks database might become out of date. For example, runs that were previously located with directory preamble "/scratch1/" might be moved to "/project/". Or, a tag of "solar_all" might need updating to "solar_part1". You can perform a text replacement over all documents in your FireWorks database. This text-replacement is absolute, so you must make sure the text to replace is unique. In order to use this functionality, use the method: *fireworks.utilities.update_collection.update_launchpad_data*, and be sure to read the documentation. A few notes: - Turn everything off (i.e., new database insertions) before running this method. - We highly suggest you back up the database (using mongodump) before running this method. - Remember, the text replacement you specify will be applied for all keys over all documents. Make sure your replaced text is unique. - After running the method, a backup of the original collections can be found with "_xiv_{DATE}" extension. If for any reason something goes wrong, you can move these original collections back using MongoDB. - A "dry_run" option can be used; this will create collections for the new data with extensions "_tmp_refactor" but will not overwrite your original data. After running in "dry_run", you may need to use "force_clear"=True to run the method again. *fireworks.utilities.update_collection.update_launchpad_data* will update the core FireWorks collections: *launches*, *fireworks*, and *workflows*. If you want to update additional collections, use the *fireworks.utilities.update_collection.update_path_in_collection* method. Note that a command line tool to do this possible to write, but so far has not been requested.