瀏覽代碼

Enable `mix format` for migrations

merge-requests/1875/head
rinpatch 4 年之前
父節點
當前提交
32808208be
共有 94 個文件被更改,包括 406 次插入265 次删除
  1. +1
    -1
      .formatter.exs
  2. +5
    -6
      priv/repo/migrations/20170320193800_create_user.exs
  3. +2
    -3
      priv/repo/migrations/20170321074828_create_activity.exs
  4. +1
    -2
      priv/repo/migrations/20170321074832_create_object.exs
  5. +1
    -1
      priv/repo/migrations/20170321133335_add_following_list_to_users.exs
  6. +1
    -1
      priv/repo/migrations/20170321143152_add_ap_id_to_users.exs
  7. +1
    -1
      priv/repo/migrations/20170330153447_add_index_to_objects.exs
  8. +2
    -2
      priv/repo/migrations/20170415141210_add_unique_index_to_email_and_nickname.exs
  9. +1
    -1
      priv/repo/migrations/20170416122418_add_avatar_object_to_users.exs
  10. +5
    -5
      priv/repo/migrations/20170418200143_create_webssub_server_subscription.exs
  11. +2
    -2
      priv/repo/migrations/20170423154511_add_fields_to_users.exs
  12. +5
    -5
      priv/repo/migrations/20170426154155_create_websub_client_subscription.exs
  13. +2
    -2
      priv/repo/migrations/20170427054757_add_user_and_hub.exs
  14. +10
    -4
      priv/repo/migrations/20170501133231_add_id_contraints_to_activities_and_objects_part_two.exs
  15. +2
    -2
      priv/repo/migrations/20170502083023_add_local_field_to_activities.exs
  16. +1
    -1
      priv/repo/migrations/20170506222027_add_unique_index_to_apid.exs
  17. +2
    -3
      priv/repo/migrations/20170529093232_longer_bios.exs
  18. +1
    -1
      priv/repo/migrations/20170620095947_remove_activities_index.exs
  19. +11
    -2
      priv/repo/migrations/20170620142420_add_object_activity_index_part_two.exs
  20. +3
    -1
      priv/repo/migrations/20170701142005_add_actor_index_to_activity.exs
  21. +2
    -2
      priv/repo/migrations/20170719152213_add_follower_address_to_user.exs
  22. +6
    -6
      priv/repo/migrations/20170906120646_add_mastodon_apps.exs
  23. +5
    -5
      priv/repo/migrations/20170906143140_create_o_auth_authorizations.exs
  24. +5
    -5
      priv/repo/migrations/20170906152508_create_o_auth_token.exs
  25. +4
    -4
      priv/repo/migrations/20170911123607_create_notifications.exs
  26. +6
    -1
      priv/repo/migrations/20170912114248_add_context_index.exs
  27. +7
    -1
      priv/repo/migrations/20170916090107_add_fts_index_to_activities.exs
  28. +7
    -1
      priv/repo/migrations/20170917120416_add_tag_index.exs
  29. +3
    -3
      priv/repo/migrations/20171019141706_create_password_reset_tokens.exs
  30. +12
    -2
      priv/repo/migrations/20171023155035_add_second_object_index_to_activty.exs
  31. +1
    -1
      priv/repo/migrations/20171024090137_drop_object_index.exs
  32. +6
    -1
      priv/repo/migrations/20171024121413_add_object_actor_index.exs
  33. +5
    -4
      priv/repo/migrations/20171109091239_add_actor_to_activity.exs
  34. +5
    -4
      priv/repo/migrations/20171109114020_fill_actor_field.exs
  35. +1
    -1
      priv/repo/migrations/20171109141309_add_sort_index_to_activities.exs
  36. +1
    -1
      priv/repo/migrations/20171130135819_add_local_index_to_user.exs
  37. +2
    -2
      priv/repo/migrations/20171212163643_add_recipients_to_activities.exs
  38. +8
    -4
      priv/repo/migrations/20171212164525_fill_recipients_in_activities.exs
  39. +6
    -5
      priv/repo/migrations/20180221210540_make_following_postgres_array.exs
  40. +2
    -2
      priv/repo/migrations/20180325172351_add_follower_address_index_to_users.exs
  41. +1
    -1
      priv/repo/migrations/20180327174350_drop_local_index_on_activities.exs
  42. +2
    -2
      priv/repo/migrations/20180327175831_actually_drop_local_index.exs
  43. +4
    -4
      priv/repo/migrations/20180429094642_create_lists.exs
  44. +2
    -2
      priv/repo/migrations/20180513104714_modify_activity_index.exs
  45. +9
    -2
      priv/repo/migrations/20180516144508_add_trigram_extension.exs
  46. +3
    -1
      priv/repo/migrations/20180516154905_create_user_trigram_index.exs
  47. +1
    -1
      priv/repo/migrations/20180530123448_add_list_follow_index.exs
  48. +6
    -1
      priv/repo/migrations/20180606173637_create_apid_host_extraction_index.exs
  49. +2
    -2
      priv/repo/migrations/20180612110515_create_user_invite_tokens.exs
  50. +6
    -1
      priv/repo/migrations/20180617221540_create_activities_in_reply_to_index.exs
  51. +12
    -9
      priv/repo/migrations/20180813003722_create_filters.exs
  52. +4
    -4
      priv/repo/migrations/20180829082446_add_recipients_to_and_cc_fields_to_activities.exs
  53. +7
    -2
      priv/repo/migrations/20180829182612_activities_add_to_cc_indices.exs
  54. +4
    -4
      priv/repo/migrations/20180829183529_remove_recipients_to_and_cc_fields_from_activities.exs
  55. +3
    -1
      priv/repo/migrations/20180903114437_users_add_is_moderator_index.exs
  56. +7
    -7
      priv/repo/migrations/20180918182427_create_push_subscriptions.exs
  57. +1
    -1
      priv/repo/migrations/20180919060348_users_add_last_refreshed_at.exs
  58. +2
    -2
      priv/repo/migrations/20181206125616_add_tags_to_users.exs
  59. +1
    -1
      priv/repo/migrations/20181214121049_add_bookmarks_to_users.exs
  60. +49
    -38
      priv/repo/migrations/20181218172826_users_and_activities_flake_id.exs
  61. +3
    -1
      priv/repo/migrations/20190109152453_add_visibility_function.exs
  62. +13
    -11
      priv/repo/migrations/20190115085500_create_user_fts_index.exs
  63. +0
    -2
      priv/repo/migrations/20190122153157_update_activity_visibility.exs
  64. +3
    -1
      priv/repo/migrations/20190123092341_users_add_is_admin_index.exs
  65. +4
    -4
      priv/repo/migrations/20190123125546_create_instances.exs
  66. +0
    -3
      priv/repo/migrations/20190124131141_update_activity_visibility_again.exs
  67. +7
    -1
      priv/repo/migrations/20190127151220_add_activities_likes_index.exs
  68. +11
    -3
      priv/repo/migrations/20190203185340_split_hide_network.exs
  69. +3
    -3
      priv/repo/migrations/20190205114625_create_thread_mutes.exs
  70. +1
    -1
      priv/repo/migrations/20190208131753_add_scopes_to_o_auth_entities.exs
  71. +12
    -6
      priv/repo/migrations/20190213185503_change_apps_scopes_to_varchar_array.exs
  72. +1
    -1
      priv/repo/migrations/20190213185600_data_migration_populate_o_auth_scopes.exs
  73. +1
    -1
      priv/repo/migrations/20190222104808_data_migration_normalize_scopes.exs
  74. +1
    -1
      priv/repo/migrations/20190301101154_add_default_tags_to_user.exs
  75. +4
    -4
      priv/repo/migrations/20190303120636_update_user_note_counters.exs
  76. +7
    -7
      priv/repo/migrations/20190315101315_create_registrations.exs
  77. +1
    -1
      priv/repo/migrations/20190325185009_create_notification_id_index.exs
  78. +7
    -1
      priv/repo/migrations/20190405160700_add_index_on_subscribers.exs
  79. +3
    -3
      priv/repo/migrations/20190408123347_create_conversations.exs
  80. +1
    -1
      priv/repo/migrations/20190410152859_add_participation_updated_at_index.exs
  81. +3
    -1
      priv/repo/migrations/20190411094120_add_index_on_user_info_deactivated.exs
  82. +2
    -2
      priv/repo/migrations/20190414125034_migrate_old_bookmarks.exs
  83. +13
    -2
      priv/repo/migrations/20190501125843_add_fts_index_to_objects.exs
  84. +4
    -4
      priv/repo/migrations/20190511191044_set_default_state_to_reports.exs
  85. +2
    -2
      priv/repo/migrations/20190513175809_change_hide_column_in_filter_table.exs
  86. +1
    -1
      priv/repo/migrations/20190603162018_add_object_in_reply_to_index.exs
  87. +5
    -2
      priv/repo/migrations/20190603173419_add_tag_index_to_objects.exs
  88. +3
    -1
      priv/repo/migrations/20190711042024_copy_muted_to_muted_notifications.exs
  89. +2
    -2
      priv/repo/migrations/20190801154554_create_conversation_participation_recipient_ships.exs
  90. +1
    -1
      priv/repo/migrations/20190823000549_add_likes_index_to_objects.exs
  91. +2
    -1
      priv/repo/migrations/20190912065617_create_deliveries.exs
  92. +1
    -1
      priv/repo/migrations/20190929201536_drop_subscription_if_exists.exs
  93. +1
    -1
      priv/repo/migrations/20191006123824_add_keys_column.exs
  94. +4
    -1
      priv/repo/migrations/20191006135457_move_keys_to_separate_column.exs

