Skip to content

ERROR 42P01 (undefined_table) relation "scheduled_activities" does not exist

I get the following error on a new installation. See below for config.exs and launch script.

postgres, 9.6

ERROR:  relation "scheduled_activities" does not exist at character 102
STATEMENT:  SELECT s0."id", s0."user_id", s0."scheduled_at", s0."params", s0."inserted_at", s0."updated_at" FROM "scheduled_activities" AS s0 WHERE (s0."scheduled_at" < $1)

pleroma, v1.0.1

04:56:07.563 [error] GenServer #PID<0.698.0> terminating
** (Postgrex.Error) ERROR 42P01 (undefined_table) relation "scheduled_activities" does not exist

    query: SELECT s0."id", s0."user_id", s0."scheduled_at", s0."params", s0."inserted_at", s0."updated_at" FROM "scheduled_activities" AS s0 WHERE (s0."scheduled_at" < $1)
    (ecto_sql) lib/ecto/adapters/sql.ex:618: Ecto.Adapters.SQL.raise_sql_call_error/1
    (ecto_sql) lib/ecto/adapters/sql.ex:551: Ecto.Adapters.SQL.execute/5
    (ecto) lib/ecto/repo/queryable.ex:153: Ecto.Repo.Queryable.execute/4
    (ecto) lib/ecto/repo/queryable.ex:18: Ecto.Repo.Queryable.all/3
    (pleroma) lib/pleroma/scheduled_activity_worker.ex:46: Pleroma.ScheduledActivityWorker.handle_info/2
    (stdlib) gen_server.erl:637: :gen_server.try_dispatch/4
    (stdlib) gen_server.erl:711: :gen_server.handle_msg/6
    (stdlib) proc_lib.erl:249: :proc_lib.init_p_do_apply/3
Last message: :perform

Launch script.

#!/usr/bin/env bash
set -x
mix compile

until PGPASSWORD=$POSTGRES_PASSWORD psql -v ON_ERROR_STOP=1 \
  --host "$POSTGRES_HOST" \
  --port 5432 \
  --username "$POSTGRES_USER" \
  --dbname "$POSTGRES_DB" \
  --command '\q'; do

  >&2 echo "sleep for postgres"
  sleep 3
done

PGPASSWORD=$POSTGRES_PASSWORD psql \
  --host "$POSTGRES_HOST" \
  --port 5432 \
  --username "$POSTGRES_USER" \
  --dbname "$POSTGRES_DB" \
  --command "CREATE EXTENSION IF NOT EXISTS citext;
CREATE EXTENSION IF NOT EXISTS pg_trgm;
CREATE EXTENSION IF NOT EXISTS \"uuid-ossp\";"

mix ecto.migrate

>&2 echo "postgres connected"
mix phx.server

prod.secret.exs

use Mix.Config

config :logger, level: :info

config :pleroma, Pleroma.Repo,
  adapter: Ecto.Adapters.Postgres,
  username: "pleroma",
  password: "generated password",
  database: "pleroma",
  hostname: "pleroma_db",
  pool_size: 10