• Stan Hu's avatar
    Add a unique and not null constraint on the project_features.project_id column · 3126e89e
    Stan Hu authored
    This commit has two migrations:
    
    1. The first prunes duplicate rows in the project_features table and leaves
       the row with the highest ID.  Since the behavior was indeterministic before
       and depended on which row the database decided to use, this change at least
       makes the permissions consistent. For example, in some cases, the Wiki may
       have been disabled but enabled in another entry.
    
    2. The second adds a non-null constraint on the project_features.project_id
       column.
    
    Closes #37882
    
    Fixes a significant part of gitlab-com/migration#408.
    
    We found that we were overcounting Wikis because of these duplicates.
    On GitLab.com, there are 56 rows with duplicate entries by project_id, and 16,661 rows with NULL project_id values.
    3126e89e
add_unique_constraint_to_project_features_project_id_spec.rb 2.41 KB