chinwagsocial/db/migrate
Claire 4ac78e2a06
Add feature to automatically delete old toots (#16529)
* Add account statuses cleanup policy model

* Record last inspected toot to delete to speed up successive calls to statuses_to_delete

* Add service to cleanup a given account's statuses within a budget

* Add worker to go through account policies and delete old toots

* Fix last inspected status id logic

All existing statuses older or equal to last inspected status id must be
kept by the current policy. This is an invariant that must be kept so that
resuming deletion from the last inspected status remains sound.

* Add tests

* Refactor scheduler and add tests

* Add user interface

* Add support for discriminating based on boosts/favs

* Add UI support for min_reblogs and min_favs, rework UI

* Address first round of review comments

* Replace Snowflake#id_at_start with with_random parameter

* Add tests

* Add tests for StatusesCleanupController

* Rework settings page

* Adjust load-avoiding mechanisms

* Please CodeClimate
2021-08-09 23:11:50 +02:00
..
20160220174730_create_accounts.rb
20160220211917_create_statuses.rb Add migration versions (#3574) 2017-06-05 02:43:02 +02:00
20160221003140_create_users.rb Add migration versions (#3574) 2017-06-05 02:43:02 +02:00
20160221003621_create_follows.rb
20160222122600_create_stream_entries.rb Add migration versions (#3574) 2017-06-05 02:43:02 +02:00
20160222143943_add_profile_fields_to_accounts.rb Add migration versions (#3574) 2017-06-05 02:43:02 +02:00
20160223162837_add_metadata_to_statuses.rb
20160223164502_make_uris_nullable_in_statuses.rb
20160223165723_add_url_to_statuses.rb Prepare Mastodon for zeitwerk autoloader (#15917) 2021-03-19 02:42:43 +01:00
20160223165855_add_url_to_accounts.rb Prepare Mastodon for zeitwerk autoloader (#15917) 2021-03-19 02:42:43 +01:00
20160223171800_create_favourites.rb Add migration versions (#3574) 2017-06-05 02:43:02 +02:00
20160224223247_create_mentions.rb Add migration versions (#3574) 2017-06-05 02:43:02 +02:00
20160227230233_add_attachment_avatar_to_accounts.rb
20160305115639_add_devise_to_users.rb
20160306172223_create_doorkeeper_tables.rb
20160312193225_add_attachment_header_to_accounts.rb
20160314164231_add_owner_to_application.rb lint pass 2 (#8878) 2018-10-04 17:38:04 +02:00
20160316103650_add_missing_indices.rb Add migration versions (#3574) 2017-06-05 02:43:02 +02:00
20160322193748_add_avatar_remote_url_to_accounts.rb Prepare Mastodon for zeitwerk autoloader (#15917) 2021-03-19 02:42:43 +01:00
20160325130944_add_admin_to_users.rb
20160826155805_add_superapp_to_oauth_applications.rb
20160905150353_create_media_attachments.rb
20160919221059_add_subscription_expires_at_to_accounts.rb
20160920003904_remove_verify_token_from_accounts.rb
20160926213048_remove_owner_from_application.rb
20161003142332_add_confirmable_to_users.rb
20161003145426_create_blocks.rb
20161006213403_rails_settings_migration.rb Further preparation for Rails 6 (#15916) 2021-03-19 02:45:34 +01:00
20161009120834_create_domain_blocks.rb
20161027172456_add_silenced_to_accounts.rb Adding public timeline silencing 2016-10-27 19:33:04 +02:00
20161104173623_create_tags.rb
20161105130633_create_statuses_tags_join_table.rb
20161116162355_add_locale_to_users.rb
20161119211120_create_notifications.rb
20161122163057_remove_unneeded_indexes.rb
20161123093447_add_sensitive_to_statuses.rb
20161128103007_create_subscriptions.rb
20161130142058_add_last_successful_delivery_at_to_subscriptions.rb
20161130185319_add_visibility_to_statuses.rb
20161202132159_add_in_reply_to_account_id_to_statuses.rb
20161203164520_add_from_account_id_to_notifications.rb
20161205214545_add_suspended_to_accounts.rb
20161221152630_add_hidden_to_stream_entries.rb
20161222201034_add_locked_to_accounts.rb
20161222204147_create_follow_requests.rb
20170105224407_add_shortcode_to_media_attachments.rb
20170109120109_create_web_settings.rb
20170112154826_migrate_settings.rb
20170114194937_add_application_to_statuses.rb
20170114203041_add_website_to_oauth_application.rb
20170119214911_create_preview_cards.rb Fix #463 - Fetch and display previews of URLs using OpenGraph tags 2017-01-20 01:00:14 +01:00
20170123162658_add_severity_to_domain_blocks.rb
20170123203248_add_reject_media_to_domain_blocks.rb
20170125145934_add_spoiler_text_to_statuses.rb
20170127165745_add_devise_two_factor_to_users.rb
20170205175257_remove_devices.rb
20170209184350_add_reply_to_statuses.rb
20170214110202_create_reports.rb
20170217012631_add_reblog_of_id_foreign_key_to_statuses.rb
20170301222600_create_mutes.rb
20170303212857_add_last_emailed_at_to_users.rb
20170304202101_add_type_to_media_attachments.rb
20170317193015_add_search_index_to_accounts.rb
20170318214217_add_header_remote_url_to_accounts.rb Prepare Mastodon for zeitwerk autoloader (#15917) 2021-03-19 02:42:43 +01:00
20170322021028_add_lowercase_index_to_accounts.rb
20170322143850_change_primary_key_to_bigint_on_statuses.rb
20170322162804_add_search_index_to_tags.rb
20170330021336_add_counter_caches.rb
20170330163835_create_imports.rb
20170330164118_add_attachment_data_to_imports.rb Add migration versions (#3574) 2017-06-05 02:43:02 +02:00
20170403172249_add_action_taken_by_account_id_to_reports.rb
20170405112956_add_index_on_mentions_status_id.rb
20170406215816_add_notifications_and_favourites_indices.rb
20170409170753_add_last_webfingered_at_to_accounts.rb
20170414080609_add_devise_two_factor_backupable_to_users.rb
20170414132105_add_language_to_statuses.rb
20170418160728_add_indexes_to_reports_for_accounts.rb
20170423005413_add_allowed_languages_to_user.rb
20170424003227_create_account_domain_blocks.rb Account domain blocks (#2381) 2017-05-19 01:14:30 +02:00
20170424112722_add_status_id_index_to_statuses_tags.rb
20170425131920_add_media_attachment_meta.rb
20170425202925_add_oembed_to_preview_cards.rb
20170427011934_re_add_owner_to_application.rb
20170506235850_create_conversations.rb
20170507000211_add_conversation_id_to_statuses.rb
20170507141759_optimize_index_subscriptions.rb
20170508230434_create_conversation_mutes.rb
20170516072309_add_index_accounts_on_uri.rb
20170520145338_change_language_filter_to_opt_out.rb
20170601210557_add_index_on_media_attachments_account_id.rb
20170604144747_add_foreign_keys_for_accounts.rb
20170606113804_change_tag_search_index_to_btree.rb
20170609145826_remove_default_language_from_statuses.rb
20170610000000_add_statuses_index_on_account_id_id.rb
20170623152212_create_session_activations.rb
20170624134742_add_description_to_session_activations.rb
20170625140443_add_access_token_id_to_session_activations.rb
20170711225116_fix_null_booleans.rb
20170713112503_make_tag_search_case_insensitive.rb
20170713175513_create_web_push_subscriptions.rb
20170713190709_add_web_push_subscription_to_session_activations.rb
20170714184731_add_domain_to_subscriptions.rb
20170716191202_add_hide_notifications_to_mute.rb
20170718211102_add_activitypub_to_accounts.rb
20170720000000_add_index_favourites_on_account_id_and_id.rb
20170823162448_create_status_pins.rb
20170824103029_add_timestamps_to_status_pins.rb
20170829215220_remove_status_pins_account_index.rb
20170901141119_truncate_preview_cards.rb
20170901142658_create_join_table_preview_cards_statuses.rb
20170905044538_add_index_id_account_id_activity_type_on_notifications.rb
20170905165803_add_local_to_statuses.rb
20170913000752_create_site_uploads.rb
20170917153509_create_custom_emojis.rb
20170918125918_ids_to_bigints.rb Fix interactive delays in database migrations with no TTY (#12969) 2020-01-27 11:04:42 +01:00
20170920024819_status_ids_to_timestamp_ids.rb Use more robust hook for loading timestamp_id function into database (#15919) 2021-03-19 02:43:13 +01:00
20170920032311_fix_reblogs_in_feeds.rb
20170924022025_ids_to_bigints2.rb
20170927215609_add_description_to_media_attachments.rb
20170928082043_create_email_domain_blocks.rb
20171005102658_create_account_moderation_notes.rb
20171005171936_add_disabled_to_custom_emojis.rb
20171006142024_add_uri_to_custom_emojis.rb
20171010023049_add_foreign_key_to_account_moderation_notes.rb
20171010025614_change_accounts_nonnullable_in_account_moderation_notes.rb
20171020084748_add_visible_in_picker_to_custom_emoji.rb
20171028221157_add_reblogs_to_follows.rb
20171107143332_add_memorial_to_accounts.rb
20171107143624_add_disabled_to_users.rb
20171109012327_add_moderator_to_accounts.rb
20171114080328_add_index_domain_to_email_domain_blocks.rb
20171114231651_create_lists.rb
20171116161857_create_list_accounts.rb
20171118012443_add_moved_to_account_id_to_accounts.rb
20171119172437_create_admin_action_logs.rb Further preparation for Rails 6 (#15916) 2021-03-19 02:45:34 +01:00
20171122120436_add_index_account_and_reblog_of_id_to_statuses.rb
20171125024930_create_invites.rb
20171125031751_add_invite_id_to_users.rb
20171125185353_add_index_reblog_of_id_and_account_to_statuses.rb Merge indexes for reblog on statuses table (#5831) 2017-11-27 20:22:27 +01:00
20171125190735_remove_old_reblog_index_on_statuses.rb
20171129172043_add_index_on_stream_entries.rb Use disable_ddl_transaction! to prevent warnings on migration (#6183) 2018-01-04 19:38:29 +01:00
20171130000000_add_embed_url_to_preview_cards.rb Prepare Mastodon for zeitwerk autoloader (#15917) 2021-03-19 02:42:43 +01:00
20171201000000_change_account_id_nonnullable_in_lists.rb
20171212195226_remove_duplicate_indexes_in_lists.rb
20171226094803_more_faster_index_on_notifications.rb
20180106000232_add_index_on_statuses_for_api_v1_accounts_account_id_statuses.rb
20180109143959_add_remember_token_to_users.rb pam authentication (#5303) 2018-02-02 10:18:55 +01:00
20180204034416_create_identities.rb
20180206000000_change_user_id_nonnullable.rb
20180211015820_create_backups.rb
20180304013859_add_featured_collection_url_to_accounts.rb Prepare Mastodon for zeitwerk autoloader (#15917) 2021-03-19 02:42:43 +01:00
20180310000000_change_columns_in_notifications_nonnullable.rb
20180402031200_add_assigned_account_id_to_reports.rb
20180402040909_create_report_notes.rb
20180410204633_add_fields_to_accounts.rb
20180416210259_add_uri_to_relationships.rb
20180506221944_add_actor_type_to_accounts.rb
20180510214435_add_access_token_id_to_web_push_subscriptions.rb
20180510230049_migrate_web_push_subscriptions.rb
20180514130000_improve_index_on_statuses_for_api_v1_accounts_account_id_statuses.rb
20180514140000_revert_index_change_on_statuses_for_api_v1_accounts_account_id_statuses.rb
20180528141303_fix_accounts_unique_index.rb Further preparation for Rails 6 (#15916) 2021-03-19 02:45:34 +01:00
20180608213548_reject_following_blocked_users.rb
20180609104432_migrate_web_push_subscriptions2.rb Migrate old web push subscriptions to ensure deliveries (#7764) 2018-06-09 13:33:04 +02:00
20180615122121_add_autofollow_to_invites.rb
20180616192031_add_chosen_languages_to_users.rb
20180617162849_remove_unused_indexes.rb
20180628181026_create_custom_filters.rb
20180707154237_add_whole_word_to_custom_filter.rb
20180711152640_create_relays.rb
20180808175627_create_account_pins.rb
20180812123222_change_relays_enabled.rb
20180812162710_create_status_stats.rb
20180812173710_copy_status_stats.rb
20180814171349_add_confidential_to_doorkeeper_application.rb
20180820232245_add_foreign_key_indices.rb
20180831171112_create_bookmarks.rb Add bookmarks (#7107) 2019-11-13 23:02:10 +01:00
20180929222014_create_account_conversations.rb
20181007025445_create_pghero_space_stats.rb
20181010141500_add_silent_to_mentions.rb
20181017170937_add_reject_reports_to_domain_blocks.rb
20181018205649_add_unread_to_account_conversations.rb
20181024224956_migrate_account_conversations.rb Further preparation for Rails 6 (#15916) 2021-03-19 02:45:34 +01:00
20181026034033_remove_faux_remote_account_duplicates.rb
20181116165755_create_account_stats.rb
20181116173541_copy_account_stats.rb Fix slow fallback of CopyAccountStats migration setting stats to 0 (#9930) 2019-01-28 04:18:35 +01:00
20181127130500_identity_id_to_bigint.rb
20181127165847_add_show_replies_to_lists.rb Add configuration option to filter replies in lists (#9205) 2020-09-01 13:31:28 +02:00
20181203003808_create_accounts_tags_join_table.rb
20181203021853_add_discoverable_to_accounts.rb
20181204193439_add_last_status_at_to_account_stats.rb
20181204215309_create_account_tag_stats.rb
20181207011115_downcase_custom_emoji_domains.rb Further preparation for Rails 6 (#15916) 2021-03-19 02:45:34 +01:00
20181213184704_create_account_warnings.rb
20181213185533_create_account_warning_presets.rb
20181219235220_add_created_by_application_id_to_users.rb
20181226021420_add_also_known_as_to_accounts.rb
20190103124649_create_scheduled_statuses.rb
20190103124754_add_scheduled_status_id_to_media_attachments.rb Fix migrations failing due to strong-migrations update (#13680) 2020-05-08 20:23:16 +02:00
20190117114553_create_tombstones.rb
20190201012802_add_overwrite_to_imports.rb Add option to overwrite imported data (#9962) 2019-02-03 03:59:51 +01:00
20190203180359_create_featured_tags.rb
20190225031541_create_polls.rb Add polls (#10111) 2019-03-03 22:18:23 +01:00
20190225031625_create_poll_votes.rb
20190226003449_add_poll_id_to_statuses.rb
20190304152020_add_uri_to_poll_votes.rb
20190306145741_add_lock_version_to_polls.rb
20190307234537_add_approved_to_users.rb
20190314181829_migrate_open_registrations_setting.rb Migrate existing open_registrations setting to the new registrations_mode (#10269) 2019-03-14 20:10:43 +01:00
20190316190352_create_account_identity_proofs.rb
20190317135723_add_uri_to_reports.rb
20190403141604_add_comment_to_invites.rb
20190409054914_create_user_invite_requests.rb
20190420025523_add_blurhash_to_media_attachments.rb
20190509164208_add_by_moderator_to_tombstone.rb
20190511134027_add_silenced_at_suspended_at_to_accounts.rb
20190529143559_preserve_old_layout_for_existing_users.rb
20190627222225_create_custom_emoji_categories.rb
20190627222826_add_category_id_to_custom_emojis.rb
20190701022101_add_trust_level_to_accounts.rb
20190705002136_create_domain_allows.rb
20190715164535_add_instance_actor.rb
20190726175042_add_case_insensitive_index_to_tags.rb Fix migration script not being able to run if it fails midway (#16312) 2021-06-02 19:15:17 +02:00
20190729185330_add_score_to_tags.rb
20190805123746_add_capabilities_to_tags.rb
20190807135426_add_comments_to_domain_blocks.rb Add domain block notes (#11515) 2019-08-07 20:20:23 +02:00
20190815225426_add_last_status_at_to_tags.rb
20190819134503_add_deleted_at_to_statuses.rb
20190820003045_update_statuses_index.rb Add soft delete for statuses for instant deletes through API (#11623) 2019-08-22 21:55:56 +02:00
20190823221802_add_local_index_to_statuses.rb
20190901035623_add_max_score_to_tags.rb
20190904222339_create_markers.rb
20190914202517_create_account_migrations.rb
20190915194355_create_account_aliases.rb Add account migration UI (#11846) 2019-09-19 20:58:19 +02:00
20190917213523_add_remember_token_index.rb Add users remember_token index (#11881) 2019-09-18 10:58:08 +02:00
20190927232842_add_voters_count_to_polls.rb
20191001213028_add_lock_version_to_account_stats.rb
20191007013357_update_pt_locales.rb
20191031163205_change_list_account_follow_nullable.rb
20191212003415_increase_backup_size.rb
20191212163405_add_hide_collections_to_accounts.rb
20191218153258_create_announcements.rb Add announcements (#12662) 2020-01-23 22:00:13 +01:00
20200113125135_create_announcement_mutes.rb
20200114113335_create_announcement_reactions.rb Add announcements (#12662) 2020-01-23 22:00:13 +01:00
20200119112504_add_public_index_to_statuses.rb
20200126203551_add_published_at_to_announcements.rb
20200306035625_add_processing_to_media_attachments.rb
20200309150742_add_forwarded_to_reports.rb Add indication to admin UI of whether a report has been forwarded (#13237) 2020-12-15 04:30:15 +01:00
20200312144258_add_title_to_account_warning_presets.rb
20200312162302_add_status_ids_to_announcements.rb Fix PostgreSQL load when linking in announcements (#13250) 2020-04-05 12:51:22 +02:00
20200312185443_add_parent_id_to_email_domain_blocks.rb
20200317021758_add_expires_at_to_mutes.rb Add duration parameter to muting. (#13831) 2020-10-13 01:01:14 +02:00
20200407201300_create_unavailable_domains.rb
20200407202420_migrate_unavailable_inboxes.rb Fix migration 20200407202420_migrate_unavailable_inboxes (#13481) 2020-04-16 08:03:24 +02:00
20200417125749_add_storage_schema_version.rb
20200508212852_reset_unique_jobs_locks.rb Change references to tootsuite/mastodon to mastodon/mastodon (#16491) 2021-07-13 15:46:20 +02:00
20200510110808_reset_web_app_secret.rb
20200510181721_remove_duplicated_indexes_pghero.rb Fix RemoveDuplicatedIndexesPghero to check for the existence of the index (#14259) 2020-07-08 09:23:23 +02:00
20200516180352_create_devices.rb
20200516183822_create_one_time_keys.rb
20200518083523_create_encrypted_messages.rb
20200521180606_encrypted_message_ids_to_timestamp_ids.rb
20200529214050_add_devices_url_to_accounts.rb Prepare Mastodon for zeitwerk autoloader (#15917) 2021-03-19 02:42:43 +01:00
20200601222558_create_system_keys.rb
20200605155027_add_blurhash_to_preview_cards.rb Add blurhash to preview cards (#13984) 2020-06-05 23:10:41 +02:00
20200608113046_add_sign_in_token_to_users.rb Add e-mail-based sign in challenge for users with disabled 2FA (#14013) 2020-06-09 10:23:06 +02:00
20200614002136_add_sensitized_to_accounts.rb Add account sensitized (#14361) 2020-11-04 20:45:01 +01:00
20200620164023_add_fixed_lowercase_index_to_accounts.rb Fix migration script not being able to run if it fails midway (#16312) 2021-06-02 19:15:17 +02:00
20200622213645_media_attachment_ids_to_timestamp_ids.rb Fix media attachments enumeration (#14254) 2020-07-07 15:26:51 +02:00
20200627125810_add_thumbnail_columns_to_media_attachments.rb Add customizable thumbnails for audio and video attachments (#14145) 2020-06-29 13:56:55 +02:00
20200628133322_create_account_notes.rb Add user notes on accounts (#14148) 2020-06-30 19:19:50 +02:00
20200630190240_create_webauthn_credentials.rb Add WebAuthn as an alternative 2FA method (#14466) 2020-08-24 16:46:27 +02:00
20200630190544_add_webauthn_id_to_users.rb Add WebAuthn as an alternative 2FA method (#14466) 2020-08-24 16:46:27 +02:00
20200908193330_create_account_deletion_requests.rb Change account suspensions to be reversible by default (#14726) 2020-09-15 14:37:58 +02:00
20200917192924_add_notify_to_follows.rb Add option to be notified when a followed user posts (#13546) 2020-09-18 17:26:45 +02:00
20200917193034_add_type_to_notifications.rb Add option to be notified when a followed user posts (#13546) 2020-09-18 17:26:45 +02:00
20200917222316_add_index_notifications_on_type.rb Add option to be notified when a followed user posts (#13546) 2020-09-18 17:26:45 +02:00
20201008202037_create_ip_blocks.rb Add IP-based rules (#14963) 2020-10-12 16:33:49 +02:00
20201008220312_add_sign_up_ip_to_users.rb Add IP-based rules (#14963) 2020-10-12 16:33:49 +02:00
20201017233919_add_suspension_origin_to_accounts.rb Add support for reversible suspensions through ActivityPub (#14989) 2020-11-08 00:28:39 +01:00
20201206004238_create_instances.rb Fix performance on instances list in admin UI (#15282) 2020-12-14 09:06:34 +01:00
20201218054746_add_obfuscate_to_domain_blocks.rb Add option to obfuscate domain name in public list of domain blocks (#15355) 2020-12-18 08:30:41 +01:00
20210221045109_create_rules.rb Add server rules (#15769) 2021-02-21 19:50:12 +01:00
20210306164523_account_ids_to_timestamp_ids.rb Change account ids to snowflake ids (#15844) 2021-04-15 05:24:28 +02:00
20210322164601_create_account_summaries.rb Do not populate AccountSummaries and FollowRecommendation views on migration (#16173) 2021-05-07 18:14:29 +02:00
20210323114347_create_follow_recommendations.rb Add cold-start follow recommendations (#15945) 2021-04-12 12:37:14 +02:00
20210324171613_create_follow_recommendation_suppressions.rb Add cold-start follow recommendations (#15945) 2021-04-12 12:37:14 +02:00
20210416200740_create_canonical_email_blocks.rb Fix missing on_delete: :cascade for canonical_email_blocks foreign key (#16448) 2021-06-30 06:13:55 +02:00
20210421121431_add_case_insensitive_btree_index_to_tags.rb Fix migration script not being able to run if it fails midway (#16312) 2021-06-02 19:15:17 +02:00
20210425135952_add_index_on_media_attachments_account_id_status_id.rb Further improve the media attached status query for accounts (#16106) 2021-04-26 18:57:46 +02:00
20210505174616_update_follow_recommendations_to_version_2.rb Do not populate AccountSummaries and FollowRecommendation views on migration (#16173) 2021-05-07 18:14:29 +02:00
20210609202149_create_login_activities.rb Add authentication history (#16408) 2021-06-21 17:07:30 +02:00
20210621221010_add_skip_sign_in_token_to_users.rb Add ability to skip sign-in token authentication for specific users (#16427) 2021-07-08 05:31:28 +02:00
20210630000137_fix_canonical_email_blocks_foreign_key.rb Fix missing on_delete: :cascade for canonical_email_blocks foreign key (#16448) 2021-06-30 06:13:55 +02:00
20210722120340_create_account_statuses_cleanup_policies.rb Add feature to automatically delete old toots (#16529) 2021-08-09 23:11:50 +02:00