Skip to content

Geo: Create separate models for different registries

Toon Claes requested to merge geo-split-file-registry into master

What does this MR do?

One day Geo::FileRegistry will be split up in separate table. This change already defines separate models. So the code can operate like they are separate tables, using a bit of hackery STI.

Technical details

This, in fact, generates identical SQL queries:

expect(described_class.all.to_sql).to eq(Geo::FileRegistry.attachments.to_sql)

That succeeds and generates:

SELECT "file_registry".*
FROM "file_registry"
WHERE "file_registry"."file_type" IN ('attachment',
                                      'avatar',
                                      'file',
                                      'import_export',
                                      'namespace_file',
                                      'personal_file',
                                      'favicon')

So I don't see any downsides on adding these models.

What are the relevant issue numbers?

Path towards: https://gitlab.com/gitlab-org/gitlab-ee/issues/10067

Does this MR meet the acceptance criteria?

Edited by Toon Claes

Merge request reports