mastodon/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 Add migration versions (#3574) 2017-06-05 02:43:02 +02:00
20160220211917_create_statuses.rb
20160221003140_create_users.rb
20160221003621_create_follows.rb Add migration versions (#3574) 2017-06-05 02:43:02 +02:00
20160222122600_create_stream_entries.rb
20160222143943_add_profile_fields_to_accounts.rb
20160223162837_add_metadata_to_statuses.rb Add migration versions (#3574) 2017-06-05 02:43:02 +02:00
20160223164502_make_uris_nullable_in_statuses.rb
20160223165723_add_url_to_statuses.rb
20160223165855_add_url_to_accounts.rb
20160223171800_create_favourites.rb
20160224223247_create_mentions.rb
20160227230233_add_attachment_avatar_to_accounts.rb
20160305115639_add_devise_to_users.rb Add migration versions (#3574) 2017-06-05 02:43:02 +02:00
20160306172223_create_doorkeeper_tables.rb
20160312193225_add_attachment_header_to_accounts.rb
20160314164231_add_owner_to_application.rb
20160316103650_add_missing_indices.rb
20160322193748_add_avatar_remote_url_to_accounts.rb
20160325130944_add_admin_to_users.rb
20160826155805_add_superapp_to_oauth_applications.rb The frontend will now be an OAuth app, auto-authorized. The frontend will use an access token for API requests 2016-08-26 19:12:19 +02:00
20160905150353_create_media_attachments.rb
20160919221059_add_subscription_expires_at_to_accounts.rb Separate PuSH subscriptions from following, add mastodon:push:refresh task, 2016-09-20 00:43:36 +02:00
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
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 Add user locale setting 2016-11-16 17:56:31 +01:00
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 Per-status control for unlisted mode, also federation for unlisted mode 2016-11-30 21:34:59 +01:00
20161202132159_add_in_reply_to_account_id_to_statuses.rb
20161203164520_add_from_account_id_to_notifications.rb Keep timelines in the UI trimmed when possible 2016-12-03 21:04:57 +01:00
20161205214545_add_suspended_to_accounts.rb Add account suspension 2016-12-05 22:59:30 +01:00
20161221152630_add_hidden_to_stream_entries.rb Private visibility on statuses prevents non-followers from seeing those 2016-12-21 20:04:13 +01:00
20161222201034_add_locked_to_accounts.rb
20161222204147_create_follow_requests.rb
20170105224407_add_shortcode_to_media_attachments.rb
20170109120109_create_web_settings.rb Persist UI settings, add missing localizations for German 2017-01-09 14:00:55 +01:00
20170112154826_migrate_settings.rb Add migration versions (#3574) 2017-06-05 02:43:02 +02:00
20170114194937_add_application_to_statuses.rb
20170114203041_add_website_to_oauth_application.rb Add tracking of OAuth app that posted a status, extend OAuth apps to have optional website field, add application details to API, show application name and website on detailed status views. Resolves #11 2017-01-15 08:58:50 +11:00
20170119214911_create_preview_cards.rb
20170123162658_add_severity_to_domain_blocks.rb Domain blocks now have varying severity - auto-suspend vs auto-silence 2017-01-23 17:38:38 +01:00
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 Add E2EE API (#13820) 2020-06-02 19:24:53 +02:00
20170209184350_add_reply_to_statuses.rb
20170214110202_create_reports.rb Adding POST /api/v1/reports API, and a UI for submitting reports 2017-02-14 20:59:26 +01:00
20170217012631_add_reblog_of_id_foreign_key_to_statuses.rb
20170301222600_create_mutes.rb Feature conversations muting (#3017) 2017-05-15 03:04:13 +02:00
20170303212857_add_last_emailed_at_to_users.rb
20170304202101_add_type_to_media_attachments.rb
20170317193015_add_search_index_to_accounts.rb Make account search blazing fast and rank followers/followees higher in the results 2017-03-17 20:48:14 +01:00
20170318214217_add_header_remote_url_to_accounts.rb
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 Import feature for following/blocking lists (addresses #62, #177, #201, #454) 2017-03-30 19:42:33 +02:00
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 Add language detection (#1772) 2017-04-16 20:32:17 +02:00
20170418160728_add_indexes_to_reports_for_accounts.rb
20170423005413_add_allowed_languages_to_user.rb
20170424003227_create_account_domain_blocks.rb
20170424112722_add_status_id_index_to_statuses_tags.rb
20170425131920_add_media_attachment_meta.rb
20170425202925_add_oembed_to_preview_cards.rb OEmbed support for PreviewCard (#2337) 2017-04-27 14:42:22 +02:00
20170427011934_re_add_owner_to_application.rb
20170506235850_create_conversations.rb
20170507000211_add_conversation_id_to_statuses.rb Add conversation model, <ostatus:conversation /> (#3016) 2017-05-12 19:09:21 +02:00
20170507141759_optimize_index_subscriptions.rb
20170508230434_create_conversation_mutes.rb
20170516072309_add_index_accounts_on_uri.rb Make faster ProcessFeedService (#3080) 2017-05-16 12:12:29 +02:00
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 Fix old migrations failing because of strong_migrations update (#12692) 2019-12-29 05:39:08 +01:00
20170713112503_make_tag_search_case_insensitive.rb
20170713175513_create_web_push_subscriptions.rb Web Push Notifications (#3243) 2017-07-13 22:15:32 +02:00
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 Add ActivityPub attributes to accounts (#4273) 2017-07-19 17:06:46 +02:00
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 Remove unneccesary indices (#4738) 2017-08-30 05:04:20 +02:00
20170901141119_truncate_preview_cards.rb Make PreviewCard records reuseable between statuses (#4642) 2017-09-01 16:20:16 +02:00
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 Add ability to specify alternative text for media attachments (#5123) 2017-09-28 15:31:31 +02:00
20170928082043_create_email_domain_blocks.rb Implement EmailBlackList (#5109) 2017-10-04 15:16:10 +02:00
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
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
20171125190735_remove_old_reblog_index_on_statuses.rb Merge indexes for reblog on statuses table (#5831) 2017-11-27 20:22:27 +01:00
20171129172043_add_index_on_stream_entries.rb
20171130000000_add_embed_url_to_preview_cards.rb
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
20180204034416_create_identities.rb
20180206000000_change_user_id_nonnullable.rb
20180211015820_create_backups.rb
20180304013859_add_featured_collection_url_to_accounts.rb
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 Add REST API for Web Push Notifications subscriptions (#7445) 2018-05-11 11:49:12 +02:00
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
20180615122121_add_autofollow_to_invites.rb
20180616192031_add_chosen_languages_to_users.rb
20180617162849_remove_unused_indexes.rb Remove unused indexes (#7829) 2018-06-17 18:49:35 +02:00
20180628181026_create_custom_filters.rb Keyword/phrase filtering (#7905) 2018-06-29 15:34:36 +02:00
20180707154237_add_whole_word_to_custom_filter.rb
20180711152640_create_relays.rb
20180808175627_create_account_pins.rb Public profile endorsements (accounts picked by profile owner) (#8146) 2018-08-09 09:56:53 +02:00
20180812123222_change_relays_enabled.rb
20180812162710_create_status_stats.rb Move status counters to separate table, count replies (#8104) 2018-08-14 19:19:32 +02:00
20180812173710_copy_status_stats.rb
20180814171349_add_confidential_to_doorkeeper_application.rb
20180820232245_add_foreign_key_indices.rb Add missing indices for ON DELETE CASCADE constraints (#8332) 2018-08-21 20:11:34 +02:00
20180831171112_create_bookmarks.rb
20180929222014_create_account_conversations.rb
20181007025445_create_pghero_space_stats.rb
20181010141500_add_silent_to_mentions.rb Improve support for aspects/circles (#8950) 2018-10-17 17:13:04 +02:00
20181017170937_add_reject_reports_to_domain_blocks.rb
20181018205649_add_unread_to_account_conversations.rb Add unread indicator to conversations (#9009) 2018-10-19 01:47:29 +02:00
20181024224956_migrate_account_conversations.rb
20181026034033_remove_faux_remote_account_duplicates.rb Add locality check to ActivityPub::FetchRemoteAccountService (#9109) 2018-10-26 23:08:34 +02:00
20181116165755_create_account_stats.rb
20181116173541_copy_account_stats.rb
20181127130500_identity_id_to_bigint.rb
20181127165847_add_show_replies_to_lists.rb
20181203003808_create_accounts_tags_join_table.rb
20181203021853_add_discoverable_to_accounts.rb Add profile directory (#9427) 2018-12-06 17:36:11 +01:00
20181204193439_add_last_status_at_to_account_stats.rb
20181204215309_create_account_tag_stats.rb
20181207011115_downcase_custom_emoji_domains.rb
20181213184704_create_account_warnings.rb Add moderation warnings (#9519) 2018-12-22 20:02:09 +01:00
20181213185533_create_account_warning_presets.rb Add moderation warnings (#9519) 2018-12-22 20:02:09 +01:00
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
20190117114553_create_tombstones.rb
20190201012802_add_overwrite_to_imports.rb
20190203180359_create_featured_tags.rb
20190225031541_create_polls.rb
20190225031625_create_poll_votes.rb
20190226003449_add_poll_id_to_statuses.rb
20190304152020_add_uri_to_poll_votes.rb Store remote votes URI (#10158) 2019-03-04 22:51:23 +01:00
20190306145741_add_lock_version_to_polls.rb Fix AddLockVersionToPolls migration (#10200) 2019-03-07 01:50:06 +01:00
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 Set and store report URIs (#10303) 2019-03-17 15:34:56 +01:00
20190403141604_add_comment_to_invites.rb
20190409054914_create_user_invite_requests.rb
20190420025523_add_blurhash_to_media_attachments.rb Add blurhash (#10630) 2019-04-27 03:24:09 +02:00
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 Add whitelist mode (#11291) 2019-07-30 11:10:46 +02:00
20190715164535_add_instance_actor.rb
20190726175042_add_case_insensitive_index_to_tags.rb
20190729185330_add_score_to_tags.rb
20190805123746_add_capabilities_to_tags.rb
20190807135426_add_comments_to_domain_blocks.rb
20190815225426_add_last_status_at_to_tags.rb
20190819134503_add_deleted_at_to_statuses.rb
20190820003045_update_statuses_index.rb
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
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 Fix unsafe column type change in migration (#12653) 2019-12-18 19:04:43 +01:00
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 Add announcements (#12662) 2020-01-23 22:00:13 +01:00
20200114113335_create_announcement_reactions.rb Add announcements (#12662) 2020-01-23 22:00:13 +01:00
20200119112504_add_public_index_to_statuses.rb Fix slow query of federated timeline (#12886) 2020-01-21 18:56:34 +01:00
20200126203551_add_published_at_to_announcements.rb
20200306035625_add_processing_to_media_attachments.rb
20200309150742_add_forwarded_to_reports.rb
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
20200407201300_create_unavailable_domains.rb Change delivery failure tracking to work with hostnames instead of URLs (#13437) 2020-04-15 20:33:24 +02:00
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 Add E2EE API (#13820) 2020-06-02 19:24:53 +02:00
20200516183822_create_one_time_keys.rb Add E2EE API (#13820) 2020-06-02 19:24:53 +02:00
20200518083523_create_encrypted_messages.rb
20200521180606_encrypted_message_ids_to_timestamp_ids.rb
20200529214050_add_devices_url_to_accounts.rb
20200601222558_create_system_keys.rb Add E2EE API (#13820) 2020-06-02 19:24:53 +02:00
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
20200614002136_add_sensitized_to_accounts.rb
20200620164023_add_fixed_lowercase_index_to_accounts.rb
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
20200628133322_create_account_notes.rb
20200630190240_create_webauthn_credentials.rb
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
20200917192924_add_notify_to_follows.rb
20200917193034_add_type_to_notifications.rb
20200917222316_add_index_notifications_on_type.rb
20201008202037_create_ip_blocks.rb
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
20201206004238_create_instances.rb
20201218054746_add_obfuscate_to_domain_blocks.rb
20210221045109_create_rules.rb
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
20210323114347_create_follow_recommendations.rb
20210324171613_create_follow_recommendation_suppressions.rb
20210416200740_create_canonical_email_blocks.rb
20210421121431_add_case_insensitive_btree_index_to_tags.rb
20210425135952_add_index_on_media_attachments_account_id_status_id.rb
20210505174616_update_follow_recommendations_to_version_2.rb
20210609202149_create_login_activities.rb
20210621221010_add_skip_sign_in_token_to_users.rb
20210630000137_fix_canonical_email_blocks_foreign_key.rb
20210722120340_create_account_statuses_cleanup_policies.rb