@opensip-cli/datastore 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/migrations/0000_tense_karma.sql +73 -0
- package/migrations/meta/0000_snapshot.json +289 -100
- package/migrations/meta/_journal.json +2 -93
- package/package.json +2 -2
- package/migrations/0000_sticky_white_tiger.sql +0 -39
- package/migrations/0001_easy_harry_osborn.sql +0 -18
- package/migrations/0002_plain_amazoness.sql +0 -5
- package/migrations/0003_mysterious_khan.sql +0 -6
- package/migrations/0004_narrow_bloodscream.sql +0 -3
- package/migrations/0005_lying_luke_cage.sql +0 -7
- package/migrations/0006_mean_photon.sql +0 -12
- package/migrations/0007_parallel_chamber.sql +0 -3
- package/migrations/0008_flaky_victor_mancha.sql +0 -7
- package/migrations/0009_stable_tool_identity.sql +0 -9
- package/migrations/0010_add_timestamp_iso_and_payload_version.sql +0 -11
- package/migrations/0011_payload_version_safety_and_notes.sql +0 -21
- package/migrations/0012_overrated_talon.sql +0 -21
- package/migrations/0013_lovely_zarda.sql +0 -1
- package/migrations/meta/0001_snapshot.json +0 -369
- package/migrations/meta/0002_snapshot.json +0 -400
- package/migrations/meta/0003_snapshot.json +0 -441
- package/migrations/meta/0004_snapshot.json +0 -270
- package/migrations/meta/0005_snapshot.json +0 -315
- package/migrations/meta/0006_snapshot.json +0 -382
- package/migrations/meta/0007_snapshot.json +0 -303
- package/migrations/meta/0008_snapshot.json +0 -346
- package/migrations/meta/0009_snapshot.json +0 -367
- package/migrations/meta/0010_snapshot.json +0 -382
- package/migrations/meta/0011_snapshot.json +0 -382
- package/migrations/meta/0012_snapshot.json +0 -512
- package/migrations/meta/0013_snapshot.json +0 -458
|
@@ -5,99 +5,8 @@
|
|
|
5
5
|
{
|
|
6
6
|
"idx": 0,
|
|
7
7
|
"version": "6",
|
|
8
|
-
"when":
|
|
9
|
-
"tag": "
|
|
10
|
-
"breakpoints": true
|
|
11
|
-
},
|
|
12
|
-
{
|
|
13
|
-
"idx": 1,
|
|
14
|
-
"version": "6",
|
|
15
|
-
"when": 1779410786534,
|
|
16
|
-
"tag": "0001_easy_harry_osborn",
|
|
17
|
-
"breakpoints": true
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
"idx": 2,
|
|
21
|
-
"version": "6",
|
|
22
|
-
"when": 1779412753285,
|
|
23
|
-
"tag": "0002_plain_amazoness",
|
|
24
|
-
"breakpoints": true
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
"idx": 3,
|
|
28
|
-
"version": "6",
|
|
29
|
-
"when": 1780071849200,
|
|
30
|
-
"tag": "0003_mysterious_khan",
|
|
31
|
-
"breakpoints": true
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
"idx": 4,
|
|
35
|
-
"version": "6",
|
|
36
|
-
"when": 1780086499584,
|
|
37
|
-
"tag": "0004_narrow_bloodscream",
|
|
38
|
-
"breakpoints": true
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
"idx": 5,
|
|
42
|
-
"version": "6",
|
|
43
|
-
"when": 1780163221374,
|
|
44
|
-
"tag": "0005_lying_luke_cage",
|
|
45
|
-
"breakpoints": true
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
"idx": 6,
|
|
49
|
-
"version": "6",
|
|
50
|
-
"when": 1781229415303,
|
|
51
|
-
"tag": "0006_mean_photon",
|
|
52
|
-
"breakpoints": true
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
"idx": 7,
|
|
56
|
-
"version": "6",
|
|
57
|
-
"when": 1781235517090,
|
|
58
|
-
"tag": "0007_parallel_chamber",
|
|
59
|
-
"breakpoints": true
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
"idx": 8,
|
|
63
|
-
"version": "6",
|
|
64
|
-
"when": 1781289858783,
|
|
65
|
-
"tag": "0008_flaky_victor_mancha",
|
|
66
|
-
"breakpoints": true
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
"idx": 9,
|
|
70
|
-
"version": "6",
|
|
71
|
-
"when": 1781290000000,
|
|
72
|
-
"tag": "0009_stable_tool_identity",
|
|
73
|
-
"breakpoints": true
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
"idx": 10,
|
|
77
|
-
"version": "6",
|
|
78
|
-
"when": 1781333902000,
|
|
79
|
-
"tag": "0010_add_timestamp_iso_and_payload_version",
|
|
80
|
-
"breakpoints": true
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
"idx": 11,
|
|
84
|
-
"version": "6",
|
|
85
|
-
"when": 1781336873000,
|
|
86
|
-
"tag": "0011_payload_version_safety_and_notes",
|
|
87
|
-
"breakpoints": true
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
"idx": 12,
|
|
91
|
-
"version": "6",
|
|
92
|
-
"when": 1781466317892,
|
|
93
|
-
"tag": "0012_overrated_talon",
|
|
94
|
-
"breakpoints": true
|
|
95
|
-
},
|
|
96
|
-
{
|
|
97
|
-
"idx": 13,
|
|
98
|
-
"version": "6",
|
|
99
|
-
"when": 1781488632647,
|
|
100
|
-
"tag": "0013_lovely_zarda",
|
|
8
|
+
"when": 1781564695223,
|
|
9
|
+
"tag": "0000_tense_karma",
|
|
101
10
|
"breakpoints": true
|
|
102
11
|
}
|
|
103
12
|
]
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opensip-cli/datastore",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"description": "SQLite + Drizzle persistence layer for OpenSIP CLI — DataStore interface, backends, factory, schema migrations",
|
|
6
6
|
"keywords": [
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"@opentelemetry/api": "^1.9.1",
|
|
37
37
|
"better-sqlite3": "^12.10.0",
|
|
38
38
|
"drizzle-orm": "^0.45.2",
|
|
39
|
-
"@opensip-cli/core": "0.1.
|
|
39
|
+
"@opensip-cli/core": "0.1.2"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@types/better-sqlite3": "^7.6.13",
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
CREATE TABLE `session_checks` (
|
|
2
|
-
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
|
3
|
-
`session_id` text NOT NULL,
|
|
4
|
-
`check_slug` text NOT NULL,
|
|
5
|
-
`passed` integer NOT NULL,
|
|
6
|
-
`violation_count` integer,
|
|
7
|
-
`duration_ms` integer NOT NULL,
|
|
8
|
-
FOREIGN KEY (`session_id`) REFERENCES `sessions`(`id`) ON UPDATE no action ON DELETE cascade
|
|
9
|
-
);
|
|
10
|
-
--> statement-breakpoint
|
|
11
|
-
CREATE INDEX `session_checks_session_idx` ON `session_checks` (`session_id`);--> statement-breakpoint
|
|
12
|
-
CREATE TABLE `session_findings` (
|
|
13
|
-
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
|
14
|
-
`session_check_id` integer NOT NULL,
|
|
15
|
-
`rule_id` text NOT NULL,
|
|
16
|
-
`severity` text NOT NULL,
|
|
17
|
-
`message` text NOT NULL,
|
|
18
|
-
`file_path` text,
|
|
19
|
-
`line` integer,
|
|
20
|
-
`column` integer,
|
|
21
|
-
`suggestion` text,
|
|
22
|
-
`category` text,
|
|
23
|
-
FOREIGN KEY (`session_check_id`) REFERENCES `session_checks`(`id`) ON UPDATE no action ON DELETE cascade
|
|
24
|
-
);
|
|
25
|
-
--> statement-breakpoint
|
|
26
|
-
CREATE INDEX `session_findings_check_idx` ON `session_findings` (`session_check_id`);--> statement-breakpoint
|
|
27
|
-
CREATE TABLE `sessions` (
|
|
28
|
-
`id` text PRIMARY KEY NOT NULL,
|
|
29
|
-
`tool` text NOT NULL,
|
|
30
|
-
`timestamp` integer NOT NULL,
|
|
31
|
-
`cwd` text NOT NULL,
|
|
32
|
-
`recipe` text,
|
|
33
|
-
`score` integer NOT NULL,
|
|
34
|
-
`passed` integer NOT NULL,
|
|
35
|
-
`summary` text NOT NULL,
|
|
36
|
-
`duration_ms` integer NOT NULL
|
|
37
|
-
);
|
|
38
|
-
--> statement-breakpoint
|
|
39
|
-
CREATE INDEX `sessions_tool_timestamp_idx` ON `sessions` (`tool`,"timestamp" DESC);
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
CREATE TABLE `graph_baseline_meta` (
|
|
2
|
-
`id` integer PRIMARY KEY NOT NULL,
|
|
3
|
-
`captured_at` integer NOT NULL
|
|
4
|
-
);
|
|
5
|
-
--> statement-breakpoint
|
|
6
|
-
CREATE TABLE `graph_baseline_signals` (
|
|
7
|
-
`fingerprint` text PRIMARY KEY NOT NULL,
|
|
8
|
-
`captured_at` integer NOT NULL
|
|
9
|
-
);
|
|
10
|
-
--> statement-breakpoint
|
|
11
|
-
CREATE TABLE `graph_catalog` (
|
|
12
|
-
`id` integer PRIMARY KEY NOT NULL,
|
|
13
|
-
`language` text NOT NULL,
|
|
14
|
-
`cache_key` text NOT NULL,
|
|
15
|
-
`files_fingerprint` text NOT NULL,
|
|
16
|
-
`built_at` text NOT NULL,
|
|
17
|
-
`payload` text NOT NULL
|
|
18
|
-
);
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
CREATE TABLE `tool_baseline_entries` (
|
|
2
|
-
`tool` text NOT NULL,
|
|
3
|
-
`fingerprint` text NOT NULL,
|
|
4
|
-
`payload` text,
|
|
5
|
-
`captured_at` integer NOT NULL,
|
|
6
|
-
PRIMARY KEY(`tool`, `fingerprint`)
|
|
7
|
-
);
|
|
8
|
-
--> statement-breakpoint
|
|
9
|
-
CREATE TABLE `tool_baseline_meta` (
|
|
10
|
-
`tool` text PRIMARY KEY NOT NULL,
|
|
11
|
-
`captured_at` integer NOT NULL
|
|
12
|
-
);
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
-- Additive columns for tool stable UUID (ADR-0048). Legacy rows get NULL;
|
|
2
|
-
-- new writes from provenance (when stableId present in manifest) or future
|
|
3
|
-
-- ratchet paths can populate it. The `tool` column retains the human name
|
|
4
|
-
-- for current queries/compat.
|
|
5
|
-
ALTER TABLE `tool_state` ADD COLUMN `stable_id` text;
|
|
6
|
-
--> statement-breakpoint
|
|
7
|
-
ALTER TABLE `tool_baseline_entries` ADD COLUMN `stable_id` text;
|
|
8
|
-
--> statement-breakpoint
|
|
9
|
-
ALTER TABLE `tool_baseline_meta` ADD COLUMN `stable_id` text;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
-- Add columns for timestamp fidelity (original ISO) and basic payload versioning.
|
|
2
|
-
-- Existing rows: timestamp_iso null (hydrate falls back to reconstructed), payload_version defaults to 1.
|
|
3
|
-
-- NOTE: statements are split by drizzle's breakpoint marker so each runs as its
|
|
4
|
-
-- own prepared statement (better-sqlite3 rejects multi-statement strings).
|
|
5
|
-
ALTER TABLE sessions ADD COLUMN timestamp_iso TEXT;
|
|
6
|
-
--> statement-breakpoint
|
|
7
|
-
ALTER TABLE session_tool_payload ADD COLUMN payload_version INTEGER NOT NULL DEFAULT 1;
|
|
8
|
-
--> statement-breakpoint
|
|
9
|
-
-- Backfill timestamp_iso for old rows (approximate from ms epoch).
|
|
10
|
-
-- Note: for exact original, re-persist sessions after upgrade.
|
|
11
|
-
UPDATE sessions SET timestamp_iso = strftime('%Y-%m-%dT%H:%M:%fZ', timestamp / 1000, 'unixepoch') WHERE timestamp_iso IS NULL;
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
-- Phase 7: Payload schema evolution — outer column safety + notes.
|
|
2
|
-
-- The `payload_version` column is created by migration 0010 (NOT NULL DEFAULT 1).
|
|
3
|
-
-- This migration intentionally carries NO further DDL: SQLite has no
|
|
4
|
-
-- `ADD COLUMN IF NOT EXISTS`, and drizzle's migrator does not emulate it, so
|
|
5
|
-
-- re-adding the column here would fail with "duplicate column name". The
|
|
6
|
-
-- migration exists to document the two-level versioning model and to run a
|
|
7
|
-
-- harmless, idempotent backfill. No JSON rewrite of historical payloads is
|
|
8
|
-
-- performed or required (projection on read is the strategy; see plan + ADR-0050).
|
|
9
|
-
|
|
10
|
-
-- Notes for operators / future migrations:
|
|
11
|
-
-- * payload_version (created in 0010) = outer storage contract version (bumped
|
|
12
|
-
-- only for host-visible changes between session-store and tools).
|
|
13
|
-
-- * The tool-owned inner version lives as "__version" (number) at the top level
|
|
14
|
-
-- of the JSON blob in the `payload` column.
|
|
15
|
-
-- * Legacy rows (column=1 or absent, or no __version in JSON) are treated as v1
|
|
16
|
-
-- with `fidelity: 'projection'`.
|
|
17
|
-
-- * Migrations on these tables must remain append-only. Backfills only for safe
|
|
18
|
-
-- host columns (timestamp_iso precedent); never rewrite tool JSON.
|
|
19
|
-
|
|
20
|
-
-- Backfill any rows that somehow missed the DEFAULT (belt-and-suspenders).
|
|
21
|
-
UPDATE session_tool_payload SET payload_version = 1 WHERE payload_version IS NULL;
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
CREATE TABLE `session_dashboard_contributions` (
|
|
2
|
-
`session_id` text NOT NULL,
|
|
3
|
-
`tool` text NOT NULL,
|
|
4
|
-
`contribution` text NOT NULL,
|
|
5
|
-
`version` integer DEFAULT 1 NOT NULL,
|
|
6
|
-
PRIMARY KEY(`session_id`, `tool`),
|
|
7
|
-
FOREIGN KEY (`session_id`) REFERENCES `sessions`(`id`) ON UPDATE no action ON DELETE cascade
|
|
8
|
-
);
|
|
9
|
-
--> statement-breakpoint
|
|
10
|
-
CREATE TABLE `session_host_metrics` (
|
|
11
|
-
`session_id` text PRIMARY KEY NOT NULL,
|
|
12
|
-
`tty_busy_ms` integer,
|
|
13
|
-
`render_ms` integer,
|
|
14
|
-
`persist_ms` integer,
|
|
15
|
-
`egress_ms` integer,
|
|
16
|
-
`total_command_ms` integer,
|
|
17
|
-
FOREIGN KEY (`session_id`) REFERENCES `sessions`(`id`) ON UPDATE no action ON DELETE cascade
|
|
18
|
-
);
|
|
19
|
-
--> statement-breakpoint
|
|
20
|
-
ALTER TABLE `sessions` ADD `completed_at` integer;--> statement-breakpoint
|
|
21
|
-
ALTER TABLE `sessions` ADD `completed_at_iso` text;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
DROP TABLE `session_dashboard_contributions`;
|
|
@@ -1,369 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": "6",
|
|
3
|
-
"dialect": "sqlite",
|
|
4
|
-
"id": "a1cc5bfe-5aaa-4d7a-a783-8b0dcbcc8f3b",
|
|
5
|
-
"prevId": "79fc9add-aa32-40ce-b157-72b5df13fa7e",
|
|
6
|
-
"tables": {
|
|
7
|
-
"session_checks": {
|
|
8
|
-
"name": "session_checks",
|
|
9
|
-
"columns": {
|
|
10
|
-
"id": {
|
|
11
|
-
"name": "id",
|
|
12
|
-
"type": "integer",
|
|
13
|
-
"primaryKey": true,
|
|
14
|
-
"notNull": true,
|
|
15
|
-
"autoincrement": true
|
|
16
|
-
},
|
|
17
|
-
"session_id": {
|
|
18
|
-
"name": "session_id",
|
|
19
|
-
"type": "text",
|
|
20
|
-
"primaryKey": false,
|
|
21
|
-
"notNull": true,
|
|
22
|
-
"autoincrement": false
|
|
23
|
-
},
|
|
24
|
-
"check_slug": {
|
|
25
|
-
"name": "check_slug",
|
|
26
|
-
"type": "text",
|
|
27
|
-
"primaryKey": false,
|
|
28
|
-
"notNull": true,
|
|
29
|
-
"autoincrement": false
|
|
30
|
-
},
|
|
31
|
-
"passed": {
|
|
32
|
-
"name": "passed",
|
|
33
|
-
"type": "integer",
|
|
34
|
-
"primaryKey": false,
|
|
35
|
-
"notNull": true,
|
|
36
|
-
"autoincrement": false
|
|
37
|
-
},
|
|
38
|
-
"violation_count": {
|
|
39
|
-
"name": "violation_count",
|
|
40
|
-
"type": "integer",
|
|
41
|
-
"primaryKey": false,
|
|
42
|
-
"notNull": false,
|
|
43
|
-
"autoincrement": false
|
|
44
|
-
},
|
|
45
|
-
"duration_ms": {
|
|
46
|
-
"name": "duration_ms",
|
|
47
|
-
"type": "integer",
|
|
48
|
-
"primaryKey": false,
|
|
49
|
-
"notNull": true,
|
|
50
|
-
"autoincrement": false
|
|
51
|
-
}
|
|
52
|
-
},
|
|
53
|
-
"indexes": {
|
|
54
|
-
"session_checks_session_idx": {
|
|
55
|
-
"name": "session_checks_session_idx",
|
|
56
|
-
"columns": ["session_id"],
|
|
57
|
-
"isUnique": false
|
|
58
|
-
}
|
|
59
|
-
},
|
|
60
|
-
"foreignKeys": {
|
|
61
|
-
"session_checks_session_id_sessions_id_fk": {
|
|
62
|
-
"name": "session_checks_session_id_sessions_id_fk",
|
|
63
|
-
"tableFrom": "session_checks",
|
|
64
|
-
"tableTo": "sessions",
|
|
65
|
-
"columnsFrom": ["session_id"],
|
|
66
|
-
"columnsTo": ["id"],
|
|
67
|
-
"onDelete": "cascade",
|
|
68
|
-
"onUpdate": "no action"
|
|
69
|
-
}
|
|
70
|
-
},
|
|
71
|
-
"compositePrimaryKeys": {},
|
|
72
|
-
"uniqueConstraints": {},
|
|
73
|
-
"checkConstraints": {}
|
|
74
|
-
},
|
|
75
|
-
"session_findings": {
|
|
76
|
-
"name": "session_findings",
|
|
77
|
-
"columns": {
|
|
78
|
-
"id": {
|
|
79
|
-
"name": "id",
|
|
80
|
-
"type": "integer",
|
|
81
|
-
"primaryKey": true,
|
|
82
|
-
"notNull": true,
|
|
83
|
-
"autoincrement": true
|
|
84
|
-
},
|
|
85
|
-
"session_check_id": {
|
|
86
|
-
"name": "session_check_id",
|
|
87
|
-
"type": "integer",
|
|
88
|
-
"primaryKey": false,
|
|
89
|
-
"notNull": true,
|
|
90
|
-
"autoincrement": false
|
|
91
|
-
},
|
|
92
|
-
"rule_id": {
|
|
93
|
-
"name": "rule_id",
|
|
94
|
-
"type": "text",
|
|
95
|
-
"primaryKey": false,
|
|
96
|
-
"notNull": true,
|
|
97
|
-
"autoincrement": false
|
|
98
|
-
},
|
|
99
|
-
"severity": {
|
|
100
|
-
"name": "severity",
|
|
101
|
-
"type": "text",
|
|
102
|
-
"primaryKey": false,
|
|
103
|
-
"notNull": true,
|
|
104
|
-
"autoincrement": false
|
|
105
|
-
},
|
|
106
|
-
"message": {
|
|
107
|
-
"name": "message",
|
|
108
|
-
"type": "text",
|
|
109
|
-
"primaryKey": false,
|
|
110
|
-
"notNull": true,
|
|
111
|
-
"autoincrement": false
|
|
112
|
-
},
|
|
113
|
-
"file_path": {
|
|
114
|
-
"name": "file_path",
|
|
115
|
-
"type": "text",
|
|
116
|
-
"primaryKey": false,
|
|
117
|
-
"notNull": false,
|
|
118
|
-
"autoincrement": false
|
|
119
|
-
},
|
|
120
|
-
"line": {
|
|
121
|
-
"name": "line",
|
|
122
|
-
"type": "integer",
|
|
123
|
-
"primaryKey": false,
|
|
124
|
-
"notNull": false,
|
|
125
|
-
"autoincrement": false
|
|
126
|
-
},
|
|
127
|
-
"column": {
|
|
128
|
-
"name": "column",
|
|
129
|
-
"type": "integer",
|
|
130
|
-
"primaryKey": false,
|
|
131
|
-
"notNull": false,
|
|
132
|
-
"autoincrement": false
|
|
133
|
-
},
|
|
134
|
-
"suggestion": {
|
|
135
|
-
"name": "suggestion",
|
|
136
|
-
"type": "text",
|
|
137
|
-
"primaryKey": false,
|
|
138
|
-
"notNull": false,
|
|
139
|
-
"autoincrement": false
|
|
140
|
-
},
|
|
141
|
-
"category": {
|
|
142
|
-
"name": "category",
|
|
143
|
-
"type": "text",
|
|
144
|
-
"primaryKey": false,
|
|
145
|
-
"notNull": false,
|
|
146
|
-
"autoincrement": false
|
|
147
|
-
}
|
|
148
|
-
},
|
|
149
|
-
"indexes": {
|
|
150
|
-
"session_findings_check_idx": {
|
|
151
|
-
"name": "session_findings_check_idx",
|
|
152
|
-
"columns": ["session_check_id"],
|
|
153
|
-
"isUnique": false
|
|
154
|
-
}
|
|
155
|
-
},
|
|
156
|
-
"foreignKeys": {
|
|
157
|
-
"session_findings_session_check_id_session_checks_id_fk": {
|
|
158
|
-
"name": "session_findings_session_check_id_session_checks_id_fk",
|
|
159
|
-
"tableFrom": "session_findings",
|
|
160
|
-
"tableTo": "session_checks",
|
|
161
|
-
"columnsFrom": ["session_check_id"],
|
|
162
|
-
"columnsTo": ["id"],
|
|
163
|
-
"onDelete": "cascade",
|
|
164
|
-
"onUpdate": "no action"
|
|
165
|
-
}
|
|
166
|
-
},
|
|
167
|
-
"compositePrimaryKeys": {},
|
|
168
|
-
"uniqueConstraints": {},
|
|
169
|
-
"checkConstraints": {}
|
|
170
|
-
},
|
|
171
|
-
"sessions": {
|
|
172
|
-
"name": "sessions",
|
|
173
|
-
"columns": {
|
|
174
|
-
"id": {
|
|
175
|
-
"name": "id",
|
|
176
|
-
"type": "text",
|
|
177
|
-
"primaryKey": true,
|
|
178
|
-
"notNull": true,
|
|
179
|
-
"autoincrement": false
|
|
180
|
-
},
|
|
181
|
-
"tool": {
|
|
182
|
-
"name": "tool",
|
|
183
|
-
"type": "text",
|
|
184
|
-
"primaryKey": false,
|
|
185
|
-
"notNull": true,
|
|
186
|
-
"autoincrement": false
|
|
187
|
-
},
|
|
188
|
-
"timestamp": {
|
|
189
|
-
"name": "timestamp",
|
|
190
|
-
"type": "integer",
|
|
191
|
-
"primaryKey": false,
|
|
192
|
-
"notNull": true,
|
|
193
|
-
"autoincrement": false
|
|
194
|
-
},
|
|
195
|
-
"cwd": {
|
|
196
|
-
"name": "cwd",
|
|
197
|
-
"type": "text",
|
|
198
|
-
"primaryKey": false,
|
|
199
|
-
"notNull": true,
|
|
200
|
-
"autoincrement": false
|
|
201
|
-
},
|
|
202
|
-
"recipe": {
|
|
203
|
-
"name": "recipe",
|
|
204
|
-
"type": "text",
|
|
205
|
-
"primaryKey": false,
|
|
206
|
-
"notNull": false,
|
|
207
|
-
"autoincrement": false
|
|
208
|
-
},
|
|
209
|
-
"score": {
|
|
210
|
-
"name": "score",
|
|
211
|
-
"type": "integer",
|
|
212
|
-
"primaryKey": false,
|
|
213
|
-
"notNull": true,
|
|
214
|
-
"autoincrement": false
|
|
215
|
-
},
|
|
216
|
-
"passed": {
|
|
217
|
-
"name": "passed",
|
|
218
|
-
"type": "integer",
|
|
219
|
-
"primaryKey": false,
|
|
220
|
-
"notNull": true,
|
|
221
|
-
"autoincrement": false
|
|
222
|
-
},
|
|
223
|
-
"summary": {
|
|
224
|
-
"name": "summary",
|
|
225
|
-
"type": "text",
|
|
226
|
-
"primaryKey": false,
|
|
227
|
-
"notNull": true,
|
|
228
|
-
"autoincrement": false
|
|
229
|
-
},
|
|
230
|
-
"duration_ms": {
|
|
231
|
-
"name": "duration_ms",
|
|
232
|
-
"type": "integer",
|
|
233
|
-
"primaryKey": false,
|
|
234
|
-
"notNull": true,
|
|
235
|
-
"autoincrement": false
|
|
236
|
-
}
|
|
237
|
-
},
|
|
238
|
-
"indexes": {
|
|
239
|
-
"sessions_tool_timestamp_idx": {
|
|
240
|
-
"name": "sessions_tool_timestamp_idx",
|
|
241
|
-
"columns": ["tool", "\"timestamp\" DESC"],
|
|
242
|
-
"isUnique": false
|
|
243
|
-
}
|
|
244
|
-
},
|
|
245
|
-
"foreignKeys": {},
|
|
246
|
-
"compositePrimaryKeys": {},
|
|
247
|
-
"uniqueConstraints": {},
|
|
248
|
-
"checkConstraints": {}
|
|
249
|
-
},
|
|
250
|
-
"graph_baseline_meta": {
|
|
251
|
-
"name": "graph_baseline_meta",
|
|
252
|
-
"columns": {
|
|
253
|
-
"id": {
|
|
254
|
-
"name": "id",
|
|
255
|
-
"type": "integer",
|
|
256
|
-
"primaryKey": true,
|
|
257
|
-
"notNull": true,
|
|
258
|
-
"autoincrement": false
|
|
259
|
-
},
|
|
260
|
-
"captured_at": {
|
|
261
|
-
"name": "captured_at",
|
|
262
|
-
"type": "integer",
|
|
263
|
-
"primaryKey": false,
|
|
264
|
-
"notNull": true,
|
|
265
|
-
"autoincrement": false
|
|
266
|
-
}
|
|
267
|
-
},
|
|
268
|
-
"indexes": {},
|
|
269
|
-
"foreignKeys": {},
|
|
270
|
-
"compositePrimaryKeys": {},
|
|
271
|
-
"uniqueConstraints": {},
|
|
272
|
-
"checkConstraints": {}
|
|
273
|
-
},
|
|
274
|
-
"graph_baseline_signals": {
|
|
275
|
-
"name": "graph_baseline_signals",
|
|
276
|
-
"columns": {
|
|
277
|
-
"fingerprint": {
|
|
278
|
-
"name": "fingerprint",
|
|
279
|
-
"type": "text",
|
|
280
|
-
"primaryKey": true,
|
|
281
|
-
"notNull": true,
|
|
282
|
-
"autoincrement": false
|
|
283
|
-
},
|
|
284
|
-
"captured_at": {
|
|
285
|
-
"name": "captured_at",
|
|
286
|
-
"type": "integer",
|
|
287
|
-
"primaryKey": false,
|
|
288
|
-
"notNull": true,
|
|
289
|
-
"autoincrement": false
|
|
290
|
-
}
|
|
291
|
-
},
|
|
292
|
-
"indexes": {},
|
|
293
|
-
"foreignKeys": {},
|
|
294
|
-
"compositePrimaryKeys": {},
|
|
295
|
-
"uniqueConstraints": {},
|
|
296
|
-
"checkConstraints": {}
|
|
297
|
-
},
|
|
298
|
-
"graph_catalog": {
|
|
299
|
-
"name": "graph_catalog",
|
|
300
|
-
"columns": {
|
|
301
|
-
"id": {
|
|
302
|
-
"name": "id",
|
|
303
|
-
"type": "integer",
|
|
304
|
-
"primaryKey": true,
|
|
305
|
-
"notNull": true,
|
|
306
|
-
"autoincrement": false
|
|
307
|
-
},
|
|
308
|
-
"language": {
|
|
309
|
-
"name": "language",
|
|
310
|
-
"type": "text",
|
|
311
|
-
"primaryKey": false,
|
|
312
|
-
"notNull": true,
|
|
313
|
-
"autoincrement": false
|
|
314
|
-
},
|
|
315
|
-
"cache_key": {
|
|
316
|
-
"name": "cache_key",
|
|
317
|
-
"type": "text",
|
|
318
|
-
"primaryKey": false,
|
|
319
|
-
"notNull": true,
|
|
320
|
-
"autoincrement": false
|
|
321
|
-
},
|
|
322
|
-
"files_fingerprint": {
|
|
323
|
-
"name": "files_fingerprint",
|
|
324
|
-
"type": "text",
|
|
325
|
-
"primaryKey": false,
|
|
326
|
-
"notNull": true,
|
|
327
|
-
"autoincrement": false
|
|
328
|
-
},
|
|
329
|
-
"built_at": {
|
|
330
|
-
"name": "built_at",
|
|
331
|
-
"type": "text",
|
|
332
|
-
"primaryKey": false,
|
|
333
|
-
"notNull": true,
|
|
334
|
-
"autoincrement": false
|
|
335
|
-
},
|
|
336
|
-
"payload": {
|
|
337
|
-
"name": "payload",
|
|
338
|
-
"type": "text",
|
|
339
|
-
"primaryKey": false,
|
|
340
|
-
"notNull": true,
|
|
341
|
-
"autoincrement": false
|
|
342
|
-
}
|
|
343
|
-
},
|
|
344
|
-
"indexes": {},
|
|
345
|
-
"foreignKeys": {},
|
|
346
|
-
"compositePrimaryKeys": {},
|
|
347
|
-
"uniqueConstraints": {},
|
|
348
|
-
"checkConstraints": {}
|
|
349
|
-
}
|
|
350
|
-
},
|
|
351
|
-
"views": {},
|
|
352
|
-
"enums": {},
|
|
353
|
-
"_meta": {
|
|
354
|
-
"schemas": {},
|
|
355
|
-
"tables": {},
|
|
356
|
-
"columns": {}
|
|
357
|
-
},
|
|
358
|
-
"internal": {
|
|
359
|
-
"indexes": {
|
|
360
|
-
"sessions_tool_timestamp_idx": {
|
|
361
|
-
"columns": {
|
|
362
|
-
"\"timestamp\" DESC": {
|
|
363
|
-
"isExpression": true
|
|
364
|
-
}
|
|
365
|
-
}
|
|
366
|
-
}
|
|
367
|
-
}
|
|
368
|
-
}
|
|
369
|
-
}
|