+ 1
- 1
.formatter.exs 查看文件

@@ -1,3 +1,3 @@
[
inputs: ["mix.exs", "{config,lib,test}/**/*.{ex,exs}"]
inputs: ["mix.exs", "{config,lib,test}/**/*.{ex,exs}", "priv/repo/migrations/*.exs"]
]

+ 5
- 6
priv/repo/migrations/20170320193800_create_user.exs 查看文件

@@ -3,14 +3,13 @@ defmodule Pleroma.Repo.Migrations.CreatePleroma.User do

def change do
create_if_not_exists table(:users) do
add :email, :string
add :password_hash, :string
add :name, :string
add :nickname, :string
add :bio, :string
add(:email, :string)
add(:password_hash, :string)
add(:name, :string)
add(:nickname, :string)
add(:bio, :string)

timestamps()
end

end
end

+ 2
- 3
priv/repo/migrations/20170321074828_create_activity.exs 查看文件

@@ -3,12 +3,11 @@ defmodule Pleroma.Repo.Migrations.CreatePleroma.Activity do

def change do
create_if_not_exists table(:activities) do
add :data, :map
add(:data, :map)

timestamps()
end

create_if_not_exists index(:activities, [:data], using: :gin)

create_if_not_exists(index(:activities, [:data], using: :gin))
end
end

+ 1
- 2
priv/repo/migrations/20170321074832_create_object.exs 查看文件

@@ -3,10 +3,9 @@ defmodule Pleroma.Repo.Migrations.CreatePleroma.Object do

def change do
create_if_not_exists table(:objects) do
add :data, :map
add(:data, :map)

timestamps()
end

end
end

+ 1
- 1
priv/repo/migrations/20170321133335_add_following_list_to_users.exs 查看文件

@@ -3,7 +3,7 @@ defmodule Pleroma.Repo.Migrations.AddFollowingListToUsers do

def change do
alter table(:users) do
add :following, :map
add(:following, :map)
end
end
end

+ 1
- 1
priv/repo/migrations/20170321143152_add_ap_id_to_users.exs 查看文件

@@ -3,7 +3,7 @@ defmodule Pleroma.Repo.Migrations.AddApIdToUsers do

def change do
alter table(:users) do
add :ap_id, :string
add(:ap_id, :string)
end
end
end

+ 1
- 1
priv/repo/migrations/20170330153447_add_index_to_objects.exs 查看文件

@@ -2,6 +2,6 @@ defmodule Pleroma.Repo.Migrations.AddIndexToObjects do
use Ecto.Migration

def change do
create_if_not_exists index(:objects, [:data], using: :gin)
create_if_not_exists(index(:objects, [:data], using: :gin))
end
end

+ 2
- 2
priv/repo/migrations/20170415141210_add_unique_index_to_email_and_nickname.exs 查看文件

@@ -2,7 +2,7 @@ defmodule Pleroma.Repo.Migrations.AddUniqueIndexToEmailAndNickname do
use Ecto.Migration

def change do
create_if_not_exists unique_index(:users, [:email])
create_if_not_exists unique_index(:users, [:nickname])
create_if_not_exists(unique_index(:users, [:email]))
create_if_not_exists(unique_index(:users, [:nickname]))
end
end

+ 1
- 1
priv/repo/migrations/20170416122418_add_avatar_object_to_users.exs 查看文件

@@ -3,7 +3,7 @@ defmodule Pleroma.Repo.Migrations.AddAvatarObjectToUsers do

def change do
alter table(:users) do
add :avatar, :map
add(:avatar, :map)
end
end
end

+ 5
- 5
priv/repo/migrations/20170418200143_create_webssub_server_subscription.exs 查看文件

@@ -3,11 +3,11 @@ defmodule Pleroma.Repo.Migrations.CreateWebsubServerSubscription do

def change do
create_if_not_exists table(:websub_server_subscriptions) do
add :topic, :string
add :callback, :string
add :secret, :string
add :valid_until, :naive_datetime
add :state, :string
add(:topic, :string)
add(:callback, :string)
add(:secret, :string)
add(:valid_until, :naive_datetime)
add(:state, :string)

timestamps()
end


+ 2
- 2
priv/repo/migrations/20170423154511_add_fields_to_users.exs 查看文件

@@ -3,8 +3,8 @@ defmodule Pleroma.Repo.Migrations.AddFieldsToUsers do

def change do
alter table(:users) do
add :local, :boolean, default: true
add :info, :map
add(:local, :boolean, default: true)
add(:info, :map)
end
end
end

+ 5
- 5
priv/repo/migrations/20170426154155_create_websub_client_subscription.exs 查看文件

@@ -3,11 +3,11 @@ defmodule Pleroma.Repo.Migrations.CreateWebsubClientSubscription do

def change do
create_if_not_exists table(:websub_client_subscriptions) do
add :topic, :string
add :secret, :string
add :valid_until, :naive_datetime_usec
add :state, :string
add :subscribers, :map
add(:topic, :string)
add(:secret, :string)
add(:valid_until, :naive_datetime_usec)
add(:state, :string)
add(:subscribers, :map)

timestamps()
end


+ 2
- 2
priv/repo/migrations/20170427054757_add_user_and_hub.exs 查看文件

@@ -3,8 +3,8 @@ defmodule Pleroma.Repo.Migrations.AddUserAndHub do

def change do
alter table(:websub_client_subscriptions) do
add :hub, :string
add :user_id, references(:users)
add(:hub, :string)
add(:user_id, references(:users))
end
end
end

+ 10
- 4
priv/repo/migrations/20170501133231_add_id_contraints_to_activities_and_objects_part_two.exs 查看文件

@@ -2,10 +2,16 @@ defmodule Pleroma.Repo.Migrations.AddIdContraintsToActivitiesAndObjectsPartTwo d
use Ecto.Migration

def up do
drop_if_exists index(:objects, ["(data->>\"id\")"], name: :objects_unique_apid_index)
drop_if_exists index(:activities, ["(data->>\"id\")"], name: :activities_unique_apid_index)
create_if_not_exists unique_index(:objects, ["(data->>'id')"], name: :objects_unique_apid_index)
create_if_not_exists unique_index(:activities, ["(data->>'id')"], name: :activities_unique_apid_index)
drop_if_exists(index(:objects, ["(data->>\"id\")"], name: :objects_unique_apid_index))
drop_if_exists(index(:activities, ["(data->>\"id\")"], name: :activities_unique_apid_index))

create_if_not_exists(
unique_index(:objects, ["(data->>'id')"], name: :objects_unique_apid_index)
)

create_if_not_exists(
unique_index(:activities, ["(data->>'id')"], name: :activities_unique_apid_index)
)
end

def down, do: :ok


+ 2
- 2
priv/repo/migrations/20170502083023_add_local_field_to_activities.exs 查看文件

@@ -3,9 +3,9 @@ defmodule Pleroma.Repo.Migrations.AddLocalFieldToActivities do

def change do
alter table(:activities) do
add :local, :boolean, default: true
add(:local, :boolean, default: true)
end

create_if_not_exists index(:activities, [:local])
create_if_not_exists(index(:activities, [:local]))
end
end

+ 1
- 1
priv/repo/migrations/20170506222027_add_unique_index_to_apid.exs 查看文件

@@ -2,6 +2,6 @@ defmodule Pleroma.Repo.Migrations.AddUniqueIndexToAPID do
use Ecto.Migration

def change do
create_if_not_exists unique_index(:users, [:ap_id])
create_if_not_exists(unique_index(:users, [:ap_id]))
end
end

+ 2
- 3
priv/repo/migrations/20170529093232_longer_bios.exs 查看文件

@@ -3,14 +3,13 @@ defmodule Pleroma.Repo.Migrations.LongerBios do

def up do
alter table(:users) do
modify :bio, :text
modify(:bio, :text)
end
end

def down do
alter table(:users) do
modify :bio, :string
modify(:bio, :string)
end
end

end

+ 1
- 1
priv/repo/migrations/20170620095947_remove_activities_index.exs 查看文件

@@ -2,6 +2,6 @@ defmodule Pleroma.Repo.Migrations.RemoveActivitiesIndex do
use Ecto.Migration

