@soddong/agentic-domain-methodology 0.11.1
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 +64 -0
- package/CHANGELOG.md +97 -0
- package/README.md +501 -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 +13 -0
- package/dist/fixtures.d.ts.map +1 -0
- package/dist/fixtures.js +413 -0
- package/dist/fixtures.js.map +1 -0
- package/dist/index.d.ts +31 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/repositories.d.ts +54 -0
- package/dist/repositories.d.ts.map +1 -0
- package/dist/repositories.js +652 -0
- package/dist/repositories.js.map +1 -0
- package/dist/seed-apply.d.ts +20 -0
- package/dist/seed-apply.d.ts.map +1 -0
- package/dist/seed-apply.js +728 -0
- package/dist/seed-apply.js.map +1 -0
- package/dist/service.d.ts +107 -0
- package/dist/service.d.ts.map +1 -0
- package/dist/service.js +225 -0
- package/dist/service.js.map +1 -0
- package/dist/types.d.ts +356 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/validators.d.ts +17 -0
- package/dist/validators.d.ts.map +1 -0
- package/dist/validators.js +297 -0
- package/dist/validators.js.map +1 -0
- package/docs/build.md +47 -0
- package/docs/configuration.md +33 -0
- package/docs/delivery.md +52 -0
- package/docs/operations.md +55 -0
- package/docs/publishing.md +84 -0
- package/docs/schema/generated/README.md +39 -0
- package/docs/schema/generated/methodology_activities.md +121 -0
- package/docs/schema/generated/methodology_activities.svg +143 -0
- package/docs/schema/generated/methodology_activity_artifact_requirements.md +129 -0
- package/docs/schema/generated/methodology_activity_artifact_requirements.svg +52 -0
- package/docs/schema/generated/methodology_activity_criteria.md +112 -0
- package/docs/schema/generated/methodology_activity_criteria.svg +52 -0
- package/docs/schema/generated/methodology_baseline_requirements.md +103 -0
- package/docs/schema/generated/methodology_baseline_requirements.svg +27 -0
- package/docs/schema/generated/methodology_code_groups.md +70 -0
- package/docs/schema/generated/methodology_code_groups.svg +49 -0
- package/docs/schema/generated/methodology_codes.md +88 -0
- package/docs/schema/generated/methodology_codes.svg +49 -0
- package/docs/schema/generated/methodology_common_blueprint_policies.md +104 -0
- package/docs/schema/generated/methodology_common_blueprint_policies.svg +72 -0
- package/docs/schema/generated/methodology_common_blueprint_policy_nodes.md +118 -0
- package/docs/schema/generated/methodology_common_blueprint_policy_nodes.svg +59 -0
- package/docs/schema/generated/methodology_handoff_requirements.md +130 -0
- package/docs/schema/generated/methodology_handoff_requirements.svg +27 -0
- package/docs/schema/generated/methodology_lifecycles.md +105 -0
- package/docs/schema/generated/methodology_lifecycles.svg +71 -0
- package/docs/schema/generated/methodology_methodologies.md +92 -0
- package/docs/schema/generated/methodology_methodologies.svg +92 -0
- package/docs/schema/generated/methodology_phase_processes.md +106 -0
- package/docs/schema/generated/methodology_phase_processes.svg +77 -0
- package/docs/schema/generated/methodology_phases.md +107 -0
- package/docs/schema/generated/methodology_phases.svg +77 -0
- package/docs/schema/generated/methodology_processes.md +98 -0
- package/docs/schema/generated/methodology_processes.svg +118 -0
- package/docs/schema/generated/methodology_schema_migrations.md +52 -0
- package/docs/schema/generated/methodology_schema_migrations.svg +27 -0
- package/docs/schema/generated/methodology_stage_activities.md +106 -0
- package/docs/schema/generated/methodology_stage_activities.svg +77 -0
- package/docs/schema/generated/methodology_stage_artifact_requirements.md +109 -0
- package/docs/schema/generated/methodology_stage_artifact_requirements.svg +52 -0
- package/docs/schema/generated/methodology_stage_criteria.md +112 -0
- package/docs/schema/generated/methodology_stage_criteria.svg +52 -0
- package/docs/schema/generated/methodology_stages.md +117 -0
- package/docs/schema/generated/methodology_stages.svg +121 -0
- package/docs/schema/generated/methodology_steps.md +105 -0
- package/docs/schema/generated/methodology_steps.svg +52 -0
- package/docs/schema/generated/methodology_trace_policies.md +121 -0
- package/docs/schema/generated/methodology_trace_policies.svg +27 -0
- package/docs/schema/generated/schema.json +4253 -0
- package/docs/schema/generated/schema.mmd +296 -0
- package/docs/schema/generated/schema.svg +446 -0
- package/docs/schema/migrations.md +24 -0
- package/docs/usage.md +39 -0
- package/package.json +29 -0
- package/src/database/migrations/0001_methodology_base.sql +1190 -0
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# methodology_processes
|
|
2
|
+
|
|
3
|
+
## Description
|
|
4
|
+
|
|
5
|
+
재사용 가능한 수행 절차를 관리한다.
|
|
6
|
+
|
|
7
|
+
<details>
|
|
8
|
+
<summary><strong>Table Definition</strong></summary>
|
|
9
|
+
|
|
10
|
+
```sql
|
|
11
|
+
CREATE TABLE methodology_processes (
|
|
12
|
+
-- process 식별자
|
|
13
|
+
process_id CHAR(36) PRIMARY KEY
|
|
14
|
+
CHECK (length(process_id) = 36),
|
|
15
|
+
|
|
16
|
+
-- 소속 방법론 식별자
|
|
17
|
+
methodology_id CHAR(36) NOT NULL
|
|
18
|
+
CHECK (length(methodology_id) = 36),
|
|
19
|
+
|
|
20
|
+
-- process 코드
|
|
21
|
+
process_code VARCHAR(128) NOT NULL,
|
|
22
|
+
|
|
23
|
+
-- process 이름
|
|
24
|
+
process_name VARCHAR(256) NOT NULL,
|
|
25
|
+
|
|
26
|
+
-- process 목적
|
|
27
|
+
process_purpose TEXT,
|
|
28
|
+
|
|
29
|
+
-- process 유형 코드
|
|
30
|
+
process_type_code VARCHAR(64) NOT NULL DEFAULT 'default',
|
|
31
|
+
|
|
32
|
+
-- 활성 여부
|
|
33
|
+
is_active INTEGER NOT NULL DEFAULT 1
|
|
34
|
+
CHECK (is_active IN (0, 1)),
|
|
35
|
+
|
|
36
|
+
-- 생성 시각
|
|
37
|
+
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
38
|
+
|
|
39
|
+
-- 수정 시각
|
|
40
|
+
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
41
|
+
|
|
42
|
+
-- 확장 메타데이터
|
|
43
|
+
metadata_json JSON
|
|
44
|
+
CHECK (metadata_json IS NULL OR json_valid(metadata_json)),
|
|
45
|
+
|
|
46
|
+
FOREIGN KEY (methodology_id)
|
|
47
|
+
REFERENCES methodology_methodologies (methodology_id)
|
|
48
|
+
ON DELETE CASCADE,
|
|
49
|
+
|
|
50
|
+
UNIQUE (methodology_id, process_code)
|
|
51
|
+
)
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
</details>
|
|
55
|
+
|
|
56
|
+
## Columns
|
|
57
|
+
|
|
58
|
+
| Name | Type | Default | Nullable | Children | Parents |
|
|
59
|
+
| ----------------- | ------------ | ----------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- |
|
|
60
|
+
| process_id | CHAR(36) | | true | [methodology_phase_processes](methodology_phase_processes.md) [methodology_activities](methodology_activities.md) [methodology_stages](methodology_stages.md) | |
|
|
61
|
+
| methodology_id | CHAR(36) | | false | | [methodology_methodologies](methodology_methodologies.md) |
|
|
62
|
+
| process_code | VARCHAR(128) | | false | | |
|
|
63
|
+
| process_name | VARCHAR(256) | | false | | |
|
|
64
|
+
| process_purpose | TEXT | | true | | |
|
|
65
|
+
| process_type_code | VARCHAR(64) | 'default' | false | | |
|
|
66
|
+
| is_active | INTEGER | 1 | false | | |
|
|
67
|
+
| created_at | DATETIME | CURRENT_TIMESTAMP | false | | |
|
|
68
|
+
| updated_at | DATETIME | CURRENT_TIMESTAMP | false | | |
|
|
69
|
+
| metadata_json | JSON | | true | | |
|
|
70
|
+
|
|
71
|
+
## Constraints
|
|
72
|
+
|
|
73
|
+
| Name | Type | Definition |
|
|
74
|
+
| ---------------------------------------- | ----------- | ----------------------------------------------------------------------------------------------------------------------------------- |
|
|
75
|
+
| process_id | PRIMARY KEY | PRIMARY KEY (process_id) |
|
|
76
|
+
| - (Foreign key ID: 0) | FOREIGN KEY | FOREIGN KEY (methodology_id) REFERENCES methodology_methodologies (methodology_id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE |
|
|
77
|
+
| sqlite_autoindex_methodology_processes_2 | UNIQUE | UNIQUE (methodology_id, process_code) |
|
|
78
|
+
| sqlite_autoindex_methodology_processes_1 | PRIMARY KEY | PRIMARY KEY (process_id) |
|
|
79
|
+
| - | CHECK | CHECK (length(process_id) = 36) |
|
|
80
|
+
| - | CHECK | CHECK (length(methodology_id) = 36) |
|
|
81
|
+
| - | CHECK | CHECK (is_active IN (0, 1)) |
|
|
82
|
+
| - | CHECK | CHECK (metadata_json IS NULL OR json_valid(metadata_json)) |
|
|
83
|
+
|
|
84
|
+
## Indexes
|
|
85
|
+
|
|
86
|
+
| Name | Definition |
|
|
87
|
+
| ---------------------------------------- | --------------------------------------------------------------------------------------------------- |
|
|
88
|
+
| idx_methodology_processes_methodology | CREATE INDEX idx_methodology_processes_methodology<br /> ON methodology_processes (methodology_id) |
|
|
89
|
+
| sqlite_autoindex_methodology_processes_2 | UNIQUE (methodology_id, process_code) |
|
|
90
|
+
| sqlite_autoindex_methodology_processes_1 | PRIMARY KEY (process_id) |
|
|
91
|
+
|
|
92
|
+
## Relations
|
|
93
|
+
|
|
94
|
+

|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
> Generated by [tbls](https://github.com/k1LoW/tbls)
|
|
@@ -0,0 +1,118 @@
|
|
|
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: methodology_processes Pages: 1 -->
|
|
7
|
+
<svg width="1291pt" height="684pt"
|
|
8
|
+
viewBox="0.00 0.00 1291.41 683.69" 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 679.69)">
|
|
10
|
+
<title>methodology_processes</title>
|
|
11
|
+
<polygon fill="white" stroke="none" points="-4,4 -4,-679.69 1287.41,-679.69 1287.41,4 -4,4"/>
|
|
12
|
+
<!-- methodology_processes -->
|
|
13
|
+
<g id="node1" class="node">
|
|
14
|
+
<title>methodology_processes</title>
|
|
15
|
+
<polygon fill="#efefef" stroke="none" points="484.3,-322.69 484.3,-368.69 740.53,-368.69 740.53,-322.69 484.3,-322.69"/>
|
|
16
|
+
<polygon fill="none" stroke="black" points="484.3,-322.69 484.3,-368.69 740.53,-368.69 740.53,-322.69 484.3,-322.69"/>
|
|
17
|
+
<text text-anchor="start" x="491.3" y="-346.49" font-family="Arial Bold" font-size="18.00">methodology_processes</text>
|
|
18
|
+
<text text-anchor="start" x="664.27" y="-346.49" font-family="Arial" font-size="14.00"> </text>
|
|
19
|
+
<text text-anchor="start" x="695.39" y="-346.49" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
|
|
20
|
+
<text text-anchor="start" x="515.18" y="-332.09" font-family="Arial" font-size="14.00" fill="#333333">재사용 가능한 수행 절차를 관리한다.</text>
|
|
21
|
+
<polygon fill="none" stroke="black" points="484.3,-291.89 484.3,-322.69 740.53,-322.69 740.53,-291.89 484.3,-291.89"/>
|
|
22
|
+
<text text-anchor="start" x="491.3" y="-304.09" font-family="Arial" font-size="14.00">process_id </text>
|
|
23
|
+
<text text-anchor="start" x="562.9" y="-304.09" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
24
|
+
<polygon fill="none" stroke="black" points="484.3,-261.09 484.3,-291.89 740.53,-291.89 740.53,-261.09 484.3,-261.09"/>
|
|
25
|
+
<text text-anchor="start" x="491.3" y="-273.29" font-family="Arial" font-size="14.00">methodology_id </text>
|
|
26
|
+
<text text-anchor="start" x="594.04" y="-273.29" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
27
|
+
<polygon fill="none" stroke="black" stroke-width="3" points="482.8,-259.59 482.8,-370.19 742.03,-370.19 742.03,-259.59 482.8,-259.59"/>
|
|
28
|
+
</g>
|
|
29
|
+
<!-- methodology_methodologies -->
|
|
30
|
+
<g id="node5" class="node">
|
|
31
|
+
<title>methodology_methodologies</title>
|
|
32
|
+
<polygon fill="#efefef" stroke="none" points="453.69,-89.69 453.69,-135.69 771.14,-135.69 771.14,-89.69 453.69,-89.69"/>
|
|
33
|
+
<polygon fill="none" stroke="black" points="453.69,-89.69 453.69,-135.69 771.14,-135.69 771.14,-89.69 453.69,-89.69"/>
|
|
34
|
+
<text text-anchor="start" x="472.8" y="-113.49" font-family="Arial Bold" font-size="18.00">methodology_methodologies</text>
|
|
35
|
+
<text text-anchor="start" x="682.78" y="-113.49" font-family="Arial" font-size="14.00"> </text>
|
|
36
|
+
<text text-anchor="start" x="713.9" y="-113.49" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
|
|
37
|
+
<text text-anchor="start" x="460.69" y="-99.09" font-family="Arial" font-size="14.00" fill="#333333">방법론 정의의 최상위 versioned definition을 관리한다.</text>
|
|
38
|
+
<polygon fill="none" stroke="black" points="453.69,-58.89 453.69,-89.69 771.14,-89.69 771.14,-58.89 453.69,-58.89"/>
|
|
39
|
+
<text text-anchor="start" x="460.69" y="-71.09" font-family="Arial" font-size="14.00">methodology_id </text>
|
|
40
|
+
<text text-anchor="start" x="563.43" y="-71.09" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
41
|
+
</g>
|
|
42
|
+
<!-- methodology_processes->methodology_methodologies -->
|
|
43
|
+
<g id="edge4" class="edge">
|
|
44
|
+
<title>methodology_processes:methodology_id->methodology_methodologies:methodology_id</title>
|
|
45
|
+
<path fill="none" stroke="black" d="M613.01,-250.1C623.26,-170.22 762.2,-256.06 814.34,-178.89 844.2,-134.7 851.96,-96.7 814.34,-58.89 751.04,4.73 612.42,31.86 612.42,-57.89"/>
|
|
46
|
+
<polygon fill="black" stroke="black" points="613.03,-249.77 607.94,-259.49 612.72,-255.1 612.46,-259.42 612.46,-259.42 612.46,-259.42 612.72,-255.1 616.93,-260.02 613.03,-249.77"/>
|
|
47
|
+
</g>
|
|
48
|
+
<!-- methodology_phase_processes -->
|
|
49
|
+
<g id="node2" class="node">
|
|
50
|
+
<title>methodology_phase_processes</title>
|
|
51
|
+
<polygon fill="#efefef" stroke="none" points="43.2,-586.49 43.2,-632.49 381.63,-632.49 381.63,-586.49 43.2,-586.49"/>
|
|
52
|
+
<polygon fill="none" stroke="black" points="43.2,-586.49 43.2,-632.49 381.63,-632.49 381.63,-586.49 43.2,-586.49"/>
|
|
53
|
+
<text text-anchor="start" x="66.31" y="-610.29" font-family="Arial Bold" font-size="18.00">methodology_phase_processes</text>
|
|
54
|
+
<text text-anchor="start" x="289.27" y="-610.29" font-family="Arial" font-size="14.00"> </text>
|
|
55
|
+
<text text-anchor="start" x="320.38" y="-610.29" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
|
|
56
|
+
<text text-anchor="start" x="50.2" y="-595.89" font-family="Arial" font-size="14.00" fill="#333333">phase에서 어떤 process를 어떤 순서로 사용할지 관리한다.</text>
|
|
57
|
+
<polygon fill="none" stroke="black" points="43.2,-555.69 43.2,-586.49 381.63,-586.49 381.63,-555.69 43.2,-555.69"/>
|
|
58
|
+
<text text-anchor="start" x="50.2" y="-567.89" font-family="Arial" font-size="14.00">phase_process_id </text>
|
|
59
|
+
<text text-anchor="start" x="167.72" y="-567.89" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
60
|
+
<polygon fill="none" stroke="black" points="43.2,-524.89 43.2,-555.69 381.63,-555.69 381.63,-524.89 43.2,-524.89"/>
|
|
61
|
+
<text text-anchor="start" x="50.2" y="-537.09" font-family="Arial" font-size="14.00">phase_id </text>
|
|
62
|
+
<text text-anchor="start" x="110.92" y="-537.09" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
63
|
+
<polygon fill="none" stroke="black" points="43.2,-494.09 43.2,-524.89 381.63,-524.89 381.63,-494.09 43.2,-494.09"/>
|
|
64
|
+
<text text-anchor="start" x="50.2" y="-506.29" font-family="Arial" font-size="14.00">process_id </text>
|
|
65
|
+
<text text-anchor="start" x="121.79" y="-506.29" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
66
|
+
</g>
|
|
67
|
+
<!-- methodology_phase_processes->methodology_processes -->
|
|
68
|
+
<g id="edge1" class="edge">
|
|
69
|
+
<title>methodology_phase_processes:process_id->methodology_processes:process_id</title>
|
|
70
|
+
<path fill="none" stroke="black" d="M393,-508.67C475.87,-494.76 386.64,-307.29 483.3,-307.29"/>
|
|
71
|
+
<polygon fill="black" stroke="black" points="392.94,-508.68 382.61,-504.98 387.62,-509.1 383.3,-509.44 383.3,-509.44 383.3,-509.44 387.62,-509.1 383.32,-513.95 392.94,-508.68"/>
|
|
72
|
+
</g>
|
|
73
|
+
<!-- methodology_activities -->
|
|
74
|
+
<g id="node3" class="node">
|
|
75
|
+
<title>methodology_activities</title>
|
|
76
|
+
<polygon fill="#efefef" stroke="none" points="486.3,-571.09 486.3,-617.09 738.53,-617.09 738.53,-571.09 486.3,-571.09"/>
|
|
77
|
+
<polygon fill="none" stroke="black" points="486.3,-571.09 486.3,-617.09 738.53,-617.09 738.53,-571.09 486.3,-571.09"/>
|
|
78
|
+
<text text-anchor="start" x="493.3" y="-594.89" font-family="Arial Bold" font-size="18.00">methodology_activities</text>
|
|
79
|
+
<text text-anchor="start" x="662.27" y="-594.89" font-family="Arial" font-size="14.00"> </text>
|
|
80
|
+
<text text-anchor="start" x="693.39" y="-594.89" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
|
|
81
|
+
<text text-anchor="start" x="494.55" y="-580.49" font-family="Arial" font-size="14.00" fill="#333333">process 내부의 기본 수행 활동을 관리한다.</text>
|
|
82
|
+
<polygon fill="none" stroke="black" points="486.3,-540.29 486.3,-571.09 738.53,-571.09 738.53,-540.29 486.3,-540.29"/>
|
|
83
|
+
<text text-anchor="start" x="493.3" y="-552.49" font-family="Arial" font-size="14.00">activity_id </text>
|
|
84
|
+
<text text-anchor="start" x="558.66" y="-552.49" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
85
|
+
<polygon fill="none" stroke="black" points="486.3,-509.49 486.3,-540.29 738.53,-540.29 738.53,-509.49 486.3,-509.49"/>
|
|
86
|
+
<text text-anchor="start" x="493.3" y="-521.69" font-family="Arial" font-size="14.00">process_id </text>
|
|
87
|
+
<text text-anchor="start" x="564.9" y="-521.69" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
88
|
+
</g>
|
|
89
|
+
<!-- methodology_activities->methodology_processes -->
|
|
90
|
+
<g id="edge2" class="edge">
|
|
91
|
+
<title>methodology_activities:process_id->methodology_processes:process_id</title>
|
|
92
|
+
<path fill="none" stroke="black" d="M613.19,-498.22C622.35,-441.87 710.01,-474.31 740.53,-414.89 762.38,-372.35 789.35,-307.29 741.53,-307.29"/>
|
|
93
|
+
<polygon fill="black" stroke="black" points="613.2,-498.18 607.95,-507.82 612.79,-503.5 612.47,-507.82 612.47,-507.82 612.47,-507.82 612.79,-503.5 616.93,-508.5 613.2,-498.18"/>
|
|
94
|
+
</g>
|
|
95
|
+
<!-- methodology_stages -->
|
|
96
|
+
<g id="node4" class="node">
|
|
97
|
+
<title>methodology_stages</title>
|
|
98
|
+
<polygon fill="#efefef" stroke="none" points="842.62,-571.09 842.62,-617.09 1240.21,-617.09 1240.21,-571.09 842.62,-571.09"/>
|
|
99
|
+
<polygon fill="none" stroke="black" points="842.62,-571.09 842.62,-617.09 1240.21,-617.09 1240.21,-571.09 842.62,-571.09"/>
|
|
100
|
+
<text text-anchor="start" x="932.8" y="-594.89" font-family="Arial Bold" font-size="18.00">methodology_stages</text>
|
|
101
|
+
<text text-anchor="start" x="1080.78" y="-594.89" font-family="Arial" font-size="14.00"> </text>
|
|
102
|
+
<text text-anchor="start" x="1111.9" y="-594.89" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
|
|
103
|
+
<text text-anchor="start" x="849.62" y="-580.49" font-family="Arial" font-size="14.00" fill="#333333">process 내부 activity grouping, gate, 기준선, 전환 구간을 관리한다.</text>
|
|
104
|
+
<polygon fill="none" stroke="black" points="842.62,-540.29 842.62,-571.09 1240.21,-571.09 1240.21,-540.29 842.62,-540.29"/>
|
|
105
|
+
<text text-anchor="start" x="849.62" y="-552.49" font-family="Arial" font-size="14.00">stage_id </text>
|
|
106
|
+
<text text-anchor="start" x="906.44" y="-552.49" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
107
|
+
<polygon fill="none" stroke="black" points="842.62,-509.49 842.62,-540.29 1240.21,-540.29 1240.21,-509.49 842.62,-509.49"/>
|
|
108
|
+
<text text-anchor="start" x="849.62" y="-521.69" font-family="Arial" font-size="14.00">process_id </text>
|
|
109
|
+
<text text-anchor="start" x="921.22" y="-521.69" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
110
|
+
</g>
|
|
111
|
+
<!-- methodology_stages->methodology_processes -->
|
|
112
|
+
<g id="edge3" class="edge">
|
|
113
|
+
<title>methodology_stages:process_id->methodology_processes:process_id</title>
|
|
114
|
+
<path fill="none" stroke="black" d="M831.46,-524.14C742.63,-510.27 844.34,-307.29 741.53,-307.29"/>
|
|
115
|
+
<polygon fill="black" stroke="black" points="831.32,-524.13 840.96,-529.35 836.64,-524.52 840.96,-524.84 840.96,-524.84 840.96,-524.84 836.64,-524.52 841.62,-520.38 831.32,-524.13"/>
|
|
116
|
+
</g>
|
|
117
|
+
</g>
|
|
118
|
+
</svg>
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# methodology_schema_migrations
|
|
2
|
+
|
|
3
|
+
## Description
|
|
4
|
+
|
|
5
|
+
methodology 패키지의 migration 적용 이력을 관리한다.
|
|
6
|
+
|
|
7
|
+
<details>
|
|
8
|
+
<summary><strong>Table Definition</strong></summary>
|
|
9
|
+
|
|
10
|
+
```sql
|
|
11
|
+
CREATE TABLE methodology_schema_migrations (
|
|
12
|
+
-- migration 식별자
|
|
13
|
+
migration_id VARCHAR(128) PRIMARY KEY,
|
|
14
|
+
|
|
15
|
+
-- migration 이름
|
|
16
|
+
migration_name VARCHAR(256) NOT NULL,
|
|
17
|
+
|
|
18
|
+
-- 적용 시각
|
|
19
|
+
applied_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
20
|
+
)
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
</details>
|
|
24
|
+
|
|
25
|
+
## Columns
|
|
26
|
+
|
|
27
|
+
| Name | Type | Default | Nullable |
|
|
28
|
+
| -------------- | ------------ | ----------------- | -------- |
|
|
29
|
+
| migration_id | VARCHAR(128) | | true |
|
|
30
|
+
| migration_name | VARCHAR(256) | | false |
|
|
31
|
+
| applied_at | DATETIME | CURRENT_TIMESTAMP | false |
|
|
32
|
+
|
|
33
|
+
## Constraints
|
|
34
|
+
|
|
35
|
+
| Name | Type | Definition |
|
|
36
|
+
| ------------------------------------------------ | ----------- | -------------------------- |
|
|
37
|
+
| migration_id | PRIMARY KEY | PRIMARY KEY (migration_id) |
|
|
38
|
+
| sqlite_autoindex_methodology_schema_migrations_1 | PRIMARY KEY | PRIMARY KEY (migration_id) |
|
|
39
|
+
|
|
40
|
+
## Indexes
|
|
41
|
+
|
|
42
|
+
| Name | Definition |
|
|
43
|
+
| ------------------------------------------------ | -------------------------- |
|
|
44
|
+
| sqlite_autoindex_methodology_schema_migrations_1 | PRIMARY KEY (migration_id) |
|
|
45
|
+
|
|
46
|
+
## Relations
|
|
47
|
+
|
|
48
|
+

