Add Geo Registry Structure Validation script
What does this MR do and why?
Add Geo Registry Structure Validation script so it's easy for Geo engineers to maintain consistent schemas. This reduces risk of bugs, especially performance bugs.
References
Related to #421972 (closed)
Example output
Click to expand
❯ scripts/geo/registry_structure_check.rb
📖 Extracted requirements from templates:
- Git repository type: 16 fields, 5 indexes
- Blob type: 15 fields, 5 indexes
Validating Geo self-service framework issue templates...
🔍 Checking Geo registry structure...
📋 Found 17 registry tables
🚫 13 data types are quarantined
🔍 Checking ci_secure_file_registry...
⚠️ ci_secure_file_registry has extraneous field: id
⚠️ ci_secure_file_registry has extraneous index: "CREATE INDEX index_ci_secure_file_registry_on_last_synced_at ON ci_secure_file_registry USING btree (last_synced_at);"
⚠️ ci_secure_file_registry has extraneous index: "CREATE INDEX index_ci_secure_file_registry_on_verified_at ON ci_secure_file_registry USING btree (verified_at);"
⚠️ ci_secure_file_registry has extraneous constraint: "id bigint NOT NULL,"
⚠️ ci_secure_file_registry has extraneous constraint: "ci_secure_file_id bigint NOT NULL,"
✅ ci_secure_file_registry checks completed
🚫 Checking quarantined data type: container_repository (container_repository_registry) - issues will be displayed but not cause failure
🔍 Checking container_repository_registry...
⚠️ container_repository_registry has extraneous field: id
⚠️ container_repository_registry has extraneous field: state_for_type_change
🚫 [QUARANTINED] container_repository_registry is missing required index: /CREATE INDEX \w+ ON container_repository_registry USING btree \(verification_retry_at NULLS FIRST\) WHERE \(\(state = 2\) AND \(verification_state = 3\)\);/
🚫 [QUARANTINED] container_repository_registry is missing required index: /CREATE INDEX \w+ ON container_repository_registry USING btree \(verification_state\) WHERE \(\(state = 2\) AND \(verification_state = ANY \(ARRAY\[0, 3\]\)\)\);/
🚫 [QUARANTINED] container_repository_registry is missing required index: /CREATE INDEX \w+ ON container_repository_registry USING btree \(verified_at NULLS FIRST\) WHERE \(\(state = 2\) AND \(verification_state = 0\)\);/
⚠️ container_repository_registry has extraneous index: "CREATE INDEX container_repository_registry_failed_verification ON container_repository_registry USING btree (verification_retry_at NULLS FIRST) WHERE (verification_state = 3);"
⚠️ container_repository_registry has extraneous index: "CREATE INDEX container_repository_registry_needs_verification ON container_repository_registry USING btree (verification_state) WHERE (verification_state = ANY (ARRAY[0, 3]));"
⚠️ container_repository_registry has extraneous index: "CREATE INDEX container_repository_registry_pending_verification ON container_repository_registry USING btree (verified_at NULLS FIRST) WHERE (verification_state = 0);"
⚠️ container_repository_registry has extraneous index: "CREATE INDEX index_container_repository_registry_on_last_synced_at ON container_repository_registry USING btree (last_synced_at);"
⚠️ container_repository_registry has extraneous index: "CREATE INDEX index_container_repository_registry_on_verified_at ON container_repository_registry USING btree (verified_at);"
🚫 [QUARANTINED] container_repository_registry is missing required constraint: /created_at timestamp with time zone NOT NULL/
🚫 [QUARANTINED] container_repository_registry is missing required constraint: /CHECK \(\(char_length\(last_sync_failure\) <= 255\)\)/
⚠️ container_repository_registry has extraneous constraint: "id integer NOT NULL,"
⚠️ container_repository_registry has extraneous constraint: "container_repository_id integer NOT NULL,"
⚠️ container_repository_registry has extraneous constraint: "retry_count integer DEFAULT 0,"
⚠️ container_repository_registry has extraneous constraint: "created_at timestamp without time zone NOT NULL,"
✅ container_repository_registry checks completed
🔍 Checking dependency_proxy_manifest_registry...
⚠️ dependency_proxy_manifest_registry has extraneous field: id
⚠️ dependency_proxy_manifest_registry has extraneous index: "CREATE INDEX index_dependency_proxy_manifest_registry_on_last_synced_at ON dependency_proxy_manifest_registry USING btree (last_synced_at);"
⚠️ dependency_proxy_manifest_registry has extraneous index: "CREATE INDEX index_dependency_proxy_manifest_registry_on_verified_at ON dependency_proxy_manifest_registry USING btree (verified_at);"
⚠️ dependency_proxy_manifest_registry has extraneous constraint: "id bigint NOT NULL,"
⚠️ dependency_proxy_manifest_registry has extraneous constraint: "dependency_proxy_manifest_id bigint NOT NULL,"
✅ dependency_proxy_manifest_registry checks completed
🔍 Checking dependency_proxy_blob_registry...
⚠️ dependency_proxy_blob_registry has extraneous field: id
⚠️ dependency_proxy_blob_registry has extraneous index: "CREATE INDEX index_dependency_proxy_blob_registry_on_last_synced_at ON dependency_proxy_blob_registry USING btree (last_synced_at);"
⚠️ dependency_proxy_blob_registry has extraneous index: "CREATE INDEX index_dependency_proxy_blob_registry_on_verified_at ON dependency_proxy_blob_registry USING btree (verified_at);"
⚠️ dependency_proxy_blob_registry has extraneous constraint: "id bigint NOT NULL,"
⚠️ dependency_proxy_blob_registry has extraneous constraint: "dependency_proxy_blob_id bigint NOT NULL,"
✅ dependency_proxy_blob_registry checks completed
🔍 Checking design_management_repository_registry...
⚠️ design_management_repository_registry has extraneous field: id
⚠️ design_management_repository_registry has extraneous index: "CREATE INDEX index_design_management_repository_registry_on_last_synced_at ON design_management_repository_registry USING btree (last_synced_at);"
⚠️ design_management_repository_registry has extraneous index: "CREATE INDEX index_design_management_repository_registry_on_verified_at ON design_management_repository_registry USING btree (verified_at);"
⚠️ design_management_repository_registry has extraneous constraint: "id bigint NOT NULL,"
⚠️ design_management_repository_registry has extraneous constraint: "design_management_repository_id bigint NOT NULL,"
✅ design_management_repository_registry checks completed
🚫 Checking quarantined data type: file (file_registry) - issues will be displayed but not cause failure
🔍 Checking file_registry...
⚠️ Warning: Replicator file not found: ee/app/replicators/geo/file_replicator.rb, defaulting to blob type
⚠️ file_registry has extraneous field: id
⚠️ file_registry has extraneous field: missing_on_primary
🚫 [QUARANTINED] file_registry is missing required index: /CREATE UNIQUE INDEX \w+ ON file_registry USING btree \(file_id\);/
⚠️ file_registry has extraneous index: "CREATE INDEX ci_secure_file_registry_failed_verification ON ci_secure_file_registry USING btree (verification_retry_at NULLS FIRST) WHERE ((state = 2) AND (verification_state = 3));"
⚠️ file_registry has extraneous index: "CREATE INDEX ci_secure_file_registry_needs_verification ON ci_secure_file_registry USING btree (verification_state) WHERE ((state = 2) AND (verification_state = ANY (ARRAY[0, 3])));"
⚠️ file_registry has extraneous index: "CREATE INDEX ci_secure_file_registry_pending_verification ON ci_secure_file_registry USING btree (verified_at NULLS FIRST) WHERE ((state = 2) AND (verification_state = 0));"
⚠️ file_registry has extraneous index: "CREATE UNIQUE INDEX index_ci_secure_file_registry_on_ci_secure_file_id ON ci_secure_file_registry USING btree (ci_secure_file_id);"
⚠️ file_registry has extraneous index: "CREATE INDEX index_ci_secure_file_registry_on_last_synced_at ON ci_secure_file_registry USING btree (last_synced_at);"
⚠️ file_registry has extraneous index: "CREATE INDEX index_ci_secure_file_registry_on_retry_at ON ci_secure_file_registry USING btree (retry_at);"
⚠️ file_registry has extraneous index: "CREATE INDEX index_ci_secure_file_registry_on_state ON ci_secure_file_registry USING btree (state);"
⚠️ file_registry has extraneous index: "CREATE INDEX index_ci_secure_file_registry_on_verified_at ON ci_secure_file_registry USING btree (verified_at);"
⚠️ file_registry has extraneous index: "CREATE INDEX index_file_registry_file_id ON file_registry USING btree (file_id);"
⚠️ file_registry has extraneous index: "CREATE INDEX index_file_registry_on_last_synced_at ON file_registry USING btree (last_synced_at);"
⚠️ file_registry has extraneous index: "CREATE INDEX index_file_registry_on_verified_at ON file_registry USING btree (verified_at);"
⚠️ file_registry has extraneous index: "CREATE INDEX index_package_file_registry_on_last_synced_at ON package_file_registry USING btree (last_synced_at);"
⚠️ file_registry has extraneous index: "CREATE INDEX index_package_file_registry_on_repository_id ON package_file_registry USING btree (package_file_id);"
⚠️ file_registry has extraneous index: "CREATE INDEX index_package_file_registry_on_retry_at ON package_file_registry USING btree (retry_at);"
⚠️ file_registry has extraneous index: "CREATE INDEX index_package_file_registry_on_state ON package_file_registry USING btree (state);"
⚠️ file_registry has extraneous index: "CREATE INDEX index_package_file_registry_on_verified_at ON package_file_registry USING btree (verified_at);"
⚠️ file_registry has extraneous index: "CREATE INDEX package_file_registry_failed_verification ON package_file_registry USING btree (verification_retry_at NULLS FIRST) WHERE ((state = 2) AND (verification_state = 3));"
⚠️ file_registry has extraneous index: "CREATE INDEX package_file_registry_needs_verification ON package_file_registry USING btree (verification_state) WHERE ((state = 2) AND (verification_state = ANY (ARRAY[0, 3])));"
⚠️ file_registry has extraneous index: "CREATE INDEX package_file_registry_pending_verification ON package_file_registry USING btree (verified_at NULLS FIRST) WHERE ((state = 2) AND (verification_state = 0));"
🚫 [QUARANTINED] file_registry is missing required constraint: /created_at timestamp with time zone NOT NULL/
🚫 [QUARANTINED] file_registry is missing required constraint: /CHECK \(\(char_length\(last_sync_failure\) <= 255\)\)/
🚫 [QUARANTINED] file_registry is missing required constraint: /CHECK \(\(char_length\(verification_failure\) <= 255\)\)/
⚠️ file_registry has extraneous constraint: "id integer NOT NULL,"
⚠️ file_registry has extraneous constraint: "file_id integer NOT NULL,"
⚠️ file_registry has extraneous constraint: "created_at timestamp without time zone NOT NULL,"
⚠️ file_registry has extraneous constraint: "retry_count integer DEFAULT 0,"
⚠️ file_registry has extraneous constraint: "missing_on_primary boolean DEFAULT false NOT NULL,"
⚠️ file_registry has extraneous constraint: "CONSTRAINT check_1886652634 CHECK ((char_length(verification_failure) <= 256))"
✅ file_registry checks completed
🚫 Checking quarantined data type: group_wiki_repository (group_wiki_repository_registry) - issues will be displayed but not cause failure
🔍 Checking group_wiki_repository_registry...
⚠️ group_wiki_repository_registry has extraneous field: id
🚫 [QUARANTINED] group_wiki_repository_registry is missing required index: /CREATE INDEX \w+ ON group_wiki_repository_registry USING btree \(verification_retry_at NULLS FIRST\) WHERE \(\(state = 2\) AND \(verification_state = 3\)\);/
🚫 [QUARANTINED] group_wiki_repository_registry is missing required index: /CREATE INDEX \w+ ON group_wiki_repository_registry USING btree \(verification_state\) WHERE \(\(state = 2\) AND \(verification_state = ANY \(ARRAY\[0, 3\]\)\)\);/
🚫 [QUARANTINED] group_wiki_repository_registry is missing required index: /CREATE INDEX \w+ ON group_wiki_repository_registry USING btree \(verified_at NULLS FIRST\) WHERE \(\(state = 2\) AND \(verification_state = 0\)\);/
⚠️ group_wiki_repository_registry has extraneous index: "CREATE INDEX group_wiki_repository_registry_failed_verification ON group_wiki_repository_registry USING btree (verification_retry_at NULLS FIRST) WHERE (verification_state = 3);"
⚠️ group_wiki_repository_registry has extraneous index: "CREATE INDEX group_wiki_repository_registry_needs_verification ON group_wiki_repository_registry USING btree (verification_state) WHERE (verification_state = ANY (ARRAY[0, 3]));"
⚠️ group_wiki_repository_registry has extraneous index: "CREATE INDEX group_wiki_repository_registry_pending_verification ON group_wiki_repository_registry USING btree (verified_at NULLS FIRST) WHERE (verification_state = 0);"
⚠️ group_wiki_repository_registry has extraneous index: "CREATE INDEX index_group_wiki_repository_registry_on_last_synced_at ON group_wiki_repository_registry USING btree (last_synced_at);"
⚠️ group_wiki_repository_registry has extraneous index: "CREATE INDEX index_group_wiki_repository_registry_on_verified_at ON group_wiki_repository_registry USING btree (verified_at);"
🚫 [QUARANTINED] group_wiki_repository_registry is missing required constraint: /CHECK \(\(char_length\(last_sync_failure\) <= 255\)\)/
🚫 [QUARANTINED] group_wiki_repository_registry is missing required constraint: /missing_on_primary boolean DEFAULT false NOT NULL/
⚠️ group_wiki_repository_registry has extraneous constraint: "id bigint NOT NULL,"
⚠️ group_wiki_repository_registry has extraneous constraint: "group_wiki_repository_id bigint NOT NULL,"
⚠️ group_wiki_repository_registry has extraneous constraint: "retry_count smallint DEFAULT 0,"
✅ group_wiki_repository_registry checks completed
🚫 Checking quarantined data type: job_artifact (job_artifact_registry) - issues will be displayed but not cause failure
🔍 Checking job_artifact_registry...
⚠️ job_artifact_registry has extraneous field: id
⚠️ job_artifact_registry has extraneous field: bytes
⚠️ job_artifact_registry has extraneous field: artifact_id
⚠️ job_artifact_registry has extraneous field: sha256
⚠️ job_artifact_registry has extraneous field: missing_on_primary
🚫 [QUARANTINED] job_artifact_registry is missing required index: /CREATE UNIQUE INDEX \w+ ON job_artifact_registry USING btree \(job_artifact_id\);/
⚠️ job_artifact_registry has extraneous index: "CREATE INDEX index_job_artifact_registry_on_artifact_id ON job_artifact_registry USING btree (artifact_id);"
⚠️ job_artifact_registry has extraneous index: "CREATE INDEX index_job_artifact_registry_on_last_synced_at ON job_artifact_registry USING btree (last_synced_at);"
⚠️ job_artifact_registry has extraneous index: "CREATE INDEX index_job_artifact_registry_on_verified_at ON job_artifact_registry USING btree (verified_at);"
🚫 [QUARANTINED] job_artifact_registry is missing required constraint: /created_at timestamp with time zone NOT NULL/
🚫 [QUARANTINED] job_artifact_registry is missing required constraint: /CHECK \(\(char_length\(last_sync_failure\) <= 255\)\)/
🚫 [QUARANTINED] job_artifact_registry is missing required constraint: /CHECK \(\(char_length\(verification_failure\) <= 255\)\)/
⚠️ job_artifact_registry has extraneous constraint: "id integer NOT NULL,"
⚠️ job_artifact_registry has extraneous constraint: "retry_count integer DEFAULT 0,"
⚠️ job_artifact_registry has extraneous constraint: "missing_on_primary boolean DEFAULT false NOT NULL,"
✅ job_artifact_registry checks completed
🚫 Checking quarantined data type: lfs_object (lfs_object_registry) - issues will be displayed but not cause failure
🔍 Checking lfs_object_registry...
⚠️ lfs_object_registry has extraneous field: id
⚠️ lfs_object_registry has extraneous field: bytes
⚠️ lfs_object_registry has extraneous field: missing_on_primary
⚠️ lfs_object_registry has extraneous field: success
⚠️ lfs_object_registry has extraneous field: sha256
⚠️ lfs_object_registry has extraneous index: "CREATE INDEX index_lfs_object_registry_on_last_synced_at ON lfs_object_registry USING btree (last_synced_at);"
⚠️ lfs_object_registry has extraneous index: "CREATE INDEX index_lfs_object_registry_on_success ON lfs_object_registry USING btree (success);"
⚠️ lfs_object_registry has extraneous index: "CREATE INDEX index_lfs_object_registry_on_verified_at ON lfs_object_registry USING btree (verified_at);"
🚫 [QUARANTINED] lfs_object_registry is missing required constraint: /created_at timestamp with time zone NOT NULL/
🚫 [QUARANTINED] lfs_object_registry is missing required constraint: /retry_count smallint DEFAULT 0 NOT NULL/
🚫 [QUARANTINED] lfs_object_registry is missing required constraint: /verification_retry_count smallint DEFAULT 0 NOT NULL/
🚫 [QUARANTINED] lfs_object_registry is missing required constraint: /CHECK \(\(char_length\(last_sync_failure\) <= 255\)\)/
⚠️ lfs_object_registry has extraneous constraint: "id bigint NOT NULL,"
⚠️ lfs_object_registry has extraneous constraint: "retry_count integer DEFAULT 0,"
⚠️ lfs_object_registry has extraneous constraint: "missing_on_primary boolean DEFAULT false NOT NULL,"
⚠️ lfs_object_registry has extraneous constraint: "success boolean DEFAULT false NOT NULL,"
⚠️ lfs_object_registry has extraneous constraint: "verification_retry_count integer DEFAULT 0,"
✅ lfs_object_registry checks completed
🚫 Checking quarantined data type: merge_request_diff (merge_request_diff_registry) - issues will be displayed but not cause failure
🔍 Checking merge_request_diff_registry...
⚠️ merge_request_diff_registry has extraneous field: id
⚠️ merge_request_diff_registry has extraneous index: "CREATE INDEX index_merge_request_diff_registry_on_last_synced_at ON merge_request_diff_registry USING btree (last_synced_at);"
⚠️ merge_request_diff_registry has extraneous index: "CREATE INDEX index_merge_request_diff_registry_on_verified_at ON merge_request_diff_registry USING btree (verified_at);"
🚫 [QUARANTINED] merge_request_diff_registry is missing required constraint: /retry_count smallint DEFAULT 0 NOT NULL/
🚫 [QUARANTINED] merge_request_diff_registry is missing required constraint: /verification_retry_count smallint DEFAULT 0 NOT NULL/
🚫 [QUARANTINED] merge_request_diff_registry is missing required constraint: /checksum_mismatch boolean DEFAULT false NOT NULL/
🚫 [QUARANTINED] merge_request_diff_registry is missing required constraint: /CHECK \(\(char_length\(last_sync_failure\) <= 255\)\)/
🚫 [QUARANTINED] merge_request_diff_registry is missing required constraint: /CHECK \(\(char_length\(verification_failure\) <= 255\)\)/
⚠️ merge_request_diff_registry has extraneous constraint: "id bigint NOT NULL,"
⚠️ merge_request_diff_registry has extraneous constraint: "merge_request_diff_id bigint NOT NULL,"
⚠️ merge_request_diff_registry has extraneous constraint: "retry_count smallint DEFAULT 0,"
✅ merge_request_diff_registry checks completed
🚫 Checking quarantined data type: package_file (package_file_registry) - issues will be displayed but not cause failure
🔍 Checking package_file_registry...
⚠️ package_file_registry has extraneous field: id
🚫 [QUARANTINED] package_file_registry is missing required index: /CREATE UNIQUE INDEX \w+ ON package_file_registry USING btree \(package_file_id\);/
⚠️ package_file_registry has extraneous index: "CREATE INDEX index_package_file_registry_on_last_synced_at ON package_file_registry USING btree (last_synced_at);"
⚠️ package_file_registry has extraneous index: "CREATE INDEX index_package_file_registry_on_repository_id ON package_file_registry USING btree (package_file_id);"
⚠️ package_file_registry has extraneous index: "CREATE INDEX index_package_file_registry_on_verified_at ON package_file_registry USING btree (verified_at);"
🚫 [QUARANTINED] package_file_registry is missing required constraint: /retry_count smallint DEFAULT 0 NOT NULL/
🚫 [QUARANTINED] package_file_registry is missing required constraint: /verification_retry_count smallint DEFAULT 0 NOT NULL/
🚫 [QUARANTINED] package_file_registry is missing required constraint: /checksum_mismatch boolean DEFAULT false NOT NULL/
🚫 [QUARANTINED] package_file_registry is missing required constraint: /CHECK \(\(char_length\(last_sync_failure\) <= 255\)\)/
🚫 [QUARANTINED] package_file_registry is missing required constraint: /CHECK \(\(char_length\(verification_failure\) <= 255\)\)/
⚠️ package_file_registry has extraneous constraint: "id integer NOT NULL,"
⚠️ package_file_registry has extraneous constraint: "package_file_id integer NOT NULL,"
⚠️ package_file_registry has extraneous constraint: "state integer DEFAULT 0 NOT NULL,"
⚠️ package_file_registry has extraneous constraint: "retry_count integer DEFAULT 0,"
✅ package_file_registry checks completed
🚫 Checking quarantined data type: pages_deployment (pages_deployment_registry) - issues will be displayed but not cause failure
🔍 Checking pages_deployment_registry...
⚠️ pages_deployment_registry has extraneous field: id
⚠️ pages_deployment_registry has extraneous index: "CREATE INDEX index_pages_deployment_registry_on_last_synced_at ON pages_deployment_registry USING btree (last_synced_at);"
⚠️ pages_deployment_registry has extraneous index: "CREATE INDEX index_pages_deployment_registry_on_verified_at ON pages_deployment_registry USING btree (verified_at);"
🚫 [QUARANTINED] pages_deployment_registry is missing required constraint: /CHECK \(\(char_length\(last_sync_failure\) <= 255\)\)/
⚠️ pages_deployment_registry has extraneous constraint: "id bigint NOT NULL,"
⚠️ pages_deployment_registry has extraneous constraint: "pages_deployment_id bigint NOT NULL,"
✅ pages_deployment_registry checks completed
🚫 Checking quarantined data type: pipeline_artifact (pipeline_artifact_registry) - issues will be displayed but not cause failure
🔍 Checking pipeline_artifact_registry...
⚠️ pipeline_artifact_registry has extraneous field: id
⚠️ pipeline_artifact_registry has extraneous index: "CREATE INDEX index_pipeline_artifact_registry_on_last_synced_at ON pipeline_artifact_registry USING btree (last_synced_at);"
⚠️ pipeline_artifact_registry has extraneous index: "CREATE INDEX index_pipeline_artifact_registry_on_verified_at ON pipeline_artifact_registry USING btree (verified_at);"
🚫 [QUARANTINED] pipeline_artifact_registry is missing required constraint: /retry_count smallint DEFAULT 0 NOT NULL/
🚫 [QUARANTINED] pipeline_artifact_registry is missing required constraint: /verification_retry_count smallint DEFAULT 0 NOT NULL/
🚫 [QUARANTINED] pipeline_artifact_registry is missing required constraint: /CHECK \(\(char_length\(last_sync_failure\) <= 255\)\)/
🚫 [QUARANTINED] pipeline_artifact_registry is missing required constraint: /CHECK \(\(char_length\(verification_failure\) <= 255\)\)/
⚠️ pipeline_artifact_registry has extraneous constraint: "id bigint NOT NULL,"
⚠️ pipeline_artifact_registry has extraneous constraint: "pipeline_artifact_id bigint NOT NULL,"
⚠️ pipeline_artifact_registry has extraneous constraint: "retry_count smallint DEFAULT 0,"
⚠️ pipeline_artifact_registry has extraneous constraint: "verification_retry_count smallint DEFAULT 0,"
✅ pipeline_artifact_registry checks completed
🚫 Checking quarantined data type: project_repository (project_repository_registry) - issues will be displayed but not cause failure
🔍 Checking project_repository_registry...
⚠️ project_repository_registry has extraneous field: id
⚠️ project_repository_registry has extraneous field: project_id
🚫 [QUARANTINED] project_repository_registry is missing required index: /CREATE UNIQUE INDEX \w+ ON project_repository_registry USING btree \(project_repository_id\);/
⚠️ project_repository_registry has extraneous index: "CREATE INDEX index_project_repository_registry_on_last_synced_at ON project_repository_registry USING btree (last_synced_at);"
⚠️ project_repository_registry has extraneous index: "CREATE UNIQUE INDEX index_project_repository_registry_on_project_id ON project_repository_registry USING btree (project_id);"
⚠️ project_repository_registry has extraneous index: "CREATE INDEX index_project_repository_registry_on_verified_at ON project_repository_registry USING btree (verified_at);"
⚠️ project_repository_registry has extraneous constraint: "id bigint NOT NULL,"
⚠️ project_repository_registry has extraneous constraint: "project_id bigint NOT NULL,"
✅ project_repository_registry checks completed
🚫 Checking quarantined data type: project_wiki_repository (project_wiki_repository_registry) - issues will be displayed but not cause failure
🔍 Checking project_wiki_repository_registry...
⚠️ project_wiki_repository_registry has extraneous field: id
⚠️ project_wiki_repository_registry has extraneous field: project_id
⚠️ project_wiki_repository_registry has extraneous index: "CREATE INDEX index_project_wiki_repository_registry_on_last_synced_at ON project_wiki_repository_registry USING btree (last_synced_at);"
⚠️ project_wiki_repository_registry has extraneous index: "CREATE UNIQUE INDEX index_project_wiki_repository_registry_on_project_id ON project_wiki_repository_registry USING btree (project_id);"
⚠️ project_wiki_repository_registry has extraneous index: "CREATE INDEX index_project_wiki_repository_registry_on_verified_at ON project_wiki_repository_registry USING btree (verified_at);"
⚠️ project_wiki_repository_registry has extraneous constraint: "id bigint NOT NULL,"
✅ project_wiki_repository_registry checks completed
🚫 Checking quarantined data type: snippet_repository (snippet_repository_registry) - issues will be displayed but not cause failure
🔍 Checking snippet_repository_registry...
⚠️ snippet_repository_registry has extraneous field: id
⚠️ snippet_repository_registry has extraneous index: "CREATE INDEX index_snippet_repository_registry_on_last_synced_at ON snippet_repository_registry USING btree (last_synced_at);"
⚠️ snippet_repository_registry has extraneous index: "CREATE INDEX index_snippet_repository_registry_on_verified_at ON snippet_repository_registry USING btree (verified_at);"
🚫 [QUARANTINED] snippet_repository_registry is missing required constraint: /retry_count smallint DEFAULT 0 NOT NULL/
🚫 [QUARANTINED] snippet_repository_registry is missing required constraint: /verification_retry_count smallint DEFAULT 0 NOT NULL/
🚫 [QUARANTINED] snippet_repository_registry is missing required constraint: /checksum_mismatch boolean DEFAULT false NOT NULL/
🚫 [QUARANTINED] snippet_repository_registry is missing required constraint: /CHECK \(\(char_length\(last_sync_failure\) <= 255\)\)/
🚫 [QUARANTINED] snippet_repository_registry is missing required constraint: /CHECK \(\(char_length\(verification_failure\) <= 255\)\)/
🚫 [QUARANTINED] snippet_repository_registry is missing required constraint: /missing_on_primary boolean DEFAULT false NOT NULL/
⚠️ snippet_repository_registry has extraneous constraint: "id bigint NOT NULL,"
⚠️ snippet_repository_registry has extraneous constraint: "snippet_repository_id bigint NOT NULL,"
⚠️ snippet_repository_registry has extraneous constraint: "retry_count smallint DEFAULT 0,"
✅ snippet_repository_registry checks completed
🚫 Checking quarantined data type: terraform_state_version (terraform_state_version_registry) - issues will be displayed but not cause failure
🔍 Checking terraform_state_version_registry...
⚠️ terraform_state_version_registry has extraneous field: id
⚠️ terraform_state_version_registry has extraneous index: "CREATE INDEX index_terraform_state_version_registry_on_last_synced_at ON terraform_state_version_registry USING btree (last_synced_at);"
⚠️ terraform_state_version_registry has extraneous index: "CREATE INDEX index_terraform_state_version_registry_on_verified_at ON terraform_state_version_registry USING btree (verified_at);"
🚫 [QUARANTINED] terraform_state_version_registry is missing required constraint: /verification_retry_count smallint DEFAULT 0 NOT NULL/
🚫 [QUARANTINED] terraform_state_version_registry is missing required constraint: /CHECK \(\(char_length\(last_sync_failure\) <= 255\)\)/
🚫 [QUARANTINED] terraform_state_version_registry is missing required constraint: /CHECK \(\(char_length\(verification_failure\) <= 255\)\)/
⚠️ terraform_state_version_registry has extraneous constraint: "id bigint NOT NULL,"
⚠️ terraform_state_version_registry has extraneous constraint: "terraform_state_version_id bigint NOT NULL,"
⚠️ terraform_state_version_registry has extraneous constraint: "verification_retry_count integer DEFAULT 0,"
✅ terraform_state_version_registry checks completed
================================================================================
📊 STRUCTURE CHECK RESULTS
================================================================================
🚫 QUARANTINED ISSUES (48) - displayed for visibility but not causing failure:
1. container_repository_registry is missing required index: /CREATE INDEX \w+ ON container_repository_registry USING btree \(verification_retry_at NULLS FIRST\) WHERE \(\(state = 2\) AND \(verification_state = 3\)\);/
2. container_repository_registry is missing required index: /CREATE INDEX \w+ ON container_repository_registry USING btree \(verification_state\) WHERE \(\(state = 2\) AND \(verification_state = ANY \(ARRAY\[0, 3\]\)\)\);/
3. container_repository_registry is missing required index: /CREATE INDEX \w+ ON container_repository_registry USING btree \(verified_at NULLS FIRST\) WHERE \(\(state = 2\) AND \(verification_state = 0\)\);/
4. container_repository_registry is missing required constraint: /created_at timestamp with time zone NOT NULL/
5. container_repository_registry is missing required constraint: /CHECK \(\(char_length\(last_sync_failure\) <= 255\)\)/
6. file_registry is missing required index: /CREATE UNIQUE INDEX \w+ ON file_registry USING btree \(file_id\);/
7. file_registry is missing required constraint: /created_at timestamp with time zone NOT NULL/
8. file_registry is missing required constraint: /CHECK \(\(char_length\(last_sync_failure\) <= 255\)\)/
9. file_registry is missing required constraint: /CHECK \(\(char_length\(verification_failure\) <= 255\)\)/
10. group_wiki_repository_registry is missing required index: /CREATE INDEX \w+ ON group_wiki_repository_registry USING btree \(verification_retry_at NULLS FIRST\) WHERE \(\(state = 2\) AND \(verification_state = 3\)\);/
11. group_wiki_repository_registry is missing required index: /CREATE INDEX \w+ ON group_wiki_repository_registry USING btree \(verification_state\) WHERE \(\(state = 2\) AND \(verification_state = ANY \(ARRAY\[0, 3\]\)\)\);/
12. group_wiki_repository_registry is missing required index: /CREATE INDEX \w+ ON group_wiki_repository_registry USING btree \(verified_at NULLS FIRST\) WHERE \(\(state = 2\) AND \(verification_state = 0\)\);/
13. group_wiki_repository_registry is missing required constraint: /CHECK \(\(char_length\(last_sync_failure\) <= 255\)\)/
14. group_wiki_repository_registry is missing required constraint: /missing_on_primary boolean DEFAULT false NOT NULL/
15. job_artifact_registry is missing required index: /CREATE UNIQUE INDEX \w+ ON job_artifact_registry USING btree \(job_artifact_id\);/
16. job_artifact_registry is missing required constraint: /created_at timestamp with time zone NOT NULL/
17. job_artifact_registry is missing required constraint: /CHECK \(\(char_length\(last_sync_failure\) <= 255\)\)/
18. job_artifact_registry is missing required constraint: /CHECK \(\(char_length\(verification_failure\) <= 255\)\)/
19. lfs_object_registry is missing required constraint: /created_at timestamp with time zone NOT NULL/
20. lfs_object_registry is missing required constraint: /retry_count smallint DEFAULT 0 NOT NULL/
21. lfs_object_registry is missing required constraint: /verification_retry_count smallint DEFAULT 0 NOT NULL/
22. lfs_object_registry is missing required constraint: /CHECK \(\(char_length\(last_sync_failure\) <= 255\)\)/
23. merge_request_diff_registry is missing required constraint: /retry_count smallint DEFAULT 0 NOT NULL/
24. merge_request_diff_registry is missing required constraint: /verification_retry_count smallint DEFAULT 0 NOT NULL/
25. merge_request_diff_registry is missing required constraint: /checksum_mismatch boolean DEFAULT false NOT NULL/
26. merge_request_diff_registry is missing required constraint: /CHECK \(\(char_length\(last_sync_failure\) <= 255\)\)/
27. merge_request_diff_registry is missing required constraint: /CHECK \(\(char_length\(verification_failure\) <= 255\)\)/
28. package_file_registry is missing required index: /CREATE UNIQUE INDEX \w+ ON package_file_registry USING btree \(package_file_id\);/
29. package_file_registry is missing required constraint: /retry_count smallint DEFAULT 0 NOT NULL/
30. package_file_registry is missing required constraint: /verification_retry_count smallint DEFAULT 0 NOT NULL/
31. package_file_registry is missing required constraint: /checksum_mismatch boolean DEFAULT false NOT NULL/
32. package_file_registry is missing required constraint: /CHECK \(\(char_length\(last_sync_failure\) <= 255\)\)/
33. package_file_registry is missing required constraint: /CHECK \(\(char_length\(verification_failure\) <= 255\)\)/
34. pages_deployment_registry is missing required constraint: /CHECK \(\(char_length\(last_sync_failure\) <= 255\)\)/
35. pipeline_artifact_registry is missing required constraint: /retry_count smallint DEFAULT 0 NOT NULL/
36. pipeline_artifact_registry is missing required constraint: /verification_retry_count smallint DEFAULT 0 NOT NULL/
37. pipeline_artifact_registry is missing required constraint: /CHECK \(\(char_length\(last_sync_failure\) <= 255\)\)/
38. pipeline_artifact_registry is missing required constraint: /CHECK \(\(char_length\(verification_failure\) <= 255\)\)/
39. project_repository_registry is missing required index: /CREATE UNIQUE INDEX \w+ ON project_repository_registry USING btree \(project_repository_id\);/
40. snippet_repository_registry is missing required constraint: /retry_count smallint DEFAULT 0 NOT NULL/
41. snippet_repository_registry is missing required constraint: /verification_retry_count smallint DEFAULT 0 NOT NULL/
42. snippet_repository_registry is missing required constraint: /checksum_mismatch boolean DEFAULT false NOT NULL/
43. snippet_repository_registry is missing required constraint: /CHECK \(\(char_length\(last_sync_failure\) <= 255\)\)/
44. snippet_repository_registry is missing required constraint: /CHECK \(\(char_length\(verification_failure\) <= 255\)\)/
45. snippet_repository_registry is missing required constraint: /missing_on_primary boolean DEFAULT false NOT NULL/
46. terraform_state_version_registry is missing required constraint: /verification_retry_count smallint DEFAULT 0 NOT NULL/
47. terraform_state_version_registry is missing required constraint: /CHECK \(\(char_length\(last_sync_failure\) <= 255\)\)/
48. terraform_state_version_registry is missing required constraint: /CHECK \(\(char_length\(verification_failure\) <= 255\)\)/
⚠️ WARNINGS (142):
1. ci_secure_file_registry has extraneous field: id
2. ci_secure_file_registry has extraneous index: "CREATE INDEX index_ci_secure_file_registry_on_last_synced_at ON ci_secure_file_registry USING btree (last_synced_at);"
3. ci_secure_file_registry has extraneous index: "CREATE INDEX index_ci_secure_file_registry_on_verified_at ON ci_secure_file_registry USING btree (verified_at);"
4. ci_secure_file_registry has extraneous constraint: "id bigint NOT NULL,"
5. ci_secure_file_registry has extraneous constraint: "ci_secure_file_id bigint NOT NULL,"
6. container_repository_registry has extraneous field: id
7. container_repository_registry has extraneous field: state_for_type_change
8. container_repository_registry has extraneous index: "CREATE INDEX container_repository_registry_failed_verification ON container_repository_registry USING btree (verification_retry_at NULLS FIRST) WHERE (verification_state = 3);"
9. container_repository_registry has extraneous index: "CREATE INDEX container_repository_registry_needs_verification ON container_repository_registry USING btree (verification_state) WHERE (verification_state = ANY (ARRAY[0, 3]));"
10. container_repository_registry has extraneous index: "CREATE INDEX container_repository_registry_pending_verification ON container_repository_registry USING btree (verified_at NULLS FIRST) WHERE (verification_state = 0);"
11. container_repository_registry has extraneous index: "CREATE INDEX index_container_repository_registry_on_last_synced_at ON container_repository_registry USING btree (last_synced_at);"
12. container_repository_registry has extraneous index: "CREATE INDEX index_container_repository_registry_on_verified_at ON container_repository_registry USING btree (verified_at);"
13. container_repository_registry has extraneous constraint: "id integer NOT NULL,"
14. container_repository_registry has extraneous constraint: "container_repository_id integer NOT NULL,"
15. container_repository_registry has extraneous constraint: "retry_count integer DEFAULT 0,"
16. container_repository_registry has extraneous constraint: "created_at timestamp without time zone NOT NULL,"
17. dependency_proxy_manifest_registry has extraneous field: id
18. dependency_proxy_manifest_registry has extraneous index: "CREATE INDEX index_dependency_proxy_manifest_registry_on_last_synced_at ON dependency_proxy_manifest_registry USING btree (last_synced_at);"
19. dependency_proxy_manifest_registry has extraneous index: "CREATE INDEX index_dependency_proxy_manifest_registry_on_verified_at ON dependency_proxy_manifest_registry USING btree (verified_at);"
20. dependency_proxy_manifest_registry has extraneous constraint: "id bigint NOT NULL,"
21. dependency_proxy_manifest_registry has extraneous constraint: "dependency_proxy_manifest_id bigint NOT NULL,"
22. dependency_proxy_blob_registry has extraneous field: id
23. dependency_proxy_blob_registry has extraneous index: "CREATE INDEX index_dependency_proxy_blob_registry_on_last_synced_at ON dependency_proxy_blob_registry USING btree (last_synced_at);"
24. dependency_proxy_blob_registry has extraneous index: "CREATE INDEX index_dependency_proxy_blob_registry_on_verified_at ON dependency_proxy_blob_registry USING btree (verified_at);"
25. dependency_proxy_blob_registry has extraneous constraint: "id bigint NOT NULL,"
26. dependency_proxy_blob_registry has extraneous constraint: "dependency_proxy_blob_id bigint NOT NULL,"
27. design_management_repository_registry has extraneous field: id
28. design_management_repository_registry has extraneous index: "CREATE INDEX index_design_management_repository_registry_on_last_synced_at ON design_management_repository_registry USING btree (last_synced_at);"
29. design_management_repository_registry has extraneous index: "CREATE INDEX index_design_management_repository_registry_on_verified_at ON design_management_repository_registry USING btree (verified_at);"
30. design_management_repository_registry has extraneous constraint: "id bigint NOT NULL,"
31. design_management_repository_registry has extraneous constraint: "design_management_repository_id bigint NOT NULL,"
32. file_registry has extraneous field: id
33. file_registry has extraneous field: missing_on_primary
34. file_registry has extraneous index: "CREATE INDEX ci_secure_file_registry_failed_verification ON ci_secure_file_registry USING btree (verification_retry_at NULLS FIRST) WHERE ((state = 2) AND (verification_state = 3));"
35. file_registry has extraneous index: "CREATE INDEX ci_secure_file_registry_needs_verification ON ci_secure_file_registry USING btree (verification_state) WHERE ((state = 2) AND (verification_state = ANY (ARRAY[0, 3])));"
36. file_registry has extraneous index: "CREATE INDEX ci_secure_file_registry_pending_verification ON ci_secure_file_registry USING btree (verified_at NULLS FIRST) WHERE ((state = 2) AND (verification_state = 0));"
37. file_registry has extraneous index: "CREATE UNIQUE INDEX index_ci_secure_file_registry_on_ci_secure_file_id ON ci_secure_file_registry USING btree (ci_secure_file_id);"
38. file_registry has extraneous index: "CREATE INDEX index_ci_secure_file_registry_on_last_synced_at ON ci_secure_file_registry USING btree (last_synced_at);"
39. file_registry has extraneous index: "CREATE INDEX index_ci_secure_file_registry_on_retry_at ON ci_secure_file_registry USING btree (retry_at);"
40. file_registry has extraneous index: "CREATE INDEX index_ci_secure_file_registry_on_state ON ci_secure_file_registry USING btree (state);"
41. file_registry has extraneous index: "CREATE INDEX index_ci_secure_file_registry_on_verified_at ON ci_secure_file_registry USING btree (verified_at);"
42. file_registry has extraneous index: "CREATE INDEX index_file_registry_file_id ON file_registry USING btree (file_id);"
43. file_registry has extraneous index: "CREATE INDEX index_file_registry_on_last_synced_at ON file_registry USING btree (last_synced_at);"
44. file_registry has extraneous index: "CREATE INDEX index_file_registry_on_verified_at ON file_registry USING btree (verified_at);"
45. file_registry has extraneous index: "CREATE INDEX index_package_file_registry_on_last_synced_at ON package_file_registry USING btree (last_synced_at);"
46. file_registry has extraneous index: "CREATE INDEX index_package_file_registry_on_repository_id ON package_file_registry USING btree (package_file_id);"
47. file_registry has extraneous index: "CREATE INDEX index_package_file_registry_on_retry_at ON package_file_registry USING btree (retry_at);"
48. file_registry has extraneous index: "CREATE INDEX index_package_file_registry_on_state ON package_file_registry USING btree (state);"
49. file_registry has extraneous index: "CREATE INDEX index_package_file_registry_on_verified_at ON package_file_registry USING btree (verified_at);"
50. file_registry has extraneous index: "CREATE INDEX package_file_registry_failed_verification ON package_file_registry USING btree (verification_retry_at NULLS FIRST) WHERE ((state = 2) AND (verification_state = 3));"
51. file_registry has extraneous index: "CREATE INDEX package_file_registry_needs_verification ON package_file_registry USING btree (verification_state) WHERE ((state = 2) AND (verification_state = ANY (ARRAY[0, 3])));"
52. file_registry has extraneous index: "CREATE INDEX package_file_registry_pending_verification ON package_file_registry USING btree (verified_at NULLS FIRST) WHERE ((state = 2) AND (verification_state = 0));"
53. file_registry has extraneous constraint: "id integer NOT NULL,"
54. file_registry has extraneous constraint: "file_id integer NOT NULL,"
55. file_registry has extraneous constraint: "created_at timestamp without time zone NOT NULL,"
56. file_registry has extraneous constraint: "retry_count integer DEFAULT 0,"
57. file_registry has extraneous constraint: "missing_on_primary boolean DEFAULT false NOT NULL,"
58. file_registry has extraneous constraint: "CONSTRAINT check_1886652634 CHECK ((char_length(verification_failure) <= 256))"
59. group_wiki_repository_registry has extraneous field: id
60. group_wiki_repository_registry has extraneous index: "CREATE INDEX group_wiki_repository_registry_failed_verification ON group_wiki_repository_registry USING btree (verification_retry_at NULLS FIRST) WHERE (verification_state = 3);"
61. group_wiki_repository_registry has extraneous index: "CREATE INDEX group_wiki_repository_registry_needs_verification ON group_wiki_repository_registry USING btree (verification_state) WHERE (verification_state = ANY (ARRAY[0, 3]));"
62. group_wiki_repository_registry has extraneous index: "CREATE INDEX group_wiki_repository_registry_pending_verification ON group_wiki_repository_registry USING btree (verified_at NULLS FIRST) WHERE (verification_state = 0);"
63. group_wiki_repository_registry has extraneous index: "CREATE INDEX index_group_wiki_repository_registry_on_last_synced_at ON group_wiki_repository_registry USING btree (last_synced_at);"
64. group_wiki_repository_registry has extraneous index: "CREATE INDEX index_group_wiki_repository_registry_on_verified_at ON group_wiki_repository_registry USING btree (verified_at);"
65. group_wiki_repository_registry has extraneous constraint: "id bigint NOT NULL,"
66. group_wiki_repository_registry has extraneous constraint: "group_wiki_repository_id bigint NOT NULL,"
67. group_wiki_repository_registry has extraneous constraint: "retry_count smallint DEFAULT 0,"
68. job_artifact_registry has extraneous field: id
69. job_artifact_registry has extraneous field: bytes
70. job_artifact_registry has extraneous field: artifact_id
71. job_artifact_registry has extraneous field: sha256
72. job_artifact_registry has extraneous field: missing_on_primary
73. job_artifact_registry has extraneous index: "CREATE INDEX index_job_artifact_registry_on_artifact_id ON job_artifact_registry USING btree (artifact_id);"
74. job_artifact_registry has extraneous index: "CREATE INDEX index_job_artifact_registry_on_last_synced_at ON job_artifact_registry USING btree (last_synced_at);"
75. job_artifact_registry has extraneous index: "CREATE INDEX index_job_artifact_registry_on_verified_at ON job_artifact_registry USING btree (verified_at);"
76. job_artifact_registry has extraneous constraint: "id integer NOT NULL,"
77. job_artifact_registry has extraneous constraint: "retry_count integer DEFAULT 0,"
78. job_artifact_registry has extraneous constraint: "missing_on_primary boolean DEFAULT false NOT NULL,"
79. lfs_object_registry has extraneous field: id
80. lfs_object_registry has extraneous field: bytes
81. lfs_object_registry has extraneous field: missing_on_primary
82. lfs_object_registry has extraneous field: success
83. lfs_object_registry has extraneous field: sha256
84. lfs_object_registry has extraneous index: "CREATE INDEX index_lfs_object_registry_on_last_synced_at ON lfs_object_registry USING btree (last_synced_at);"
85. lfs_object_registry has extraneous index: "CREATE INDEX index_lfs_object_registry_on_success ON lfs_object_registry USING btree (success);"
86. lfs_object_registry has extraneous index: "CREATE INDEX index_lfs_object_registry_on_verified_at ON lfs_object_registry USING btree (verified_at);"
87. lfs_object_registry has extraneous constraint: "id bigint NOT NULL,"
88. lfs_object_registry has extraneous constraint: "retry_count integer DEFAULT 0,"
89. lfs_object_registry has extraneous constraint: "missing_on_primary boolean DEFAULT false NOT NULL,"
90. lfs_object_registry has extraneous constraint: "success boolean DEFAULT false NOT NULL,"
91. lfs_object_registry has extraneous constraint: "verification_retry_count integer DEFAULT 0,"
92. merge_request_diff_registry has extraneous field: id
93. merge_request_diff_registry has extraneous index: "CREATE INDEX index_merge_request_diff_registry_on_last_synced_at ON merge_request_diff_registry USING btree (last_synced_at);"
94. merge_request_diff_registry has extraneous index: "CREATE INDEX index_merge_request_diff_registry_on_verified_at ON merge_request_diff_registry USING btree (verified_at);"
95. merge_request_diff_registry has extraneous constraint: "id bigint NOT NULL,"
96. merge_request_diff_registry has extraneous constraint: "merge_request_diff_id bigint NOT NULL,"
97. merge_request_diff_registry has extraneous constraint: "retry_count smallint DEFAULT 0,"
98. package_file_registry has extraneous field: id
99. package_file_registry has extraneous index: "CREATE INDEX index_package_file_registry_on_last_synced_at ON package_file_registry USING btree (last_synced_at);"
100. package_file_registry has extraneous index: "CREATE INDEX index_package_file_registry_on_repository_id ON package_file_registry USING btree (package_file_id);"
101. package_file_registry has extraneous index: "CREATE INDEX index_package_file_registry_on_verified_at ON package_file_registry USING btree (verified_at);"
102. package_file_registry has extraneous constraint: "id integer NOT NULL,"
103. package_file_registry has extraneous constraint: "package_file_id integer NOT NULL,"
104. package_file_registry has extraneous constraint: "state integer DEFAULT 0 NOT NULL,"
105. package_file_registry has extraneous constraint: "retry_count integer DEFAULT 0,"
106. pages_deployment_registry has extraneous field: id
107. pages_deployment_registry has extraneous index: "CREATE INDEX index_pages_deployment_registry_on_last_synced_at ON pages_deployment_registry USING btree (last_synced_at);"
108. pages_deployment_registry has extraneous index: "CREATE INDEX index_pages_deployment_registry_on_verified_at ON pages_deployment_registry USING btree (verified_at);"
109. pages_deployment_registry has extraneous constraint: "id bigint NOT NULL,"
110. pages_deployment_registry has extraneous constraint: "pages_deployment_id bigint NOT NULL,"
111. pipeline_artifact_registry has extraneous field: id
112. pipeline_artifact_registry has extraneous index: "CREATE INDEX index_pipeline_artifact_registry_on_last_synced_at ON pipeline_artifact_registry USING btree (last_synced_at);"
113. pipeline_artifact_registry has extraneous index: "CREATE INDEX index_pipeline_artifact_registry_on_verified_at ON pipeline_artifact_registry USING btree (verified_at);"
114. pipeline_artifact_registry has extraneous constraint: "id bigint NOT NULL,"
115. pipeline_artifact_registry has extraneous constraint: "pipeline_artifact_id bigint NOT NULL,"
116. pipeline_artifact_registry has extraneous constraint: "retry_count smallint DEFAULT 0,"
117. pipeline_artifact_registry has extraneous constraint: "verification_retry_count smallint DEFAULT 0,"
118. project_repository_registry has extraneous field: id
119. project_repository_registry has extraneous field: project_id
120. project_repository_registry has extraneous index: "CREATE INDEX index_project_repository_registry_on_last_synced_at ON project_repository_registry USING btree (last_synced_at);"
121. project_repository_registry has extraneous index: "CREATE UNIQUE INDEX index_project_repository_registry_on_project_id ON project_repository_registry USING btree (project_id);"
122. project_repository_registry has extraneous index: "CREATE INDEX index_project_repository_registry_on_verified_at ON project_repository_registry USING btree (verified_at);"
123. project_repository_registry has extraneous constraint: "id bigint NOT NULL,"
124. project_repository_registry has extraneous constraint: "project_id bigint NOT NULL,"
125. project_wiki_repository_registry has extraneous field: id
126. project_wiki_repository_registry has extraneous field: project_id
127. project_wiki_repository_registry has extraneous index: "CREATE INDEX index_project_wiki_repository_registry_on_last_synced_at ON project_wiki_repository_registry USING btree (last_synced_at);"
128. project_wiki_repository_registry has extraneous index: "CREATE UNIQUE INDEX index_project_wiki_repository_registry_on_project_id ON project_wiki_repository_registry USING btree (project_id);"
129. project_wiki_repository_registry has extraneous index: "CREATE INDEX index_project_wiki_repository_registry_on_verified_at ON project_wiki_repository_registry USING btree (verified_at);"
130. project_wiki_repository_registry has extraneous constraint: "id bigint NOT NULL,"
131. snippet_repository_registry has extraneous field: id
132. snippet_repository_registry has extraneous index: "CREATE INDEX index_snippet_repository_registry_on_last_synced_at ON snippet_repository_registry USING btree (last_synced_at);"
133. snippet_repository_registry has extraneous index: "CREATE INDEX index_snippet_repository_registry_on_verified_at ON snippet_repository_registry USING btree (verified_at);"
134. snippet_repository_registry has extraneous constraint: "id bigint NOT NULL,"
135. snippet_repository_registry has extraneous constraint: "snippet_repository_id bigint NOT NULL,"
136. snippet_repository_registry has extraneous constraint: "retry_count smallint DEFAULT 0,"
137. terraform_state_version_registry has extraneous field: id
138. terraform_state_version_registry has extraneous index: "CREATE INDEX index_terraform_state_version_registry_on_last_synced_at ON terraform_state_version_registry USING btree (last_synced_at);"
139. terraform_state_version_registry has extraneous index: "CREATE INDEX index_terraform_state_version_registry_on_verified_at ON terraform_state_version_registry USING btree (verified_at);"
140. terraform_state_version_registry has extraneous constraint: "id bigint NOT NULL,"
141. terraform_state_version_registry has extraneous constraint: "terraform_state_version_id bigint NOT NULL,"
142. terraform_state_version_registry has extraneous constraint: "verification_retry_count integer DEFAULT 0,"
📋 Summary:
- Registry tables checked: 17
- Quarantined data types: 13
- Issues found: 0
- Quarantined issues found: 48
- Warnings: 142
How to set up and validate locally
- Check out this branch.
- Run
scripts/geo/registry_structure_check.rb.
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Edited by Michael Kozono