def change do
drop_if_exists index(:activities, [:data])
drop_if_exists(index(:activities, [:data]))
end
end

+ 11
- 2
priv/repo/migrations/20170620142420_add_object_activity_index_part_two.exs 查看文件

@@ -2,7 +2,16 @@ defmodule Pleroma.Repo.Migrations.AddObjectActivityIndexPartTwo do
use Ecto.Migration

def change do
drop_if_exists index(:objects, ["(data->'object'->>'id')", "(data->>'type')"], name: :activities_create_objects_index)
create_if_not_exists index(:activities, ["(data->'object'->>'id')", "(data->>'type')"], name: :activities_create_objects_index)
drop_if_exists(
index(:objects, ["(data->'object'->>'id')", "(data->>'type')"],
name: :activities_create_objects_index
)
)

create_if_not_exists(
index(:activities, ["(data->'object'->>'id')", "(data->>'type')"],
name: :activities_create_objects_index
)
)
end
end

+ 3
- 1
priv/repo/migrations/20170701142005_add_actor_index_to_activity.exs 查看文件

@@ -2,6 +2,8 @@ defmodule Pleroma.Repo.Migrations.AddActorIndexToActivity do
use Ecto.Migration

def change do
create_if_not_exists index(:activities, ["(data->>'actor')", "inserted_at desc"], name: :activities_actor_index)
create_if_not_exists(
index(:activities, ["(data->>'actor')", "inserted_at desc"], name: :activities_actor_index)
)
end
end

+ 2
- 2
priv/repo/migrations/20170719152213_add_follower_address_to_user.exs 查看文件

@@ -3,13 +3,13 @@ defmodule Pleroma.Repo.Migrations.AddFollowerAddressToUser do

def up do
alter table(:users) do
add :follower_address, :string, unique: true
add(:follower_address, :string, unique: true)
end
end

def down do
alter table(:users) do
remove :follower_address
remove(:follower_address)
end
end
end

+ 6
- 6
priv/repo/migrations/20170906120646_add_mastodon_apps.exs 查看文件

@@ -3,12 +3,12 @@ defmodule Pleroma.Repo.Migrations.AddMastodonApps do

def change do
create_if_not_exists table(:apps) do
add :client_name, :string
add :redirect_uris, :string
add :scopes, :string
add :website, :string
add :client_id, :string
add :client_secret, :string
add(:client_name, :string)
add(:redirect_uris, :string)
add(:scopes, :string)
add(:website, :string)
add(:client_id, :string)
add(:client_secret, :string)

timestamps()
end


+ 5
- 5
priv/repo/migrations/20170906143140_create_o_auth_authorizations.exs 查看文件

@@ -3,11 +3,11 @@ defmodule Pleroma.Repo.Migrations.CreateOAuthAuthorizations do

def change do
create_if_not_exists table(:oauth_authorizations) do
add :app_id, references(:apps)
add :user_id, references(:users)
add :token, :string
add :valid_until, :naive_datetime_usec
add :used, :boolean, default: false
add(:app_id, references(:apps))
add(:user_id, references(:users))
add(:token, :string)
add(:valid_until, :naive_datetime_usec)
add(:used, :boolean, default: false)

timestamps()
end


+ 5
- 5
priv/repo/migrations/20170906152508_create_o_auth_token.exs 查看文件

@@ -3,11 +3,11 @@ defmodule Pleroma.Repo.Migrations.CreateOAuthToken do

def change do
create_if_not_exists table(:oauth_tokens) do
add :app_id, references(:apps)
add :user_id, references(:users)
add :token, :string
add :refresh_token, :string
add :valid_until, :naive_datetime_usec
add(:app_id, references(:apps))
add(:user_id, references(:users))
add(:token, :string)
add(:refresh_token, :string)
add(:valid_until, :naive_datetime_usec)

timestamps()
end


+ 4
- 4
priv/repo/migrations/20170911123607_create_notifications.exs 查看文件

@@ -3,13 +3,13 @@ defmodule Pleroma.Repo.Migrations.CreateNotifications do

def change do
create_if_not_exists table(:notifications) do
add :user_id, references(:users, on_delete: :delete_all)
add :activity_id, references(:activities, on_delete: :delete_all)
add :seen, :boolean, default: false
add(:user_id, references(:users, on_delete: :delete_all))
add(:activity_id, references(:activities, on_delete: :delete_all))
add(:seen, :boolean, default: false)

timestamps()
end

create_if_not_exists index(:notifications, [:user_id])
create_if_not_exists(index(:notifications, [:user_id]))
end
end

+ 6
- 1
priv/repo/migrations/20170912114248_add_context_index.exs 查看文件

@@ -3,6 +3,11 @@ defmodule Pleroma.Repo.Migrations.AddContextIndex do
@disable_ddl_transaction true

def change do
create index(:activities, ["(data->>'type')", "(data->>'context')"], name: :activities_context_index, concurrently: true)
create(
index(:activities, ["(data->>'type')", "(data->>'context')"],
name: :activities_context_index,
concurrently: true
)
)
end
end

+ 7
- 1
priv/repo/migrations/20170916090107_add_fts_index_to_activities.exs 查看文件

@@ -3,6 +3,12 @@ defmodule Pleroma.Repo.Migrations.AddFTSIndexToActivities do
@disable_ddl_transaction true

def change do
create index(:activities, ["(to_tsvector('english', data->'object'->>'content'))"], concurrently: true, using: :gin, name: :activities_fts)
create(
index(:activities, ["(to_tsvector('english', data->'object'->>'content'))"],
concurrently: true,
using: :gin,
name: :activities_fts
)
)
end
end

+ 7
- 1
priv/repo/migrations/20170917120416_add_tag_index.exs 查看文件

@@ -4,6 +4,12 @@ defmodule Pleroma.Repo.Migrations.AddTagIndex do
@disable_ddl_transaction true

def change do
create index(:activities, ["(data #> '{\"object\",\"tag\"}')"], concurrently: true, using: :gin, name: :activities_tags)
create(
index(:activities, ["(data #> '{\"object\",\"tag\"}')"],
concurrently: true,
using: :gin,
name: :activities_tags
)
)
end
end

+ 3
- 3
priv/repo/migrations/20171019141706_create_password_reset_tokens.exs 查看文件

@@ -3,9 +3,9 @@ defmodule Pleroma.Repo.Migrations.CreatePasswordResetTokens do

def change do
create_if_not_exists table(:password_reset_tokens) do
add :token, :string
add :user_id, references(:users)
add :used, :boolean, default: false
add(:token, :string)
add(:user_id, references(:users))
add(:used, :boolean, default: false)

timestamps()
end


+ 12
- 2
priv/repo/migrations/20171023155035_add_second_object_index_to_activty.exs 查看文件

@@ -4,7 +4,17 @@ defmodule Pleroma.Repo.Migrations.AddSecondObjectIndexToActivty do
@disable_ddl_transaction true

def change do
drop_if_exists index(:activities, ["(data->'object'->>'id')", "(data->>'type')"], name: :activities_create_objects_index)
create index(:activities, ["(coalesce(data->'object'->>'id', data->>'object'))"], name: :activities_create_objects_index, concurrently: true)
drop_if_exists(
index(:activities, ["(data->'object'->>'id')", "(data->>'type')"],
name: :activities_create_objects_index
)
)

create(
index(:activities, ["(coalesce(data->'object'->>'id', data->>'object'))"],
name: :activities_create_objects_index,
concurrently: true
)
)
end
end

+ 1
- 1
priv/repo/migrations/20171024090137_drop_object_index.exs 查看文件

@@ -2,6 +2,6 @@ defmodule Pleroma.Repo.Migrations.DropObjectIndex do
use Ecto.Migration

def change do
drop_if_exists index(:objects, [:data], using: :gin)
drop_if_exists(index(:objects, [:data], using: :gin))
end
end

+ 6
- 1
priv/repo/migrations/20171024121413_add_object_actor_index.exs 查看文件

@@ -4,6 +4,11 @@ defmodule Pleroma.Repo.Migrations.AddObjectActorIndex do
@disable_ddl_transaction true

def change do
create index(:objects, ["(data->>'actor')", "(data->>'type')"], concurrently: true, name: :objects_actor_type)
create(
index(:objects, ["(data->>'actor')", "(data->>'type')"],
concurrently: true,
name: :objects_actor_type
)
)
end
end

+ 5
- 4
priv/repo/migrations/20171109091239_add_actor_to_activity.exs 查看文件

@@ -5,16 +5,17 @@ defmodule Pleroma.Repo.Migrations.AddActorToActivity do

def up do
alter table(:activities) do
add :actor, :string
add(:actor, :string)
end

create index(:activities, [:actor, "id DESC NULLS LAST"], concurrently: true)
create(index(:activities, [:actor, "id DESC NULLS LAST"], concurrently: true))
end

