@@ -8,11 +8,14 @@ datasource db {
88}
99
1010model categories {
11- id BigInt @id @default (autoincrement () ) @db.UnsignedBigInt
12- name String @unique (map : " categories_name_unique " ) @db.VarChar (255 )
13- description String ? @db.Text
14- created_at DateTime ? @db.Timestamp (0 )
15- updated_at DateTime ? @db.Timestamp (0 )
11+ id BigInt @id @default (autoincrement () ) @db.UnsignedBigInt
12+ name String @unique (map : " categories_name_unique " ) @db.VarChar (255 )
13+ description String ? @db.Text
14+ type String @db.VarChar (50 )
15+ created_at DateTime ? @db.Timestamp (0 )
16+ updated_at DateTime ? @db.Timestamp (0 )
17+
18+ kpidefinitions_category kpidefinitions_category []
1619}
1720
1821model failed_jobs {
@@ -59,24 +62,60 @@ model items {
5962}
6063
6164model kpidefinitions {
62- id Int @id @default (autoincrement () )
63- name String @db.VarChar (100 )
64- description String @db.VarChar (5000 )
65- metric String @db.VarChar (50 )
66- created_at DateTime @default (now () ) @db.Timestamp (0 )
67- updated_at DateTime @default (now () ) @db.Timestamp (0 )
65+ id BigInt @id @default (autoincrement () ) @db.UnsignedBigInt
66+ parent_kpi_id BigInt ? @db.UnsignedBigInt
67+ kpi_number String @db.VarChar (50 )
68+ type String @db.VarChar (50 )
69+ name String @db.VarChar (100 )
70+ description String @db.Text
71+ metric String @db.VarChar (50 )
72+ metric_description String ? @db.Text
73+ disclaimer String ? @db.Text
74+ progression_target Int
75+ min_value Float ? @db.Float
76+ max_value Float ? @db.Float
77+ created_at DateTime @default (now () ) @db.Timestamp (0 )
78+ updated_at DateTime @default (now () ) @db.Timestamp (0 )
79+
80+ kpiresults kpiresults []
81+ kpidefinitions_category kpidefinitions_category []
82+ children_kpis kpidefinitions [] @relation (" kpi_parent_child " )
83+
84+ parent_kpi kpidefinitions ? @relation (" kpi_parent_child " , fields : [parent_kpi_id ] , references : [id ] , onDelete : Cascade , onUpdate : NoAction , map : " kpidefinitions_parent_kpi_id_index " )
85+
86+ @@index ([parent_kpi_id ] , map : " kpidefinitions_parent_kpi_id_index " )
87+ @@index ([kpi_number ] , map : " kpidefinitions_kpi_number_index " )
88+ }
89+
90+ model kpidefinitions_category {
91+ id BigInt @id @default (autoincrement () ) @db.UnsignedBigInt
92+ kpidefinition_id BigInt @db.UnsignedBigInt
93+ category_id BigInt @db.UnsignedBigInt
94+
95+ kpidefinition kpidefinitions @relation (fields : [kpidefinition_id ] , references : [id ] , onDelete : Cascade , onUpdate : NoAction , map : " kpidefinitions_category_kpidefinition_id_foreign " )
96+ category categories @relation (fields : [category_id ] , references : [id ] , onDelete : Cascade , onUpdate : NoAction , map : " kpidefinitions_category_category_id_foreign " )
97+
98+ @@index ([kpidefinition_id ] , map : " kpidefinitions_category_kpidefinition_id_foreign " )
99+ @@index ([category_id ] , map : " kpidefinitions_category_category_id_foreign " )
100+ @@unique ([kpidefinition_id , category_id ] , map : " uniq_kpidefinition_category " )
68101}
69102
70103model kpiresults {
71- id Int @id @default (autoincrement () )
72- kpidefinition_id Int
73- value String @db.VarChar (1000 )
74- date DateTime @db.Date
75- created_at DateTime @default (now () ) @db.Timestamp (0 )
76- updated_at DateTime @default (now () ) @db.Timestamp (0 )
77- project_id Int
78- user_id Int ?
79- description String ? @db.VarChar (5000 )
104+ id BigInt @id @default (autoincrement () ) @db.UnsignedBigInt
105+ kpidefinition_id BigInt @db.UnsignedBigInt
106+ living_lab_id BigInt @db.UnsignedBigInt
107+ transport_mode_id BigInt ? @db.UnsignedBigInt
108+ value Float @db.Float
109+ description String ? @db.VarChar (5000 )
110+ date DateTime @db.Date
111+ created_at DateTime @default (now () ) @db.Timestamp (0 )
112+ updated_at DateTime @default (now () ) @db.Timestamp (0 )
113+ user_id BigInt ? @db.UnsignedBigInt
114+
115+ kpidefinition kpidefinitions @relation (fields : [kpidefinition_id ] , references : [id ] , onDelete : Cascade , onUpdate : NoAction )
116+ living_lab labs @relation (fields : [living_lab_id ] , references : [id ] , onDelete : Cascade , onUpdate : NoAction )
117+ transport_mode transport_mode ? @relation (fields : [transport_mode_id ] , references : [id ] , onDelete : Cascade , onUpdate : NoAction )
118+ user users ? @relation (fields : [user_id ] , references : [id ] , onDelete : SetNull , onUpdate : NoAction )
80119}
81120
82121model labs {
@@ -101,7 +140,7 @@ model labs {
101140 validated_by users ? @relation (name : " validated_by " , fields : [validated_by_user_id ] , references : [id ] , onDelete : NoAction , onUpdate : NoAction , map : " labs_validated_by_user_id_foreign " )
102141 living_lab_projects_implementation living_lab_projects_implementation []
103142 transport_mode_living_lab_implementation transport_mode_living_lab_implementation []
104-
143+ kpiresults kpiresults []
105144
106145 @@index ([validated_by_user_id ] , map : " labs_validated_by_user_id_foreign " )
107146 @@index ([user_id ] , map : " labs_user_id_foreign " )
@@ -137,7 +176,7 @@ model projects {
137176 description String ? @db.Text
138177 created_at DateTime ? @db.Timestamp (0 )
139178 updated_at DateTime ? @db.Timestamp (0 )
140- type String @db.VarChar (255 )
179+ type String @db.VarChar (255 )
141180 image_url String ? @db.Text
142181 living_lab_projects_implementation living_lab_projects_implementation []
143182}
@@ -193,7 +232,7 @@ model users {
193232 updated_at DateTime ? @db.Timestamp (0 )
194233
195234 role roles @relation (fields : [role_id ] , references : [id ] , onDelete : NoAction , onUpdate : NoAction )
196-
235+ kpiresults kpiresults []
197236 created_labs labs [] @relation (name : " created_by " ) @ignore
198237 validated_labs labs [] @relation (name : " validated_by " ) @ignore
199238
@@ -208,6 +247,7 @@ model transport_mode {
208247 created_at DateTime ? @db.Timestamp (0 )
209248
210249 transport_mode_living_lab_implementation transport_mode_living_lab_implementation []
250+ kpiresults kpiresults []
211251}
212252
213253model transport_mode_living_lab_implementation {
0 commit comments