The nixpkgs-unstable channel's programs.sqlite was used to identify
packages producing exactly one binary, and these automatically added
to their package definitions wherever possible.
This flag appears to cause issues in 3 out 4 users of mixRelease in
Nixpkgs, plus Mobilizon, which isn't merged yet. It might be safer to
set it to fals for now, as the runtime error messages produced by it are
quite cryptic.
Some of the stuff used to be needed for a project, for others I found
alternatives that suited better my needs. Anyways, I don't intend to
spend time maintaining these, so no need to keep that.
Fixes runtime error during `migrate.sh`:
** (UndefinedFunctionError) function ClickhouseEcto.lock_for_migrations/3 is undefined or private
The function `lock_for_migrations` indeed does not exist in the `ClickhouseEcto`
module packaged so far.
Reason:
So far we use the patch `ecto_sql-fix.patch` doing
- {:ecto_sql, "~> 3.0"},
+ {:ecto_sql, "~> 3.6"},
@scvalex found that the commit that makes the `plausible/clickhouse_ecto` fork
compatible with 3.6 is _newer_ than the commit pinned in the `.lock` file,
namely `1969f14ecef - Update for ecto 3.6.1`:
https://github.com/plausible/clickhouse_ecto/commit/1969f14ecef
That commit introduces the function that my error shows (`def lock_for_migrations`).
This means that the version that's in the lockfile (and pulled) was
incompatible with the version the nixpkgs patch forces.
This commit fixes it by patching the `.lock` file to have the version of
`plausible/clickhouse_ecto` that makes it compatible with `ecto_sql` 3.6.
* Most significant is probably the patching necessary to run plausible
with postgres without superuser privilege. This change includes:
* updating ecto_sql to 3.6 where `CREATE DATABASE` is only executed if
it doesn't exist[1].
* patching a migration to only modify the `users.email` column (to use
`citext` rather than creating the extension. `plausible-postgres`
takes care of that).
* Correctly declare dependencies in systemd.
* A few minor fixes.
[1] 051baf669e