def down do
drop_if_exists index(:activities, [:actor, "id DESC NULLS LAST"])
drop_if_exists(index(:activities, [:actor, "id DESC NULLS LAST"]))

alter table(:activities) do
remove :actor
remove(:actor)
end
end
end

+ 5
- 4
priv/repo/migrations/20171109114020_fill_actor_field.exs 查看文件

@@ -5,17 +5,19 @@ defmodule Pleroma.Repo.Migrations.FillActorField do

def up do
max = Repo.aggregate(Activity, :max, :id)

if max do
IO.puts("#{max} activities")
chunks = 0..(round(max / 10_000))
chunks = 0..round(max / 10_000)

Enum.each(chunks, fn (i) ->
Enum.each(chunks, fn i ->
min = i * 10_000
max = min + 10_000

execute("""
update activities set actor = data->>'actor' where id > #{min} and id <= #{max};
""")
|> IO.inspect
|> IO.inspect()
end)
end
end
@@ -23,4 +25,3 @@ defmodule Pleroma.Repo.Migrations.FillActorField do
def down do
end
end


+ 1
- 1
priv/repo/migrations/20171109141309_add_sort_index_to_activities.exs 查看文件

@@ -3,6 +3,6 @@ defmodule Pleroma.Repo.Migrations.AddSortIndexToActivities do
@disable_ddl_transaction true

def change do
create index(:activities, ["id desc nulls last"], concurrently: true)
create(index(:activities, ["id desc nulls last"], concurrently: true))
end
end

+ 1
- 1
priv/repo/migrations/20171130135819_add_local_index_to_user.exs 查看文件

@@ -2,6 +2,6 @@ defmodule Pleroma.Repo.Migrations.AddLocalIndexToUser do
use Ecto.Migration

def change do
create_if_not_exists index(:users, [:local])
create_if_not_exists(index(:users, [:local]))
end
end

+ 2
- 2
priv/repo/migrations/20171212163643_add_recipients_to_activities.exs 查看文件

@@ -3,9 +3,9 @@ defmodule Pleroma.Repo.Migrations.AddRecipientsToActivities do

def change do
alter table(:activities) do
add :recipients, {:array, :string}
add(:recipients, {:array, :string})
end

create_if_not_exists index(:activities, [:recipients], using: :gin)
create_if_not_exists(index(:activities, [:recipients], using: :gin))
end
end

+ 8
- 4
priv/repo/migrations/20171212164525_fill_recipients_in_activities.exs 查看文件

@@ -4,17 +4,21 @@ defmodule Pleroma.Repo.Migrations.FillRecipientsInActivities do

def up do
max = Repo.aggregate(Activity, :max, :id)

if max do
IO.puts("#{max} activities")
chunks = 0..(round(max / 10_000))
chunks = 0..round(max / 10_000)

Enum.each(chunks, fn (i) ->
Enum.each(chunks, fn i ->
min = i * 10_000
max = min + 10_000

execute("""
update activities set recipients = array(select jsonb_array_elements_text(data->'to')) where id > #{min} and id <= #{max};
update activities set recipients = array(select jsonb_array_elements_text(data->'to')) where id > #{
min
} and id <= #{max};
""")
|> IO.inspect
|> IO.inspect()
end)
end
end


+ 6
- 5
priv/repo/migrations/20180221210540_make_following_postgres_array.exs 查看文件

@@ -3,17 +3,18 @@ defmodule Pleroma.Repo.Migrations.MakeFollowingPostgresArray do

def up do
alter table(:users) do
add :following_temp, {:array, :string}
add(:following_temp, {:array, :string})
end

execute """
execute("""
update users set following_temp = array(select jsonb_array_elements_text(following));
"""
""")

alter table(:users) do
remove :following
remove(:following)
end
rename table(:users), :following_temp, to: :following

rename(table(:users), :following_temp, to: :following)
end

def down, do: :ok


+ 2
- 2
priv/repo/migrations/20180325172351_add_follower_address_index_to_users.exs 查看文件

@@ -3,7 +3,7 @@ defmodule Pleroma.Repo.Migrations.AddFollowerAddressIndexToUsers do

@disable_ddl_transaction true
def change do
create index(:users, [:follower_address], concurrently: true)
create index(:users, [:following], concurrently: true, using: :gin)
create(index(:users, [:follower_address], concurrently: true))
create(index(:users, [:following], concurrently: true, using: :gin))
end
end

+ 1
- 1
priv/repo/migrations/20180327174350_drop_local_index_on_activities.exs 查看文件

@@ -2,6 +2,6 @@ defmodule Pleroma.Repo.Migrations.DropLocalIndexOnActivities do
use Ecto.Migration

def change do
drop_if_exists index(:users, [:local])
drop_if_exists(index(:users, [:local]))
end
end

+ 2
- 2
priv/repo/migrations/20180327175831_actually_drop_local_index.exs 查看文件

@@ -2,7 +2,7 @@ defmodule Pleroma.Repo.Migrations.ActuallyDropLocalIndex do
use Ecto.Migration

def change do
create_if_not_exists index(:users, [:local])
drop_if_exists index("activities", :local)
create_if_not_exists(index(:users, [:local]))
drop_if_exists(index("activities", :local))
end
end

+ 4
- 4
priv/repo/migrations/20180429094642_create_lists.exs 查看文件

@@ -3,13 +3,13 @@ defmodule Pleroma.Repo.Migrations.CreateLists do

def change do
create_if_not_exists table(:lists) do
add :user_id, references(:users, on_delete: :delete_all)
add :title, :string
add :following, {:array, :string}
add(:user_id, references(:users, on_delete: :delete_all))
add(:title, :string)
add(:following, {:array, :string})

timestamps()
end

create_if_not_exists index(:lists, [:user_id])
create_if_not_exists(index(:lists, [:user_id]))
end
end

+ 2
- 2
priv/repo/migrations/20180513104714_modify_activity_index.exs 查看文件

@@ -3,7 +3,7 @@ defmodule Pleroma.Repo.Migrations.ModifyActivityIndex do
@disable_ddl_transaction true

def change do
create index(:activities, ["id desc nulls last", "local"], concurrently: true)
drop_if_exists index(:activities, ["id desc nulls last"])
create(index(:activities, ["id desc nulls last", "local"], concurrently: true))
drop_if_exists(index(:activities, ["id desc nulls last"]))
end
end

+ 9
- 2
priv/repo/migrations/20180516144508_add_trigram_extension.exs 查看文件

@@ -4,8 +4,15 @@ defmodule Pleroma.Repo.Migrations.AddTrigramExtension do

def up do
Logger.warn("ATTENTION ATTENTION ATTENTION\n")
Logger.warn("This will try to create the pg_trgm extension on your database. If your database user does NOT have the necessary rights, you will have to do it manually and re-run the migrations.\nYou can probably do this by running the following:\n")
Logger.warn("sudo -u postgres psql pleroma_dev -c \"create extension if not exists pg_trgm\"\n")

Logger.warn(
"This will try to create the pg_trgm extension on your database. If your database user does NOT have the necessary rights, you will have to do it manually and re-run the migrations.\nYou can probably do this by running the following:\n"
)

Logger.warn(
"sudo -u postgres psql pleroma_dev -c \"create extension if not exists pg_trgm\"\n"
)

execute("create extension if not exists pg_trgm")
end



+ 3
- 1
priv/repo/migrations/20180516154905_create_user_trigram_index.exs 查看文件

@@ -2,6 +2,8 @@ defmodule Pleroma.Repo.Migrations.CreateUserTrigramIndex do
use Ecto.Migration

def change do
create_if_not_exists index(:users, ["(nickname || name) gist_trgm_ops"], name: :users_trigram_index, using: :gist)
create_if_not_exists(
index(:users, ["(nickname || name) gist_trgm_ops"], name: :users_trigram_index, using: :gist)
)
end
end

+ 1
- 1
priv/repo/migrations/20180530123448_add_list_follow_index.exs 查看文件

@@ -2,6 +2,6 @@ defmodule Pleroma.Repo.Migrations.AddListFollowIndex do
use Ecto.Migration

def change do
create_if_not_exists index(:lists, [:following])
create_if_not_exists(index(:lists, [:following]))
end
end

+ 6
- 1
priv/repo/migrations/20180606173637_create_apid_host_extraction_index.exs 查看文件

@@ -3,6 +3,11 @@ defmodule Pleroma.Repo.Migrations.CreateApidHostExtractionIndex do
@disable_ddl_transaction true

def change do
create index(:activities, ["(split_part(actor, '/', 3))"], concurrently: true, name: :activities_hosts)
create(
index(:activities, ["(split_part(actor, '/', 3))"],
concurrently: true,
name: :activities_hosts
)
)
end
end

+ 2
- 2
priv/repo/migrations/20180612110515_create_user_invite_tokens.exs 查看文件

@@ -3,8 +3,8 @@ defmodule Pleroma.Repo.Migrations.CreateUserInviteTokens do

def change do
create_if_not_exists table(:user_invite_tokens) do
add :token, :string
add :used, :boolean, default: false
add(:token, :string)
add(:used, :boolean, default: false)

timestamps()
end


+ 6
- 1
priv/repo/migrations/20180617221540_create_activities_in_reply_to_index.exs 查看文件

@@ -3,6 +3,11 @@ defmodule Pleroma.Repo.Migrations.CreateActivitiesInReplyToIndex do
@disable_ddl_transaction true

def change do
create index(:activities, ["(data->'object'->>'inReplyTo')"], concurrently: true, name: :activities_in_reply_to)
create(
index(:activities, ["(data->'object'->>'inReplyTo')"],
concurrently: true,
name: :activities_in_reply_to
)
)
end
end

+ 12
- 9
priv/repo/migrations/20180813003722_create_filters.exs 查看文件

@@ -3,18 +3,21 @@ defmodule Pleroma.Repo.Migrations.CreateFilters do

def change do
create_if_not_exists table(:filters) do
add :user_id, references(:users, on_delete: :delete_all)
add :filter_id, :integer
add :hide, :boolean
add :phrase, :string
add :context, {:array, :string}
add :expires_at, :utc_datetime
add :whole_word, :boolean
add(:user_id, references(:users, on_delete: :delete_all))
add(:filter_id, :integer)
add(:hide, :boolean)
add(:phrase, :string)
add(:context, {:array, :string})
add(:expires_at, :utc_datetime)
add(:whole_word, :boolean)

timestamps()
end

create_if_not_exists index(:filters, [:user_id])
create_if_not_exists index(:filters, [:phrase], where: "hide = true", name: :hided_phrases_index)
create_if_not_exists(index(:filters, [:user_id]))

create_if_not_exists(
index(:filters, [:phrase], where: "hide = true", name: :hided_phrases_index)
)
end
end

+ 4
- 4
priv/repo/migrations/20180829082446_add_recipients_to_and_cc_fields_to_activities.exs 查看文件

@@ -3,11 +3,11 @@ defmodule Pleroma.Repo.Migrations.AddRecipientsToAndCcFieldsToActivities do

def change do
alter table(:activities) do
add :recipients_to, {:array, :string}
add :recipients_cc, {:array, :string}
add(:recipients_to, {:array, :string})
add(:recipients_cc, {:array, :string})
end

create_if_not_exists index(:activities, [:recipients_to], using: :gin)
create_if_not_exists index(:activities, [:recipients_cc], using: :gin)
create_if_not_exists(index(:activities, [:recipients_to], using: :gin))
create_if_not_exists(index(:activities, [:recipients_cc], using: :gin))
end
end

+ 7
- 2
priv/repo/migrations/20180829182612_activities_add_to_cc_indices.exs 查看文件

@@ -2,7 +2,12 @@ defmodule Pleroma.Repo.Migrations.ActivitiesAddToCcIndices do
use Ecto.Migration

def change do
create_if_not_exists index(:activities, ["(data->'to')"], name: :activities_to_index, using: :gin)
create_if_not_exists index(:activities, ["(data->'cc')"], name: :activities_cc_index, using: :gin)
create_if_not_exists(
index(:activities, ["(data->'to')"], name: :activities_to_index, using: :gin)
)

create_if_not_exists(
index(:activities, ["(data->'cc')"], name: :activities_cc_index, using: :gin)
)
end
end

+ 4
- 4
priv/repo/migrations/20180829183529_remove_recipients_to_and_cc_fields_from_activities.exs 查看文件

@@ -3,15 +3,15 @@ defmodule Pleroma.Repo.Migrations.RemoveRecipientsToAndCcFieldsFromActivities do

def up do
alter table(:activities) do
remove :recipients_to
remove :recipients_cc
remove(:recipients_to)
remove(:recipients_cc)
end
end

def down do
alter table(:activities) do
add :recipients_to, {:array, :string}
add :recipients_cc, {:array, :string}
add(:recipients_to, {:array, :string})
add(:recipients_cc, {:array, :string})
end
end
end

+ 3
- 1
priv/repo/migrations/20180903114437_users_add_is_moderator_index.exs 查看文件

@@ -2,6 +2,8 @@ defmodule Pleroma.Repo.Migrations.UsersAddIsModeratorIndex do
use Ecto.Migration

def change do
create_if_not_exists index(:users, ["(info->'is_moderator')"], name: :users_is_moderator_index, using: :gin)
create_if_not_exists(
index(:users, ["(info->'is_moderator')"], name: :users_is_moderator_index, using: :gin)
)
end
end

+ 7
- 7
priv/repo/migrations/20180918182427_create_push_subscriptions.exs 查看文件

@@ -3,16 +3,16 @@ defmodule Pleroma.Repo.Migrations.CreatePushSubscriptions do

def change do
create_if_not_exists table("push_subscriptions") do
add :user_id, references("users", on_delete: :delete_all)
add :token_id, references("oauth_tokens", on_delete: :delete_all)
add :endpoint, :string
add :key_p256dh, :string
add :key_auth, :string
add :data, :map
add(:user_id, references("users", on_delete: :delete_all))
add(:token_id, references("oauth_tokens", on_delete: :delete_all))
add(:endpoint, :string)
add(:key_p256dh, :string)
add(:key_auth, :string)
add(:data, :map)

timestamps()
end

create_if_not_exists index("push_subscriptions", [:user_id, :token_id], unique: true)
create_if_not_exists(index("push_subscriptions", [:user_id, :token_id], unique: true))
end
end

+ 1
- 1
priv/repo/migrations/20180919060348_users_add_last_refreshed_at.exs 查看文件

@@ -3,7 +3,7 @@ defmodule Pleroma.Repo.Migrations.UsersAddLastRefreshedAt do

def change do
alter table(:users) do
add :last_refreshed_at, :naive_datetime_usec
add(:last_refreshed_at, :naive_datetime_usec)
end
end
end

+ 2
- 2
priv/repo/migrations/20181206125616_add_tags_to_users.exs 查看文件

@@ -3,9 +3,9 @@ defmodule Pleroma.Repo.Migrations.AddTagsToUsers do

def change do
alter table(:users) do
add :tags, {:array, :string}
add(:tags, {:array, :string})
end

create_if_not_exists index(:users, [:tags], using: :gin)
create_if_not_exists(index(:users, [:tags], using: :gin))
end
end

+ 1
- 1
priv/repo/migrations/20181214121049_add_bookmarks_to_users.exs 查看文件

@@ -3,7 +3,7 @@ defmodule Pleroma.Repo.Migrations.AddBookmarksToUsers do

def change do
alter table(:users) do
add :bookmarks, {:array, :string}, null: false, default: []
add(:bookmarks, {:array, :string}, null: false, default: [])
end
end
end

+ 49
- 38
priv/repo/migrations/20181218172826_users_and_activities_flake_id.exs 查看文件

@@ -16,32 +16,34 @@ defmodule Pleroma.Repo.Migrations.UsersAndActivitiesFlakeId do
# Old serial int ids are transformed to 128bits with extra padding.
# The application (in `Pleroma.FlakeId`) handles theses IDs properly as integers; to keep compatibility
# with previously issued ids.
#execute "update activities set external_id = CAST( LPAD( TO_HEX(id), 32, '0' ) AS uuid);"
#execute "update users set external_id = CAST( LPAD( TO_HEX(id), 32, '0' ) AS uuid);"
# execute "update activities set external_id = CAST( LPAD( TO_HEX(id), 32, '0' ) AS uuid);"
# execute "update users set external_id = CAST( LPAD( TO_HEX(id), 32, '0' ) AS uuid);"

clippy = start_clippy_heartbeats()

# Lock both tables to avoid a running server to meddling with our transaction
execute "LOCK TABLE activities;"
execute "LOCK TABLE users;"
execute("LOCK TABLE activities;")
execute("LOCK TABLE users;")

execute """
execute("""
ALTER TABLE activities
DROP CONSTRAINT activities_pkey CASCADE,
ALTER COLUMN id DROP default,
ALTER COLUMN id SET DATA TYPE uuid USING CAST( LPAD( TO_HEX(id), 32, '0' ) AS uuid),
ADD PRIMARY KEY (id);
"""
""")

