fix(coderd/database): migrate workspaces.last_used_at to timestamptz (#9699)

This commit is contained in:
Cian Johnston
2023-09-18 11:07:54 +01:00
committed by GitHub
parent 1f5eb088b5
commit 9bcff30dee
5 changed files with 13 additions and 10 deletions

View File

@ -1046,7 +1046,7 @@ CREATE TABLE workspaces (
name character varying(64) NOT NULL,
autostart_schedule text,
ttl bigint,
last_used_at timestamp without time zone DEFAULT '0001-01-01 00:00:00'::timestamp without time zone NOT NULL,
last_used_at timestamp with time zone DEFAULT '0001-01-01 00:00:00+00'::timestamp with time zone NOT NULL,
dormant_at timestamp with time zone,
deleting_at timestamp with time zone
);

View File

@ -0,0 +1,6 @@
ALTER TABLE ONLY workspaces
ALTER COLUMN last_used_at
SET DATA TYPE timestamp
USING last_used_at::timestamptz AT TIME ZONE 'UTC',
ALTER COLUMN last_used_at
SET DEFAULT '0001-01-01 00:00:00'::timestamp;

View File

@ -0,0 +1,6 @@
ALTER TABLE ONLY workspaces
ALTER COLUMN last_used_at
SET DATA TYPE timestamptz
USING last_used_at::timestamp AT TIME ZONE 'UTC',
ALTER COLUMN last_used_at
SET DEFAULT '0001-01-01 00:00:00+00:00'::timestamptz;

View File

@ -1515,12 +1515,8 @@ func TestWorkspaceFilterManual(t *testing.T) {
t.Run("LastUsed", func(t *testing.T) {
t.Parallel()
// nolint:gocritic // https://github.com/coder/coder/issues/9682
db, ps := dbtestutil.NewDB(t, dbtestutil.WithTimezone("UTC"))
client, _, api := coderdtest.NewWithAPI(t, &coderdtest.Options{
IncludeProvisionerDaemon: true,
Database: db,
Pubsub: ps,
})
user := coderdtest.CreateFirstUser(t, client)
authToken := uuid.NewString()

View File

@ -13,7 +13,6 @@ import (
"github.com/coder/coder/v2/coderd/audit"
"github.com/coder/coder/v2/coderd/coderdtest"
"github.com/coder/coder/v2/coderd/database"
"github.com/coder/coder/v2/coderd/database/dbtestutil"
"github.com/coder/coder/v2/coderd/rbac"
"github.com/coder/coder/v2/codersdk"
"github.com/coder/coder/v2/cryptorand"
@ -369,14 +368,10 @@ func TestTemplates(t *testing.T) {
t.Run("UpdateLastUsedAt", func(t *testing.T) {
t.Parallel()
// nolint:gocritic // https://github.com/coder/coder/issues/9682
db, ps := dbtestutil.NewDB(t, dbtestutil.WithTimezone("UTC"))
ctx := testutil.Context(t, testutil.WaitMedium)
client, user := coderdenttest.New(t, &coderdenttest.Options{
Options: &coderdtest.Options{
IncludeProvisionerDaemon: true,
Database: db,
Pubsub: ps,
},
LicenseOptions: &coderdenttest.LicenseOptions{
Features: license.Features{