|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
> 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: methodology_schema_migrations Pages: 1 -->
|
|
7
|
+
<svg width="428pt" height="177pt"
|
|
8
|
+
viewBox="0.00 0.00 427.61 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>methodology_schema_migrations</title>
|
|
11
|
+
<polygon fill="white" stroke="none" points="-4,4 -4,-173.2 423.61,-173.2 423.61,4 -4,4"/>
|
|
12
|
+
<!-- methodology_schema_migrations -->
|
|
13
|
+
<g id="node1" class="node">
|
|
14
|
+
<title>methodology_schema_migrations</title>
|
|
15
|
+
<polygon fill="#efefef" stroke="none" points="46.2,-77 46.2,-123 373.41,-123 373.41,-77 46.2,-77"/>
|
|
16
|
+
<polygon fill="none" stroke="black" points="46.2,-77 46.2,-123 373.41,-123 373.41,-77 46.2,-77"/>
|
|
17
|
+
<text text-anchor="start" x="53.2" y="-100.8" font-family="Arial Bold" font-size="18.00">methodology_schema_migrations</text>
|
|
18
|
+
<text text-anchor="start" x="297.16" y="-100.8" font-family="Arial" font-size="14.00"> </text>
|
|
19
|
+
<text text-anchor="start" x="328.28" y="-100.8" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
|
|
20
|
+
<text text-anchor="start" x="53.42" y="-86.4" font-family="Arial" font-size="14.00" fill="#333333">methodology 패키지의 migration 적용 이력을 관리한다.</text>
|
|
21
|
+
<polygon fill="none" stroke="black" points="46.2,-46.2 46.2,-77 373.41,-77 373.41,-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 374.91,-124.5 374.91,-44.7 44.7,-44.7"/>
|
|
25
|
+
</g>
|
|
26
|
+
</g>
|
|
27
|
+
</svg>
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# methodology_stage_activities
|
|
2
|
+
|
|
3
|
+
## Description
|
|
4
|
+
|
|
5
|
+
stage와 activity의 포함 관계를 관리한다.
|
|
6
|
+
|
|
7
|
+
<details>
|
|
8
|
+
<summary><strong>Table Definition</strong></summary>
|
|
9
|
+
|
|
10
|
+
```sql
|
|
11
|
+
CREATE TABLE methodology_stage_activities (
|
|
12
|
+
-- stage activity 배치 식별자
|
|
13
|
+
stage_activity_id CHAR(36) PRIMARY KEY
|
|
14
|
+
CHECK (length(stage_activity_id) = 36),
|
|
15
|
+
|
|
16
|
+
-- stage 식별자
|
|
17
|
+
stage_id CHAR(36) NOT NULL
|
|
18
|
+
CHECK (length(stage_id) = 36),
|
|
19
|
+
|
|
20
|
+
-- activity 식별자
|
|
21
|
+
activity_id CHAR(36) NOT NULL
|
|
22
|
+
CHECK (length(activity_id) = 36),
|
|
23
|
+
|
|
24
|
+
-- stage 내 activity 순서
|
|
25
|
+
sort_order INTEGER NOT NULL DEFAULT 0,
|
|
26
|
+
|
|
27
|
+
-- 필수 여부
|
|
28
|
+
is_required INTEGER NOT NULL DEFAULT 1
|
|
29
|
+
CHECK (is_required IN (0, 1)),
|
|
30
|
+
|
|
31
|
+
-- tailoring 허용 여부
|
|
32
|
+
tailoring_allowed INTEGER NOT NULL DEFAULT 0
|
|
33
|
+
CHECK (tailoring_allowed IN (0, 1)),
|
|
34
|
+
|
|
35
|
+
-- 생성 시각
|
|
36
|
+
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
37
|
+
|
|
38
|
+
-- 수정 시각
|
|
39
|
+
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
40
|
+
|
|
41
|
+
-- 확장 메타데이터
|
|
42
|
+
metadata_json JSON
|
|
43
|
+
CHECK (metadata_json IS NULL OR json_valid(metadata_json)),
|
|
44
|
+
|
|
45
|
+
FOREIGN KEY (stage_id)
|
|
46
|
+
REFERENCES methodology_stages (stage_id)
|
|
47
|
+
ON DELETE CASCADE,
|
|
48
|
+
|
|
49
|
+
FOREIGN KEY (activity_id)
|
|
50
|
+
REFERENCES methodology_activities (activity_id)
|
|
51
|
+
ON DELETE CASCADE,
|
|
52
|
+
|
|
53
|
+
UNIQUE (stage_id, activity_id),
|
|
54
|
+
UNIQUE (stage_id, sort_order)
|
|
55
|
+
)
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
</details>
|
|
59
|
+
|
|
60
|
+
## Columns
|
|
61
|
+
|
|
62
|
+
| Name | Type | Default | Nullable | Parents |
|
|
63
|
+
| ----------------- | -------- | ----------------- | -------- | --------------------------------------------------- |
|
|
64
|
+
| stage_activity_id | CHAR(36) | | true | |
|
|
65
|
+
| stage_id | CHAR(36) | | false | [methodology_stages](methodology_stages.md) |
|
|
66
|
+
| activity_id | CHAR(36) | | false | [methodology_activities](methodology_activities.md) |
|
|
67
|
+
| sort_order | INTEGER | 0 | false | |
|
|
68
|
+
| is_required | INTEGER | 1 | false | |
|
|
69
|
+
| tailoring_allowed | INTEGER | 0 | false | |
|
|
70
|
+
| created_at | DATETIME | CURRENT_TIMESTAMP | false | |
|
|
71
|
+
| updated_at | DATETIME | CURRENT_TIMESTAMP | false | |
|
|
72
|
+
| metadata_json | JSON | | true | |
|
|
73
|
+
|
|
74
|
+
## Constraints
|
|
75
|
+
|
|
76
|
+
| Name | Type | Definition |
|
|
77
|
+
| ----------------------------------------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------- |
|
|
78
|
+
| stage_activity_id | PRIMARY KEY | PRIMARY KEY (stage_activity_id) |
|
|
79
|
+
| - (Foreign key ID: 0) | FOREIGN KEY | FOREIGN KEY (activity_id) REFERENCES methodology_activities (activity_id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE |
|
|
80
|
+
| - (Foreign key ID: 1) | FOREIGN KEY | FOREIGN KEY (stage_id) REFERENCES methodology_stages (stage_id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE |
|
|
81
|
+
| sqlite_autoindex_methodology_stage_activities_3 | UNIQUE | UNIQUE (stage_id, sort_order) |
|
|
82
|
+
| sqlite_autoindex_methodology_stage_activities_2 | UNIQUE | UNIQUE (stage_id, activity_id) |
|
|
83
|
+
| sqlite_autoindex_methodology_stage_activities_1 | PRIMARY KEY | PRIMARY KEY (stage_activity_id) |
|
|
84
|
+
| - | CHECK | CHECK (length(stage_activity_id) = 36) |
|
|
85
|
+
| - | CHECK | CHECK (length(stage_id) = 36) |
|
|
86
|
+
| - | CHECK | CHECK (length(activity_id) = 36) |
|
|
87
|
+
| - | CHECK | CHECK (is_required IN (0, 1)) |
|
|
88
|
+
| - | CHECK | CHECK (tailoring_allowed IN (0, 1)) |
|
|
89
|
+
| - | CHECK | CHECK (metadata_json IS NULL OR json_valid(metadata_json)) |
|
|
90
|
+
|
|
91
|
+
## Indexes
|
|
92
|
+
|
|
93
|
+
| Name | Definition |
|
|
94
|
+
| ----------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
|
|
95
|
+
| idx_methodology_stage_activities_activity | CREATE INDEX idx_methodology_stage_activities_activity<br /> ON methodology_stage_activities (activity_id) |
|
|
96
|
+
| sqlite_autoindex_methodology_stage_activities_3 | UNIQUE (stage_id, sort_order) |
|
|
97
|
+
| sqlite_autoindex_methodology_stage_activities_2 | UNIQUE (stage_id, activity_id) |
|
|
98
|
+
| sqlite_autoindex_methodology_stage_activities_1 | PRIMARY KEY (stage_activity_id) |
|
|
99
|
+
|
|
100
|
+
## Relations
|
|
101
|
+
|
|
102
|
+

|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
> Generated by [tbls](https://github.com/k1LoW/tbls)
|
|
@@ -0,0 +1,77 @@
|
|
|
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: methodology_stage_activities Pages: 1 -->
|
|
7
|
+
<svg width="848pt" height="469pt"
|
|
8
|
+
viewBox="0.00 0.00 848.30 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>methodology_stage_activities</title>
|
|
11
|
+
<polygon fill="white" stroke="none" points="-4,4 -4,-464.8 844.3,-464.8 844.3,4 -4,4"/>
|
|
12
|
+
<!-- methodology_stage_activities -->
|
|
13
|
+
<g id="node1" class="node">
|
|
14
|
+
<title>methodology_stage_activities</title>
|
|
15
|
+
<polygon fill="#efefef" stroke="none" points="306.89,-368.6 306.89,-414.6 605.1,-414.6 605.1,-368.6 306.89,-368.6"/>
|
|
16
|
+
<polygon fill="none" stroke="black" points="306.89,-368.6 306.89,-414.6 605.1,-414.6 605.1,-368.6 306.89,-368.6"/>
|
|
17
|
+
<text text-anchor="start" x="313.89" y="-392.4" font-family="Arial Bold" font-size="18.00">methodology_stage_activities</text>
|
|
18
|
+
<text text-anchor="start" x="528.84" y="-392.4" font-family="Arial" font-size="14.00"> </text>
|
|
19
|
+
<text text-anchor="start" x="559.96" y="-392.4" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
|
|
20
|
+
<text text-anchor="start" x="343.57" y="-378" font-family="Arial" font-size="14.00" fill="#333333">stage와 activity의 포함 관계를 관리한다.</text>
|
|
21
|
+
<polygon fill="none" stroke="black" points="306.89,-337.8 306.89,-368.6 605.1,-368.6 605.1,-337.8 306.89,-337.8"/>
|
|
22
|
+
<text text-anchor="start" x="313.89" y="-350" font-family="Arial" font-size="14.00">stage_activity_id </text>
|
|
23
|
+
<text text-anchor="start" x="421.28" y="-350" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
24
|
+
<polygon fill="none" stroke="black" points="306.89,-307 306.89,-337.8 605.1,-337.8 605.1,-307 306.89,-307"/>
|
|
25
|
+
<text text-anchor="start" x="313.89" y="-319.2" font-family="Arial" font-size="14.00">stage_id </text>
|
|
26
|
+
<text text-anchor="start" x="370.71" y="-319.2" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
27
|
+
<polygon fill="none" stroke="black" points="306.89,-276.2 306.89,-307 605.1,-307 605.1,-276.2 306.89,-276.2"/>
|
|
28
|
+
<text text-anchor="start" x="313.89" y="-288.4" font-family="Arial" font-size="14.00">activity_id </text>
|
|
29
|
+
<text text-anchor="start" x="379.25" 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="305.39,-274.7 305.39,-416.1 606.6,-416.1 606.6,-274.7 305.39,-274.7"/>
|
|
31
|
+
</g>
|
|
32
|
+
<!-- methodology_stages -->
|
|
33
|
+
<g id="node2" class="node">
|
|
34
|
+
<title>methodology_stages</title>
|
|
35
|
+
<polygon fill="#efefef" stroke="none" points="43.2,-104.8 43.2,-150.8 440.78,-150.8 440.78,-104.8 43.2,-104.8"/>
|
|
36
|
+
<polygon fill="none" stroke="black" points="43.2,-104.8 43.2,-150.8 440.78,-150.8 440.78,-104.8 43.2,-104.8"/>
|
|
37
|
+
<text text-anchor="start" x="133.37" y="-128.6" font-family="Arial Bold" font-size="18.00">methodology_stages</text>
|
|
38
|
+
<text text-anchor="start" x="281.36" y="-128.6" font-family="Arial" font-size="14.00"> </text>
|
|
39
|
+
<text text-anchor="start" x="312.47" y="-128.6" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
|
|
40
|
+
<text text-anchor="start" x="50.2" y="-114.2" font-family="Arial" font-size="14.00" fill="#333333">process 내부 activity grouping, gate, 기준선, 전환 구간을 관리한다.</text>
|
|
41
|
+
<polygon fill="none" stroke="black" points="43.2,-74 43.2,-104.8 440.78,-104.8 440.78,-74 43.2,-74"/>
|
|
42
|
+
<text text-anchor="start" x="50.2" y="-86.2" font-family="Arial" font-size="14.00">stage_id </text>
|
|
43
|
+
<text text-anchor="start" x="107.02" y="-86.2" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
44
|
+
<polygon fill="none" stroke="black" points="43.2,-43.2 43.2,-74 440.78,-74 440.78,-43.2 43.2,-43.2"/>
|
|
45
|
+
<text text-anchor="start" x="50.2" y="-55.4" font-family="Arial" font-size="14.00">process_id </text>
|
|
46
|
+
<text text-anchor="start" x="121.79" y="-55.4" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
47
|
+
</g>
|
|
48
|
+
<!-- methodology_stage_activities->methodology_stages -->
|
|
49
|
+
<g id="edge1" class="edge">
|
|
50
|
+
<title>methodology_stage_activities:stage_id->methodology_stages:stage_id</title>
|
|
51
|
+
<path fill="none" stroke="black" d="M295.82,-320.89C268.06,-311.4 284.08,-259.41 306.89,-230 344.65,-181.3 403.06,-242.73 440.78,-194 469.25,-157.24 488.28,-89.4 441.78,-89.4"/>
|
|
52
|
+
<polygon fill="black" stroke="black" points="295.67,-320.87 304.89,-326.8 300.94,-321.66 305.23,-322.3 305.23,-322.3 305.23,-322.3 300.94,-321.66 306.22,-317.9 295.67,-320.87"/>
|
|
53
|
+
</g>
|
|
54
|
+
<!-- methodology_activities -->
|
|
55
|
+
<g id="node3" class="node">
|
|
56
|
+
<title>methodology_activities</title>
|
|
57
|
+
<polygon fill="#efefef" stroke="none" points="544.88,-104.8 544.88,-150.8 797.1,-150.8 797.1,-104.8 544.88,-104.8"/>
|
|
58
|
+
<polygon fill="none" stroke="black" points="544.88,-104.8 544.88,-150.8 797.1,-150.8 797.1,-104.8 544.88,-104.8"/>
|
|
59
|
+
<text text-anchor="start" x="551.88" y="-128.6" font-family="Arial Bold" font-size="18.00">methodology_activities</text>
|
|
60
|
+
<text text-anchor="start" x="720.85" y="-128.6" font-family="Arial" font-size="14.00"> </text>
|
|
61
|
+
<text text-anchor="start" x="751.97" y="-128.6" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
|
|
62
|
+
<text text-anchor="start" x="553.13" y="-114.2" font-family="Arial" font-size="14.00" fill="#333333">process 내부의 기본 수행 활동을 관리한다.</text>
|
|
63
|
+
<polygon fill="none" stroke="black" points="544.88,-74 544.88,-104.8 797.1,-104.8 797.1,-74 544.88,-74"/>
|
|
64
|
+
<text text-anchor="start" x="551.88" y="-86.2" font-family="Arial" font-size="14.00">activity_id </text>
|
|
65
|
+
<text text-anchor="start" x="617.24" y="-86.2" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
66
|
+
<polygon fill="none" stroke="black" points="544.88,-43.2 544.88,-74 797.1,-74 797.1,-43.2 544.88,-43.2"/>
|
|
67
|
+
<text text-anchor="start" x="551.88" y="-55.4" font-family="Arial" font-size="14.00">process_id </text>
|
|
68
|
+
<text text-anchor="start" x="623.47" y="-55.4" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
69
|
+
</g>
|
|
70
|
+
<!-- methodology_stage_activities->methodology_activities -->
|
|
71
|
+
<g id="edge2" class="edge">
|
|
72
|
+
<title>methodology_stage_activities:activity_id->methodology_activities:activity_id</title>
|
|
73
|
+
<path fill="none" stroke="black" d="M616.02,-289.02C628.92,-280.1 616.66,-250 605.1,-230 589.49,-203 560.39,-221.05 544.88,-194 521.75,-153.67 497.39,-89.4 543.88,-89.4"/>
|
|
74
|
+
<polygon fill="black" stroke="black" points="616.1,-289 605.29,-287.16 610.94,-290.34 606.74,-291.43 606.74,-291.43 606.74,-291.43 610.94,-290.34 607.55,-295.87 616.1,-289"/>
|
|
75
|
+
</g>
|
|
76
|
+
</g>
|
|
77
|
+
</svg>
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# methodology_stage_artifact_requirements
|
|
2
|
+
|
|
3
|
+
## Description
|
|
4
|
+
|
|
5
|
+
stage gate, baseline, handoff, approval에 필요한 추가 산출물 요구를 관리한다.
|
|
6
|
+
|
|
7
|
+
<details>
|
|
8
|
+
<summary><strong>Table Definition</strong></summary>
|
|
9
|
+
|
|
10
|
+
```sql
|
|
11
|
+
CREATE TABLE methodology_stage_artifact_requirements (
|
|
12
|
+
-- stage artifact requirement 식별자
|
|
13
|
+
stage_artifact_requirement_id CHAR(36) PRIMARY KEY
|
|
14
|
+
CHECK (length(stage_artifact_requirement_id) = 36),
|
|
15
|
+
|
|
16
|
+
-- 소속 stage 식별자
|
|
17
|
+
stage_id CHAR(36) NOT NULL
|
|
18
|
+
CHECK (length(stage_id) = 36),
|
|
19
|
+
|
|
20
|
+
-- artifact standard 코드
|
|
21
|
+
artifact_standard_code VARCHAR(128) NOT NULL,
|
|
22
|
+
|
|
23
|
+
-- artifact standard 버전
|
|
24
|
+
artifact_standard_version VARCHAR(64) NOT NULL,
|
|
25
|
+
|
|
26
|
+
-- stage 산출물 요구 역할 코드
|
|
27
|
+
requirement_role_code VARCHAR(32) NOT NULL
|
|
28
|
+
CHECK (requirement_role_code IN ('required', 'supporting')),
|
|
29
|
+
|
|
30
|
+
-- 필수 여부
|
|
31
|
+
is_required INTEGER NOT NULL DEFAULT 1
|
|
32
|
+
CHECK (is_required IN (0, 1)),
|
|
33
|
+
|
|
34
|
+
-- validation 필수 여부
|
|
35
|
+
validation_required INTEGER NOT NULL DEFAULT 0
|
|
36
|
+
CHECK (validation_required IN (0, 1)),
|
|
37
|
+
|
|
38
|
+
-- stage 내 정렬 순서
|
|
39
|
+
sort_order INTEGER NOT NULL DEFAULT 0,
|
|
40
|
+
|
|
41
|
+
-- 생성 시각
|
|
42
|
+
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
43
|
+
|
|
44
|
+
-- 수정 시각
|
|
45
|
+
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
46
|
+
|
|
47
|
+
-- 확장 메타데이터
|
|
48
|
+
metadata_json JSON
|
|
49
|
+
CHECK (metadata_json IS NULL OR json_valid(metadata_json)),
|
|
50
|
+
|
|
51
|
+
FOREIGN KEY (stage_id)
|
|
52
|
+
REFERENCES methodology_stages (stage_id)
|
|
53
|
+
ON DELETE CASCADE,
|
|
54
|
+
|
|
55
|
+
UNIQUE (stage_id, artifact_standard_code, artifact_standard_version, requirement_role_code),
|
|
56
|
+
UNIQUE (stage_id, sort_order)
|
|
57
|
+
)
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
</details>
|
|
61
|
+
|
|
62
|
+
## Columns
|
|
63
|
+
|
|
64
|
+
| Name | Type | Default | Nullable | Parents |
|
|
65
|
+
| ----------------------------- | ------------ | ----------------- | -------- | ------------------------------------------- |
|
|
66
|
+
| stage_artifact_requirement_id | CHAR(36) | | true | |
|
|
67
|
+
| stage_id | CHAR(36) | | false | [methodology_stages](methodology_stages.md) |
|
|
68
|
+
| artifact_standard_code | VARCHAR(128) | | false | |
|
|
69
|
+
| artifact_standard_version | VARCHAR(64) | | false | |
|
|
70
|
+
| requirement_role_code | VARCHAR(32) | | false | |
|
|
71
|
+
| is_required | INTEGER | 1 | false | |
|
|
72
|
+
| validation_required | INTEGER | 0 | false | |
|
|
73
|
+
| sort_order | INTEGER | 0 | false | |
|
|
74
|
+
| created_at | DATETIME | CURRENT_TIMESTAMP | false | |
|
|
75
|
+
| updated_at | DATETIME | CURRENT_TIMESTAMP | false | |
|
|
76
|
+
| metadata_json | JSON | | true | |
|
|
77
|
+
|
|
78
|
+
## Constraints
|
|
79
|
+
|
|
80
|
+
| Name | Type | Definition |
|
|
81
|
+
| ---------------------------------------------------------- | ----------- | ---------------------------------------------------------------------------------------------------------------- |
|
|
82
|
+
| stage_artifact_requirement_id | PRIMARY KEY | PRIMARY KEY (stage_artifact_requirement_id) |
|
|
83
|
+
| - (Foreign key ID: 0) | FOREIGN KEY | FOREIGN KEY (stage_id) REFERENCES methodology_stages (stage_id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE |
|
|
84
|
+
| sqlite_autoindex_methodology_stage_artifact_requirements_3 | UNIQUE | UNIQUE (stage_id, sort_order) |
|
|
85
|
+
| sqlite_autoindex_methodology_stage_artifact_requirements_2 | UNIQUE | UNIQUE (stage_id, artifact_standard_code, artifact_standard_version, requirement_role_code) |
|
|
86
|
+
| sqlite_autoindex_methodology_stage_artifact_requirements_1 | PRIMARY KEY | PRIMARY KEY (stage_artifact_requirement_id) |
|
|
87
|
+
| - | CHECK | CHECK (length(stage_artifact_requirement_id) = 36) |
|
|
88
|
+
| - | CHECK | CHECK (length(stage_id) = 36) |
|
|
89
|
+
| - | CHECK | CHECK (requirement_role_code IN ('required', 'supporting')) |
|
|
90
|
+
| - | CHECK | CHECK (is_required IN (0, 1)) |
|
|
91
|
+
| - | CHECK | CHECK (validation_required IN (0, 1)) |
|
|
92
|
+
| - | CHECK | CHECK (metadata_json IS NULL OR json_valid(metadata_json)) |
|
|
93
|
+
|
|
94
|
+
## Indexes
|
|
95
|
+
|
|
96
|
+
| Name | Definition |
|
|
97
|
+
| ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
98
|
+
| idx_methodology_stage_artifact_requirements_stage_role | CREATE INDEX idx_methodology_stage_artifact_requirements_stage_role<br /> ON methodology_stage_artifact_requirements (stage_id, requirement_role_code) |
|
|
99
|
+
| sqlite_autoindex_methodology_stage_artifact_requirements_3 | UNIQUE (stage_id, sort_order) |
|
|
100
|
+
| sqlite_autoindex_methodology_stage_artifact_requirements_2 | UNIQUE (stage_id, artifact_standard_code, artifact_standard_version, requirement_role_code) |
|
|
101
|
+
| sqlite_autoindex_methodology_stage_artifact_requirements_1 | PRIMARY KEY (stage_artifact_requirement_id) |
|
|
102
|
+
|
|
103
|
+
## Relations
|
|
104
|
+
|
|
105
|
+

|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
> Generated by [tbls](https://github.com/k1LoW/tbls)
|