Skip to content

Commit

Permalink
Add release_phase column to rule_type table. (#4249)
Browse files Browse the repository at this point in the history
The new `release_phase` column of `rule_type` table contains release
phase information about the rule type, being one of `alpha`, `beta`,
`ga`, or `deprecated`. The available states are defined as an
enumerated type.

Fixes #4242
Fixes #4243
  • Loading branch information
blkt authored Aug 23, 2024
1 parent 21e0927 commit 02ab8b0
Show file tree
Hide file tree
Showing 4 changed files with 101 additions and 6 deletions.
20 changes: 20 additions & 0 deletions database/migrations/000100_rule_type_add_state_column.down.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
-- Copyright 2024 Stacklok, Inc
--
-- Licensed under the Apache License, Version 2.0 (the "License");
-- you may not use this file except in compliance with the License.
-- You may obtain a copy of the License at
--
-- http://www.apache.org/licenses/LICENSE-2.0
--
-- Unless required by applicable law or agreed to in writing, software
-- distributed under the License is distributed on an "AS IS" BASIS,
-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-- See the License for the specific language governing permissions and
-- limitations under the License.

BEGIN;

ALTER TABLE rule_type DROP COLUMN release_phase;
DROP TYPE release_status;

COMMIT;
24 changes: 24 additions & 0 deletions database/migrations/000100_rule_type_add_state_column.up.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
-- Copyright 2024 Stacklok, Inc
--
-- Licensed under the Apache License, Version 2.0 (the "License");
-- you may not use this file except in compliance with the License.
-- You may obtain a copy of the License at
--
-- http://www.apache.org/licenses/LICENSE-2.0
--
-- Unless required by applicable law or agreed to in writing, software
-- distributed under the License is distributed on an "AS IS" BASIS,
-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-- See the License for the specific language governing permissions and
-- limitations under the License.

BEGIN;

CREATE TYPE release_status AS ENUM ('alpha', 'beta', 'ga', 'deprecated');
ALTER TABLE rule_type ADD COLUMN release_phase release_status;
UPDATE rule_type SET release_phase = 'alpha' WHERE release_phase IS NULL;
ALTER TABLE rule_type
ALTER COLUMN release_phase SET DEFAULT 'ga',
ALTER COLUMN release_phase SET NOT NULL;

COMMIT;
45 changes: 45 additions & 0 deletions internal/db/models.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 12 additions & 6 deletions internal/db/rule_types.sql.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 02ab8b0

Please sign in to comment.