Skip to content

Commit

Permalink
Add a table for controls
Browse files Browse the repository at this point in the history
This table adds a basic schema for controls, which will be referenced by
results.

Ideally, this control information will supplement information from other
sources like OSCAL catalogs, which should be the preferred source of
information, since it comes from the profile/standard authors.

This schema is being discussed in issue #84.
  • Loading branch information
rhmdnd committed Aug 4, 2022
1 parent f3d84f2 commit a52579c
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 1 deletion.
1 change: 1 addition & 0 deletions migrations/000008_create_controls_table.down.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
DROP TABLE IF EXISTS controls;
9 changes: 9 additions & 0 deletions migrations/000008_create_controls_table.up.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
CREATE TABLE IF NOT EXISTS controls (
id uuid PRIMARY KEY,
name VARCHAR(255),
severity VARCHAR(50),
profile_id UUID,
metadata_id UUID,
CONSTRAINT fk_controls_metadata_id FOREIGN KEY (metadata_id) REFERENCES metadata (id),
CONSTRAINT fk_controls_profile_id FOREIGN KEY (profile_id) REFERENCES profiles (id)
);
2 changes: 1 addition & 1 deletion tests/integration_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -303,7 +303,7 @@ func TestMigration(t *testing.T) { // nolint:paralleltest // database tests shou
// Upgrade the database and make sure all upgrades apply cleanly.
err = m.Up()
version, dirty, _ = m.Version()
expectedVersion = uint(7)
expectedVersion = uint(8)
assert.Equal(t, expectedVersion, version, "Database version mismatch: want %d but got %d", expectedVersion, version)
assert.Equal(t, false, dirty, "Database state mismatch: want %t but got %t", false, dirty)
assert.Equal(t, err, nil, "Error upgrading the database: %s", err)
Expand Down

0 comments on commit a52579c

Please sign in to comment.