execute """
execute("""
ALTER TABLE users
DROP CONSTRAINT users_pkey CASCADE,
ALTER COLUMN id DROP default,
ALTER COLUMN id SET DATA TYPE uuid USING CAST( LPAD( TO_HEX(id), 32, '0' ) AS uuid),
ADD PRIMARY KEY (id);
"""
""")

execute "UPDATE users SET info = jsonb_set(info, '{pinned_activities}', array_to_json(ARRAY(select jsonb_array_elements_text(info->'pinned_activities')))::jsonb);"
execute(
"UPDATE users SET info = jsonb_set(info, '{pinned_activities}', array_to_json(ARRAY(select jsonb_array_elements_text(info->'pinned_activities')))::jsonb);"
)

# Fkeys:
# Activities - Referenced by:
@@ -56,18 +58,19 @@ defmodule Pleroma.Repo.Migrations.UsersAndActivitiesFlakeId do
# TABLE "push_subscriptions" CONSTRAINT "push_subscriptions_user_id_fkey" FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
# TABLE "websub_client_subscriptions" CONSTRAINT "websub_client_subscriptions_user_id_fkey" FOREIGN KEY (user_id) REFERENCES users(id)

execute """
execute("""
ALTER TABLE notifications
ALTER COLUMN activity_id SET DATA TYPE uuid USING CAST( LPAD( TO_HEX(activity_id), 32, '0' ) AS uuid),
ADD CONSTRAINT notifications_activity_id_fkey FOREIGN KEY (activity_id) REFERENCES activities(id) ON DELETE CASCADE;
"""
""")

