ensure immutable databses when starting in configuration directory mode with #1229
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
fixes #1224
This PR ensures all databases found in a configuration directory that match the files in
inspect-data.json
will be set toimmutable
as outlined in https://docs.datasette.io/en/latest/settings.html#configuration-directory-modespecifically on building the
datasette
instance it checks:immutables
is an empty tuple - as passed by the cli codeimmutables
is the default function valueNone
- when it's not explicitly setAnd correctly builds the immutable database list from the
inspect-data[file]
keys.Note for this to work the
inspect-data.json
file must containfile
paths which are relative to the configuration directory otherwise the file paths won't match and the dbs won't be set to immutable.I couldn't find an easy way to test this due to the way
make_app_client
works, happy to take directions on adding a test for this.I've updated the relevant docs as well, i.e. use the
inspect
cli cmd from the config directory path to create the relevant filehttps://docs.datasette.io/en/latest/performance.html#using-datasette-inspect