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
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) 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
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 Remove unneeded indices, improve error handling in background workers, don't needlessly reload reblogged status, send Devise e-mails asynchronously 2016-11-22 17:32:51 +01:00
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 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
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
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
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 Add conversation model, <ostatus:conversation /> (#3016) 2017-05-12 19:09:21 +02:00
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
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
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 Feature: Unlisted custom emojis (#5485) 2017-10-27 16:11:30 +02:00
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 add index on statuses for /api/v1/accounts/:account_id/statuses (#6202) 2018-01-09 15:00:19 +01:00
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 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 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 Fix index detection a migration to revert index change (#8026) 2018-07-15 14:56:00 +02:00
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 Migration to cleanup blocked users that are still following (#7773) 2018-06-10 00:38:17 +02:00
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 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
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 Track historical space stats in PgHero to determine PostgreSQL growth (#8906) 2018-10-09 19:35:14 +02:00
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
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
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 Add polls (#10111) 2019-03-03 22:18:23 +01:00
20190304152020_add_uri_to_poll_votes.rb
20190306145741_add_lock_version_to_polls.rb
20190307234537_add_approved_to_users.rb Admission-based registrations mode (#10250) 2019-03-14 05:28:30 +01:00
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 Record account suspend/silence time and keep track of domain blocks (#10660) 2019-05-14 19:05:02 +02:00
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 Add more accurate hashtag search (#11579) 2019-08-18 03:45:51 +02:00
20190819134503_add_deleted_at_to_statuses.rb Add soft delete for statuses for instant deletes through API (#11623) 2019-08-22 21:55:56 +02:00
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
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
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 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 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
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
20200516180352_create_devices.rb
20200516183822_create_one_time_keys.rb
20200518083523_create_encrypted_messages.rb
20200521180606_encrypted_message_ids_to_timestamp_ids.rb Add E2EE API (#13820) 2020-06-02 19:24:53 +02:00
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
20200608113046_add_sign_in_token_to_users.rb
20200614002136_add_sensitized_to_accounts.rb
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
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
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
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
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