Manager: make some db fields boolean instead of smallint

Turn `workers.lazy_status_request` and `workers.can_restart` into a
`boolean`. They were `smallint` before.

Having these explicitly modeled as `boolean` will make sqlc generate the
right type for them.

No functional changes.
This commit is contained in:
Sybren A. Stüvel 2024-05-26 11:49:46 +02:00
parent ee31316d9d
commit 0c4240ec3a
4 changed files with 90 additions and 6 deletions

@ -0,0 +1,84 @@
-- Some booleans were modeled as `smallint`. These are turned into `boolean` instead.
--
-- +goose Up
CREATE TABLE temp_workers (
id integer NOT NULL,
created_at datetime NOT NULL,
updated_at datetime,
uuid varchar(36) UNIQUE DEFAULT '' NOT NULL,
secret varchar(255) DEFAULT '' NOT NULL,
name varchar(64) DEFAULT '' NOT NULL,
address varchar(39) DEFAULT '' NOT NULL,
platform varchar(16) DEFAULT '' NOT NULL,
software varchar(32) DEFAULT '' NOT NULL,
status varchar(16) DEFAULT '' NOT NULL,
last_seen_at datetime,
status_requested varchar(16) DEFAULT '' NOT NULL,
lazy_status_request boolean DEFAULT false NOT NULL,
supported_task_types varchar(255) DEFAULT '' NOT NULL,
deleted_at datetime,
can_restart boolean DEFAULT false NOT NULL,
PRIMARY KEY (id)
);
INSERT INTO temp_workers SELECT
id,
created_at,
updated_at,
uuid,
secret,
name,
address,
platform,
software,
status,
last_seen_at,
status_requested,
lazy_status_request,
supported_task_types,
deleted_at,
can_restart
FROM workers;
DROP TABLE workers;
ALTER TABLE temp_workers RENAME TO workers;
-- +goose Down
CREATE TABLE temp_workers (
id integer NOT NULL,
created_at datetime NOT NULL,
updated_at datetime,
uuid varchar(36) UNIQUE DEFAULT '' NOT NULL,
secret varchar(255) DEFAULT '' NOT NULL,
name varchar(64) DEFAULT '' NOT NULL,
address varchar(39) DEFAULT '' NOT NULL,
platform varchar(16) DEFAULT '' NOT NULL,
software varchar(32) DEFAULT '' NOT NULL,
status varchar(16) DEFAULT '' NOT NULL,
last_seen_at datetime,
status_requested varchar(16) DEFAULT '' NOT NULL,
lazy_status_request smallint DEFAULT false NOT NULL,
supported_task_types varchar(255) DEFAULT '' NOT NULL,
deleted_at datetime,
can_restart smallint DEFAULT false NOT NULL,
PRIMARY KEY (id)
);
INSERT INTO temp_workers SELECT
id,
created_at,
updated_at,
uuid,
secret,
name,
address,
platform,
software,
status,
last_seen_at,
status_requested,
lazy_status_request,
supported_task_types,
deleted_at,
can_restart
FROM workers;
DROP TABLE workers;
ALTER TABLE temp_workers RENAME TO workers;

@ -94,10 +94,10 @@ type Worker struct {
Status string Status string
LastSeenAt sql.NullTime LastSeenAt sql.NullTime
StatusRequested string StatusRequested string
LazyStatusRequest int64 LazyStatusRequest bool
SupportedTaskTypes string SupportedTaskTypes string
DeletedAt sql.NullTime DeletedAt sql.NullTime
CanRestart int64 CanRestart bool
} }
type WorkerTag struct { type WorkerTag struct {

@ -109,10 +109,10 @@ CREATE TABLE workers (
status varchar(16) DEFAULT '' NOT NULL, status varchar(16) DEFAULT '' NOT NULL,
last_seen_at datetime, last_seen_at datetime,
status_requested varchar(16) DEFAULT '' NOT NULL, status_requested varchar(16) DEFAULT '' NOT NULL,
lazy_status_request smallint DEFAULT false NOT NULL, lazy_status_request boolean DEFAULT false NOT NULL,
supported_task_types varchar(255) DEFAULT '' NOT NULL, supported_task_types varchar(255) DEFAULT '' NOT NULL,
deleted_at datetime, deleted_at datetime,
can_restart smallint DEFAULT false NOT NULL, can_restart boolean DEFAULT false NOT NULL,
PRIMARY KEY (id) PRIMARY KEY (id)
); );
CREATE INDEX idx_jobs_uuid ON jobs(uuid); CREATE INDEX idx_jobs_uuid ON jobs(uuid);

@ -251,9 +251,9 @@ func convertSqlcWorker(worker sqlc.Worker) Worker {
Software: worker.Software, Software: worker.Software,
Status: api.WorkerStatus(worker.Status), Status: api.WorkerStatus(worker.Status),
LastSeenAt: worker.LastSeenAt.Time, LastSeenAt: worker.LastSeenAt.Time,
CanRestart: worker.CanRestart != 0, CanRestart: worker.CanRestart,
StatusRequested: api.WorkerStatus(worker.StatusRequested), StatusRequested: api.WorkerStatus(worker.StatusRequested),
LazyStatusRequest: worker.LazyStatusRequest != 0, LazyStatusRequest: worker.LazyStatusRequest,
SupportedTaskTypes: worker.SupportedTaskTypes, SupportedTaskTypes: worker.SupportedTaskTypes,
} }
} }