@soddong/agentic-domain-artifact 0.7.0
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/.tbls.yml +46 -0
- package/CHANGELOG.md +53 -0
- package/README.md +254 -0
- package/dist/database.d.ts +8 -0
- package/dist/database.d.ts.map +1 -0
- package/dist/database.js +76 -0
- package/dist/database.js.map +1 -0
- package/dist/fixtures.d.ts +7 -0
- package/dist/fixtures.d.ts.map +1 -0
- package/dist/fixtures.js +88 -0
- package/dist/fixtures.js.map +1 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -0
- package/dist/repositories.d.ts +29 -0
- package/dist/repositories.d.ts.map +1 -0
- package/dist/repositories.js +305 -0
- package/dist/repositories.js.map +1 -0
- package/dist/seed-apply.d.ts +22 -0
- package/dist/seed-apply.d.ts.map +1 -0
- package/dist/seed-apply.js +150 -0
- package/dist/seed-apply.js.map +1 -0
- package/dist/service.d.ts +32 -0
- package/dist/service.d.ts.map +1 -0
- package/dist/service.js +282 -0
- package/dist/service.js.map +1 -0
- package/dist/types.d.ts +264 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/docs/build.md +19 -0
- package/docs/configuration.md +27 -0
- package/docs/delivery.md +22 -0
- package/docs/operations.md +27 -0
- package/docs/publishing.md +29 -0
- package/docs/schema/generated/README.md +28 -0
- package/docs/schema/generated/artifact_code_groups.md +57 -0
- package/docs/schema/generated/artifact_code_groups.svg +49 -0
- package/docs/schema/generated/artifact_codes.md +71 -0
- package/docs/schema/generated/artifact_codes.svg +49 -0
- package/docs/schema/generated/artifact_component_instances.md +79 -0
- package/docs/schema/generated/artifact_component_instances.svg +177 -0
- package/docs/schema/generated/artifact_instances.md +79 -0
- package/docs/schema/generated/artifact_instances.svg +177 -0
- package/docs/schema/generated/artifact_resource_links.md +89 -0
- package/docs/schema/generated/artifact_resource_links.svg +74 -0
- package/docs/schema/generated/artifact_review_decision_refs.md +89 -0
- package/docs/schema/generated/artifact_review_decision_refs.svg +102 -0
- package/docs/schema/generated/artifact_schema_migrations.md +47 -0
- package/docs/schema/generated/artifact_schema_migrations.svg +27 -0
- package/docs/schema/generated/artifact_status_events.md +96 -0
- package/docs/schema/generated/artifact_status_events.svg +102 -0
- package/docs/schema/generated/artifact_trace_links.md +93 -0
- package/docs/schema/generated/artifact_trace_links.svg +74 -0
- package/docs/schema/generated/artifact_validation_result_refs.md +82 -0
- package/docs/schema/generated/artifact_validation_result_refs.svg +74 -0
- package/docs/schema/generated/schema.json +1799 -0
- package/docs/schema/generated/schema.mmd +132 -0
- package/docs/schema/generated/schema.svg +260 -0
- package/docs/usage.md +190 -0
- package/package.json +28 -0
- package/src/database/migrations/0001_artifact_base.sql +345 -0
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
|
3
|
+
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
4
|
+
<!-- Generated by graphviz version 12.1.2 (20240928.0832)
|
|
5
|
+
-->
|
|
6
|
+
<!-- Title: artifact_review_decision_refs Pages: 1 -->
|
|
7
|
+
<svg width="782pt" height="760pt"
|
|
8
|
+
viewBox="0.00 0.00 782.17 760.40" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
9
|
+
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 756.4)">
|
|
10
|
+
<title>artifact_review_decision_refs</title>
|
|
11
|
+
<polygon fill="white" stroke="none" points="-4,4 -4,-756.4 778.17,-756.4 778.17,4 -4,4"/>
|
|
12
|
+
<!-- artifact_review_decision_refs -->
|
|
13
|
+
<g id="node1" class="node">
|
|
14
|
+
<title>artifact_review_decision_refs</title>
|
|
15
|
+
<polygon fill="#efefef" stroke="none" points="136.95,-368.6 136.95,-414.6 556.31,-414.6 556.31,-368.6 136.95,-368.6"/>
|
|
16
|
+
<polygon fill="none" stroke="black" points="136.95,-368.6 136.95,-414.6 556.31,-414.6 556.31,-368.6 136.95,-368.6"/>
|
|
17
|
+
<text text-anchor="start" x="205.05" y="-392.4" font-family="Arial Bold" font-size="18.00">artifact_review_decision_refs</text>
|
|
18
|
+
<text text-anchor="start" x="418.95" y="-392.4" font-family="Arial" font-size="14.00"> </text>
|
|
19
|
+
<text text-anchor="start" x="450.07" y="-392.4" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
|
|
20
|
+
<text text-anchor="start" x="143.95" y="-378" font-family="Arial" font-size="14.00" fill="#333333">산출물 instance 또는 component에 대한 검토 결정 외부 참조를 관리한다.</text>
|
|
21
|
+
<polygon fill="none" stroke="black" points="136.95,-337.8 136.95,-368.6 556.31,-368.6 556.31,-337.8 136.95,-337.8"/>
|
|
22
|
+
<text text-anchor="start" x="143.95" y="-350" font-family="Arial" font-size="14.00">artifact_review_decision_ref_id </text>
|
|
23
|
+
<text text-anchor="start" x="340.05" y="-350" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
24
|
+
<polygon fill="none" stroke="black" points="136.95,-307 136.95,-337.8 556.31,-337.8 556.31,-307 136.95,-307"/>
|
|
25
|
+
<text text-anchor="start" x="143.95" y="-319.2" font-family="Arial" font-size="14.00">artifact_instance_id </text>
|
|
26
|
+
<text text-anchor="start" x="268.47" y="-319.2" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
27
|
+
<polygon fill="none" stroke="black" points="136.95,-276.2 136.95,-307 556.31,-307 556.31,-276.2 136.95,-276.2"/>
|
|
28
|
+
<text text-anchor="start" x="143.95" y="-288.4" font-family="Arial" font-size="14.00">artifact_component_instance_id </text>
|
|
29
|
+
<text text-anchor="start" x="345.52" y="-288.4" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
30
|
+
<polygon fill="none" stroke="black" stroke-width="3" points="135.45,-274.7 135.45,-416.1 557.81,-416.1 557.81,-274.7 135.45,-274.7"/>
|
|
31
|
+
</g>
|
|
32
|
+
<!-- artifact_instances -->
|
|
33
|
+
<g id="node3" class="node">
|
|
34
|
+
<title>artifact_instances</title>
|
|
35
|
+
<polygon fill="#efefef" stroke="none" points="43.2,-89.4 43.2,-135.4 254.06,-135.4 254.06,-89.4 43.2,-89.4"/>
|
|
36
|
+
<polygon fill="none" stroke="black" points="43.2,-89.4 43.2,-135.4 254.06,-135.4 254.06,-89.4 43.2,-89.4"/>
|
|
37
|
+
<text text-anchor="start" x="51.03" y="-113.2" font-family="Arial Bold" font-size="18.00">artifact_instances</text>
|
|
38
|
+
<text text-anchor="start" x="176.97" y="-113.2" font-family="Arial" font-size="14.00"> </text>
|
|
39
|
+
<text text-anchor="start" x="208.09" y="-113.2" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
|
|
40
|
+
<text text-anchor="start" x="56.43" y="-98.8" font-family="Arial" font-size="14.00" fill="#333333">실제 산출물 instance를 관리한다.</text>
|
|
41
|
+
<polygon fill="none" stroke="black" points="43.2,-58.6 43.2,-89.4 254.06,-89.4 254.06,-58.6 43.2,-58.6"/>
|
|
42
|
+
<text text-anchor="start" x="50.2" y="-70.8" font-family="Arial" font-size="14.00">artifact_instance_id </text>
|
|
43
|
+
<text text-anchor="start" x="174.72" y="-70.8" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
44
|
+
</g>
|
|
45
|
+
<!-- artifact_review_decision_refs->artifact_instances -->
|
|
46
|
+
<g id="edge2" class="edge">
|
|
47
|
+
<title>artifact_review_decision_refs:artifact_instance_id->artifact_instances:artifact_instance_id</title>
|
|
48
|
+
<path fill="none" stroke="black" d="M125.95,-320.93C98.55,-311.71 116.43,-261.05 136.95,-230 168.29,-182.58 222.75,-226.04 254.06,-178.6 279.67,-139.8 301.55,-74 255.06,-74"/>
|
|
49
|
+
<polygon fill="black" stroke="black" points="125.73,-320.9 134.97,-326.8 131,-321.68 135.29,-322.3 135.29,-322.3 135.29,-322.3 131,-321.68 136.27,-317.9 125.73,-320.9"/>
|
|
50
|
+
</g>
|
|
51
|
+
<!-- artifact_component_instances -->
|
|
52
|
+
<g id="node4" class="node">
|
|
53
|
+
<title>artifact_component_instances</title>
|
|
54
|
+
<polygon fill="#efefef" stroke="none" points="358.29,-104.8 358.29,-150.8 730.97,-150.8 730.97,-104.8 358.29,-104.8"/>
|
|
55
|
+
<polygon fill="none" stroke="black" points="358.29,-104.8 358.29,-150.8 730.97,-150.8 730.97,-104.8 358.29,-104.8"/>
|
|
56
|
+
<text text-anchor="start" x="402.54" y="-128.6" font-family="Arial Bold" font-size="18.00">artifact_component_instances</text>
|
|
57
|
+
<text text-anchor="start" x="617.46" y="-128.6" font-family="Arial" font-size="14.00"> </text>
|
|
58
|
+
<text text-anchor="start" x="648.58" y="-128.6" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
|
|
59
|
+
<text text-anchor="start" x="365.29" y="-114.2" font-family="Arial" font-size="14.00" fill="#333333">실제 산출물 안의 본문, 부록 등 component instance를 관리한다.</text>
|
|
60
|
+
<polygon fill="none" stroke="black" points="358.29,-74 358.29,-104.8 730.97,-104.8 730.97,-74 358.29,-74"/>
|
|
61
|
+
<text text-anchor="start" x="365.29" y="-86.2" font-family="Arial" font-size="14.00">artifact_component_instance_id </text>
|
|
62
|
+
<text text-anchor="start" x="566.86" y="-86.2" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
63
|
+
<polygon fill="none" stroke="black" points="358.29,-43.2 358.29,-74 730.97,-74 730.97,-43.2 358.29,-43.2"/>
|
|
64
|
+
<text text-anchor="start" x="365.29" y="-55.4" font-family="Arial" font-size="14.00">artifact_instance_id </text>
|
|
65
|
+
<text text-anchor="start" x="489.81" y="-55.4" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
66
|
+
</g>
|
|
67
|
+
<!-- artifact_review_decision_refs->artifact_component_instances -->
|
|
68
|
+
<g id="edge3" class="edge">
|
|
69
|
+
<title>artifact_review_decision_refs:artifact_component_instance_id->artifact_component_instances:artifact_component_instance_id</title>
|
|
70
|
+
<path fill="none" stroke="black" d="M567.09,-289.11C581.37,-279.95 571.39,-247.78 556.31,-230 498.44,-161.79 415.93,-262.4 358.29,-194 328.33,-158.45 310.8,-89.4 357.29,-89.4"/>
|
|
71
|
+
<polygon fill="black" stroke="black" points="567.32,-289.05 556.52,-287.16 562.15,-290.36 557.96,-291.43 557.96,-291.43 557.96,-291.43 562.15,-290.36 558.75,-295.88 567.32,-289.05"/>
|
|
72
|
+
</g>
|
|
73
|
+
<!-- artifact_status_events -->
|
|
74
|
+
<g id="node2" class="node">
|
|
75
|
+
<title>artifact_status_events</title>
|
|
76
|
+
<polygon fill="#efefef" stroke="none" points="164.18,-663.2 164.18,-709.2 529.08,-709.2 529.08,-663.2 164.18,-663.2"/>
|
|
77
|
+
<polygon fill="none" stroke="black" points="164.18,-663.2 164.18,-709.2 529.08,-709.2 529.08,-663.2 164.18,-663.2"/>
|
|
78
|
+
<text text-anchor="start" x="234.03" y="-687" font-family="Arial Bold" font-size="18.00">artifact_status_events</text>
|
|
79
|
+
<text text-anchor="start" x="389.98" y="-687" font-family="Arial" font-size="14.00"> </text>
|
|
80
|
+
<text text-anchor="start" x="421.09" y="-687" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
|
|
81
|
+
<text text-anchor="start" x="171.18" y="-672.6" font-family="Arial" font-size="14.00" fill="#333333">산출물 instance 또는 component의 상태 전이 이력을 관리한다.</text>
|
|
82
|
+
<polygon fill="none" stroke="black" points="164.18,-632.4 164.18,-663.2 529.08,-663.2 529.08,-632.4 164.18,-632.4"/>
|
|
83
|
+
<text text-anchor="start" x="171.18" y="-644.6" font-family="Arial" font-size="14.00">artifact_status_event_id </text>
|
|
84
|
+
<text text-anchor="start" x="322.94" y="-644.6" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
85
|
+
<polygon fill="none" stroke="black" points="164.18,-601.6 164.18,-632.4 529.08,-632.4 529.08,-601.6 164.18,-601.6"/>
|
|
86
|
+
<text text-anchor="start" x="171.18" y="-613.8" font-family="Arial" font-size="14.00">artifact_instance_id </text>
|
|
87
|
+
<text text-anchor="start" x="295.7" y="-613.8" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
88
|
+
<polygon fill="none" stroke="black" points="164.18,-570.8 164.18,-601.6 529.08,-601.6 529.08,-570.8 164.18,-570.8"/>
|
|
89
|
+
<text text-anchor="start" x="171.18" y="-583" font-family="Arial" font-size="14.00">artifact_component_instance_id </text>
|
|
90
|
+
<text text-anchor="start" x="372.75" y="-583" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
91
|
+
<polygon fill="none" stroke="black" points="164.18,-540 164.18,-570.8 529.08,-570.8 529.08,-540 164.18,-540"/>
|
|
92
|
+
<text text-anchor="start" x="171.18" y="-552.2" font-family="Arial" font-size="14.00">artifact_review_decision_ref_id </text>
|
|
93
|
+
<text text-anchor="start" x="367.28" y="-552.2" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
94
|
+
</g>
|
|
95
|
+
<!-- artifact_status_events->artifact_review_decision_refs -->
|
|
96
|
+
<g id="edge1" class="edge">
|
|
97
|
+
<title>artifact_status_events:artifact_review_decision_ref_id->artifact_review_decision_refs:artifact_review_decision_ref_id</title>
|
|
98
|
+
<path fill="none" stroke="black" d="M347.25,-528.74C357.82,-446.91 501.32,-539.21 556.31,-460.8 583.77,-421.64 605.13,-353.2 557.31,-353.2"/>
|
|
99
|
+
<polygon fill="black" stroke="black" points="347.25,-528.68 342.16,-538.4 346.93,-534.01 346.67,-538.33 346.67,-538.33 346.67,-538.33 346.93,-534.01 351.14,-538.94 347.25,-528.68"/>
|
|
100
|
+
</g>
|
|
101
|
+
</g>
|
|
102
|
+
</svg>
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# artifact_schema_migrations
|
|
2
|
+
|
|
3
|
+
## Description
|
|
4
|
+
|
|
5
|
+
artifact 패키지의 migration 적용 이력을 관리한다.
|
|
6
|
+
|
|
7
|
+
<details>
|
|
8
|
+
<summary><strong>Table Definition</strong></summary>
|
|
9
|
+
|
|
10
|
+
```sql
|
|
11
|
+
CREATE TABLE artifact_schema_migrations (
|
|
12
|
+
migration_id VARCHAR(128) PRIMARY KEY,
|
|
13
|
+
migration_name VARCHAR(256) NOT NULL,
|
|
14
|
+
applied_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
15
|
+
)
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
</details>
|
|
19
|
+
|
|
20
|
+
## Columns
|
|
21
|
+
|
|
22
|
+
| Name | Type | Default | Nullable |
|
|
23
|
+
| -------------- | ------------ | ----------------- | -------- |
|
|
24
|
+
| migration_id | VARCHAR(128) | | true |
|
|
25
|
+
| migration_name | VARCHAR(256) | | false |
|
|
26
|
+
| applied_at | DATETIME | CURRENT_TIMESTAMP | false |
|
|
27
|
+
|
|
28
|
+
## Constraints
|
|
29
|
+
|
|
30
|
+
| Name | Type | Definition |
|
|
31
|
+
| --------------------------------------------- | ----------- | -------------------------- |
|
|
32
|
+
| migration_id | PRIMARY KEY | PRIMARY KEY (migration_id) |
|
|
33
|
+
| sqlite_autoindex_artifact_schema_migrations_1 | PRIMARY KEY | PRIMARY KEY (migration_id) |
|
|
34
|
+
|
|
35
|
+
## Indexes
|
|
36
|
+
|
|
37
|
+
| Name | Definition |
|
|
38
|
+
| --------------------------------------------- | -------------------------- |
|
|
39
|
+
| sqlite_autoindex_artifact_schema_migrations_1 | PRIMARY KEY (migration_id) |
|
|
40
|
+
|
|
41
|
+
## Relations
|
|
42
|
+
|
|
43
|
+

|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
> Generated by [tbls](https://github.com/k1LoW/tbls)
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
|
3
|
+
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
4
|
+
<!-- Generated by graphviz version 12.1.2 (20240928.0832)
|
|
5
|
+
-->
|
|
6
|
+
<!-- Title: artifact_schema_migrations Pages: 1 -->
|
|
7
|
+
<svg width="389pt" height="177pt"
|
|
8
|
+
viewBox="0.00 0.00 389.03 177.20" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
9
|
+
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 173.2)">
|
|
10
|
+
<title>artifact_schema_migrations</title>
|
|
11
|
+
<polygon fill="white" stroke="none" points="-4,4 -4,-173.2 385.03,-173.2 385.03,4 -4,4"/>
|
|
12
|
+
<!-- artifact_schema_migrations -->
|
|
13
|
+
<g id="node1" class="node">
|
|
14
|
+
<title>artifact_schema_migrations</title>
|
|
15
|
+
<polygon fill="#efefef" stroke="none" points="46.2,-77 46.2,-123 334.83,-123 334.83,-77 46.2,-77"/>
|
|
16
|
+
<polygon fill="none" stroke="black" points="46.2,-77 46.2,-123 334.83,-123 334.83,-77 46.2,-77"/>
|
|
17
|
+
<text text-anchor="start" x="55.92" y="-100.8" font-family="Arial Bold" font-size="18.00">artifact_schema_migrations</text>
|
|
18
|
+
<text text-anchor="start" x="255.85" y="-100.8" font-family="Arial" font-size="14.00"> </text>
|
|
19
|
+
<text text-anchor="start" x="286.97" y="-100.8" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
|
|
20
|
+
<text text-anchor="start" x="53.2" y="-86.4" font-family="Arial" font-size="14.00" fill="#333333">artifact 패키지의 migration 적용 이력을 관리한다.</text>
|
|
21
|
+
<polygon fill="none" stroke="black" points="46.2,-46.2 46.2,-77 334.83,-77 334.83,-46.2 46.2,-46.2"/>
|
|
22
|
+
<text text-anchor="start" x="53.2" y="-58.4" font-family="Arial" font-size="14.00">migration_id </text>
|
|
23
|
+
<text text-anchor="start" x="133.35" y="-58.4" font-family="Arial" font-size="14.00" fill="#666666">[VARCHAR(128)]</text>
|
|
24
|
+
<polygon fill="none" stroke="black" stroke-width="3" points="44.7,-44.7 44.7,-124.5 336.33,-124.5 336.33,-44.7 44.7,-44.7"/>
|
|
25
|
+
</g>
|
|
26
|
+
</g>
|
|
27
|
+
</svg>
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# artifact_status_events
|
|
2
|
+
|
|
3
|
+
## Description
|
|
4
|
+
|
|
5
|
+
산출물 instance 또는 component의 상태 전이 이력을 관리한다.
|
|
6
|
+
|
|
7
|
+
<details>
|
|
8
|
+
<summary><strong>Table Definition</strong></summary>
|
|
9
|
+
|
|
10
|
+
```sql
|
|
11
|
+
CREATE TABLE artifact_status_events (
|
|
12
|
+
artifact_status_event_id CHAR(36) PRIMARY KEY
|
|
13
|
+
CHECK (length(artifact_status_event_id) = 36),
|
|
14
|
+
artifact_instance_id CHAR(36) NOT NULL
|
|
15
|
+
CHECK (length(artifact_instance_id) = 36),
|
|
16
|
+
artifact_component_instance_id CHAR(36)
|
|
17
|
+
CHECK (artifact_component_instance_id IS NULL OR length(artifact_component_instance_id) = 36),
|
|
18
|
+
status_scope_code VARCHAR(64) NOT NULL
|
|
19
|
+
CHECK (status_scope_code IN ('artifact_instance', 'artifact_component')),
|
|
20
|
+
from_status_code VARCHAR(64) NOT NULL
|
|
21
|
+
CHECK (from_status_code IN ('draft', 'in_review', 'approved', 'published', 'archived', 'deprecated')),
|
|
22
|
+
to_status_code VARCHAR(64) NOT NULL
|
|
23
|
+
CHECK (to_status_code IN ('draft', 'in_review', 'approved', 'published', 'archived', 'deprecated')),
|
|
24
|
+
transition_reason TEXT,
|
|
25
|
+
actor_ref VARCHAR(256),
|
|
26
|
+
artifact_review_decision_ref_id CHAR(36)
|
|
27
|
+
CHECK (artifact_review_decision_ref_id IS NULL OR length(artifact_review_decision_ref_id) = 36),
|
|
28
|
+
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
29
|
+
metadata_json JSON
|
|
30
|
+
CHECK (metadata_json IS NULL OR json_valid(metadata_json)),
|
|
31
|
+
|
|
32
|
+
FOREIGN KEY (artifact_instance_id)
|
|
33
|
+
REFERENCES artifact_instances (artifact_instance_id)
|
|
34
|
+
ON DELETE CASCADE,
|
|
35
|
+
|
|
36
|
+
FOREIGN KEY (artifact_component_instance_id)
|
|
37
|
+
REFERENCES artifact_component_instances (artifact_component_instance_id)
|
|
38
|
+
ON DELETE CASCADE,
|
|
39
|
+
|
|
40
|
+
FOREIGN KEY (artifact_review_decision_ref_id)
|
|
41
|
+
REFERENCES artifact_review_decision_refs (artifact_review_decision_ref_id)
|
|
42
|
+
ON DELETE SET NULL
|
|
43
|
+
)
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
</details>
|
|
47
|
+
|
|
48
|
+
## Columns
|
|
49
|
+
|
|
50
|
+
| Name | Type | Default | Nullable | Parents |
|
|
51
|
+
| ------------------------------- | ------------ | ----------------- | -------- | ----------------------------------------------------------------- |
|
|
52
|
+
| artifact_status_event_id | CHAR(36) | | true | |
|
|
53
|
+
| artifact_instance_id | CHAR(36) | | false | [artifact_instances](artifact_instances.md) |
|
|
54
|
+
| artifact_component_instance_id | CHAR(36) | | true | [artifact_component_instances](artifact_component_instances.md) |
|
|
55
|
+
| status_scope_code | VARCHAR(64) | | false | |
|
|
56
|
+
| from_status_code | VARCHAR(64) | | false | |
|
|
57
|
+
| to_status_code | VARCHAR(64) | | false | |
|
|
58
|
+
| transition_reason | TEXT | | true | |
|
|
59
|
+
| actor_ref | VARCHAR(256) | | true | |
|
|
60
|
+
| artifact_review_decision_ref_id | CHAR(36) | | true | [artifact_review_decision_refs](artifact_review_decision_refs.md) |
|
|
61
|
+
| created_at | DATETIME | CURRENT_TIMESTAMP | false | |
|
|
62
|
+
| metadata_json | JSON | | true | |
|
|
63
|
+
|
|
64
|
+
## Constraints
|
|
65
|
+
|
|
66
|
+
| Name | Type | Definition |
|
|
67
|
+
| ----------------------------------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
68
|
+
| artifact_status_event_id | PRIMARY KEY | PRIMARY KEY (artifact_status_event_id) |
|
|
69
|
+
| - (Foreign key ID: 0) | FOREIGN KEY | FOREIGN KEY (artifact_review_decision_ref_id) REFERENCES artifact_review_decision_refs (artifact_review_decision_ref_id) ON UPDATE NO ACTION ON DELETE SET NULL MATCH NONE |
|
|
70
|
+
| - (Foreign key ID: 1) | FOREIGN KEY | FOREIGN KEY (artifact_component_instance_id) REFERENCES artifact_component_instances (artifact_component_instance_id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE |
|
|
71
|
+
| - (Foreign key ID: 2) | FOREIGN KEY | FOREIGN KEY (artifact_instance_id) REFERENCES artifact_instances (artifact_instance_id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE |
|
|
72
|
+
| sqlite_autoindex_artifact_status_events_1 | PRIMARY KEY | PRIMARY KEY (artifact_status_event_id) |
|
|
73
|
+
| - | CHECK | CHECK (length(artifact_status_event_id) = 36) |
|
|
74
|
+
| - | CHECK | CHECK (length(artifact_instance_id) = 36) |
|
|
75
|
+
| - | CHECK | CHECK (artifact_component_instance_id IS NULL OR length(artifact_component_instance_id) = 36) |
|
|
76
|
+
| - | CHECK | CHECK (status_scope_code IN ('artifact_instance', 'artifact_component')) |
|
|
77
|
+
| - | CHECK | CHECK (from_status_code IN ('draft', 'in_review', 'approved', 'published', 'archived', 'deprecated')) |
|
|
78
|
+
| - | CHECK | CHECK (to_status_code IN ('draft', 'in_review', 'approved', 'published', 'archived', 'deprecated')) |
|
|
79
|
+
| - | CHECK | CHECK (artifact_review_decision_ref_id IS NULL OR length(artifact_review_decision_ref_id) = 36) |
|
|
80
|
+
| - | CHECK | CHECK (metadata_json IS NULL OR json_valid(metadata_json)) |
|
|
81
|
+
|
|
82
|
+
## Indexes
|
|
83
|
+
|
|
84
|
+
| Name | Definition |
|
|
85
|
+
| ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
|
|
86
|
+
| idx_artifact_status_events_component | CREATE INDEX idx_artifact_status_events_component<br /> ON artifact_status_events (artifact_component_instance_id, created_at) |
|
|
87
|
+
| idx_artifact_status_events_artifact | CREATE INDEX idx_artifact_status_events_artifact<br /> ON artifact_status_events (artifact_instance_id, created_at) |
|
|
88
|
+
| sqlite_autoindex_artifact_status_events_1 | PRIMARY KEY (artifact_status_event_id) |
|
|
89
|
+
|
|
90
|
+
## Relations
|
|
91
|
+
|
|
92
|
+

|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
> Generated by [tbls](https://github.com/k1LoW/tbls)
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
|
3
|
+
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
4
|
+
<!-- Generated by graphviz version 12.1.2 (20240928.0832)
|
|
5
|
+
-->
|
|
6
|
+
<!-- Title: artifact_status_events Pages: 1 -->
|
|
7
|
+
<svg width="1306pt" height="530pt"
|
|
8
|
+
viewBox="0.00 0.00 1305.51 530.40" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
9
|
+
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 526.4)">
|
|
10
|
+
<title>artifact_status_events</title>
|
|
11
|
+
<polygon fill="white" stroke="none" points="-4,4 -4,-526.4 1301.51,-526.4 1301.51,4 -4,4"/>
|
|
12
|
+
<!-- artifact_status_events -->
|
|
13
|
+
<g id="node1" class="node">
|
|
14
|
+
<title>artifact_status_events</title>
|
|
15
|
+
<polygon fill="#efefef" stroke="none" points="362.18,-430.2 362.18,-476.2 727.08,-476.2 727.08,-430.2 362.18,-430.2"/>
|
|
16
|
+
<polygon fill="none" stroke="black" points="362.18,-430.2 362.18,-476.2 727.08,-476.2 727.08,-430.2 362.18,-430.2"/>
|
|
17
|
+
<text text-anchor="start" x="432.03" y="-454" font-family="Arial Bold" font-size="18.00">artifact_status_events</text>
|
|
18
|
+
<text text-anchor="start" x="587.98" y="-454" font-family="Arial" font-size="14.00"> </text>
|
|
19
|
+
<text text-anchor="start" x="619.09" y="-454" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
|
|
20
|
+
<text text-anchor="start" x="369.18" y="-439.6" font-family="Arial" font-size="14.00" fill="#333333">산출물 instance 또는 component의 상태 전이 이력을 관리한다.</text>
|
|
21
|
+
<polygon fill="none" stroke="black" points="362.18,-399.4 362.18,-430.2 727.08,-430.2 727.08,-399.4 362.18,-399.4"/>
|
|
22
|
+
<text text-anchor="start" x="369.18" y="-411.6" font-family="Arial" font-size="14.00">artifact_status_event_id </text>
|
|
23
|
+
<text text-anchor="start" x="520.94" y="-411.6" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
24
|
+
<polygon fill="none" stroke="black" points="362.18,-368.6 362.18,-399.4 727.08,-399.4 727.08,-368.6 362.18,-368.6"/>
|
|
25
|
+
<text text-anchor="start" x="369.18" y="-380.8" font-family="Arial" font-size="14.00">artifact_instance_id </text>
|
|
26
|
+
<text text-anchor="start" x="493.7" y="-380.8" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
27
|
+
<polygon fill="none" stroke="black" points="362.18,-337.8 362.18,-368.6 727.08,-368.6 727.08,-337.8 362.18,-337.8"/>
|
|
28
|
+
<text text-anchor="start" x="369.18" y="-350" font-family="Arial" font-size="14.00">artifact_component_instance_id </text>
|
|
29
|
+
<text text-anchor="start" x="570.75" y="-350" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
30
|
+
<polygon fill="none" stroke="black" points="362.18,-307 362.18,-337.8 727.08,-337.8 727.08,-307 362.18,-307"/>
|
|
31
|
+
<text text-anchor="start" x="369.18" y="-319.2" font-family="Arial" font-size="14.00">artifact_review_decision_ref_id </text>
|
|
32
|
+
<text text-anchor="start" x="565.28" y="-319.2" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
33
|
+
<polygon fill="none" stroke="black" stroke-width="3" points="360.68,-305.5 360.68,-477.7 728.58,-477.7 728.58,-305.5 360.68,-305.5"/>
|
|
34
|
+
</g>
|
|
35
|
+
<!-- artifact_instances -->
|
|
36
|
+
<g id="node2" class="node">
|
|
37
|
+
<title>artifact_instances</title>
|
|
38
|
+
<polygon fill="#efefef" stroke="none" points="43.2,-104.8 43.2,-150.8 254.06,-150.8 254.06,-104.8 43.2,-104.8"/>
|
|
39
|
+
<polygon fill="none" stroke="black" points="43.2,-104.8 43.2,-150.8 254.06,-150.8 254.06,-104.8 43.2,-104.8"/>
|
|
40
|
+
<text text-anchor="start" x="51.03" y="-128.6" font-family="Arial Bold" font-size="18.00">artifact_instances</text>
|
|
41
|
+
<text text-anchor="start" x="176.97" y="-128.6" font-family="Arial" font-size="14.00"> </text>
|
|
42
|
+
<text text-anchor="start" x="208.09" y="-128.6" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
|
|
43
|
+
<text text-anchor="start" x="56.43" y="-114.2" font-family="Arial" font-size="14.00" fill="#333333">실제 산출물 instance를 관리한다.</text>
|
|
44
|
+
<polygon fill="none" stroke="black" points="43.2,-74 43.2,-104.8 254.06,-104.8 254.06,-74 43.2,-74"/>
|
|
45
|
+
<text text-anchor="start" x="50.2" y="-86.2" font-family="Arial" font-size="14.00">artifact_instance_id </text>
|
|
46
|
+
<text text-anchor="start" x="174.72" y="-86.2" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
47
|
+
</g>
|
|
48
|
+
<!-- artifact_status_events->artifact_instances -->
|
|
49
|
+
<g id="edge1" class="edge">
|
|
50
|
+
<title>artifact_status_events:artifact_instance_id->artifact_instances:artifact_instance_id</title>
|
|
51
|
+
<path fill="none" stroke="black" d="M352.58,-378.38C320.41,-337.65 287,-89.4 255.06,-89.4"/>
|
|
52
|
+
<polygon fill="black" stroke="black" points="352.53,-378.34 358.44,-387.58 357,-381.26 360.62,-383.63 360.62,-383.63 360.62,-383.63 357,-381.26 363.36,-380.05 352.53,-378.34"/>
|
|
53
|
+
</g>
|
|
54
|
+
<!-- artifact_component_instances -->
|
|
55
|
+
<g id="node3" class="node">
|
|
56
|
+
<title>artifact_component_instances</title>
|
|
57
|
+
<polygon fill="#efefef" stroke="none" points="358.29,-120.2 358.29,-166.2 730.97,-166.2 730.97,-120.2 358.29,-120.2"/>
|
|
58
|
+
<polygon fill="none" stroke="black" points="358.29,-120.2 358.29,-166.2 730.97,-166.2 730.97,-120.2 358.29,-120.2"/>
|
|
59
|
+
<text text-anchor="start" x="402.54" y="-144" font-family="Arial Bold" font-size="18.00">artifact_component_instances</text>
|
|
60
|
+
<text text-anchor="start" x="617.46" y="-144" font-family="Arial" font-size="14.00"> </text>
|
|
61
|
+
<text text-anchor="start" x="648.58" y="-144" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
|
|
62
|
+
<text text-anchor="start" x="365.29" y="-129.6" font-family="Arial" font-size="14.00" fill="#333333">실제 산출물 안의 본문, 부록 등 component instance를 관리한다.</text>
|
|
63
|
+
<polygon fill="none" stroke="black" points="358.29,-89.4 358.29,-120.2 730.97,-120.2 730.97,-89.4 358.29,-89.4"/>
|
|
64
|
+
<text text-anchor="start" x="365.29" y="-101.6" font-family="Arial" font-size="14.00">artifact_component_instance_id </text>
|
|
65
|
+
<text text-anchor="start" x="566.86" y="-101.6" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
66
|
+
<polygon fill="none" stroke="black" points="358.29,-58.6 358.29,-89.4 730.97,-89.4 730.97,-58.6 358.29,-58.6"/>
|
|
67
|
+
<text text-anchor="start" x="365.29" y="-70.8" font-family="Arial" font-size="14.00">artifact_instance_id </text>
|
|
68
|
+
<text text-anchor="start" x="489.81" y="-70.8" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
69
|
+
</g>
|
|
70
|
+
<!-- artifact_status_events->artifact_component_instances -->
|
|
71
|
+
<g id="edge2" class="edge">
|
|
72
|
+
<title>artifact_status_events:artifact_component_instance_id->artifact_component_instances:artifact_component_instance_id</title>
|
|
73
|
+
<path fill="none" stroke="black" d="M737.83,-350.41C783.54,-323.12 783.73,-104.8 731.97,-104.8"/>
|
|
74
|
+
<polygon fill="black" stroke="black" points="738.02,-350.36 727.17,-348.78 732.89,-351.82 728.72,-353.02 728.72,-353.02 728.72,-353.02 732.89,-351.82 729.64,-357.43 738.02,-350.36"/>
|
|
75
|
+
</g>
|
|
76
|
+
<!-- artifact_review_decision_refs -->
|
|
77
|
+
<g id="node4" class="node">
|
|
78
|
+
<title>artifact_review_decision_refs</title>
|
|
79
|
+
<polygon fill="#efefef" stroke="none" points="834.95,-135.6 834.95,-181.6 1254.31,-181.6 1254.31,-135.6 834.95,-135.6"/>
|
|
80
|
+
<polygon fill="none" stroke="black" points="834.95,-135.6 834.95,-181.6 1254.31,-181.6 1254.31,-135.6 834.95,-135.6"/>
|
|
81
|
+
<text text-anchor="start" x="903.05" y="-159.4" font-family="Arial Bold" font-size="18.00">artifact_review_decision_refs</text>
|
|
82
|
+
<text text-anchor="start" x="1116.95" y="-159.4" font-family="Arial" font-size="14.00"> </text>
|
|
83
|
+
<text text-anchor="start" x="1148.07" y="-159.4" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
|
|
84
|
+
<text text-anchor="start" x="841.95" y="-145" font-family="Arial" font-size="14.00" fill="#333333">산출물 instance 또는 component에 대한 검토 결정 외부 참조를 관리한다.</text>
|
|
85
|
+
<polygon fill="none" stroke="black" points="834.95,-104.8 834.95,-135.6 1254.31,-135.6 1254.31,-104.8 834.95,-104.8"/>
|
|
86
|
+
<text text-anchor="start" x="841.95" y="-117" font-family="Arial" font-size="14.00">artifact_review_decision_ref_id </text>
|
|
87
|
+
<text text-anchor="start" x="1038.05" y="-117" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
88
|
+
<polygon fill="none" stroke="black" points="834.95,-74 834.95,-104.8 1254.31,-104.8 1254.31,-74 834.95,-74"/>
|
|
89
|
+
<text text-anchor="start" x="841.95" y="-86.2" font-family="Arial" font-size="14.00">artifact_instance_id </text>
|
|
90
|
+
<text text-anchor="start" x="966.47" y="-86.2" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
91
|
+
<polygon fill="none" stroke="black" points="834.95,-43.2 834.95,-74 1254.31,-74 1254.31,-43.2 834.95,-43.2"/>
|
|
92
|
+
<text text-anchor="start" x="841.95" y="-55.4" font-family="Arial" font-size="14.00">artifact_component_instance_id </text>
|
|
93
|
+
<text text-anchor="start" x="1043.52" y="-55.4" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
94
|
+
</g>
|
|
95
|
+
<!-- artifact_status_events->artifact_review_decision_refs -->
|
|
96
|
+
<g id="edge3" class="edge">
|
|
97
|
+
<title>artifact_status_events:artifact_review_decision_ref_id->artifact_review_decision_refs:artifact_review_decision_ref_id</title>
|
|
98
|
+
<path fill="none" stroke="black" d="M738.12,-321.54C775.61,-314.52 762.17,-265.72 783.63,-224.8 807.59,-179.11 782.36,-120.2 833.95,-120.2"/>
|
|
99
|
+
<polygon fill="black" stroke="black" points="738.38,-321.52 728.03,-317.89 733.06,-321.97 728.75,-322.34 728.75,-322.34 728.75,-322.34 733.06,-321.97 728.8,-326.86 738.38,-321.52"/>
|
|
100
|
+
</g>
|
|
101
|
+
</g>
|
|
102
|
+
</svg>
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# artifact_trace_links
|
|
2
|
+
|
|
3
|
+
## Description
|
|
4
|
+
|
|
5
|
+
실제 산출물 instance와 방법론, 산출물 표준, 외부 실행 결과 간 trace를 관리한다.
|
|
6
|
+
|
|
7
|
+
<details>
|
|
8
|
+
<summary><strong>Table Definition</strong></summary>
|
|
9
|
+
|
|
10
|
+
```sql
|
|
11
|
+
CREATE TABLE artifact_trace_links (
|
|
12
|
+
artifact_trace_link_id CHAR(36) PRIMARY KEY
|
|
13
|
+
CHECK (length(artifact_trace_link_id) = 36),
|
|
14
|
+
artifact_instance_id CHAR(36) NOT NULL
|
|
15
|
+
CHECK (length(artifact_instance_id) = 36),
|
|
16
|
+
artifact_component_instance_id CHAR(36)
|
|
17
|
+
CHECK (artifact_component_instance_id IS NULL OR length(artifact_component_instance_id) = 36),
|
|
18
|
+
source_type_code VARCHAR(128) NOT NULL,
|
|
19
|
+
source_ref_id VARCHAR(256) NOT NULL,
|
|
20
|
+
trace_type_code VARCHAR(64) NOT NULL
|
|
21
|
+
CHECK (trace_type_code IN ('produced_by', 'refined_by', 'reviewed_by', 'consolidated_by', 'derived_from', 'references')),
|
|
22
|
+
artifact_standard_code VARCHAR(128),
|
|
23
|
+
artifact_standard_version VARCHAR(64),
|
|
24
|
+
artifact_component_code VARCHAR(128),
|
|
25
|
+
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
26
|
+
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
27
|
+
metadata_json JSON
|
|
28
|
+
CHECK (metadata_json IS NULL OR json_valid(metadata_json)),
|
|
29
|
+
|
|
30
|
+
FOREIGN KEY (artifact_instance_id)
|
|
31
|
+
REFERENCES artifact_instances (artifact_instance_id)
|
|
32
|
+
ON DELETE CASCADE,
|
|
33
|
+
|
|
34
|
+
FOREIGN KEY (artifact_component_instance_id)
|
|
35
|
+
REFERENCES artifact_component_instances (artifact_component_instance_id)
|
|
36
|
+
ON DELETE CASCADE,
|
|
37
|
+
|
|
38
|
+
CHECK (
|
|
39
|
+
(artifact_standard_code IS NULL AND artifact_standard_version IS NULL)
|
|
40
|
+
OR (artifact_standard_code IS NOT NULL AND artifact_standard_version IS NOT NULL)
|
|
41
|
+
)
|
|
42
|
+
)
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
</details>
|
|
46
|
+
|
|
47
|
+
## Columns
|
|
48
|
+
|
|
49
|
+
| Name | Type | Default | Nullable | Parents |
|
|
50
|
+
| ------------------------------ | ------------ | ----------------- | -------- | --------------------------------------------------------------- |
|
|
51
|
+
| artifact_trace_link_id | CHAR(36) | | true | |
|
|
52
|
+
| artifact_instance_id | CHAR(36) | | false | [artifact_instances](artifact_instances.md) |
|
|
53
|
+
| artifact_component_instance_id | CHAR(36) | | true | [artifact_component_instances](artifact_component_instances.md) |
|
|
54
|
+
| source_type_code | VARCHAR(128) | | false | |
|
|
55
|
+
| source_ref_id | VARCHAR(256) | | false | |
|
|
56
|
+
| trace_type_code | VARCHAR(64) | | false | |
|
|
57
|
+
| artifact_standard_code | VARCHAR(128) | | true | |
|
|
58
|
+
| artifact_standard_version | VARCHAR(64) | | true | |
|
|
59
|
+
| artifact_component_code | VARCHAR(128) | | true | |
|
|
60
|
+
| created_at | DATETIME | CURRENT_TIMESTAMP | false | |
|
|
61
|
+
| updated_at | DATETIME | CURRENT_TIMESTAMP | false | |
|
|
62
|
+
| metadata_json | JSON | | true | |
|
|
63
|
+
|
|
64
|
+
## Constraints
|
|
65
|
+
|
|
66
|
+
| Name | Type | Definition |
|
|
67
|
+
| --------------------------------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
68
|
+
| artifact_trace_link_id | PRIMARY KEY | PRIMARY KEY (artifact_trace_link_id) |
|
|
69
|
+
| - (Foreign key ID: 0) | FOREIGN KEY | FOREIGN KEY (artifact_component_instance_id) REFERENCES artifact_component_instances (artifact_component_instance_id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE |
|
|
70
|
+
| - (Foreign key ID: 1) | FOREIGN KEY | FOREIGN KEY (artifact_instance_id) REFERENCES artifact_instances (artifact_instance_id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE |
|
|
71
|
+
| sqlite_autoindex_artifact_trace_links_1 | PRIMARY KEY | PRIMARY KEY (artifact_trace_link_id) |
|
|
72
|
+
| - | CHECK | CHECK (length(artifact_trace_link_id) = 36) |
|
|
73
|
+
| - | CHECK | CHECK (length(artifact_instance_id) = 36) |
|
|
74
|
+
| - | CHECK | CHECK (artifact_component_instance_id IS NULL OR length(artifact_component_instance_id) = 36) |
|
|
75
|
+
| - | CHECK | CHECK (trace_type_code IN ('produced_by', 'refined_by', 'reviewed_by', 'consolidated_by', 'derived_from', 'references')) |
|
|
76
|
+
| - | CHECK | CHECK (metadata_json IS NULL OR json_valid(metadata_json)) |
|
|
77
|
+
| - | CHECK | CHECK ( (artifact_standard_code IS NULL AND artifact_standard_version IS NULL) OR (artifact_standard_code IS NOT NULL AND artifact_standard_version IS NOT NULL) ) |
|
|
78
|
+
|
|
79
|
+
## Indexes
|
|
80
|
+
|
|
81
|
+
| Name | Definition |
|
|
82
|
+
| --------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
|
|
83
|
+
| idx_artifact_trace_links_source | CREATE INDEX idx_artifact_trace_links_source<br /> ON artifact_trace_links (source_type_code, source_ref_id) |
|
|
84
|
+
| idx_artifact_trace_links_artifact | CREATE INDEX idx_artifact_trace_links_artifact<br /> ON artifact_trace_links (artifact_instance_id) |
|
|
85
|
+
| sqlite_autoindex_artifact_trace_links_1 | PRIMARY KEY (artifact_trace_link_id) |
|
|
86
|
+
|
|
87
|
+
## Relations
|
|
88
|
+
|
|
89
|
+

|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
> Generated by [tbls](https://github.com/k1LoW/tbls)
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
|
3
|
+
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
4
|
+
<!-- Generated by graphviz version 12.1.2 (20240928.0832)
|
|
5
|
+
-->
|
|
6
|
+
<!-- Title: artifact_trace_links Pages: 1 -->
|
|
7
|
+
<svg width="782pt" height="469pt"
|
|
8
|
+
viewBox="0.00 0.00 782.17 468.80" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
9
|
+
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 464.8)">
|
|
10
|
+
<title>artifact_trace_links</title>
|
|
11
|
+
<polygon fill="white" stroke="none" points="-4,4 -4,-464.8 778.17,-464.8 778.17,4 -4,4"/>
|
|
12
|
+
<!-- artifact_trace_links -->
|
|
13
|
+
<g id="node1" class="node">
|
|
14
|
+
<title>artifact_trace_links</title>
|
|
15
|
+
<polygon fill="#efefef" stroke="none" points="119.07,-368.6 119.07,-414.6 574.19,-414.6 574.19,-368.6 119.07,-368.6"/>
|
|
16
|
+
<polygon fill="none" stroke="black" points="119.07,-368.6 119.07,-414.6 574.19,-414.6 574.19,-368.6 119.07,-368.6"/>
|
|
17
|
+
<text text-anchor="start" x="242.54" y="-392.4" font-family="Arial Bold" font-size="18.00">artifact_trace_links</text>
|
|
18
|
+
<text text-anchor="start" x="381.47" y="-392.4" font-family="Arial" font-size="14.00"> </text>
|
|
19
|
+
<text text-anchor="start" x="412.58" y="-392.4" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
|
|
20
|
+
<text text-anchor="start" x="126.07" y="-378" font-family="Arial" font-size="14.00" fill="#333333">실제 산출물 instance와 방법론, 산출물 표준, 외부 실행 결과 간 trace를 관리한다.</text>
|
|
21
|
+
<polygon fill="none" stroke="black" points="119.07,-337.8 119.07,-368.6 574.19,-368.6 574.19,-337.8 119.07,-337.8"/>
|
|
22
|
+
<text text-anchor="start" x="126.07" y="-350" font-family="Arial" font-size="14.00">artifact_trace_link_id </text>
|
|
23
|
+
<text text-anchor="start" x="258.36" y="-350" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
24
|
+
<polygon fill="none" stroke="black" points="119.07,-307 119.07,-337.8 574.19,-337.8 574.19,-307 119.07,-307"/>
|
|
25
|
+
<text text-anchor="start" x="126.07" y="-319.2" font-family="Arial" font-size="14.00">artifact_instance_id </text>
|
|
26
|
+
<text text-anchor="start" x="250.59" y="-319.2" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
27
|
+
<polygon fill="none" stroke="black" points="119.07,-276.2 119.07,-307 574.19,-307 574.19,-276.2 119.07,-276.2"/>
|
|
28
|
+
<text text-anchor="start" x="126.07" y="-288.4" font-family="Arial" font-size="14.00">artifact_component_instance_id </text>
|
|
29
|
+
<text text-anchor="start" x="327.64" y="-288.4" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
30
|
+
<polygon fill="none" stroke="black" stroke-width="3" points="117.57,-274.7 117.57,-416.1 575.69,-416.1 575.69,-274.7 117.57,-274.7"/>
|
|
31
|
+
</g>
|
|
32
|
+
<!-- artifact_instances -->
|
|
33
|
+
<g id="node2" class="node">
|
|
34
|
+
<title>artifact_instances</title>
|
|
35
|
+
<polygon fill="#efefef" stroke="none" points="43.2,-89.4 43.2,-135.4 254.06,-135.4 254.06,-89.4 43.2,-89.4"/>
|
|
36
|
+
<polygon fill="none" stroke="black" points="43.2,-89.4 43.2,-135.4 254.06,-135.4 254.06,-89.4 43.2,-89.4"/>
|
|
37
|
+
<text text-anchor="start" x="51.03" y="-113.2" font-family="Arial Bold" font-size="18.00">artifact_instances</text>
|
|
38
|
+
<text text-anchor="start" x="176.97" y="-113.2" font-family="Arial" font-size="14.00"> </text>
|
|
39
|
+
<text text-anchor="start" x="208.09" y="-113.2" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
|
|
40
|
+
<text text-anchor="start" x="56.43" y="-98.8" font-family="Arial" font-size="14.00" fill="#333333">실제 산출물 instance를 관리한다.</text>
|
|
41
|
+
<polygon fill="none" stroke="black" points="43.2,-58.6 43.2,-89.4 254.06,-89.4 254.06,-58.6 43.2,-58.6"/>
|
|
42
|
+
<text text-anchor="start" x="50.2" y="-70.8" font-family="Arial" font-size="14.00">artifact_instance_id </text>
|
|
43
|
+
<text text-anchor="start" x="174.72" y="-70.8" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
44
|
+
</g>
|
|
45
|
+
<!-- artifact_trace_links->artifact_instances -->
|
|
46
|
+
<g id="edge1" class="edge">
|
|
47
|
+
<title>artifact_trace_links:artifact_instance_id->artifact_instances:artifact_instance_id</title>
|
|
48
|
+
<path fill="none" stroke="black" d="M108.05,-320.92C80.53,-311.61 97.78,-260.53 119.07,-230 155.79,-177.34 217.38,-231.28 254.06,-178.6 280.63,-140.45 301.55,-74 255.06,-74"/>
|
|
49
|
+
<polygon fill="black" stroke="black" points="107.85,-320.89 117.08,-326.8 113.13,-321.67 117.41,-322.3 117.41,-322.3 117.41,-322.3 113.13,-321.67 118.4,-317.9 107.85,-320.89"/>
|
|
50
|
+
</g>
|
|
51
|
+
<!-- artifact_component_instances -->
|
|
52
|
+
<g id="node3" class="node">
|
|
53
|
+
<title>artifact_component_instances</title>
|
|
54
|
+
<polygon fill="#efefef" stroke="none" points="358.29,-104.8 358.29,-150.8 730.97,-150.8 730.97,-104.8 358.29,-104.8"/>
|
|
55
|
+
<polygon fill="none" stroke="black" points="358.29,-104.8 358.29,-150.8 730.97,-150.8 730.97,-104.8 358.29,-104.8"/>
|
|
56
|
+
<text text-anchor="start" x="402.54" y="-128.6" font-family="Arial Bold" font-size="18.00">artifact_component_instances</text>
|
|
57
|
+
<text text-anchor="start" x="617.46" y="-128.6" font-family="Arial" font-size="14.00"> </text>
|
|
58
|
+
<text text-anchor="start" x="648.58" y="-128.6" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
|
|
59
|
+
<text text-anchor="start" x="365.29" y="-114.2" font-family="Arial" font-size="14.00" fill="#333333">실제 산출물 안의 본문, 부록 등 component instance를 관리한다.</text>
|
|
60
|
+
<polygon fill="none" stroke="black" points="358.29,-74 358.29,-104.8 730.97,-104.8 730.97,-74 358.29,-74"/>
|
|
61
|
+
<text text-anchor="start" x="365.29" y="-86.2" font-family="Arial" font-size="14.00">artifact_component_instance_id </text>
|
|
62
|
+
<text text-anchor="start" x="566.86" y="-86.2" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
63
|
+
<polygon fill="none" stroke="black" points="358.29,-43.2 358.29,-74 730.97,-74 730.97,-43.2 358.29,-43.2"/>
|
|
64
|
+
<text text-anchor="start" x="365.29" y="-55.4" font-family="Arial" font-size="14.00">artifact_instance_id </text>
|
|
65
|
+
<text text-anchor="start" x="489.81" y="-55.4" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
66
|
+
</g>
|
|
67
|
+
<!-- artifact_trace_links->artifact_component_instances -->
|
|
68
|
+
<g id="edge2" class="edge">
|
|
69
|
+
<title>artifact_trace_links:artifact_component_instance_id->artifact_component_instances:artifact_component_instance_id</title>
|
|
70
|
+
<path fill="none" stroke="black" d="M584.98,-289.1C599.29,-279.92 589.4,-247.67 574.19,-230 510.71,-156.28 421.52,-267.93 358.29,-194 328.07,-158.67 310.8,-89.4 357.29,-89.4"/>
|
|
71
|
+
<polygon fill="black" stroke="black" points="585.2,-289.04 574.4,-287.16 580.03,-290.36 575.84,-291.43 575.84,-291.43 575.84,-291.43 580.03,-290.36 576.63,-295.88 585.2,-289.04"/>
|
|
72
|
+
</g>
|
|
73
|
+
</g>
|
|
74
|
+
</svg>
|