for table <- ~w(notifications filters lists oauth_authorizations oauth_tokens password_reset_tokens push_subscriptions websub_client_subscriptions) do
execute """
for table <-
~w(notifications filters lists oauth_authorizations oauth_tokens password_reset_tokens push_subscriptions websub_client_subscriptions) do
execute("""
ALTER TABLE #{table}
ALTER COLUMN user_id SET DATA TYPE uuid USING CAST( LPAD( TO_HEX(user_id), 32, '0' ) AS uuid),
ADD CONSTRAINT #{table}_user_id_fkey FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE;
"""
""")
end

flush()
@@ -78,41 +81,50 @@ defmodule Pleroma.Repo.Migrations.UsersAndActivitiesFlakeId do
def down, do: :ok

defp start_clippy_heartbeats() do
count = from(a in "activities", select: count(a.id)) |> Repo.one!
count = from(a in "activities", select: count(a.id)) |> Repo.one!()

if count > 5000 do
heartbeat_interval = :timer.minutes(2) + :timer.seconds(30)
all_tips = Clippy.tips() ++ [
"The migration is still running, maybe it's time for another “tea”?",
"Happy rabbits practice a cute behavior known as a\n“binky:” they jump up in the air\nand twist\nand spin around!",
"Nothing and everything.\n\nI still work.",
"Pleroma runs on a Raspberry Pi!\n\n … but this migration will take forever if you\nactually run on a raspberry pi",
"Status? Stati? Post? Note? Toot?\nRepeat? Reboost? Boost? Retweet? Retoot??\n\nI-I'm confused.",
]

heartbeat = fn(heartbeat, runs, all_tips, tips) ->
tips = if Integer.is_even(runs) do
tips = if tips == [], do: all_tips, else: tips
[tip | tips] = Enum.shuffle(tips)
Clippy.puts(tip)
tips
else
IO.puts "\n -- #{DateTime.to_string(DateTime.utc_now())} Migration still running, please wait…\n"
tips
end

all_tips =
Clippy.tips() ++
[
"The migration is still running, maybe it's time for another “tea”?",
"Happy rabbits practice a cute behavior known as a\n“binky:” they jump up in the air\nand twist\nand spin around!",
"Nothing and everything.\n\nI still work.",
"Pleroma runs on a Raspberry Pi!\n\n … but this migration will take forever if you\nactually run on a raspberry pi",
"Status? Stati? Post? Note? Toot?\nRepeat? Reboost? Boost? Retweet? Retoot??\n\nI-I'm confused."
]

heartbeat = fn heartbeat, runs, all_tips, tips ->
tips =
if Integer.is_even(runs) do
tips = if tips == [], do: all_tips, else: tips
[tip | tips] = Enum.shuffle(tips)
Clippy.puts(tip)
tips
else
IO.puts(
"\n -- #{DateTime.to_string(DateTime.utc_now())} Migration still running, please wait…\n"
)

tips
end

:timer.sleep(heartbeat_interval)
heartbeat.(heartbeat, runs + 1, all_tips, tips)
end

Clippy.puts [
Clippy.puts([
[:red, :bright, "It looks like you are running an older instance!"],
[""],
[:bright, "This migration may take a long time", :reset, " -- so you probably should"],
["go drink a cofe, or a tea, or a beer, a whiskey, a vodka,"],
["while it runs to deal with your temporary fediverse pause!"]
]
])

:timer.sleep(heartbeat_interval)
spawn_link(fn() -> heartbeat.(heartbeat, 1, all_tips, []) end)
spawn_link(fn -> heartbeat.(heartbeat, 1, all_tips, []) end)
end
end

@@ -120,8 +132,7 @@ defmodule Pleroma.Repo.Migrations.UsersAndActivitiesFlakeId do
if pid do
Process.unlink(pid)
Process.exit(pid, :kill)
Clippy.puts [[:green, :bright, "Hurray!!", "", "", "Migration completed!"]]
Clippy.puts([[:green, :bright, "Hurray!!", "", "", "Migration completed!"]])
end
end

end

+ 3
- 1
priv/repo/migrations/20190109152453_add_visibility_function.exs 查看文件

@@ -43,6 +43,8 @@ defmodule Pleroma.Repo.Migrations.AddVisibilityFunction do
)
)

execute("drop function if exists activity_visibility(actor varchar, recipients varchar[], data jsonb)")
execute(
"drop function if exists activity_visibility(actor varchar, recipients varchar[], data jsonb)"
)
end
end

+ 13
- 11
priv/repo/migrations/20190115085500_create_user_fts_index.exs 查看文件

@@ -2,16 +2,18 @@ defmodule Pleroma.Repo.Migrations.CreateUserFtsIndex do
use Ecto.Migration

def change do
create_if_not_exists index(
:users,
[
"""
(setweight(to_tsvector('simple', regexp_replace(nickname, '\\W', ' ', 'g')), 'A') ||
setweight(to_tsvector('simple', regexp_replace(coalesce(name, ''), '\\W', ' ', 'g')), 'B'))
"""
],
name: :users_fts_index,
using: :gin
)
create_if_not_exists(
index(
:users,
[
"""
(setweight(to_tsvector('simple', regexp_replace(nickname, '\\W', ' ', 'g')), 'A') ||
setweight(to_tsvector('simple', regexp_replace(coalesce(name, ''), '\\W', ' ', 'g')), 'B'))
"""
],
name: :users_fts_index,
using: :gin
)
)
end
end

+ 0
- 2
priv/repo/migrations/20190122153157_update_activity_visibility.exs 查看文件

@@ -27,10 +27,8 @@ defmodule Pleroma.Repo.Migrations.UpdateActivityVisibility do
"""

execute(definition)

end

def down do

end
end

+ 3
- 1
priv/repo/migrations/20190123092341_users_add_is_admin_index.exs 查看文件

@@ -2,6 +2,8 @@ defmodule Pleroma.Repo.Migrations.UsersAddIsAdminIndex do
use Ecto.Migration

def change do
create_if_not_exists(index(:users, ["(info->'is_admin')"], name: :users_is_admin_index, using: :gin))
create_if_not_exists(
index(:users, ["(info->'is_admin')"], name: :users_is_admin_index, using: :gin)
)
end
end

+ 4
- 4
priv/repo/migrations/20190123125546_create_instances.exs 查看文件

@@ -3,13 +3,13 @@ defmodule Pleroma.Repo.Migrations.CreateInstances do

def change do
create_if_not_exists table(:instances) do
add :host, :string
add :unreachable_since, :naive_datetime_usec
add(:host, :string)
add(:unreachable_since, :naive_datetime_usec)

timestamps()
end

create_if_not_exists unique_index(:instances, [:host])
create_if_not_exists index(:instances, [:unreachable_since])
create_if_not_exists(unique_index(:instances, [:host]))
create_if_not_exists(index(:instances, [:unreachable_since]))
end
end

+ 0
- 3
priv/repo/migrations/20190124131141_update_activity_visibility_again.exs 查看文件

@@ -27,11 +27,8 @@ defmodule Pleroma.Repo.Migrations.UpdateActivityVisibilityAgain do
"""

execute(definition)

end

def down do

end

end

+ 7
- 1
priv/repo/migrations/20190127151220_add_activities_likes_index.exs 查看文件

@@ -3,6 +3,12 @@ defmodule Pleroma.Repo.Migrations.AddActivitiesLikesIndex do
@disable_ddl_transaction true

def change do
create index(:activities, ["((data #> '{\"object\",\"likes\"}'))"], concurrently: true, name: :activities_likes, using: :gin)
create(
index(:activities, ["((data #> '{\"object\",\"likes\"}'))"],
concurrently: true,
name: :activities_likes,
using: :gin
)
)
end
end

+ 11
- 3
priv/repo/migrations/20190203185340_split_hide_network.exs 查看文件

@@ -2,9 +2,17 @@ defmodule Pleroma.Repo.Migrations.SplitHideNetwork do
use Ecto.Migration

