nixos/pretalx: run pretalx-manage migrate on plugin changes and upgrades (#450102)
This commit is contained in:
@@ -439,14 +439,21 @@ in
|
|||||||
"mysql.service"
|
"mysql.service"
|
||||||
];
|
];
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
preStart = ''
|
preStart =
|
||||||
|
let
|
||||||
|
versionString = lib.concatStringsSep "\n" (
|
||||||
|
[ "pretalx-${cfg.package.version}" ]
|
||||||
|
++ map (plugin: "${plugin.pname}-${plugin.version}") cfg.plugins
|
||||||
|
);
|
||||||
|
in
|
||||||
|
''
|
||||||
versionFile="${cfg.settings.filesystem.data}/.version"
|
versionFile="${cfg.settings.filesystem.data}/.version"
|
||||||
version=$(cat "$versionFile" 2>/dev/null || echo 0)
|
version="$(cat "$versionFile" 2>/dev/null || echo 0)"
|
||||||
|
|
||||||
if [[ $version != ${cfg.package.version} ]]; then
|
if [[ "$version" != "${versionString}" ]]; then
|
||||||
${lib.getExe' pythonEnv "pretalx-manage"} migrate
|
${lib.getExe' pythonEnv "pretalx-manage"} migrate
|
||||||
|
|
||||||
echo "${cfg.package.version}" > "$versionFile"
|
echo "${versionString}" > "$versionFile"
|
||||||
fi
|
fi
|
||||||
'';
|
'';
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
|
|||||||
Reference in New Issue
Block a user