Skip to content

Add rubocop rule for ignore_column(s) usages

Corinna Gogolok requested to merge 336751_add_rubocop_rule into master

What does this MR do?

Part of #336751 (closed)

Prior to this change, ignore rules for a columns were defined in CE or EE models. But if a model exists in CE and EE, the ignore rule has to be in the CE model due to possible caching issues of the database column. If the model only exists in EE, then it has to be added there.

A new rubocop rule will check for the correct location of the ignore rule.

How to setup and validate locally (strongly suggested)

Example:

  1. Add an ignore rule to an EE model that also has a CE model: e.g. add the following code to ee/app/models/ee/project.rb
ignore_columns :suggestion_commit_message, remove_after: '2021-09-22', remove_with: '14.4'
ignore_column :autoclose_referenced_issues, remove_after: '2021-09-22', remove_with: '14.4'
  1. Run rubocop for the ee model and see the errors. e.g.
bundle exec rubocop `ee/app/models/ee/project.rb` --only Cop/IgnoredColumns

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

Does this MR contain changes to processing or storing of credentials or tokens, authorization and authentication methods or other items described in the security review guidelines? If not, then delete this Security section.

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team
Edited by Corinna Gogolok

Merge request reports