def up do
execute("UPDATE users SET info = jsonb_set(info, '{hide_network}'::text[], 'false'::jsonb) WHERE NOT(info::jsonb ? 'hide_network') AND local")
execute("UPDATE users SET info = jsonb_set(info, '{hide_followings}'::text[], info->'hide_network') WHERE local")
execute("UPDATE users SET info = jsonb_set(info, '{hide_followers}'::text[], info->'hide_network') WHERE local")
execute(
"UPDATE users SET info = jsonb_set(info, '{hide_network}'::text[], 'false'::jsonb) WHERE NOT(info::jsonb ? 'hide_network') AND local"
)

execute(
"UPDATE users SET info = jsonb_set(info, '{hide_followings}'::text[], info->'hide_network') WHERE local"
)

execute(
"UPDATE users SET info = jsonb_set(info, '{hide_followers}'::text[], info->'hide_network') WHERE local"
)
end

def down do


+ 3
- 3
priv/repo/migrations/20190205114625_create_thread_mutes.exs 查看文件

@@ -3,10 +3,10 @@ defmodule Pleroma.Repo.Migrations.CreateThreadMutes do

def change do
create_if_not_exists table(:thread_mutes) do
add :user_id, references(:users, type: :uuid, on_delete: :delete_all)
add :context, :string
add(:user_id, references(:users, type: :uuid, on_delete: :delete_all))
add(:context, :string)
end

create_if_not_exists unique_index(:thread_mutes, [:user_id, :context], name: :unique_index)
create_if_not_exists(unique_index(:thread_mutes, [:user_id, :context], name: :unique_index))
end
end

+ 1
- 1
priv/repo/migrations/20190208131753_add_scopes_to_o_auth_entities.exs 查看文件

@@ -4,7 +4,7 @@ defmodule Pleroma.Repo.Migrations.AddScopeSToOAuthEntities do
def change do
for t <- [:oauth_authorizations, :oauth_tokens] do
alter table(t) do
add :scopes, {:array, :string}, default: [], null: false
add(:scopes, {:array, :string}, default: [], null: false)
end
end
end


+ 12
- 6
priv/repo/migrations/20190213185503_change_apps_scopes_to_varchar_array.exs 查看文件

@@ -4,14 +4,20 @@ defmodule Pleroma.Repo.Migrations.ChangeAppsScopesToVarcharArray do
@alter_apps_scopes "ALTER TABLE apps ALTER COLUMN scopes"

def up do
execute "#{@alter_apps_scopes} TYPE varchar(255)[] USING string_to_array(scopes, ',')::varchar(255)[];"
execute "#{@alter_apps_scopes} SET DEFAULT ARRAY[]::character varying[];"
execute "#{@alter_apps_scopes} SET NOT NULL;"
execute(
"#{@alter_apps_scopes} TYPE varchar(255)[] USING string_to_array(scopes, ',')::varchar(255)[];"
)

execute("#{@alter_apps_scopes} SET DEFAULT ARRAY[]::character varying[];")
execute("#{@alter_apps_scopes} SET NOT NULL;")
end

def down do
execute "#{@alter_apps_scopes} DROP NOT NULL;"
execute "#{@alter_apps_scopes} DROP DEFAULT;"
execute "#{@alter_apps_scopes} TYPE varchar(255) USING array_to_string(scopes, ',')::varchar(255);"
execute("#{@alter_apps_scopes} DROP NOT NULL;")
execute("#{@alter_apps_scopes} DROP DEFAULT;")

execute(
"#{@alter_apps_scopes} TYPE varchar(255) USING array_to_string(scopes, ',')::varchar(255);"
)
end
end

+ 1
- 1
priv/repo/migrations/20190213185600_data_migration_populate_o_auth_scopes.exs 查看文件

@@ -3,7 +3,7 @@ defmodule Pleroma.Repo.Migrations.DataMigrationPopulateOAuthScopes do

def up do
for t <- [:oauth_authorizations, :oauth_tokens] do
execute "UPDATE #{t} SET scopes = apps.scopes FROM apps WHERE #{t}.app_id = apps.id;"
execute("UPDATE #{t} SET scopes = apps.scopes FROM apps WHERE #{t}.app_id = apps.id;")
end
end



+ 1
- 1
priv/repo/migrations/20190222104808_data_migration_normalize_scopes.exs 查看文件

@@ -3,7 +3,7 @@ defmodule Pleroma.Repo.Migrations.DataMigrationNormalizeScopes do

def up do
for t <- [:apps, :oauth_authorizations, :oauth_tokens] do
execute "UPDATE #{t} SET scopes = string_to_array(array_to_string(scopes, ' '), ' ');"
execute("UPDATE #{t} SET scopes = string_to_array(array_to_string(scopes, ' '), ' ');")
end
end



+ 1
- 1
priv/repo/migrations/20190301101154_add_default_tags_to_user.exs 查看文件

@@ -2,7 +2,7 @@ defmodule Pleroma.Repo.Migrations.AddDefaultTagsToUser do
use Ecto.Migration

def up do
execute "UPDATE users SET tags = array[]::varchar[] where tags IS NULL"
execute("UPDATE users SET tags = array[]::varchar[] where tags IS NULL")
end

def down, do: :noop


+ 4
- 4
priv/repo/migrations/20190303120636_update_user_note_counters.exs 查看文件

@@ -4,7 +4,7 @@ defmodule Pleroma.Repo.Migrations.UpdateUserNoteCounters do
@public "https://www.w3.org/ns/activitystreams#Public"

def up do
execute """
execute("""
WITH public_note_count AS (
SELECT
data->>'actor' AS actor,
@@ -19,11 +19,11 @@ defmodule Pleroma.Repo.Migrations.UpdateUserNoteCounters do
SET "info" = jsonb_set(u.info, '{note_count}', o.count::varchar::jsonb, true)
FROM public_note_count AS o
WHERE u.ap_id = o.actor
"""
""")
end

def down do
execute """
execute("""
WITH public_note_count AS (
SELECT
data->>'actor' AS actor,
@@ -36,6 +36,6 @@ defmodule Pleroma.Repo.Migrations.UpdateUserNoteCounters do
SET "info" = jsonb_set(u.info, '{note_count}', o.count::varchar::jsonb, true)
FROM public_note_count AS o
WHERE u.ap_id = o.actor
"""
""")
end
end

+ 7
- 7
priv/repo/migrations/20190315101315_create_registrations.exs 查看文件

@@ -3,16 +3,16 @@ defmodule Pleroma.Repo.Migrations.CreateRegistrations do

def change do
create_if_not_exists table(:registrations, primary_key: false) do
add :id, :uuid, primary_key: true
add :user_id, references(:users, type: :uuid, on_delete: :delete_all)
add :provider, :string
add :uid, :string
add :info, :map, default: %{}
add(:id, :uuid, primary_key: true)
add(:user_id, references(:users, type: :uuid, on_delete: :delete_all))
add(:provider, :string)
add(:uid, :string)
add(:info, :map, default: %{})

timestamps()
end

create_if_not_exists unique_index(:registrations, [:provider, :uid])
create_if_not_exists unique_index(:registrations, [:user_id, :provider, :uid])
create_if_not_exists(unique_index(:registrations, [:provider, :uid]))
create_if_not_exists(unique_index(:registrations, [:user_id, :provider, :uid]))
end
end

+ 1
- 1
priv/repo/migrations/20190325185009_create_notification_id_index.exs 查看文件

@@ -2,6 +2,6 @@ defmodule Pleroma.Repo.Migrations.CreateNotificationIdIndex do
use Ecto.Migration

def change do
create_if_not_exists index(:notifications, ["id desc nulls last"])
create_if_not_exists(index(:notifications, ["id desc nulls last"]))
end
end

+ 7
- 1
priv/repo/migrations/20190405160700_add_index_on_subscribers.exs 查看文件

@@ -3,6 +3,12 @@ defmodule Pleroma.Repo.Migrations.AddIndexOnSubscribers do

@disable_ddl_transaction true
def change do
create index(:users, ["(info->'subscribers')"], name: :users_subscribers_index, using: :gin, concurrently: true)
create(
index(:users, ["(info->'subscribers')"],
name: :users_subscribers_index,
using: :gin,
concurrently: true
)
)
end
end

+ 3
- 3
priv/repo/migrations/20190408123347_create_conversations.exs 查看文件

@@ -19,8 +19,8 @@ defmodule Pleroma.Repo.Migrations.CreateConversations do
timestamps()
end

create_if_not_exists index(:conversation_participations, [:conversation_id])
create_if_not_exists unique_index(:conversation_participations, [:user_id, :conversation_id])
create_if_not_exists unique_index(:conversations, [:ap_id])
create_if_not_exists(index(:conversation_participations, [:conversation_id]))
create_if_not_exists(unique_index(:conversation_participations, [:user_id, :conversation_id]))
create_if_not_exists(unique_index(:conversations, [:ap_id]))
end
end

