summaryrefslogtreecommitdiff
path: root/priv/repo/optional_migrations
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 /priv/repo/optional_migrations
parentbb68f9d27c81759132dc791c9fabdb54fbb5341d (diff)
downloadpleroma-02a5648febb8a508116c29e2271e1ade2ffafb2d.tar.gz
pleroma-02a5648febb8a508116c29e2271e1ade2ffafb2d.zip
fixed migration the settings to DB
Diffstat (limited to 'priv/repo/optional_migrations')
-rw-r--r--priv/repo/optional_migrations/rum_indexing/20190510135645_add_fts_index_to_objects_two.exs31
1 files changed, 18 insertions, 13 deletions
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