summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaksim Pechnikov <parallel588@gmail.com>2020-06-17 09:15:35 +0300
committerMaksim Pechnikov <parallel588@gmail.com>2020-06-17 09:15:35 +0300
commit02a5648febb8a508116c29e2271e1ade2ffafb2d (patch)
treea9d1e36d8f8716c99216f36fb76f664dc99997ee
parentbb68f9d27c81759132dc791c9fabdb54fbb5341d (diff)
downloadpleroma-02a5648febb8a508116c29e2271e1ade2ffafb2d.tar.gz
pleroma-02a5648febb8a508116c29e2271e1ade2ffafb2d.zip
fixed migration the settings to DB
-rw-r--r--lib/mix/tasks/pleroma/config.ex1
-rw-r--r--lib/pleroma/config/loader.ex1
-rw-r--r--priv/repo/optional_migrations/rum_indexing/20190510135645_add_fts_index_to_objects_two.exs31
3 files changed, 19 insertions, 14 deletions
diff --git a/lib/mix/tasks/pleroma/config.ex b/lib/mix/tasks/pleroma/config.ex
index f1b3a8766..65691f9c1 100644
--- a/lib/mix/tasks/pleroma/config.ex
+++ b/lib/mix/tasks/pleroma/config.ex
@@ -52,6 +52,7 @@ defmodule Mix.Tasks.Pleroma.Config do
defp do_migrate_to_db(config_file) do
if File.exists?(config_file) do
+ shell_info("Running migrate settings from file: #{Path.expand(config_file)}")
Ecto.Adapters.SQL.query!(Repo, "TRUNCATE config;")
Ecto.Adapters.SQL.query!(Repo, "ALTER SEQUENCE config_id_seq RESTART;")
diff --git a/lib/pleroma/config/loader.ex b/lib/pleroma/config/loader.ex
index 0f3ecf1ed..76559e70c 100644
--- a/lib/pleroma/config/loader.ex
+++ b/lib/pleroma/config/loader.ex
@@ -8,7 +8,6 @@ defmodule Pleroma.Config.Loader do
Pleroma.Web.Endpoint,
:env,
:configurable_from_database,
- :database,
:swarm
]
diff --git a/priv/repo/optional_migrations/rum_indexing/20190510135645_add_fts_index_to_objects_two.exs b/priv/repo/optional_migrations/rum_indexing/20190510135645_add_fts_index_to_objects_two.exs
index 6227769dc..79bde163d 100644
--- a/priv/repo/optional_migrations/rum_indexing/20190510135645_add_fts_index_to_objects_two.exs
+++ b/priv/repo/optional_migrations/rum_indexing/20190510135645_add_fts_index_to_objects_two.exs
@@ -2,24 +2,29 @@ defmodule Pleroma.Repo.Migrations.AddFtsIndexToObjectsTwo do
use Ecto.Migration
def up do
- execute("create extension if not exists rum")
- drop_if_exists index(:objects, ["(to_tsvector('english', data->>'content'))"], using: :gin, name: :objects_fts)
- alter table(:objects) do
- add(:fts_content, :tsvector)
- end
+ if Pleroma.Config.get([:database, :rum_enabled]) do
+ execute("create extension if not exists rum")
+ drop_if_exists index(:objects, ["(to_tsvector('english', data->>'content'))"], using: :gin, name: :objects_fts)
+ alter table(:objects) do
+ add(:fts_content, :tsvector)
+ end
- execute("CREATE FUNCTION objects_fts_update() RETURNS trigger AS $$
- begin
+ execute("CREATE FUNCTION objects_fts_update() RETURNS trigger AS $$
+ begin
new.fts_content := to_tsvector('english', new.data->>'content');
return new;
- end
- $$ LANGUAGE plpgsql")
- execute("create index if not exists objects_fts on objects using RUM (fts_content rum_tsvector_addon_ops, inserted_at) with (attach = 'inserted_at', to = 'fts_content');")
+ end
+ $$ LANGUAGE plpgsql")
+ execute("create index if not exists objects_fts on objects using RUM (fts_content rum_tsvector_addon_ops, inserted_at) with (attach = 'inserted_at', to = 'fts_content');")
- execute("CREATE TRIGGER tsvectorupdate BEFORE INSERT OR UPDATE ON objects
- FOR EACH ROW EXECUTE PROCEDURE objects_fts_update()")
+ execute("CREATE TRIGGER tsvectorupdate BEFORE INSERT OR UPDATE ON objects
+ FOR EACH ROW EXECUTE PROCEDURE objects_fts_update()")
- execute("UPDATE objects SET updated_at = NOW()")
+ execute("UPDATE objects SET updated_at = NOW()")
+ else
+ raise Ecto.MigrationError,
+ message: "Migration is not allowed. You can change this behavior by setting `database/rum_enabled` to true."
+ end
end
def down do