diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2019-08-22 21:55:56 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-08-22 21:55:56 +0200 |
commit | 282ea170782e4ce1ed5251a1b94857a512412397 (patch) | |
tree | 956b7b0b7df12b5b5091a3b3a0db611ad61963e2 /db/migrate | |
parent | 5ab1e0e738183a0ddcec140d55184351f751b22d (diff) |
Add soft delete for statuses for instant deletes through API (#11623)
* Add soft delete for statuses to allow them to appear instant * Allow reporting soft-deleted statuses and show them in the admin UI * Change index for getting an account's statuses
Diffstat (limited to 'db/migrate')
-rw-r--r-- | db/migrate/20190819134503_add_deleted_at_to_statuses.rb | 5 | ||||
-rw-r--r-- | db/migrate/20190820003045_update_statuses_index.rb | 13 |
2 files changed, 18 insertions, 0 deletions
diff --git a/db/migrate/20190819134503_add_deleted_at_to_statuses.rb b/db/migrate/20190819134503_add_deleted_at_to_statuses.rb new file mode 100644 index 000000000..5af109097 --- /dev/null +++ b/db/migrate/20190819134503_add_deleted_at_to_statuses.rb @@ -0,0 +1,5 @@ +class AddDeletedAtToStatuses < ActiveRecord::Migration[5.2] + def change + add_column :statuses, :deleted_at, :datetime + end +end diff --git a/db/migrate/20190820003045_update_statuses_index.rb b/db/migrate/20190820003045_update_statuses_index.rb new file mode 100644 index 000000000..5c2ea1f6a --- /dev/null +++ b/db/migrate/20190820003045_update_statuses_index.rb @@ -0,0 +1,13 @@ +class UpdateStatusesIndex < ActiveRecord::Migration[5.2] + disable_ddl_transaction! + + def up + safety_assured { add_index :statuses, [:account_id, :id, :visibility, :updated_at], where: 'deleted_at IS NULL', order: { id: :desc }, algorithm: :concurrently, name: :index_statuses_20190820 } + remove_index :statuses, name: :index_statuses_20180106 + end + + def down + safety_assured { add_index :statuses, [:account_id, :id, :visibility, :updated_at], order: { id: :desc }, algorithm: :concurrently, name: :index_statuses_20180106 } + remove_index :statuses, name: :index_statuses_20190820 + end +end |