Clean up schema for table ci_runners

From https://gitlab.com/gitlab-com/infrastructure/issues/1709 (private to GitLab employees):

  • Wrong data type: created_at should be timestamptz
  • Wrong data type: updated_at should be timestamptz
  • Wrong data type: contacted_at should be timestamptz
  • Wrong data type: token should be bytea
  • Missing constraint: created_at NOT NULL
  • Missing constraint: updated_at NOT NULL
  • Duplicate data: name, version, revision, platform, architecture all are repeated throughout, separate table with integers would be more efficient
    • This may be tricky if the data is arbitrary and provided by runners. Storing this in a table would require a block of code that does an INSERT or SELECT depending on whether the data already exists or not. This is quite complex, so do this last.
Edited Aug 30, 2025 by 🤖 GitLab Bot 🤖
Assignee Loading
Time tracking Loading