+ 1
- 1
priv/repo/migrations/20190410152859_add_participation_updated_at_index.exs 查看文件

@@ -2,6 +2,6 @@ defmodule Pleroma.Repo.Migrations.AddParticipationUpdatedAtIndex do
use Ecto.Migration

def change do
create_if_not_exists index(:conversation_participations, ["updated_at desc"])
create_if_not_exists(index(:conversation_participations, ["updated_at desc"]))
end
end

+ 3
- 1
priv/repo/migrations/20190411094120_add_index_on_user_info_deactivated.exs 查看文件

@@ -2,6 +2,8 @@ defmodule Pleroma.Repo.Migrations.AddIndexOnUserInfoDeactivated do
use Ecto.Migration

def change do
create_if_not_exists(index(:users, ["(info->'deactivated')"], name: :users_deactivated_index, using: :gin))
create_if_not_exists(
index(:users, ["(info->'deactivated')"], name: :users_deactivated_index, using: :gin)
)
end
end

+ 2
- 2
priv/repo/migrations/20190414125034_migrate_old_bookmarks.exs 查看文件

@@ -18,7 +18,7 @@ defmodule Pleroma.Repo.Migrations.MigrateOldBookmarks do
|> Enum.each(fn %{id: user_id, bookmarks: bookmarks} ->
Enum.each(bookmarks, fn ap_id ->
activity = Activity.get_create_by_object_ap_id(ap_id)
unless is_nil(activity), do: {:ok, _} = Bookmark.create(user_id, activity.id)
unless is_nil(activity), do: {:ok, _} = Bookmark.create(user_id, activity.id)
end)
end)

@@ -29,7 +29,7 @@ defmodule Pleroma.Repo.Migrations.MigrateOldBookmarks do

def down do
alter table(:users) do
add :bookmarks, {:array, :string}, null: false, default: []
add(:bookmarks, {:array, :string}, null: false, default: [])
end
end
end

+ 13
- 2
priv/repo/migrations/20190501125843_add_fts_index_to_objects.exs 查看文件

@@ -2,7 +2,18 @@ defmodule Pleroma.Repo.Migrations.AddFTSIndexToObjects do
use Ecto.Migration

def change do
drop_if_exists index(:activities, ["(to_tsvector('english', data->'object'->>'content'))"], using: :gin, name: :activities_fts)
create_if_not_exists index(:objects, ["(to_tsvector('english', data->>'content'))"], using: :gin, name: :objects_fts)
drop_if_exists(
index(:activities, ["(to_tsvector('english', data->'object'->>'content'))"],
using: :gin,
name: :activities_fts
)
)

create_if_not_exists(
index(:objects, ["(to_tsvector('english', data->>'content'))"],
using: :gin,
name: :objects_fts
)
)
end
end

+ 4
- 4
priv/repo/migrations/20190511191044_set_default_state_to_reports.exs 查看文件

@@ -2,18 +2,18 @@ defmodule Pleroma.Repo.Migrations.SetDefaultStateToReports do
use Ecto.Migration

def up do
execute """
execute("""
UPDATE activities AS a
SET data = jsonb_set(data, '{state}', '"open"', true)
WHERE data->>'type' = 'Flag'
"""
""")
end

def down do
execute """
execute("""
UPDATE activities AS a
SET data = data #- '{state}'
WHERE data->>'type' = 'Flag'
"""
""")
end
end

+ 2
- 2
priv/repo/migrations/20190513175809_change_hide_column_in_filter_table.exs 查看文件

@@ -3,13 +3,13 @@ defmodule Pleroma.Repo.Migrations.ChangeHideColumnInFilterTable do

def up do
alter table(:filters) do
modify :hide, :boolean, default: false
modify(:hide, :boolean, default: false)
end
end

def down do
alter table(:filters) do
modify :hide, :boolean
modify(:hide, :boolean)
end
end
end

+ 1
- 1
priv/repo/migrations/20190603162018_add_object_in_reply_to_index.exs 查看文件

@@ -2,6 +2,6 @@ defmodule Pleroma.Repo.Migrations.AddObjectInReplyToIndex do
use Ecto.Migration

def change do
create index(:objects, ["(data->>'inReplyTo')"], name: :objects_in_reply_to_index)
create(index(:objects, ["(data->>'inReplyTo')"], name: :objects_in_reply_to_index))
end
end

+ 5
- 2
priv/repo/migrations/20190603173419_add_tag_index_to_objects.exs 查看文件

@@ -2,7 +2,10 @@ defmodule Pleroma.Repo.Migrations.AddTagIndexToObjects do
use Ecto.Migration

def change do
drop_if_exists index(:activities, ["(data #> '{\"object\",\"tag\"}')"], using: :gin, name: :activities_tags)
create_if_not_exists index(:objects, ["(data->'tag')"], using: :gin, name: :objects_tags)
drop_if_exists(
index(:activities, ["(data #> '{\"object\",\"tag\"}')"], using: :gin, name: :activities_tags)
)

create_if_not_exists(index(:objects, ["(data->'tag')"], using: :gin, name: :objects_tags))
end
end

+ 3
- 1
priv/repo/migrations/20190711042024_copy_muted_to_muted_notifications.exs 查看文件

@@ -3,6 +3,8 @@ defmodule Pleroma.Repo.Migrations.CopyMutedToMutedNotifications do
alias Pleroma.User

def change do
execute("update users set info = jsonb_set(info, '{muted_notifications}', info->'mutes', true) where local = true")
execute(
"update users set info = jsonb_set(info, '{muted_notifications}', info->'mutes', true) where local = true"
)
end
end

+ 2
- 2
priv/repo/migrations/20190801154554_create_conversation_participation_recipient_ships.exs 查看文件

@@ -7,7 +7,7 @@ defmodule Pleroma.Repo.Migrations.CreateConversationParticipationRecipientShips
add(:participation_id, references(:conversation_participations, on_delete: :delete_all))
end

create_if_not_exists index(:conversation_participation_recipient_ships, [:user_id])
create_if_not_exists index(:conversation_participation_recipient_ships, [:participation_id])
create_if_not_exists(index(:conversation_participation_recipient_ships, [:user_id]))
create_if_not_exists(index(:conversation_participation_recipient_ships, [:participation_id]))
end
end

+ 1
- 1
priv/repo/migrations/20190823000549_add_likes_index_to_objects.exs 查看文件

@@ -2,6 +2,6 @@ defmodule Pleroma.Repo.Migrations.AddLikesIndexToObjects do
use Ecto.Migration

def change do
create_if_not_exists index(:objects, ["(data->'likes')"], using: :gin, name: :objects_likes)
create_if_not_exists(index(:objects, ["(data->'likes')"], using: :gin, name: :objects_likes))
end
end

+ 2
- 1
priv/repo/migrations/20190912065617_create_deliveries.exs 查看文件

@@ -6,7 +6,8 @@ defmodule Pleroma.Repo.Migrations.CreateDeliveries do
add(:object_id, references(:objects, type: :id), null: false)
add(:user_id, references(:users, type: :uuid, on_delete: :delete_all), null: false)
end
create_if_not_exists index(:deliveries, :object_id, name: :deliveries_object_id)

create_if_not_exists(index(:deliveries, :object_id, name: :deliveries_object_id))
create_if_not_exists(unique_index(:deliveries, [:user_id, :object_id]))
end
end

+ 1
- 1
priv/repo/migrations/20190929201536_drop_subscription_if_exists.exs 查看文件

@@ -2,7 +2,6 @@ defmodule Pleroma.Repo.Migrations.DropSubscriptionIfExists do
use Ecto.Migration

def change do

end

def up do
@@ -10,6 +9,7 @@ defmodule Pleroma.Repo.Migrations.DropSubscriptionIfExists do
drop_if_exists(index(:subscription_notifications, ["id desc nulls last"]))
drop_if_exists(table(:subscription_notifications))
end

def down do
:ok
end


+ 1
- 1
priv/repo/migrations/20191006123824_add_keys_column.exs 查看文件

@@ -3,7 +3,7 @@ defmodule Pleroma.Repo.Migrations.AddKeysColumn do

def change do
alter table("users") do
add_if_not_exists :keys, :text
add_if_not_exists(:keys, :text)
end
end
end

+ 4
- 1
priv/repo/migrations/20191006135457_move_keys_to_separate_column.exs 查看文件

@@ -2,6 +2,9 @@ defmodule Pleroma.Repo.Migrations.MoveKeysToSeparateColumn do
use Ecto.Migration

def change do
execute("update users set keys = info->>'keys' where local", "update users set info = jsonb_set(info, '{keys}'::text[], to_jsonb(keys)) where local")
execute(
"update users set keys = info->>'keys' where local",
"update users set info = jsonb_set(info, '{keys}'::text[], to_jsonb(keys)) where local"
)
end
end

Loading…
取消
儲存