nixos/pretalx: run pretalx-manage migrate on plugin changes and upgrades (#450102)

This commit is contained in:
Martin Weinelt
2025-10-09 14:31:12 +00:00
committed by GitHub

View File

@@ -439,14 +439,21 @@ in
"mysql.service"
];
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"
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
echo "${cfg.package.version}" > "$versionFile"
echo "${versionString}" > "$versionFile"
fi
'';
serviceConfig = {