discourse/plugins/chat/db/migrate
Andrei Prigorshnev e83d8fb3e2
FIX: Allow several chat channels to have an empty slug (#25680)
In certain cases, chat channels may have empty slugs, it happens when:

1. The `slug_generation_method` setting is set to `None`
2. `slug_generation_method` is set to `ASCII` and a channel with 
a Unicode name and an empty slug is created (in this case, the code 
that creates channels tries to generate a slug and fallbacks to an empty slug)

At the moment, we have a unique index on the `chat_channels.slug` column 
which leads to errors when creating several channels with empty slugs 
(Discourse is able to create one such channel, but when trying to create 
the second one fails because of the unique constraint). This PR fixes that 
by adding a `where` condition to the index. Slugs still have to be unique, 
but now many channels may have empty slugs.

This fix is similar to the one we made to the category slugs – 7ba914f1e1.
2024-02-15 00:39:39 +04:00
..
20210225230057_create_chat_tables.rb
20210403025854_add_action_code_to_topic_chat_message.rb
20210706214013_rename_topic_chats_to_chat_channels.rb
20210729134042_create_chat_message_revisions.rb
20210730134847_create_user_chat_channel_last_read.rb
20210812145801_create_direct_message_tables.rb
20210813141741_add_timestamps_to_chat_channels.rb
20210819202912_create_incoming_chat_webhooks.rb
20210823160357_create_chat_webhook_events.rb
20210901130308_create_user_chat_channel_membership.rb
20210930144333_add_chat_enabled_to_user_options.rb
20211022151713_create_chat_message_post_connections.rb
20211029145508_add_chat_isolated_to_user_options.rb
20211104141254_add_only_chat_push_notifications_to_user_options.rb
20211119142000_add_cooked_to_chat_messages.rb
20211129171229_create_chat_uploads.rb
20211201171813_create_chat_reactions.rb
20211210191830_create_chat_mentions.rb
20211213150607_add_chat_sound_to_user_options.rb
20211217221026_add_name_to_chat_channel.rb
20211222153716_add_description_to_chat_channels.rb
20220104051326_change_chat_channels_timestamp_columns_to_timestamp_type.rb DEV: Promote historic post_deploy migrations (#19496) 2022-12-19 20:45:37 +02:00
20220119170535_add_chat_retention_fields_to_user_options.rb
20220203204002_create_chat_drafts_table.rb
20220203204003_migrate_drafts_to_chat_drafts.rb
20220218023859_add_status_to_chat_channel.rb
20220228051724_create_chat_channel_archive_table.rb
20220308165620_add_user_count_to_chat_channel.rb
20220309174820_add_last_message_created_at_to_chat_channels.rb
20220321235638_drop_chat_message_post_connections_table.rb DEV: Promote historic post_deploy migrations 2023-07-26 10:36:37 +02:00
20220324062937_ignore_channel_wide_mention_to_user_options.rb
20220328142120_create_user_chat_message_statuses.rb
20220504080457_drop_old_chat_message_post_id_action_code_columns.rb DEV: Promote historic post_deploy migrations 2023-07-26 10:36:37 +02:00
20220516142658_remove_email_statuses_table.rb DEV: Promote historic post_deploy migrations 2023-07-26 10:36:37 +02:00
20220518140004_track_last_unread_mention_when_emailed.rb
20220518180642_remove_user_option_last_emailed_at.rb DEV: Promote historic post_deploy migrations 2023-07-26 10:36:37 +02:00
20220526135414_remove_corrupted_last_read_message_id.rb DEV: Promote historic post_deploy migrations 2023-07-26 10:36:37 +02:00
20220531105951_drop_user_chat_channel_last_reads.rb DEV: Promote historic post_deploy migrations 2023-07-26 10:36:37 +02:00
20220629190633_auto_join_users_to_channels.rb
20220630074200_drop_chat_isolated_from_user_options.rb DEV: Promote historic post_deploy migrations 2023-07-26 10:36:37 +02:00
20220701195731_convert_chatable_topics_to_categories.rb DEV: Promote historic post_deploy migrations 2023-07-26 10:36:37 +02:00
20220706114835_add_join_mode_to_channel_memberships.rb
20220729032237_add_index_to_chat_message_created_at.rb
20220802014549_disable_chat_uploads_if_secure_media_enabled.rb
20220901034107_add_user_count_stale_to_channel.rb
20221004122254_delete_reviewables_targetting_deleted_chat_messages.rb DEV: Promote historic post_deploy migrations 2023-07-26 10:36:37 +02:00
20221005143622_add_type_to_chat_channel.rb
20221014005208_add_slug_column_to_chat_channel.rb
20221018091412_migrate_chat_channels.rb DEV: Promote historic post_deploy migrations 2023-07-26 10:36:37 +02:00
20221027090832_migrate_dm_channels.rb DEV: Promote historic post_deploy migrations 2023-07-26 10:36:37 +02:00
20221101061319_add_last_editor_id_to_chat_messages.rb
20221104054957_backfill_channel_slugs.rb DEV: Promote historic post_deploy migrations 2023-07-26 10:36:37 +02:00
20221107034541_make_chat_editor_ids_not_null.rb FIX: Migrate values before adding a not null constraint. (#18940) 2022-11-08 16:11:03 -03:00
20221117052348_truncate_chat_messages_over_max_length.rb DEV: Promote historic post_deploy migrations 2023-07-26 10:36:37 +02:00
20221117142910_delete_orphaned_channels.rb DEV: Promote historic post_deploy migrations 2023-07-26 10:36:37 +02:00
20221118104708_add_allow_channel_wide_mentions_to_chat_channels.rb FEATURE: channels can allow/disallow @all/@here mentions (#19317) 2022-12-05 17:03:51 +01:00
20221122070108_save_chat_allowed_groups_site_setting.rb DEV: Apply syntax_tree formatting to plugins/* 2023-01-07 11:11:37 +00:00
20221201024458_make_channel_slugs_unique_with_index.rb FIX: Ensure chat channel slug uniqueness at DB level (#19277) 2022-12-02 11:15:43 +10:00
20221201032830_drop_tmp_chat_slug_tables.rb DEV: Promote historic post_deploy migrations 2023-07-26 10:36:37 +02:00
20221201035918_add_slug_unique_index_for_chat_channels.rb FIX: Ensure chat channel slug uniqueness at DB level (#19277) 2022-12-02 11:15:43 +10:00
20221202032006_add_chat_message_count_to_chat_channels.rb DEV: Add messages_count to ChatChannel table (#19295) 2022-12-06 08:40:46 +10:00
20221202043755_update_chat_channel_message_counts.rb DEV: Promote historic post_deploy migrations 2023-07-26 10:36:37 +02:00
20221219082223_add_index_to_chat_messages.rb DEV: Make recent creation of chat index idempotent (#19603) 2022-12-23 10:23:57 +08:00
20230116090324_drop_chat_drafts_over_max_length.rb DEV: Promote historic post_deploy migrations (#25334) 2024-01-19 14:47:42 +00:00
20230123020036_move_chat_uploads_to_upload_references.rb DEV: Use UploadReference instead of ChatUpload in chat (#19947) 2023-01-24 13:28:21 +10:00
20230123025112_move_chat_uploads_to_upload_references_post.rb DEV: Promote historic post_deploy migrations (#25334) 2024-01-19 14:47:42 +00:00
20230130053144_add_threading_enabled_to_chat_channels.rb DEV: Start threading for chat (#20060) 2023-01-31 10:01:47 +10:00
20230201012734_create_chat_threading_models.rb DEV: Add ChatThread model and DB table, and ChatMessage reference (#20106) 2023-02-01 13:50:38 +10:00
20230227172543_make_chat_mention_notification_id_nullable.rb DEV: Promote historic post_deploy migrations (#25334) 2024-01-19 14:47:42 +00:00
20230228062442_add_chat_header_indicator_preference.rb FEATURE: Chat header icon indicator preference (#20474) 2023-03-01 11:01:44 +10:00
20230403012844_drop_chat_uploads.rb DEV: Promote historic post_deploy migrations (#25334) 2024-01-19 14:47:42 +00:00
20230411012630_add_thread_not_deleted_index_chat_messages.rb DEV: Chat thread reply counter cache (#21050) 2023-04-11 15:40:25 +10:00
20230411023246_add_chat_message_replies_count_to_chat_threads.rb DEV: Chat thread reply counter cache (#21050) 2023-04-11 15:40:25 +10:00
20230510142249_add_user_chat_thread_memberships.rb DEV: Create UserChatThreadMembership table and model (#21481) 2023-05-10 17:19:48 +02:00
20230607091233_backfill_thread_memberships.rb FIX: Backfill chat thread memberships (#21971) 2023-06-14 13:54:51 +10:00
20230627044755_add_last_viewed_at_to_user_chat_channel_memberships.rb FEATURE: Track last_viewed_at datetime for channel members (#22294) 2023-06-29 09:22:17 +10:00
20230707025733_add_last_message_id_to_channel_and_thread.rb DEV: Add last_message_id to channel and thread (#22488) 2023-07-13 10:28:11 +10:00
20230707082645_backfill_chat_channel_and_thread_last_message_ids.rb DEV: Add last_message_id to channel and thread (#22488) 2023-07-13 10:28:11 +10:00
20230721025249_remove_experimental_site_setting_for_threads.rb DEV: Remove experimental setting row for chat threads (#22730) 2023-07-27 15:29:28 +02:00
20230722124044_add_chat_separate_sidebar_mode_user_option.rb FEATURE: implements user based sidebar mode (#23078) 2023-08-18 20:33:07 +02:00
20231006160650_add_group_field_to_direct_message_channels.rb FEATURE: introduces group channels (#24288) 2023-11-10 11:29:28 +01:00
20231006161051_set_multiusers_direct_message_channels_as_group.rb FEATURE: introduces group channels (#24288) 2023-11-10 11:29:28 +01:00
20231110214451_adds_thread_id_to_chat_drafts.rb FEATURE: implements drafts for threads (#24483) 2023-11-22 11:54:23 +01:00
20231207135641_add_user_chat_thread_memberships_on_thread_id_user_id_index.rb FEATURE: my threads page (#24771) 2023-12-11 07:38:07 +01:00
20231214180000_add_chat_mention_notifications.rb DEV: Allow chat mentions to have several notifications (#24874) 2023-12-19 18:53:00 +04:00
20231214180001_update_relationship_between_chat_mentions_and_notifications.rb DEV: Allow chat mentions to have several notifications (#24874) 2023-12-19 18:53:00 +04:00
20231227160001_add_type_and_target_id_to_chat_mentions.rb DEV: Redesign chat mentions (#24752) 2024-01-17 15:24:01 +04:00
20231227160002_set_type_and_target_id_on_chat_mentions.rb DEV: Redesign chat mentions (#24752) 2024-01-17 15:24:01 +04:00
20231227160003_add_and_remove_indexes_on_chat_mentions.rb DEV: Redesign chat mentions (#24752) 2024-01-17 15:24:01 +04:00
20240118120825_add_threads_enabled_site_setting.rb FIX: use site setting to show my threads chat footer tab (#25277) 2024-01-23 19:14:46 +08:00
20240214135517_fix_chat_channel_slug_index.rb FIX: Allow several chat channels to have an empty slug (#25680) 2024-02-15 00:39:39 +04:00