Skip to content

Commit ccc309e

Browse files
refactor: embed preset_prebuilds table into presets table
1 parent 9df6554 commit ccc309e

File tree

15 files changed

+127
-195
lines changed

15 files changed

+127
-195
lines changed

coderd/database/dbauthz/dbauthz.go

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3310,13 +3310,6 @@ func (q *querier) InsertPresetParameters(ctx context.Context, arg database.Inser
33103310
return q.db.InsertPresetParameters(ctx, arg)
33113311
}
33123312

3313-
func (q *querier) InsertPresetPrebuild(ctx context.Context, arg database.InsertPresetPrebuildParams) (database.TemplateVersionPresetPrebuild, error) {
3314-
if err := q.authorizeContext(ctx, policy.ActionCreate, rbac.ResourceSystem); err != nil {
3315-
return database.TemplateVersionPresetPrebuild{}, err
3316-
}
3317-
return q.db.InsertPresetPrebuild(ctx, arg)
3318-
}
3319-
33203313
// TODO: We need to create a ProvisionerJob resource type
33213314
func (q *querier) InsertProvisionerJob(ctx context.Context, arg database.InsertProvisionerJobParams) (database.ProvisionerJob, error) {
33223315
// if err := q.authorizeContext(ctx, policy.ActionCreate, rbac.ResourceSystem); err != nil {

coderd/database/dbgen/dbgen.go

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1160,9 +1160,11 @@ func TelemetryItem(t testing.TB, db database.Store, seed database.TelemetryItem)
11601160

11611161
func Preset(t testing.TB, db database.Store, seed database.InsertPresetParams) database.TemplateVersionPreset {
11621162
preset, err := db.InsertPreset(genCtx, database.InsertPresetParams{
1163-
TemplateVersionID: takeFirst(seed.TemplateVersionID, uuid.New()),
1164-
Name: takeFirst(seed.Name, testutil.GetRandomName(t)),
1165-
CreatedAt: takeFirst(seed.CreatedAt, dbtime.Now()),
1163+
TemplateVersionID: takeFirst(seed.TemplateVersionID, uuid.New()),
1164+
Name: takeFirst(seed.Name, testutil.GetRandomName(t)),
1165+
CreatedAt: takeFirst(seed.CreatedAt, dbtime.Now()),
1166+
DesiredInstances: seed.DesiredInstances,
1167+
InvalidateAfterSecs: seed.InvalidateAfterSecs,
11661168
})
11671169
require.NoError(t, err, "insert preset")
11681170
return preset
@@ -1179,17 +1181,6 @@ func PresetParameter(t testing.TB, db database.Store, seed database.InsertPreset
11791181
return parameters
11801182
}
11811183

1182-
func PresetPrebuild(t testing.TB, db database.Store, seed database.InsertPresetPrebuildParams) database.TemplateVersionPresetPrebuild {
1183-
prebuild, err := db.InsertPresetPrebuild(genCtx, database.InsertPresetPrebuildParams{
1184-
ID: takeFirst(seed.ID, uuid.New()),
1185-
PresetID: takeFirst(seed.PresetID, uuid.New()),
1186-
DesiredInstances: takeFirst(seed.DesiredInstances, 1),
1187-
InvalidateAfterSecs: 0,
1188-
})
1189-
require.NoError(t, err, "insert preset prebuild")
1190-
return prebuild
1191-
}
1192-
11931184
func provisionerJobTiming(t testing.TB, db database.Store, seed database.ProvisionerJobTiming) database.ProvisionerJobTiming {
11941185
timing, err := db.InsertProvisionerJobTimings(genCtx, database.InsertProvisionerJobTimingsParams{
11951186
JobID: takeFirst(seed.JobID, uuid.New()),

coderd/database/dbmem/dbmem.go

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8566,15 +8566,6 @@ func (q *FakeQuerier) InsertPresetParameters(_ context.Context, arg database.Ins
85668566
return presetParameters, nil
85678567
}
85688568

8569-
func (*FakeQuerier) InsertPresetPrebuild(_ context.Context, arg database.InsertPresetPrebuildParams) (database.TemplateVersionPresetPrebuild, error) {
8570-
err := validateDatabaseType(arg)
8571-
if err != nil {
8572-
return database.TemplateVersionPresetPrebuild{}, err
8573-
}
8574-
8575-
return database.TemplateVersionPresetPrebuild{}, ErrUnimplemented
8576-
}
8577-
85788569
func (q *FakeQuerier) InsertProvisionerJob(_ context.Context, arg database.InsertProvisionerJobParams) (database.ProvisionerJob, error) {
85798570
if err := validateDatabaseType(arg); err != nil {
85808571
return database.ProvisionerJob{}, err

coderd/database/dbmetrics/querymetrics.go

Lines changed: 0 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/database/dbmock/dbmock.go

Lines changed: 0 additions & 15 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/database/dump.sql

Lines changed: 3 additions & 14 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/database/foreign_key_constraint.go

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,6 @@
1-
CREATE TABLE template_version_preset_prebuilds
2-
(
3-
id UUID PRIMARY KEY,
4-
preset_id UUID NOT NULL,
5-
desired_instances INT NOT NULL,
6-
invalidate_after_secs INT NULL DEFAULT 0,
7-
8-
-- Deletion should never occur, but if we allow it we should check no prebuilds exist attached to this preset first.
9-
FOREIGN KEY (preset_id) REFERENCES template_version_presets (id) ON DELETE CASCADE
10-
);
1+
ALTER TABLE template_version_presets
2+
ADD COLUMN desired_instances INT NULL,
3+
ADD COLUMN invalidate_after_secs INT NULL DEFAULT 0;
114

125
-- We should not be able to have presets with the same name for a particular template version.
136
CREATE UNIQUE INDEX idx_unique_preset_name ON template_version_presets (name, template_version_id);

coderd/database/models.go

Lines changed: 6 additions & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/database/querier.go

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/database/querier_test.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3511,17 +3511,17 @@ func TestGetPresetsBackoff(t *testing.T) {
35113511
UpdatedAt: now,
35123512
CreatedBy: tmpl.CreatedBy,
35133513
})
3514-
preset := dbgen.Preset(t, db, database.InsertPresetParams{
3515-
TemplateVersionID: tmplVersion.ID,
3516-
Name: "preset",
3517-
})
35183514
desiredInstances := 1
35193515
if opts != nil {
35203516
desiredInstances = opts.DesiredInstances
35213517
}
3522-
dbgen.PresetPrebuild(t, db, database.InsertPresetPrebuildParams{
3523-
PresetID: preset.ID,
3524-
DesiredInstances: int32(desiredInstances),
3518+
preset := dbgen.Preset(t, db, database.InsertPresetParams{
3519+
TemplateVersionID: tmplVersion.ID,
3520+
Name: "preset",
3521+
DesiredInstances: sql.NullInt32{
3522+
Int32: int32(desiredInstances),
3523+
Valid: true,
3524+
},
35253525
})
35263526

35273527
return extTmplVersion{

0 commit comments

Comments
 (0)