TGStat
TGStat
Type to search
Advanced channel search
  • flag English
    Site language
    flag Russian flag English flag Uzbek
  • Sign In
  • Catalog
    Channels and groups catalog Regional compilations Thematic compilations Платные каналы Search for channels
    Add a channel/group
  • Ratings
    Rating of channels Rating of groups Posts rating
    Ratings of brands and people
  • Analytics
  • Search by posts
  • Telegram monitoring
  • Promotion
    Advertising through Yandex Business Advertising in channels through TGStat Agency Advertising on TGStat.ru website
Заметки разработчика

27 Apr, 06:31

Open in Telegram Share Report

Уникальный индекс при мягком удалении: решаем проблему дубликатов

При использовании мягкого удаления стандартный уникальный индекс перестаёт выполнять свою функцию: запись помечена как удалённая, но её данные по-прежнему участвуют в проверке уникальности. Результат — пользователь не может восстановить аккаунт на прежний e-mail.

В новом материале рассмотрены два способа решения этой архитектурной задачи:

✅ Частичные индексы в PostgreSQL — условие WHERE deleted_at IS NULL прямо в определении индекса.
✅ Генерируемые столбцы в MySQL — использование семантики NULL в составном уникальном ключе.

Оба метода разобраны с готовыми миграциями для Laravel и интеграционными тестами. Также затронуты вопросы производительности, восстановления записей и соответствия GDPR.

🖥 Читать статью

📱 @dev_notes_ru

#SoftDelete #Laravel #Eloquent #PostrgeSQL #MySQL

162 0 1 1
Catalog
Channels and groups catalog Channels compilations Search for channels Add a channel/group
Ratings
Rating of Telegram channels Rating of Telegram groups Posts rating Ratings of brands and people
API
API statistics Search API of posts API Callback
Our channels
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Read
Академия TGStat Telegram Research 2019 Telegram Research 2021 Telegram Research 2023
Contacts
Справочный центр Support Email Jobs
Miscellaneous
Terms and conditions Privacy policy Public offer
Our bots
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot