You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
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
4 years ago
..
20160220174730_create_accounts.rb
20160220211917_create_statuses.rb
20160221003140_create_users.rb
20160221003621_create_follows.rb
20160222122600_create_stream_entries.rb
20160222143943_add_profile_fields_to_accounts.rb
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) 4 years ago
20160223165855_add_url_to_accounts.rb Prepare Mastodon for zeitwerk autoloader (#15917) 4 years ago
20160223171800_create_favourites.rb
20160224223247_create_mentions.rb
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
20160316103650_add_missing_indices.rb
20160322193748_add_avatar_remote_url_to_accounts.rb Prepare Mastodon for zeitwerk autoloader (#15917) 4 years ago
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) 4 years ago
20161009120834_create_domain_blocks.rb
20161027172456_add_silenced_to_accounts.rb
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 Fix older migrations not working due to new default scope (#11983) 6 years ago
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
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 Add E2EE API (#13820) 5 years ago
20170209184350_add_reply_to_statuses.rb Fix older migrations not working due to new default scope (#11983) 6 years ago
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) 4 years ago
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
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
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 Fix old migrations failing because of strong_migrations update (#12692) 5 years ago
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) 5 years ago
20170920024819_status_ids_to_timestamp_ids.rb Use more robust hook for loading timestamp_id function into database (#15919) 4 years ago
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 Fix old migrations failing because of strong_migrations update (#12692) 5 years ago
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) 4 years ago
20171122120436_add_index_account_and_reblog_of_id_to_statuses.rb
20171125024930_create_invites.rb
20171125031751_add_invite_id_to_users.rb Fix migrations failing due to strong-migrations update (#13680) 5 years ago
20171125185353_add_index_reblog_of_id_and_account_to_statuses.rb
20171125190735_remove_old_reblog_index_on_statuses.rb
20171129172043_add_index_on_stream_entries.rb
20171130000000_add_embed_url_to_preview_cards.rb Prepare Mastodon for zeitwerk autoloader (#15917) 4 years ago
20171201000000_change_account_id_nonnullable_in_lists.rb Fix old migrations failing because of strong_migrations update (#12692) 5 years ago
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 Fix old migrations failing because of strong_migrations update (#12787) 5 years ago
20180211015820_create_backups.rb
20180304013859_add_featured_collection_url_to_accounts.rb Prepare Mastodon for zeitwerk autoloader (#15917) 4 years ago
20180310000000_change_columns_in_notifications_nonnullable.rb Fix old migrations failing because of strong_migrations update (#12692) 5 years ago
20180402031200_add_assigned_account_id_to_reports.rb Fix migrations failing due to strong-migrations update (#13680) 5 years ago
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 Fix migrations failing due to strong-migrations update (#13680) 5 years ago
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) 4 years ago
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
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) 6 years ago
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) 4 years ago
20181026034033_remove_faux_remote_account_duplicates.rb
20181116165755_create_account_stats.rb
20181116173541_copy_account_stats.rb
20181127130500_identity_id_to_bigint.rb
20181127165847_add_show_replies_to_lists.rb Add configuration option to filter replies in lists (#9205) 5 years ago
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) 4 years ago
20181213184704_create_account_warnings.rb
20181213185533_create_account_warning_presets.rb
20181219235220_add_created_by_application_id_to_users.rb Fix migrations failing due to strong-migrations update (#13680) 5 years ago
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) 5 years ago
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
20190306145741_add_lock_version_to_polls.rb
20190307234537_add_approved_to_users.rb
20190314181829_migrate_open_registrations_setting.rb
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) 4 years ago
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
20190917213523_add_remember_token_index.rb
20190927232842_add_voters_count_to_polls.rb Add voters count support (#11917) 6 years ago
20191001213028_add_lock_version_to_account_stats.rb Fix account counters being overwritten by parallel writes (#12045) 6 years ago
20191007013357_update_pt_locales.rb Fix existing user records with now-renamed `pt` locale (#12092) 6 years ago
20191031163205_change_list_account_follow_nullable.rb Fix old migrations failing because of strong_migrations update (#12787) 5 years ago
20191212003415_increase_backup_size.rb Fix unsafe column type change in migration (#12653) 5 years ago
20191212163405_add_hide_collections_to_accounts.rb Add federation support for the "hide network" preference (#11673) 5 years ago
20191218153258_create_announcements.rb Add announcements (#12662) 5 years ago
20200113125135_create_announcement_mutes.rb Add announcements (#12662) 5 years ago
20200114113335_create_announcement_reactions.rb Add announcements (#12662) 5 years ago
20200119112504_add_public_index_to_statuses.rb Fix slow query of federated timeline (#12886) 5 years ago
20200126203551_add_published_at_to_announcements.rb Fix expired announcements being re-published (#12964) 5 years ago
20200306035625_add_processing_to_media_attachments.rb Change local media attachments to perform heavy processing asynchronously (#13210) 5 years ago
20200309150742_add_forwarded_to_reports.rb Add indication to admin UI of whether a report has been forwarded (#13237) 4 years ago
20200312144258_add_title_to_account_warning_presets.rb Add titles to warning presets in admin UI (#13252) 5 years ago
20200312162302_add_status_ids_to_announcements.rb Fix PostgreSQL load when linking in announcements (#13250) 5 years ago
20200312185443_add_parent_id_to_email_domain_blocks.rb Fix migrations failing due to strong-migrations update (#13680) 5 years ago
20200317021758_add_expires_at_to_mutes.rb Add duration parameter to muting. (#13831) 5 years ago
20200407201300_create_unavailable_domains.rb Change delivery failure tracking to work with hostnames instead of URLs (#13437) 5 years ago
20200407202420_migrate_unavailable_inboxes.rb Fix migration 20200407202420_migrate_unavailable_inboxes (#13481) 5 years ago
20200417125749_add_storage_schema_version.rb Add separate cache directory for non-local uploads (#12821) 5 years ago
20200508212852_reset_unique_jobs_locks.rb Change references to tootsuite/mastodon to mastodon/mastodon (#16491) 4 years ago
20200510110808_reset_web_app_secret.rb Reset secret of web app that could have been exposed by Doorkeeper (#13688) 5 years ago
20200510181721_remove_duplicated_indexes_pghero.rb Fix RemoveDuplicatedIndexesPghero to check for the existence of the index (#14259) 5 years ago
20200516180352_create_devices.rb Add E2EE API (#13820) 5 years ago
20200516183822_create_one_time_keys.rb Add E2EE API (#13820) 5 years ago
20200518083523_create_encrypted_messages.rb Add E2EE API (#13820) 5 years ago
20200521180606_encrypted_message_ids_to_timestamp_ids.rb Add E2EE API (#13820) 5 years ago
20200529214050_add_devices_url_to_accounts.rb Prepare Mastodon for zeitwerk autoloader (#15917) 4 years ago
20200601222558_create_system_keys.rb Add E2EE API (#13820) 5 years ago
20200605155027_add_blurhash_to_preview_cards.rb Add blurhash to preview cards (#13984) 5 years ago
20200608113046_add_sign_in_token_to_users.rb Add e-mail-based sign in challenge for users with disabled 2FA (#14013) 5 years ago
20200614002136_add_sensitized_to_accounts.rb Add account sensitized (#14361) 5 years ago
20200620164023_add_fixed_lowercase_index_to_accounts.rb Fix migration script not being able to run if it fails midway (#16312) 4 years ago
20200622213645_media_attachment_ids_to_timestamp_ids.rb Fix media attachments enumeration (#14254) 5 years ago
20200627125810_add_thumbnail_columns_to_media_attachments.rb Add customizable thumbnails for audio and video attachments (#14145) 5 years ago
20200628133322_create_account_notes.rb Add user notes on accounts (#14148) 5 years ago
20200630190240_create_webauthn_credentials.rb Add WebAuthn as an alternative 2FA method (#14466) 5 years ago
20200630190544_add_webauthn_id_to_users.rb Add WebAuthn as an alternative 2FA method (#14466) 5 years ago
20200908193330_create_account_deletion_requests.rb Change account suspensions to be reversible by default (#14726) 5 years ago
20200917192924_add_notify_to_follows.rb Add option to be notified when a followed user posts (#13546) 5 years ago
20200917193034_add_type_to_notifications.rb Add option to be notified when a followed user posts (#13546) 5 years ago
20200917222316_add_index_notifications_on_type.rb Add option to be notified when a followed user posts (#13546) 5 years ago
20201008202037_create_ip_blocks.rb Add IP-based rules (#14963) 5 years ago
20201008220312_add_sign_up_ip_to_users.rb Add IP-based rules (#14963) 5 years ago
20201017233919_add_suspension_origin_to_accounts.rb Add support for reversible suspensions through ActivityPub (#14989) 5 years ago
20201206004238_create_instances.rb Fix performance on instances list in admin UI (#15282) 4 years ago
20201218054746_add_obfuscate_to_domain_blocks.rb Add option to obfuscate domain name in public list of domain blocks (#15355) 4 years ago
20210221045109_create_rules.rb Add server rules (#15769) 4 years ago
20210306164523_account_ids_to_timestamp_ids.rb Change account ids to snowflake ids (#15844) 4 years ago
20210322164601_create_account_summaries.rb Do not populate AccountSummaries and FollowRecommendation views on migration (#16173) 4 years ago
20210323114347_create_follow_recommendations.rb Add cold-start follow recommendations (#15945) 4 years ago
20210324171613_create_follow_recommendation_suppressions.rb Add cold-start follow recommendations (#15945) 4 years ago
20210416200740_create_canonical_email_blocks.rb Fix missing on_delete: :cascade for canonical_email_blocks foreign key (#16448) 4 years ago
20210421121431_add_case_insensitive_btree_index_to_tags.rb Fix migration script not being able to run if it fails midway (#16312) 4 years ago
20210425135952_add_index_on_media_attachments_account_id_status_id.rb Further improve the media attached status query for accounts (#16106) 4 years ago
20210505174616_update_follow_recommendations_to_version_2.rb Do not populate AccountSummaries and FollowRecommendation views on migration (#16173) 4 years ago
20210609202149_create_login_activities.rb Add authentication history (#16408) 4 years ago
20210621221010_add_skip_sign_in_token_to_users.rb Add ability to skip sign-in token authentication for specific users (#16427) 4 years ago
20210630000137_fix_canonical_email_blocks_foreign_key.rb Fix missing on_delete: :cascade for canonical_email_blocks foreign key (#16448) 4 years ago
20210722120340_create_account_statuses_cleanup_policies.rb Add feature to automatically delete old toots (#16529) 4 years ago