1
0
Fork 0
mirror of https://github.com/mastodon/mastodon.git synced 2024-08-20 21:08:15 -07:00
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
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 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 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
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) 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 Replace logo, fix #57 - delete/unreblog/unfavourite API, fix #45 - app 2016-09-26 23:56:53 +02:00
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
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 Adding embedded PuSH server 2016-11-28 13:36:47 +01:00
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
20161221152630_add_hidden_to_stream_entries.rb
20161222201034_add_locked_to_accounts.rb
20161222204147_create_follow_requests.rb Follow call on locked account creates follow request instead 2016-12-22 23:03:57 +01:00
20170105224407_add_shortcode_to_media_attachments.rb
20170109120109_create_web_settings.rb
20170112154826_migrate_settings.rb
20170114194937_add_application_to_statuses.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
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
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
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 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
20170403172249_add_action_taken_by_account_id_to_reports.rb
20170405112956_add_index_on_mentions_status_id.rb Add index on mentions status_id 2017-04-05 13:32:57 +02:00
20170406215816_add_notifications_and_favourites_indices.rb Low-hanging fruit of query optimization, these indices were missing 2017-04-07 00:04:38 +02:00
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 Add media dimensions (#2448) 2017-04-26 03:48:12 +02:00
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 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
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 Add overview of active sessions (#3929) 2017-06-25 16:54:30 +02:00
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
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 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 Encode custom emojis as resolveable objects in ActivityPub (#5243) 2017-10-07 17:43:42 +02:00
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
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) 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
20180204034416_create_identities.rb CAS + SAML authentication feature (#6425) 2018-02-04 05:42:13 +01:00
20180206000000_change_user_id_nonnullable.rb Fix old migrations failing because of strong_migrations update (#12787) 2020-01-11 05:52:24 +09:00
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 Add bio fields (#6645) 2018-04-14 12:41:08 +02:00
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
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
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
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 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 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
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 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 Add Keybase integration (#10297) 2019-03-18 21:00:55 +01:00
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
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
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
20191212163405_add_hide_collections_to_accounts.rb Add federation support for the "hide network" preference (#11673) 2020-03-09 00:10:29 +01:00
20191218153258_create_announcements.rb
20200113125135_create_announcement_mutes.rb
20200114113335_create_announcement_reactions.rb
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
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
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
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