Unverified Commit ad9e817c authored by Sandro Jäckel's avatar Sandro Jäckel
Browse files

nixos/pretalx: run pretalx-manage migrate on plugin changes and upgrades

Some plugins like https://github.com/pretalx/pretalx-media-ccc-de
require database migrations to properly work.
parent aaae239f
Loading
Loading
Loading
Loading
+17 −10
Original line number Diff line number Diff line
@@ -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 = {