@machynx/data-db 1.0.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.
@@ -0,0 +1,1688 @@
1
+ -- CreateSchema
2
+ CREATE SCHEMA IF NOT EXISTS "analytics";
3
+
4
+ -- CreateSchema
5
+ CREATE SCHEMA IF NOT EXISTS "audit";
6
+
7
+ -- CreateSchema
8
+ CREATE SCHEMA IF NOT EXISTS "chatbot";
9
+
10
+ -- CreateSchema
11
+ CREATE SCHEMA IF NOT EXISTS "device";
12
+
13
+ -- CreateSchema
14
+ CREATE SCHEMA IF NOT EXISTS "factory";
15
+
16
+ -- CreateSchema
17
+ CREATE SCHEMA IF NOT EXISTS "inventory";
18
+
19
+ -- CreateSchema
20
+ CREATE SCHEMA IF NOT EXISTS "machine";
21
+
22
+ -- CreateSchema
23
+ CREATE SCHEMA IF NOT EXISTS "maintenance";
24
+
25
+ -- CreateSchema
26
+ CREATE SCHEMA IF NOT EXISTS "operator";
27
+
28
+ -- CreateSchema
29
+ CREATE SCHEMA IF NOT EXISTS "order";
30
+
31
+ -- CreateSchema
32
+ CREATE SCHEMA IF NOT EXISTS "organization";
33
+
34
+ -- CreateSchema
35
+ CREATE SCHEMA IF NOT EXISTS "production_tracking";
36
+
37
+ -- CreateSchema
38
+ CREATE SCHEMA IF NOT EXISTS "tasks";
39
+
40
+ -- CreateEnum
41
+ CREATE TYPE "chatbot"."ChatbotMessageSender" AS ENUM ('USER', 'BOT');
42
+
43
+ -- CreateEnum
44
+ CREATE TYPE "device"."SensorType" AS ENUM ('PROXIMITY', 'INFRARED', 'RFID', 'CURRENT');
45
+
46
+ -- CreateEnum
47
+ CREATE TYPE "device"."RFIDTapType" AS ENUM ('CHECKIN', 'CHECKOUT');
48
+
49
+ -- CreateEnum
50
+ CREATE TYPE "device"."DevicePowerState" AS ENUM ('POWER_ON', 'POWER_OFF');
51
+
52
+ -- CreateEnum
53
+ CREATE TYPE "factory"."WeekDay" AS ENUM ('SUNDAY', 'MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY');
54
+
55
+ -- CreateEnum
56
+ CREATE TYPE "factory"."AccessLevel" AS ENUM ('PUBLIC', 'PRIVATE');
57
+
58
+ -- CreateEnum
59
+ CREATE TYPE "machine"."ProductionSIUnit" AS ENUM ('COUNT', 'WEIGHT', 'LITERS');
60
+
61
+ -- CreateEnum
62
+ CREATE TYPE "machine"."MachineAlertSeverity" AS ENUM ('LOW', 'MEDIUM', 'HIGH', 'CRITICAL');
63
+
64
+ -- CreateEnum
65
+ CREATE TYPE "machine"."EventCategory" AS ENUM ('GENERAL', 'MEDIUM', 'OPERATION', 'ALERT');
66
+
67
+ -- CreateEnum
68
+ CREATE TYPE "machine"."MachineTrackingType" AS ENUM ('MANUAL', 'AUTOMATED');
69
+
70
+ -- CreateEnum
71
+ CREATE TYPE "maintenance"."MaintenanceLogStatus" AS ENUM ('OPEN', 'IN_PROGRESS', 'COMPLETED', 'CANCELLED');
72
+
73
+ -- CreateEnum
74
+ CREATE TYPE "maintenance"."MaintenanceRequestStatus" AS ENUM ('NEW', 'APPROVED', 'ASSIGNED', 'IN_PROGRESS', 'COMPLETED', 'CANCELLED');
75
+
76
+ -- CreateEnum
77
+ CREATE TYPE "maintenance"."MaintenanceRequestPriority" AS ENUM ('LOW', 'MEDIUM', 'HIGH', 'CRITICAL');
78
+
79
+ -- CreateEnum
80
+ CREATE TYPE "order"."OrderStatus" AS ENUM ('NEW', 'CONFIRMED', 'IN_PROGRESS', 'ON_TRACK', 'DELAYED', 'AT_RISK', 'COMPLETED', 'CANCELED');
81
+
82
+ -- CreateEnum
83
+ CREATE TYPE "order"."OrderPriority" AS ENUM ('LOW', 'MEDIUM', 'HIGH', 'CRITICAL');
84
+
85
+ -- CreateEnum
86
+ CREATE TYPE "order"."OrderProductStatus" AS ENUM ('NEW', 'IN_PROGRESS', 'ON_TRACK', 'DELAYED', 'AT_RISK', 'COMPLETED', 'CANCELED');
87
+
88
+ -- CreateEnum
89
+ CREATE TYPE "production_tracking"."ProductionUnitStatus" AS ENUM ('IN_PRODUCTION', 'IN_QA', 'REWORK', 'COMPLETE', 'REJECTED', 'SHIPPED');
90
+
91
+ -- CreateEnum
92
+ CREATE TYPE "tasks"."TaskStatus" AS ENUM ('NEW', 'IN_PROGRESS', 'COMPLETED', 'CANCELED', 'OVERDUE', 'INCOMPLETE');
93
+
94
+ -- CreateEnum
95
+ CREATE TYPE "tasks"."TaskGroupStatus" AS ENUM ('NEW', 'IN_PROGRESS', 'COMPLETED', 'CANCELED', 'OVERDUE', 'INCOMPLETE');
96
+
97
+ -- CreateTable
98
+ CREATE TABLE "analytics"."MachineHourlyAnalytics" (
99
+ "id" BIGSERIAL NOT NULL,
100
+ "machineId" INTEGER NOT NULL,
101
+ "organizationId" INTEGER NOT NULL,
102
+ "totalProductionCount" INTEGER,
103
+ "efficiency" DOUBLE PRECISION,
104
+ "utilization" DOUBLE PRECISION,
105
+ "totalPowerConsumed" DOUBLE PRECISION,
106
+ "idleTime" DOUBLE PRECISION,
107
+ "nonWorkingTime" DOUBLE PRECISION,
108
+ "upTime" DOUBLE PRECISION,
109
+ "productiveTime" DOUBLE PRECISION,
110
+ "startDateTime" TIMESTAMP(3),
111
+ "endDateTime" TIMESTAMP(3),
112
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
113
+ "updatedAt" TIMESTAMP(3) NOT NULL,
114
+
115
+ CONSTRAINT "MachineHourlyAnalytics_pkey" PRIMARY KEY ("id")
116
+ );
117
+
118
+ -- CreateTable
119
+ CREATE TABLE "analytics"."MachineDailyAnalytics" (
120
+ "id" BIGSERIAL NOT NULL,
121
+ "machineId" INTEGER NOT NULL,
122
+ "organizationId" INTEGER NOT NULL,
123
+ "totalProductionCount" INTEGER,
124
+ "avgEfficiency" DOUBLE PRECISION,
125
+ "avgUtilization" DOUBLE PRECISION,
126
+ "totalPowerConsumed" DOUBLE PRECISION,
127
+ "totalUpTime" DOUBLE PRECISION,
128
+ "date" DATE NOT NULL,
129
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
130
+ "updatedAt" TIMESTAMP(3) NOT NULL,
131
+
132
+ CONSTRAINT "MachineDailyAnalytics_pkey" PRIMARY KEY ("id")
133
+ );
134
+
135
+ -- CreateTable
136
+ CREATE TABLE "analytics"."MachineMonthlyAnalytics" (
137
+ "id" BIGSERIAL NOT NULL,
138
+ "machineId" INTEGER NOT NULL,
139
+ "organizationId" INTEGER NOT NULL,
140
+ "totalProductionCount" BIGINT,
141
+ "avgEfficiency" DOUBLE PRECISION,
142
+ "totalPowerConsumed" DOUBLE PRECISION,
143
+ "month" INTEGER NOT NULL,
144
+ "year" INTEGER NOT NULL,
145
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
146
+ "updatedAt" TIMESTAMP(3) NOT NULL,
147
+
148
+ CONSTRAINT "MachineMonthlyAnalytics_pkey" PRIMARY KEY ("id")
149
+ );
150
+
151
+ -- CreateTable
152
+ CREATE TABLE "analytics"."LineHourlyAnalytics" (
153
+ "id" BIGSERIAL NOT NULL,
154
+ "assemblyLineId" INTEGER NOT NULL,
155
+ "organizationId" INTEGER NOT NULL,
156
+ "averageEfficiency" DOUBLE PRECISION,
157
+ "averageUtilization" DOUBLE PRECISION,
158
+ "totalProductionCount" INTEGER,
159
+ "startDateTime" TIMESTAMP(3),
160
+ "endDateTime" TIMESTAMP(3),
161
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
162
+ "updatedAt" TIMESTAMP(3) NOT NULL,
163
+
164
+ CONSTRAINT "LineHourlyAnalytics_pkey" PRIMARY KEY ("id")
165
+ );
166
+
167
+ -- CreateTable
168
+ CREATE TABLE "analytics"."FloorHourlyAnalytics" (
169
+ "id" BIGSERIAL NOT NULL,
170
+ "floorId" INTEGER NOT NULL,
171
+ "organizationId" INTEGER NOT NULL,
172
+ "averageEfficiency" DOUBLE PRECISION,
173
+ "totalProductionCount" INTEGER,
174
+ "startDateTime" TIMESTAMP(3),
175
+ "endDateTime" TIMESTAMP(3),
176
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
177
+ "updatedAt" TIMESTAMP(3) NOT NULL,
178
+
179
+ CONSTRAINT "FloorHourlyAnalytics_pkey" PRIMARY KEY ("id")
180
+ );
181
+
182
+ -- CreateTable
183
+ CREATE TABLE "analytics"."FactoryHourlyAnalytics" (
184
+ "id" BIGSERIAL NOT NULL,
185
+ "factoryId" INTEGER NOT NULL,
186
+ "organizationId" INTEGER NOT NULL,
187
+ "averageEfficiency" DOUBLE PRECISION,
188
+ "totalProductionCount" INTEGER,
189
+ "startDateTime" TIMESTAMP(3),
190
+ "endDateTime" TIMESTAMP(3),
191
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
192
+ "updatedAt" TIMESTAMP(3) NOT NULL,
193
+
194
+ CONSTRAINT "FactoryHourlyAnalytics_pkey" PRIMARY KEY ("id")
195
+ );
196
+
197
+ -- CreateTable
198
+ CREATE TABLE "analytics"."DeviceHourlyAnalytics" (
199
+ "id" BIGSERIAL NOT NULL,
200
+ "deviceId" INTEGER NOT NULL,
201
+ "machineHourlyAnalyticsId" BIGINT,
202
+ "organizationId" INTEGER NOT NULL,
203
+ "totalOnTime" DOUBLE PRECISION,
204
+ "totalActiveTime" DOUBLE PRECISION,
205
+ "totalWorkingTime" DOUBLE PRECISION,
206
+ "startDateTime" TIMESTAMP(3),
207
+ "endDateTime" TIMESTAMP(3),
208
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
209
+ "updatedAt" TIMESTAMP(3) NOT NULL,
210
+
211
+ CONSTRAINT "DeviceHourlyAnalytics_pkey" PRIMARY KEY ("id")
212
+ );
213
+
214
+ -- CreateTable
215
+ CREATE TABLE "analytics"."SensorHourlyAnalytics" (
216
+ "id" BIGSERIAL NOT NULL,
217
+ "sensorId" INTEGER NOT NULL,
218
+ "deviceHourlyAnalyticsId" BIGINT NOT NULL,
219
+ "initialSense" TIMESTAMP(3),
220
+ "finalSense" TIMESTAMP(3),
221
+ "startDateTime" TIMESTAMP(3),
222
+ "endDateTime" TIMESTAMP(3),
223
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
224
+ "updatedAt" TIMESTAMP(3) NOT NULL,
225
+
226
+ CONSTRAINT "SensorHourlyAnalytics_pkey" PRIMARY KEY ("id")
227
+ );
228
+
229
+ -- CreateTable
230
+ CREATE TABLE "analytics"."ProximitySensorHourlyAnalytics" (
231
+ "id" BIGSERIAL NOT NULL,
232
+ "sensorHourlyAnalyticsId" BIGINT NOT NULL,
233
+ "totalDetections" INTEGER NOT NULL,
234
+ "productiveDetections" INTEGER,
235
+ "startDateTime" TIMESTAMP(3),
236
+ "endDateTime" TIMESTAMP(3),
237
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
238
+ "updatedAt" TIMESTAMP(3) NOT NULL,
239
+
240
+ CONSTRAINT "ProximitySensorHourlyAnalytics_pkey" PRIMARY KEY ("id")
241
+ );
242
+
243
+ -- CreateTable
244
+ CREATE TABLE "analytics"."InfraredSensorHourlyAnalytics" (
245
+ "id" BIGSERIAL NOT NULL,
246
+ "sensorHourlyAnalyticsId" BIGINT NOT NULL,
247
+ "totalDetections" INTEGER NOT NULL,
248
+ "productiveDetections" INTEGER,
249
+ "startDateTime" TIMESTAMP(3),
250
+ "endDateTime" TIMESTAMP(3),
251
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
252
+ "updatedAt" TIMESTAMP(3) NOT NULL,
253
+
254
+ CONSTRAINT "InfraredSensorHourlyAnalytics_pkey" PRIMARY KEY ("id")
255
+ );
256
+
257
+ -- CreateTable
258
+ CREATE TABLE "analytics"."DevicePowerSensorHourlyAnalytics" (
259
+ "id" BIGSERIAL NOT NULL,
260
+ "deviceHourlyAnalyticsId" BIGINT NOT NULL,
261
+ "powerEvents" JSONB,
262
+ "totalOnTime" DOUBLE PRECISION,
263
+ "startDateTime" TIMESTAMP(3),
264
+ "endDateTime" TIMESTAMP(3),
265
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
266
+ "updatedAt" TIMESTAMP(3) NOT NULL,
267
+
268
+ CONSTRAINT "DevicePowerSensorHourlyAnalytics_pkey" PRIMARY KEY ("id")
269
+ );
270
+
271
+ -- CreateTable
272
+ CREATE TABLE "audit"."AuditLog" (
273
+ "id" BIGSERIAL NOT NULL,
274
+ "entityName" TEXT NOT NULL,
275
+ "entityId" INTEGER,
276
+ "action" TEXT NOT NULL,
277
+ "userId" INTEGER,
278
+ "orgId" INTEGER,
279
+ "timestamp" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
280
+ "httpMethod" TEXT NOT NULL,
281
+ "route" TEXT NOT NULL,
282
+ "statusCode" INTEGER NOT NULL,
283
+ "ipAddress" TEXT,
284
+ "userAgent" TEXT,
285
+ "oldValues" JSONB,
286
+ "newValues" JSONB,
287
+
288
+ CONSTRAINT "AuditLog_pkey" PRIMARY KEY ("id")
289
+ );
290
+
291
+ -- CreateTable
292
+ CREATE TABLE "chatbot"."ChatbotHistory" (
293
+ "id" SERIAL NOT NULL,
294
+ "title" TEXT NOT NULL,
295
+ "userId" INTEGER NOT NULL,
296
+ "organizationId" INTEGER NOT NULL,
297
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
298
+ "updatedAt" TIMESTAMP(3) NOT NULL,
299
+
300
+ CONSTRAINT "ChatbotHistory_pkey" PRIMARY KEY ("id")
301
+ );
302
+
303
+ -- CreateTable
304
+ CREATE TABLE "chatbot"."ChatbotMessage" (
305
+ "id" SERIAL NOT NULL,
306
+ "chatHistoryId" INTEGER NOT NULL,
307
+ "sender" "chatbot"."ChatbotMessageSender" NOT NULL,
308
+ "message" TEXT NOT NULL,
309
+ "tokensUsed" INTEGER NOT NULL,
310
+ "jsonContent" JSONB,
311
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
312
+ "updatedAt" TIMESTAMP(3) NOT NULL,
313
+
314
+ CONSTRAINT "ChatbotMessage_pkey" PRIMARY KEY ("id")
315
+ );
316
+
317
+ -- CreateTable
318
+ CREATE TABLE "device"."Gateway" (
319
+ "id" SERIAL NOT NULL,
320
+ "gatewayUid" TEXT NOT NULL,
321
+ "gatewayName" TEXT,
322
+ "isActive" BOOLEAN NOT NULL DEFAULT true,
323
+ "floorId" INTEGER NOT NULL,
324
+ "secret" TEXT NOT NULL,
325
+ "currentWifiSSID" TEXT,
326
+ "currentWifiPassword" TEXT,
327
+ "currentMQTTBrokerUrl" TEXT,
328
+ "fallBackWifiSSID" TEXT,
329
+ "fallBackWifiPassword" TEXT,
330
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
331
+ "updatedAt" TIMESTAMP(3) NOT NULL,
332
+
333
+ CONSTRAINT "Gateway_pkey" PRIMARY KEY ("id")
334
+ );
335
+
336
+ -- CreateTable
337
+ CREATE TABLE "device"."GatewayApiToken" (
338
+ "id" SERIAL NOT NULL,
339
+ "gatewayId" INTEGER NOT NULL,
340
+ "apiToken" TEXT NOT NULL,
341
+ "expiresAt" TIMESTAMP(3) NOT NULL,
342
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
343
+ "updatedAt" TIMESTAMP(3) NOT NULL,
344
+
345
+ CONSTRAINT "GatewayApiToken_pkey" PRIMARY KEY ("id")
346
+ );
347
+
348
+ -- CreateTable
349
+ CREATE TABLE "device"."Device" (
350
+ "id" SERIAL NOT NULL,
351
+ "globalDeviceUid" TEXT NOT NULL,
352
+ "deviceUid" TEXT NOT NULL,
353
+ "deviceName" TEXT,
354
+ "isActive" BOOLEAN NOT NULL DEFAULT true,
355
+ "orgId" INTEGER NOT NULL,
356
+ "gatewayId" INTEGER,
357
+ "machineId" INTEGER,
358
+ "assemblyLineId" INTEGER,
359
+ "floorId" INTEGER,
360
+ "factoryId" INTEGER,
361
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
362
+ "updatedAt" TIMESTAMP(3) NOT NULL,
363
+
364
+ CONSTRAINT "Device_pkey" PRIMARY KEY ("id")
365
+ );
366
+
367
+ -- CreateTable
368
+ CREATE TABLE "device"."Sensor" (
369
+ "id" SERIAL NOT NULL,
370
+ "sensorUid" TEXT NOT NULL,
371
+ "sensorName" TEXT,
372
+ "sensorType" "device"."SensorType" NOT NULL DEFAULT 'PROXIMITY',
373
+ "deviceId" INTEGER NOT NULL,
374
+ "isActive" BOOLEAN NOT NULL DEFAULT true,
375
+ "machineId" INTEGER,
376
+ "assemblyLineId" INTEGER,
377
+ "floorId" INTEGER,
378
+ "factoryId" INTEGER,
379
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
380
+ "updatedAt" TIMESTAMP(3) NOT NULL,
381
+
382
+ CONSTRAINT "Sensor_pkey" PRIMARY KEY ("id")
383
+ );
384
+
385
+ -- CreateTable
386
+ CREATE TABLE "device"."ProximitySensorConfig" (
387
+ "id" SERIAL NOT NULL,
388
+ "sensorId" INTEGER NOT NULL,
389
+ "range" DOUBLE PRECISION,
390
+ "sensitivity" DOUBLE PRECISION,
391
+ "aggregationFactor" INTEGER DEFAULT 1,
392
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
393
+ "updatedAt" TIMESTAMP(3) NOT NULL,
394
+
395
+ CONSTRAINT "ProximitySensorConfig_pkey" PRIMARY KEY ("id")
396
+ );
397
+
398
+ -- CreateTable
399
+ CREATE TABLE "device"."CurrentSensorConfig" (
400
+ "id" SERIAL NOT NULL,
401
+ "sensorId" INTEGER NOT NULL,
402
+ "currentThreshold" DOUBLE PRECISION,
403
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
404
+ "updatedAt" TIMESTAMP(3) NOT NULL,
405
+
406
+ CONSTRAINT "CurrentSensorConfig_pkey" PRIMARY KEY ("id")
407
+ );
408
+
409
+ -- CreateTable
410
+ CREATE TABLE "device"."InfraredSensorConfig" (
411
+ "id" SERIAL NOT NULL,
412
+ "sensorId" INTEGER NOT NULL,
413
+ "wavelength" DOUBLE PRECISION,
414
+ "resolution" INTEGER,
415
+ "aggregationFactor" INTEGER DEFAULT 1,
416
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
417
+ "updatedAt" TIMESTAMP(3) NOT NULL,
418
+
419
+ CONSTRAINT "InfraredSensorConfig_pkey" PRIMARY KEY ("id")
420
+ );
421
+
422
+ -- CreateTable
423
+ CREATE TABLE "device"."MachineDeviceAssignment" (
424
+ "id" SERIAL NOT NULL,
425
+ "deviceId" INTEGER NOT NULL,
426
+ "machineId" INTEGER NOT NULL,
427
+ "assignedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
428
+ "unassignedAt" TIMESTAMP(3),
429
+
430
+ CONSTRAINT "MachineDeviceAssignment_pkey" PRIMARY KEY ("id")
431
+ );
432
+
433
+ -- CreateTable
434
+ CREATE TABLE "device"."SensorLog" (
435
+ "id" BIGSERIAL NOT NULL,
436
+ "sensorId" INTEGER NOT NULL,
437
+ "senseTime" TIMESTAMP(3) NOT NULL,
438
+ "isProcessed" BOOLEAN NOT NULL DEFAULT false,
439
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
440
+ "updatedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
441
+
442
+ CONSTRAINT "SensorLog_pkey" PRIMARY KEY ("id")
443
+ );
444
+
445
+ -- CreateTable
446
+ CREATE TABLE "device"."RFIDSensorLog" (
447
+ "id" BIGSERIAL NOT NULL,
448
+ "sensorLogId" BIGINT NOT NULL,
449
+ "rfid" TEXT,
450
+ "tapType" "device"."RFIDTapType" NOT NULL,
451
+ "operatorId" INTEGER,
452
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
453
+ "updatedAt" TIMESTAMP(3) NOT NULL,
454
+
455
+ CONSTRAINT "RFIDSensorLog_pkey" PRIMARY KEY ("id")
456
+ );
457
+
458
+ -- CreateTable
459
+ CREATE TABLE "device"."ProximitySensorLog" (
460
+ "id" BIGSERIAL NOT NULL,
461
+ "sensorLogId" BIGINT NOT NULL,
462
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
463
+ "updatedAt" TIMESTAMP(3) NOT NULL,
464
+
465
+ CONSTRAINT "ProximitySensorLog_pkey" PRIMARY KEY ("id")
466
+ );
467
+
468
+ -- CreateTable
469
+ CREATE TABLE "device"."InfraredSensorLog" (
470
+ "id" BIGSERIAL NOT NULL,
471
+ "sensorLogId" BIGINT NOT NULL,
472
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
473
+ "updatedAt" TIMESTAMP(3) NOT NULL,
474
+
475
+ CONSTRAINT "InfraredSensorLog_pkey" PRIMARY KEY ("id")
476
+ );
477
+
478
+ -- CreateTable
479
+ CREATE TABLE "device"."CurrentSensorLog" (
480
+ "id" BIGSERIAL NOT NULL,
481
+ "sensorLogId" BIGINT NOT NULL,
482
+ "currentValue" DOUBLE PRECISION,
483
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
484
+ "updatedAt" TIMESTAMP(3) NOT NULL,
485
+
486
+ CONSTRAINT "CurrentSensorLog_pkey" PRIMARY KEY ("id")
487
+ );
488
+
489
+ -- CreateTable
490
+ CREATE TABLE "device"."DevicePowerSensorLog" (
491
+ "id" BIGSERIAL NOT NULL,
492
+ "sensorLogId" BIGINT NOT NULL,
493
+ "powerState" "device"."DevicePowerState" NOT NULL,
494
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
495
+ "updatedAt" TIMESTAMP(3) NOT NULL,
496
+
497
+ CONSTRAINT "DevicePowerSensorLog_pkey" PRIMARY KEY ("id")
498
+ );
499
+
500
+ -- CreateTable
501
+ CREATE TABLE "factory"."Factory" (
502
+ "id" SERIAL NOT NULL,
503
+ "name" TEXT NOT NULL,
504
+ "description" TEXT,
505
+ "organizationId" INTEGER NOT NULL,
506
+ "timeZone" TEXT NOT NULL DEFAULT 'UTC+5:30',
507
+ "timeZoneString" TEXT NOT NULL DEFAULT 'Asia/Kolkata',
508
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
509
+ "updatedAt" TIMESTAMP(3) NOT NULL,
510
+
511
+ CONSTRAINT "Factory_pkey" PRIMARY KEY ("id")
512
+ );
513
+
514
+ -- CreateTable
515
+ CREATE TABLE "factory"."Floor" (
516
+ "id" SERIAL NOT NULL,
517
+ "code" TEXT,
518
+ "name" TEXT NOT NULL,
519
+ "description" TEXT,
520
+ "factoryId" INTEGER NOT NULL,
521
+ "isActive" BOOLEAN NOT NULL DEFAULT true,
522
+ "searchTags" TEXT[] DEFAULT ARRAY[]::TEXT[],
523
+ "accessLevel" "factory"."AccessLevel" NOT NULL DEFAULT 'PUBLIC',
524
+ "floorTypeId" INTEGER,
525
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
526
+ "updatedAt" TIMESTAMP(3) NOT NULL,
527
+
528
+ CONSTRAINT "Floor_pkey" PRIMARY KEY ("id")
529
+ );
530
+
531
+ -- CreateTable
532
+ CREATE TABLE "factory"."FloorType" (
533
+ "id" SERIAL NOT NULL,
534
+ "name" TEXT NOT NULL,
535
+ "organizationId" INTEGER NOT NULL,
536
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
537
+ "updatedAt" TIMESTAMP(3) NOT NULL,
538
+
539
+ CONSTRAINT "FloorType_pkey" PRIMARY KEY ("id")
540
+ );
541
+
542
+ -- CreateTable
543
+ CREATE TABLE "factory"."FloorSetting" (
544
+ "id" SERIAL NOT NULL,
545
+ "floorId" INTEGER NOT NULL,
546
+ "idleThresholdMinutes" INTEGER NOT NULL,
547
+ "oeeExcellentPct" INTEGER NOT NULL,
548
+ "oeeAveragePct" INTEGER NOT NULL,
549
+ "oeePoorPct" INTEGER NOT NULL,
550
+ "downtimeWarnMinutes" INTEGER NOT NULL,
551
+ "downtimeAlertMinutes" INTEGER NOT NULL,
552
+ "peakEnergykWh" INTEGER NOT NULL,
553
+ "offPeakEnergykWh" INTEGER NOT NULL,
554
+ "energyAlertPct" INTEGER NOT NULL,
555
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
556
+ "updatedAt" TIMESTAMP(3) NOT NULL,
557
+
558
+ CONSTRAINT "FloorSetting_pkey" PRIMARY KEY ("id")
559
+ );
560
+
561
+ -- CreateTable
562
+ CREATE TABLE "factory"."AssemblyLine" (
563
+ "id" SERIAL NOT NULL,
564
+ "code" TEXT,
565
+ "name" TEXT NOT NULL,
566
+ "description" TEXT,
567
+ "floorId" INTEGER NOT NULL,
568
+ "machineOrder" INTEGER[] DEFAULT ARRAY[]::INTEGER[],
569
+ "assemblyLineTypeId" INTEGER,
570
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
571
+ "updatedAt" TIMESTAMP(3) NOT NULL,
572
+
573
+ CONSTRAINT "AssemblyLine_pkey" PRIMARY KEY ("id")
574
+ );
575
+
576
+ -- CreateTable
577
+ CREATE TABLE "factory"."FactoryShift" (
578
+ "id" SERIAL NOT NULL,
579
+ "factoryId" INTEGER NOT NULL,
580
+ "name" TEXT NOT NULL,
581
+ "startTime" TIME(0) NOT NULL,
582
+ "endTime" TIME(0) NOT NULL,
583
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
584
+ "updatedAt" TIMESTAMP(3) NOT NULL,
585
+
586
+ CONSTRAINT "FactoryShift_pkey" PRIMARY KEY ("id")
587
+ );
588
+
589
+ -- CreateTable
590
+ CREATE TABLE "factory"."FactoryShiftMachine" (
591
+ "id" SERIAL NOT NULL,
592
+ "shiftId" INTEGER NOT NULL,
593
+ "machineId" INTEGER,
594
+
595
+ CONSTRAINT "FactoryShiftMachine_pkey" PRIMARY KEY ("id")
596
+ );
597
+
598
+ -- CreateTable
599
+ CREATE TABLE "factory"."FactoryLot" (
600
+ "id" SERIAL NOT NULL,
601
+ "lotNumber" TEXT NOT NULL,
602
+ "receivedAt" TIMESTAMP(3) NOT NULL,
603
+ "expiryAt" TIMESTAMP(3),
604
+ "factoryId" INTEGER NOT NULL,
605
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
606
+ "updatedAt" TIMESTAMP(3) NOT NULL,
607
+
608
+ CONSTRAINT "FactoryLot_pkey" PRIMARY KEY ("id")
609
+ );
610
+
611
+ -- CreateTable
612
+ CREATE TABLE "inventory"."FinalProduct" (
613
+ "id" SERIAL NOT NULL,
614
+ "externalId" TEXT,
615
+ "name" TEXT NOT NULL,
616
+ "code" TEXT,
617
+ "factoryId" INTEGER NOT NULL,
618
+ "description" TEXT,
619
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
620
+ "updatedAt" TIMESTAMP(3) NOT NULL,
621
+
622
+ CONSTRAINT "FinalProduct_pkey" PRIMARY KEY ("id")
623
+ );
624
+
625
+ -- CreateTable
626
+ CREATE TABLE "inventory"."FinalProductRoute" (
627
+ "id" SERIAL NOT NULL,
628
+ "finalProductId" INTEGER NOT NULL,
629
+ "name" TEXT,
630
+ "sequence" INTEGER NOT NULL,
631
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
632
+ "updatedAt" TIMESTAMP(3) NOT NULL,
633
+
634
+ CONSTRAINT "FinalProductRoute_pkey" PRIMARY KEY ("id")
635
+ );
636
+
637
+ -- CreateTable
638
+ CREATE TABLE "inventory"."FinalProductMachineOperationRoute" (
639
+ "id" SERIAL NOT NULL,
640
+ "routeId" INTEGER NOT NULL,
641
+ "operationId" INTEGER NOT NULL,
642
+ "productAggregationFactor" INTEGER DEFAULT 1,
643
+ "sequence" INTEGER NOT NULL,
644
+ "expectedDuration" INTEGER,
645
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
646
+ "updatedAt" TIMESTAMP(3) NOT NULL,
647
+
648
+ CONSTRAINT "FinalProductMachineOperationRoute_pkey" PRIMARY KEY ("id")
649
+ );
650
+
651
+ -- CreateTable
652
+ CREATE TABLE "inventory"."FinalProductRouteDependency" (
653
+ "routeId" INTEGER NOT NULL,
654
+ "dependsOnRouteId" INTEGER NOT NULL,
655
+
656
+ CONSTRAINT "FinalProductRouteDependency_pkey" PRIMARY KEY ("routeId","dependsOnRouteId")
657
+ );
658
+
659
+ -- CreateTable
660
+ CREATE TABLE "machine"."Machine" (
661
+ "id" SERIAL NOT NULL,
662
+ "name" TEXT NOT NULL,
663
+ "details" TEXT,
664
+ "idealCycleTimeInSeconds" INTEGER,
665
+ "assemblyLineId" INTEGER,
666
+ "machineOperationId" INTEGER,
667
+ "trackingType" "machine"."MachineTrackingType" NOT NULL DEFAULT 'MANUAL',
668
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
669
+ "updatedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
670
+
671
+ CONSTRAINT "Machine_pkey" PRIMARY KEY ("id")
672
+ );
673
+
674
+ -- CreateTable
675
+ CREATE TABLE "machine"."MachineOperation" (
676
+ "id" SERIAL NOT NULL,
677
+ "operationName" TEXT NOT NULL,
678
+ "description" TEXT,
679
+ "organizationId" INTEGER NOT NULL,
680
+ "productionSIUnit" "machine"."ProductionSIUnit" NOT NULL DEFAULT 'COUNT',
681
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
682
+ "updatedAt" TIMESTAMP(3) NOT NULL,
683
+
684
+ CONSTRAINT "MachineOperation_pkey" PRIMARY KEY ("id")
685
+ );
686
+
687
+ -- CreateTable
688
+ CREATE TABLE "machine"."MachineEvent" (
689
+ "id" SERIAL NOT NULL,
690
+ "machineId" INTEGER NOT NULL,
691
+ "eventTime" TIMESTAMP(3) NOT NULL,
692
+ "category" "machine"."EventCategory" NOT NULL,
693
+ "title" TEXT NOT NULL,
694
+ "subtitle" TEXT,
695
+ "description" TEXT,
696
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
697
+ "updatedAt" TIMESTAMP(3) NOT NULL,
698
+
699
+ CONSTRAINT "MachineEvent_pkey" PRIMARY KEY ("id")
700
+ );
701
+
702
+ -- CreateTable
703
+ CREATE TABLE "machine"."MachineAlert" (
704
+ "id" SERIAL NOT NULL,
705
+ "machineId" INTEGER NOT NULL,
706
+ "title" TEXT NOT NULL,
707
+ "message" TEXT NOT NULL,
708
+ "severity" "machine"."MachineAlertSeverity" NOT NULL DEFAULT 'LOW',
709
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
710
+ "resolvedAt" TIMESTAMP(3),
711
+
712
+ CONSTRAINT "MachineAlert_pkey" PRIMARY KEY ("id")
713
+ );
714
+
715
+ -- CreateTable
716
+ CREATE TABLE "machine"."MachineAlertSubscription" (
717
+ "id" SERIAL NOT NULL,
718
+ "userId" INTEGER NOT NULL,
719
+ "machineId" INTEGER NOT NULL,
720
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
721
+
722
+ CONSTRAINT "MachineAlertSubscription_pkey" PRIMARY KEY ("id")
723
+ );
724
+
725
+ -- CreateTable
726
+ CREATE TABLE "maintenance"."MaintenanceLog" (
727
+ "id" SERIAL NOT NULL,
728
+ "machineId" INTEGER NOT NULL,
729
+ "orgId" INTEGER NOT NULL,
730
+ "reportedById" INTEGER,
731
+ "description" TEXT,
732
+ "status" "maintenance"."MaintenanceLogStatus" NOT NULL DEFAULT 'OPEN',
733
+ "startTime" TIMESTAMP(3),
734
+ "endTime" TIMESTAMP(3),
735
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
736
+ "updatedAt" TIMESTAMP(3) NOT NULL,
737
+
738
+ CONSTRAINT "MaintenanceLog_pkey" PRIMARY KEY ("id")
739
+ );
740
+
741
+ -- CreateTable
742
+ CREATE TABLE "maintenance"."MaintenanceManagerConfig" (
743
+ "id" SERIAL NOT NULL,
744
+ "managerId" INTEGER NOT NULL,
745
+ "key" TEXT NOT NULL,
746
+ "value" JSONB NOT NULL,
747
+ "updatedAt" TIMESTAMP(3) NOT NULL,
748
+
749
+ CONSTRAINT "MaintenanceManagerConfig_pkey" PRIMARY KEY ("id")
750
+ );
751
+
752
+ -- CreateTable
753
+ CREATE TABLE "maintenance"."MaintenanceRequest" (
754
+ "id" SERIAL NOT NULL,
755
+ "machineId" INTEGER NOT NULL,
756
+ "requestedById" INTEGER NOT NULL,
757
+ "title" TEXT NOT NULL,
758
+ "description" TEXT NOT NULL,
759
+ "status" "maintenance"."MaintenanceRequestStatus" NOT NULL DEFAULT 'NEW',
760
+ "priority" "maintenance"."MaintenanceRequestPriority" NOT NULL DEFAULT 'MEDIUM',
761
+ "categoryId" INTEGER NOT NULL,
762
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
763
+ "updatedAt" TIMESTAMP(3) NOT NULL,
764
+
765
+ CONSTRAINT "MaintenanceRequest_pkey" PRIMARY KEY ("id")
766
+ );
767
+
768
+ -- CreateTable
769
+ CREATE TABLE "maintenance"."MaintenanceRequestCategory" (
770
+ "id" SERIAL NOT NULL,
771
+ "factoryId" INTEGER NOT NULL,
772
+ "name" TEXT NOT NULL,
773
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
774
+ "updatedAt" TIMESTAMP(3) NOT NULL,
775
+
776
+ CONSTRAINT "MaintenanceRequestCategory_pkey" PRIMARY KEY ("id")
777
+ );
778
+
779
+ -- CreateTable
780
+ CREATE TABLE "maintenance"."MaintenanceRequestAssignment" (
781
+ "id" SERIAL NOT NULL,
782
+ "requestId" INTEGER NOT NULL,
783
+ "technicianId" INTEGER NOT NULL,
784
+ "assignedById" INTEGER NOT NULL,
785
+ "assignedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
786
+
787
+ CONSTRAINT "MaintenanceRequestAssignment_pkey" PRIMARY KEY ("id")
788
+ );
789
+
790
+ -- CreateTable
791
+ CREATE TABLE "maintenance"."MaintenanceRequestUpdate" (
792
+ "id" SERIAL NOT NULL,
793
+ "requestId" INTEGER NOT NULL,
794
+ "authorId" INTEGER NOT NULL,
795
+ "message" TEXT NOT NULL,
796
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
797
+
798
+ CONSTRAINT "MaintenanceRequestUpdate_pkey" PRIMARY KEY ("id")
799
+ );
800
+
801
+ -- CreateTable
802
+ CREATE TABLE "maintenance"."MaintenanceRequestAttachment" (
803
+ "id" SERIAL NOT NULL,
804
+ "updateId" INTEGER NOT NULL,
805
+ "fileUrl" TEXT NOT NULL,
806
+ "fileName" TEXT NOT NULL,
807
+ "uploadedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
808
+
809
+ CONSTRAINT "MaintenanceRequestAttachment_pkey" PRIMARY KEY ("id")
810
+ );
811
+
812
+ -- CreateTable
813
+ CREATE TABLE "maintenance"."MaintenanceTechnician" (
814
+ "id" SERIAL NOT NULL,
815
+ "factoryId" INTEGER NOT NULL,
816
+ "name" TEXT NOT NULL,
817
+ "email" TEXT NOT NULL,
818
+ "phone" TEXT,
819
+ "hiredAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
820
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
821
+ "updatedAt" TIMESTAMP(3) NOT NULL,
822
+
823
+ CONSTRAINT "MaintenanceTechnician_pkey" PRIMARY KEY ("id")
824
+ );
825
+
826
+ -- CreateTable
827
+ CREATE TABLE "maintenance"."TechnicianSpecialization" (
828
+ "id" SERIAL NOT NULL,
829
+ "technicianId" INTEGER NOT NULL,
830
+ "specializationId" INTEGER NOT NULL,
831
+
832
+ CONSTRAINT "TechnicianSpecialization_pkey" PRIMARY KEY ("id")
833
+ );
834
+
835
+ -- CreateTable
836
+ CREATE TABLE "operator"."Operator" (
837
+ "id" SERIAL NOT NULL,
838
+ "rfid" TEXT,
839
+ "externalId" TEXT,
840
+ "name" TEXT,
841
+ "description" TEXT,
842
+ "organizationId" INTEGER,
843
+ "factoryId" INTEGER,
844
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
845
+ "updatedAt" TIMESTAMP(3) NOT NULL,
846
+
847
+ CONSTRAINT "Operator_pkey" PRIMARY KEY ("id")
848
+ );
849
+
850
+ -- CreateTable
851
+ CREATE TABLE "operator"."OperatorTimeLog" (
852
+ "id" BIGSERIAL NOT NULL,
853
+ "operatorId" INTEGER NOT NULL,
854
+ "checkInAt" TIMESTAMP(3) NOT NULL,
855
+ "checkOutAt" TIMESTAMP(3),
856
+ "deviceId" INTEGER,
857
+ "machineId" INTEGER,
858
+ "totalWorkingTime" INTEGER,
859
+ "totalIdleTime" INTEGER,
860
+ "totalNonWorkingTime" INTEGER,
861
+ "efficiency" DOUBLE PRECISION,
862
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
863
+ "updatedAt" TIMESTAMP(3) NOT NULL,
864
+
865
+ CONSTRAINT "OperatorTimeLog_pkey" PRIMARY KEY ("id")
866
+ );
867
+
868
+ -- CreateTable
869
+ CREATE TABLE "order"."Order" (
870
+ "id" SERIAL NOT NULL,
871
+ "organizationId" INTEGER NOT NULL,
872
+ "externalId" TEXT,
873
+ "erpSource" TEXT,
874
+ "customerId" INTEGER,
875
+ "orderNumber" TEXT,
876
+ "title" TEXT,
877
+ "description" TEXT,
878
+ "factoryId" INTEGER NOT NULL,
879
+ "status" "order"."OrderStatus" NOT NULL DEFAULT 'NEW',
880
+ "progress" DOUBLE PRECISION NOT NULL DEFAULT 0,
881
+ "priority" "order"."OrderPriority" DEFAULT 'LOW',
882
+ "deadline" TIMESTAMP(3),
883
+ "startDate" TIMESTAMP(3),
884
+ "createdById" INTEGER,
885
+ "assignedToId" INTEGER,
886
+ "assignedById" INTEGER,
887
+ "approvalAssignedToId" INTEGER,
888
+ "approvedById" INTEGER,
889
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
890
+ "updatedAt" TIMESTAMP(3) NOT NULL,
891
+
892
+ CONSTRAINT "Order_pkey" PRIMARY KEY ("id")
893
+ );
894
+
895
+ -- CreateTable
896
+ CREATE TABLE "order"."OrderProduct" (
897
+ "id" SERIAL NOT NULL,
898
+ "orderId" INTEGER NOT NULL,
899
+ "productId" INTEGER NOT NULL,
900
+ "quantity" INTEGER NOT NULL DEFAULT 0,
901
+ "title" TEXT,
902
+ "description" TEXT,
903
+ "status" "order"."OrderProductStatus" NOT NULL DEFAULT 'NEW',
904
+ "progress" DOUBLE PRECISION NOT NULL DEFAULT 0,
905
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
906
+ "updatedAt" TIMESTAMP(3) NOT NULL,
907
+
908
+ CONSTRAINT "OrderProduct_pkey" PRIMARY KEY ("id")
909
+ );
910
+
911
+ -- CreateTable
912
+ CREATE TABLE "order"."OrderComment" (
913
+ "id" SERIAL NOT NULL,
914
+ "orderId" INTEGER NOT NULL,
915
+ "organizationId" INTEGER NOT NULL,
916
+ "authorId" INTEGER,
917
+ "text" TEXT NOT NULL,
918
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
919
+ "updatedAt" TIMESTAMP(3) NOT NULL,
920
+
921
+ CONSTRAINT "OrderComment_pkey" PRIMARY KEY ("id")
922
+ );
923
+
924
+ -- CreateTable
925
+ CREATE TABLE "production_tracking"."ProductionUnit" (
926
+ "id" TEXT NOT NULL,
927
+ "tagId" TEXT NOT NULL,
928
+ "serialNumber" TEXT,
929
+ "organizationId" INTEGER NOT NULL,
930
+ "orderProductId" INTEGER NOT NULL,
931
+ "currentStepId" INTEGER,
932
+ "status" "production_tracking"."ProductionUnitStatus" NOT NULL DEFAULT 'IN_PRODUCTION',
933
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
934
+ "updatedAt" TIMESTAMP(3) NOT NULL,
935
+
936
+ CONSTRAINT "ProductionUnit_pkey" PRIMARY KEY ("id")
937
+ );
938
+
939
+ -- CreateTable
940
+ CREATE TABLE "production_tracking"."ProductionUnitLog" (
941
+ "id" TEXT NOT NULL,
942
+ "productionUnitId" TEXT NOT NULL,
943
+ "eventId" TEXT NOT NULL,
944
+ "details" TEXT,
945
+ "stepId" INTEGER,
946
+ "operatorId" INTEGER,
947
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
948
+
949
+ CONSTRAINT "ProductionUnitLog_pkey" PRIMARY KEY ("id")
950
+ );
951
+
952
+ -- CreateTable
953
+ CREATE TABLE "production_tracking"."ProductionRouteStep" (
954
+ "id" SERIAL NOT NULL,
955
+ "productionUnitId" TEXT NOT NULL,
956
+ "stepId" INTEGER,
957
+ "machineId" INTEGER,
958
+ "isCompleted" BOOLEAN NOT NULL DEFAULT false,
959
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
960
+ "updatedAt" TIMESTAMP(3) NOT NULL,
961
+
962
+ CONSTRAINT "ProductionRouteStep_pkey" PRIMARY KEY ("id")
963
+ );
964
+
965
+ -- CreateTable
966
+ CREATE TABLE "production_tracking"."ProductionUnitQC" (
967
+ "id" TEXT NOT NULL,
968
+ "productionUnitId" TEXT NOT NULL,
969
+ "status" TEXT NOT NULL,
970
+ "inspectorId" INTEGER,
971
+ "notes" TEXT,
972
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
973
+ "updatedAt" TIMESTAMP(3) NOT NULL,
974
+
975
+ CONSTRAINT "ProductionUnitQC_pkey" PRIMARY KEY ("id")
976
+ );
977
+
978
+ -- CreateTable
979
+ CREATE TABLE "organization"."OrganizationUserFactoryEntityAccess" (
980
+ "id" SERIAL NOT NULL,
981
+ "userId" INTEGER NOT NULL,
982
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
983
+ "updatedAt" TIMESTAMP(3) NOT NULL,
984
+
985
+ CONSTRAINT "OrganizationUserFactoryEntityAccess_pkey" PRIMARY KEY ("id")
986
+ );
987
+
988
+ -- CreateTable
989
+ CREATE TABLE "tasks"."OperatorOperationCategory" (
990
+ "id" SERIAL NOT NULL,
991
+ "factoryId" INTEGER NOT NULL,
992
+ "name" TEXT NOT NULL,
993
+ "description" TEXT,
994
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
995
+ "updatedAt" TIMESTAMP(3) NOT NULL,
996
+
997
+ CONSTRAINT "OperatorOperationCategory_pkey" PRIMARY KEY ("id")
998
+ );
999
+
1000
+ -- CreateTable
1001
+ CREATE TABLE "tasks"."Task" (
1002
+ "id" SERIAL NOT NULL,
1003
+ "operatorId" INTEGER,
1004
+ "assignedById" INTEGER NOT NULL,
1005
+ "assignedToId" INTEGER,
1006
+ "deviceId" INTEGER,
1007
+ "machineId" INTEGER,
1008
+ "taskGroupId" INTEGER,
1009
+ "factoryId" INTEGER,
1010
+ "organizationId" INTEGER NOT NULL,
1011
+ "operatorOpCategoryId" INTEGER,
1012
+ "shiftId" INTEGER,
1013
+ "title" TEXT,
1014
+ "description" TEXT,
1015
+ "status" "tasks"."TaskStatus" NOT NULL DEFAULT 'NEW',
1016
+ "startTime" TIMESTAMP(3) NOT NULL,
1017
+ "endTime" TIMESTAMP(3) NOT NULL,
1018
+ "targetCount" INTEGER,
1019
+ "taskCount" INTEGER DEFAULT 0,
1020
+ "sequence" INTEGER NOT NULL DEFAULT 0,
1021
+ "reworkOfTaskId" INTEGER,
1022
+ "reworkCount" INTEGER NOT NULL DEFAULT 0,
1023
+ "machineOperationId" INTEGER,
1024
+ "startedAt" TIMESTAMP(3),
1025
+ "completedAt" TIMESTAMP(3),
1026
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
1027
+ "updatedAt" TIMESTAMP(3) NOT NULL,
1028
+
1029
+ CONSTRAINT "Task_pkey" PRIMARY KEY ("id")
1030
+ );
1031
+
1032
+ -- CreateTable
1033
+ CREATE TABLE "tasks"."TaskGroup" (
1034
+ "id" SERIAL NOT NULL,
1035
+ "description" TEXT,
1036
+ "status" "tasks"."TaskGroupStatus" NOT NULL DEFAULT 'NEW',
1037
+ "targetCount" INTEGER NOT NULL,
1038
+ "factoryId" INTEGER,
1039
+ "organizationId" INTEGER,
1040
+ "productRouteId" INTEGER,
1041
+ "orderProductId" INTEGER,
1042
+ "deadline" TIMESTAMP(3) NOT NULL,
1043
+ "reworkOfTaskGroupId" INTEGER,
1044
+ "reworkCount" INTEGER NOT NULL DEFAULT 0,
1045
+ "startedAt" TIMESTAMP(3),
1046
+ "completedAt" TIMESTAMP(3),
1047
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
1048
+ "updatedAt" TIMESTAMP(3) NOT NULL,
1049
+
1050
+ CONSTRAINT "TaskGroup_pkey" PRIMARY KEY ("id")
1051
+ );
1052
+
1053
+ -- CreateTable
1054
+ CREATE TABLE "tasks"."TaskLot" (
1055
+ "id" SERIAL NOT NULL,
1056
+ "taskId" INTEGER NOT NULL,
1057
+ "lotId" INTEGER NOT NULL,
1058
+
1059
+ CONSTRAINT "TaskLot_pkey" PRIMARY KEY ("id")
1060
+ );
1061
+
1062
+ -- CreateTable
1063
+ CREATE TABLE "tasks"."TaskGroupLot" (
1064
+ "id" SERIAL NOT NULL,
1065
+ "taskGroupId" INTEGER NOT NULL,
1066
+ "lotId" INTEGER NOT NULL,
1067
+
1068
+ CONSTRAINT "TaskGroupLot_pkey" PRIMARY KEY ("id")
1069
+ );
1070
+
1071
+ -- CreateTable
1072
+ CREATE TABLE "tasks"."TaskInspection" (
1073
+ "id" SERIAL NOT NULL,
1074
+ "taskId" INTEGER NOT NULL,
1075
+ "inspectorId" INTEGER NOT NULL,
1076
+ "passed" BOOLEAN NOT NULL DEFAULT false,
1077
+ "defectCount" INTEGER NOT NULL DEFAULT 0,
1078
+ "wasteCount" INTEGER NOT NULL DEFAULT 0,
1079
+ "notes" TEXT,
1080
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
1081
+ "updatedAt" TIMESTAMP(3) NOT NULL,
1082
+
1083
+ CONSTRAINT "TaskInspection_pkey" PRIMARY KEY ("id")
1084
+ );
1085
+
1086
+ -- CreateTable
1087
+ CREATE TABLE "tasks"."TaskComment" (
1088
+ "id" SERIAL NOT NULL,
1089
+ "taskId" INTEGER NOT NULL,
1090
+ "organizationId" INTEGER NOT NULL,
1091
+ "authorId" INTEGER,
1092
+ "text" TEXT NOT NULL,
1093
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
1094
+ "updatedAt" TIMESTAMP(3) NOT NULL,
1095
+
1096
+ CONSTRAINT "TaskComment_pkey" PRIMARY KEY ("id")
1097
+ );
1098
+
1099
+ -- CreateTable
1100
+ CREATE TABLE "factory"."_UserToFloors" (
1101
+ "A" INTEGER NOT NULL,
1102
+ "B" INTEGER NOT NULL,
1103
+
1104
+ CONSTRAINT "_UserToFloors_AB_pkey" PRIMARY KEY ("A","B")
1105
+ );
1106
+
1107
+ -- CreateTable
1108
+ CREATE TABLE "factory"."_UserToAssemblyLines" (
1109
+ "A" INTEGER NOT NULL,
1110
+ "B" INTEGER NOT NULL,
1111
+
1112
+ CONSTRAINT "_UserToAssemblyLines_AB_pkey" PRIMARY KEY ("A","B")
1113
+ );
1114
+
1115
+ -- CreateTable
1116
+ CREATE TABLE "machine"."_UserToMachines" (
1117
+ "A" INTEGER NOT NULL,
1118
+ "B" INTEGER NOT NULL,
1119
+
1120
+ CONSTRAINT "_UserToMachines_AB_pkey" PRIMARY KEY ("A","B")
1121
+ );
1122
+
1123
+ -- CreateIndex
1124
+ CREATE INDEX "MachineHourlyAnalytics_machineId_startDateTime_idx" ON "analytics"."MachineHourlyAnalytics"("machineId", "startDateTime");
1125
+
1126
+ -- CreateIndex
1127
+ CREATE UNIQUE INDEX "unique_machineHourlyCompound" ON "analytics"."MachineHourlyAnalytics"("organizationId", "machineId", "startDateTime");
1128
+
1129
+ -- CreateIndex
1130
+ CREATE INDEX "MachineDailyAnalytics_machineId_date_idx" ON "analytics"."MachineDailyAnalytics"("machineId", "date");
1131
+
1132
+ -- CreateIndex
1133
+ CREATE UNIQUE INDEX "unique_machineDailyCompound" ON "analytics"."MachineDailyAnalytics"("organizationId", "machineId", "date");
1134
+
1135
+ -- CreateIndex
1136
+ CREATE UNIQUE INDEX "unique_machineMonthlyCompound" ON "analytics"."MachineMonthlyAnalytics"("organizationId", "machineId", "month", "year");
1137
+
1138
+ -- CreateIndex
1139
+ CREATE UNIQUE INDEX "unique_lineHourlyCompound" ON "analytics"."LineHourlyAnalytics"("organizationId", "assemblyLineId", "startDateTime");
1140
+
1141
+ -- CreateIndex
1142
+ CREATE UNIQUE INDEX "unique_floorHourlyCompound" ON "analytics"."FloorHourlyAnalytics"("organizationId", "floorId", "startDateTime");
1143
+
1144
+ -- CreateIndex
1145
+ CREATE UNIQUE INDEX "unique_factoryHourlyCompound" ON "analytics"."FactoryHourlyAnalytics"("organizationId", "factoryId", "startDateTime");
1146
+
1147
+ -- CreateIndex
1148
+ CREATE UNIQUE INDEX "unique_deviceHourlyCompound" ON "analytics"."DeviceHourlyAnalytics"("organizationId", "deviceId", "startDateTime");
1149
+
1150
+ -- CreateIndex
1151
+ CREATE UNIQUE INDEX "unique_sensorHourlyCompound" ON "analytics"."SensorHourlyAnalytics"("sensorId", "startDateTime");
1152
+
1153
+ -- CreateIndex
1154
+ CREATE UNIQUE INDEX "unique_proximityCompound" ON "analytics"."ProximitySensorHourlyAnalytics"("sensorHourlyAnalyticsId");
1155
+
1156
+ -- CreateIndex
1157
+ CREATE UNIQUE INDEX "unique_infraredCompound" ON "analytics"."InfraredSensorHourlyAnalytics"("sensorHourlyAnalyticsId");
1158
+
1159
+ -- CreateIndex
1160
+ CREATE UNIQUE INDEX "DevicePowerSensorHourlyAnalytics_deviceHourlyAnalyticsId_key" ON "analytics"."DevicePowerSensorHourlyAnalytics"("deviceHourlyAnalyticsId");
1161
+
1162
+ -- CreateIndex
1163
+ CREATE INDEX "AuditLog_entityName_entityId_idx" ON "audit"."AuditLog"("entityName", "entityId");
1164
+
1165
+ -- CreateIndex
1166
+ CREATE INDEX "AuditLog_userId_idx" ON "audit"."AuditLog"("userId");
1167
+
1168
+ -- CreateIndex
1169
+ CREATE INDEX "AuditLog_orgId_idx" ON "audit"."AuditLog"("orgId");
1170
+
1171
+ -- CreateIndex
1172
+ CREATE INDEX "ChatbotHistory_userId_idx" ON "chatbot"."ChatbotHistory"("userId");
1173
+
1174
+ -- CreateIndex
1175
+ CREATE INDEX "ChatbotHistory_organizationId_idx" ON "chatbot"."ChatbotHistory"("organizationId");
1176
+
1177
+ -- CreateIndex
1178
+ CREATE INDEX "ChatbotHistory_createdAt_idx" ON "chatbot"."ChatbotHistory"("createdAt");
1179
+
1180
+ -- CreateIndex
1181
+ CREATE INDEX "ChatbotHistory_title_idx" ON "chatbot"."ChatbotHistory"("title");
1182
+
1183
+ -- CreateIndex
1184
+ CREATE INDEX "ChatbotMessage_chatHistoryId_idx" ON "chatbot"."ChatbotMessage"("chatHistoryId");
1185
+
1186
+ -- CreateIndex
1187
+ CREATE INDEX "ChatbotMessage_tokensUsed_idx" ON "chatbot"."ChatbotMessage"("tokensUsed");
1188
+
1189
+ -- CreateIndex
1190
+ CREATE UNIQUE INDEX "Gateway_gatewayUid_key" ON "device"."Gateway"("gatewayUid");
1191
+
1192
+ -- CreateIndex
1193
+ CREATE INDEX "Gateway_floorId_idx" ON "device"."Gateway"("floorId");
1194
+
1195
+ -- CreateIndex
1196
+ CREATE UNIQUE INDEX "GatewayApiToken_gatewayId_key" ON "device"."GatewayApiToken"("gatewayId");
1197
+
1198
+ -- CreateIndex
1199
+ CREATE UNIQUE INDEX "Device_globalDeviceUid_key" ON "device"."Device"("globalDeviceUid");
1200
+
1201
+ -- CreateIndex
1202
+ CREATE UNIQUE INDEX "Device_deviceUid_key" ON "device"."Device"("deviceUid");
1203
+
1204
+ -- CreateIndex
1205
+ CREATE INDEX "Device_orgId_idx" ON "device"."Device"("orgId");
1206
+
1207
+ -- CreateIndex
1208
+ CREATE INDEX "Device_globalDeviceUid_idx" ON "device"."Device"("globalDeviceUid");
1209
+
1210
+ -- CreateIndex
1211
+ CREATE UNIQUE INDEX "Sensor_sensorUid_key" ON "device"."Sensor"("sensorUid");
1212
+
1213
+ -- CreateIndex
1214
+ CREATE INDEX "Sensor_deviceId_idx" ON "device"."Sensor"("deviceId");
1215
+
1216
+ -- CreateIndex
1217
+ CREATE UNIQUE INDEX "ProximitySensorConfig_sensorId_key" ON "device"."ProximitySensorConfig"("sensorId");
1218
+
1219
+ -- CreateIndex
1220
+ CREATE UNIQUE INDEX "CurrentSensorConfig_sensorId_key" ON "device"."CurrentSensorConfig"("sensorId");
1221
+
1222
+ -- CreateIndex
1223
+ CREATE UNIQUE INDEX "InfraredSensorConfig_sensorId_key" ON "device"."InfraredSensorConfig"("sensorId");
1224
+
1225
+ -- CreateIndex
1226
+ CREATE INDEX "MachineDeviceAssignment_deviceId_idx" ON "device"."MachineDeviceAssignment"("deviceId");
1227
+
1228
+ -- CreateIndex
1229
+ CREATE UNIQUE INDEX "SensorLog_sensorId_senseTime_key" ON "device"."SensorLog"("sensorId", "senseTime");
1230
+
1231
+ -- CreateIndex
1232
+ CREATE UNIQUE INDEX "RFIDSensorLog_sensorLogId_key" ON "device"."RFIDSensorLog"("sensorLogId");
1233
+
1234
+ -- CreateIndex
1235
+ CREATE UNIQUE INDEX "ProximitySensorLog_sensorLogId_key" ON "device"."ProximitySensorLog"("sensorLogId");
1236
+
1237
+ -- CreateIndex
1238
+ CREATE UNIQUE INDEX "InfraredSensorLog_sensorLogId_key" ON "device"."InfraredSensorLog"("sensorLogId");
1239
+
1240
+ -- CreateIndex
1241
+ CREATE UNIQUE INDEX "CurrentSensorLog_sensorLogId_key" ON "device"."CurrentSensorLog"("sensorLogId");
1242
+
1243
+ -- CreateIndex
1244
+ CREATE UNIQUE INDEX "DevicePowerSensorLog_sensorLogId_key" ON "device"."DevicePowerSensorLog"("sensorLogId");
1245
+
1246
+ -- CreateIndex
1247
+ CREATE INDEX "Factory_organizationId_idx" ON "factory"."Factory"("organizationId");
1248
+
1249
+ -- CreateIndex
1250
+ CREATE INDEX "Floor_factoryId_idx" ON "factory"."Floor"("factoryId");
1251
+
1252
+ -- CreateIndex
1253
+ CREATE UNIQUE INDEX "FloorType_organizationId_name_key" ON "factory"."FloorType"("organizationId", "name");
1254
+
1255
+ -- CreateIndex
1256
+ CREATE UNIQUE INDEX "FloorSetting_floorId_key" ON "factory"."FloorSetting"("floorId");
1257
+
1258
+ -- CreateIndex
1259
+ CREATE INDEX "AssemblyLine_floorId_idx" ON "factory"."AssemblyLine"("floorId");
1260
+
1261
+ -- CreateIndex
1262
+ CREATE INDEX "FactoryShift_factoryId_idx" ON "factory"."FactoryShift"("factoryId");
1263
+
1264
+ -- CreateIndex
1265
+ CREATE INDEX "FactoryLot_factoryId_idx" ON "factory"."FactoryLot"("factoryId");
1266
+
1267
+ -- CreateIndex
1268
+ CREATE INDEX "FinalProduct_externalId_idx" ON "inventory"."FinalProduct"("externalId");
1269
+
1270
+ -- CreateIndex
1271
+ CREATE INDEX "Machine_assemblyLineId_idx" ON "machine"."Machine"("assemblyLineId");
1272
+
1273
+ -- CreateIndex
1274
+ CREATE UNIQUE INDEX "MachineOperation_organizationId_operationName_key" ON "machine"."MachineOperation"("organizationId", "operationName");
1275
+
1276
+ -- CreateIndex
1277
+ CREATE INDEX "MachineEvent_machineId_idx" ON "machine"."MachineEvent"("machineId");
1278
+
1279
+ -- CreateIndex
1280
+ CREATE UNIQUE INDEX "MachineAlertSubscription_userId_machineId_key" ON "machine"."MachineAlertSubscription"("userId", "machineId");
1281
+
1282
+ -- CreateIndex
1283
+ CREATE UNIQUE INDEX "MaintenanceManagerConfig_managerId_key_key" ON "maintenance"."MaintenanceManagerConfig"("managerId", "key");
1284
+
1285
+ -- CreateIndex
1286
+ CREATE UNIQUE INDEX "MaintenanceRequestCategory_factoryId_name_key" ON "maintenance"."MaintenanceRequestCategory"("factoryId", "name");
1287
+
1288
+ -- CreateIndex
1289
+ CREATE UNIQUE INDEX "MaintenanceTechnician_email_key" ON "maintenance"."MaintenanceTechnician"("email");
1290
+
1291
+ -- CreateIndex
1292
+ CREATE UNIQUE INDEX "TechnicianSpecialization_technicianId_specializationId_key" ON "maintenance"."TechnicianSpecialization"("technicianId", "specializationId");
1293
+
1294
+ -- CreateIndex
1295
+ CREATE INDEX "Operator_externalId_idx" ON "operator"."Operator"("externalId");
1296
+
1297
+ -- CreateIndex
1298
+ CREATE UNIQUE INDEX "Operator_organizationId_rfid_key" ON "operator"."Operator"("organizationId", "rfid");
1299
+
1300
+ -- CreateIndex
1301
+ CREATE UNIQUE INDEX "Order_externalId_key" ON "order"."Order"("externalId");
1302
+
1303
+ -- CreateIndex
1304
+ CREATE INDEX "Order_organizationId_idx" ON "order"."Order"("organizationId");
1305
+
1306
+ -- CreateIndex
1307
+ CREATE INDEX "Order_customerId_idx" ON "order"."Order"("customerId");
1308
+
1309
+ -- CreateIndex
1310
+ CREATE INDEX "Order_factoryId_idx" ON "order"."Order"("factoryId");
1311
+
1312
+ -- CreateIndex
1313
+ CREATE INDEX "OrderProduct_orderId_idx" ON "order"."OrderProduct"("orderId");
1314
+
1315
+ -- CreateIndex
1316
+ CREATE INDEX "OrderProduct_productId_idx" ON "order"."OrderProduct"("productId");
1317
+
1318
+ -- CreateIndex
1319
+ CREATE INDEX "OrderComment_orderId_idx" ON "order"."OrderComment"("orderId");
1320
+
1321
+ -- CreateIndex
1322
+ CREATE INDEX "OrderComment_organizationId_idx" ON "order"."OrderComment"("organizationId");
1323
+
1324
+ -- CreateIndex
1325
+ CREATE INDEX "OrderComment_authorId_idx" ON "order"."OrderComment"("authorId");
1326
+
1327
+ -- CreateIndex
1328
+ CREATE UNIQUE INDEX "ProductionUnit_tagId_key" ON "production_tracking"."ProductionUnit"("tagId");
1329
+
1330
+ -- CreateIndex
1331
+ CREATE UNIQUE INDEX "ProductionUnit_serialNumber_key" ON "production_tracking"."ProductionUnit"("serialNumber");
1332
+
1333
+ -- CreateIndex
1334
+ CREATE INDEX "ProductionUnit_orderProductId_idx" ON "production_tracking"."ProductionUnit"("orderProductId");
1335
+
1336
+ -- CreateIndex
1337
+ CREATE INDEX "ProductionUnitLog_productionUnitId_idx" ON "production_tracking"."ProductionUnitLog"("productionUnitId");
1338
+
1339
+ -- CreateIndex
1340
+ CREATE UNIQUE INDEX "ProductionRouteStep_productionUnitId_key" ON "production_tracking"."ProductionRouteStep"("productionUnitId");
1341
+
1342
+ -- CreateIndex
1343
+ CREATE UNIQUE INDEX "OrganizationUserFactoryEntityAccess_userId_key" ON "organization"."OrganizationUserFactoryEntityAccess"("userId");
1344
+
1345
+ -- CreateIndex
1346
+ CREATE INDEX "OrganizationUserFactoryEntityAccess_userId_idx" ON "organization"."OrganizationUserFactoryEntityAccess"("userId");
1347
+
1348
+ -- CreateIndex
1349
+ CREATE INDEX "OperatorOperationCategory_factoryId_idx" ON "tasks"."OperatorOperationCategory"("factoryId");
1350
+
1351
+ -- CreateIndex
1352
+ CREATE INDEX "Task_shiftId_idx" ON "tasks"."Task"("shiftId");
1353
+
1354
+ -- CreateIndex
1355
+ CREATE INDEX "Task_taskGroupId_idx" ON "tasks"."Task"("taskGroupId");
1356
+
1357
+ -- CreateIndex
1358
+ CREATE UNIQUE INDEX "TaskLot_taskId_lotId_key" ON "tasks"."TaskLot"("taskId", "lotId");
1359
+
1360
+ -- CreateIndex
1361
+ CREATE UNIQUE INDEX "TaskGroupLot_taskGroupId_lotId_key" ON "tasks"."TaskGroupLot"("taskGroupId", "lotId");
1362
+
1363
+ -- CreateIndex
1364
+ CREATE INDEX "_UserToFloors_B_index" ON "factory"."_UserToFloors"("B");
1365
+
1366
+ -- CreateIndex
1367
+ CREATE INDEX "_UserToAssemblyLines_B_index" ON "factory"."_UserToAssemblyLines"("B");
1368
+
1369
+ -- CreateIndex
1370
+ CREATE INDEX "_UserToMachines_B_index" ON "machine"."_UserToMachines"("B");
1371
+
1372
+ -- AddForeignKey
1373
+ ALTER TABLE "analytics"."MachineHourlyAnalytics" ADD CONSTRAINT "MachineHourlyAnalytics_machineId_fkey" FOREIGN KEY ("machineId") REFERENCES "machine"."Machine"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1374
+
1375
+ -- AddForeignKey
1376
+ ALTER TABLE "analytics"."MachineDailyAnalytics" ADD CONSTRAINT "MachineDailyAnalytics_machineId_fkey" FOREIGN KEY ("machineId") REFERENCES "machine"."Machine"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1377
+
1378
+ -- AddForeignKey
1379
+ ALTER TABLE "analytics"."MachineMonthlyAnalytics" ADD CONSTRAINT "MachineMonthlyAnalytics_machineId_fkey" FOREIGN KEY ("machineId") REFERENCES "machine"."Machine"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1380
+
1381
+ -- AddForeignKey
1382
+ ALTER TABLE "analytics"."LineHourlyAnalytics" ADD CONSTRAINT "LineHourlyAnalytics_assemblyLineId_fkey" FOREIGN KEY ("assemblyLineId") REFERENCES "factory"."AssemblyLine"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1383
+
1384
+ -- AddForeignKey
1385
+ ALTER TABLE "analytics"."FloorHourlyAnalytics" ADD CONSTRAINT "FloorHourlyAnalytics_floorId_fkey" FOREIGN KEY ("floorId") REFERENCES "factory"."Floor"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1386
+
1387
+ -- AddForeignKey
1388
+ ALTER TABLE "analytics"."FactoryHourlyAnalytics" ADD CONSTRAINT "FactoryHourlyAnalytics_factoryId_fkey" FOREIGN KEY ("factoryId") REFERENCES "factory"."Factory"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1389
+
1390
+ -- AddForeignKey
1391
+ ALTER TABLE "analytics"."DeviceHourlyAnalytics" ADD CONSTRAINT "DeviceHourlyAnalytics_deviceId_fkey" FOREIGN KEY ("deviceId") REFERENCES "device"."Device"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1392
+
1393
+ -- AddForeignKey
1394
+ ALTER TABLE "analytics"."DeviceHourlyAnalytics" ADD CONSTRAINT "DeviceHourlyAnalytics_machineHourlyAnalyticsId_fkey" FOREIGN KEY ("machineHourlyAnalyticsId") REFERENCES "analytics"."MachineHourlyAnalytics"("id") ON DELETE SET NULL ON UPDATE CASCADE;
1395
+
1396
+ -- AddForeignKey
1397
+ ALTER TABLE "analytics"."SensorHourlyAnalytics" ADD CONSTRAINT "SensorHourlyAnalytics_sensorId_fkey" FOREIGN KEY ("sensorId") REFERENCES "device"."Sensor"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1398
+
1399
+ -- AddForeignKey
1400
+ ALTER TABLE "analytics"."SensorHourlyAnalytics" ADD CONSTRAINT "SensorHourlyAnalytics_deviceHourlyAnalyticsId_fkey" FOREIGN KEY ("deviceHourlyAnalyticsId") REFERENCES "analytics"."DeviceHourlyAnalytics"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1401
+
1402
+ -- AddForeignKey
1403
+ ALTER TABLE "analytics"."ProximitySensorHourlyAnalytics" ADD CONSTRAINT "ProximitySensorHourlyAnalytics_sensorHourlyAnalyticsId_fkey" FOREIGN KEY ("sensorHourlyAnalyticsId") REFERENCES "analytics"."SensorHourlyAnalytics"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1404
+
1405
+ -- AddForeignKey
1406
+ ALTER TABLE "analytics"."InfraredSensorHourlyAnalytics" ADD CONSTRAINT "InfraredSensorHourlyAnalytics_sensorHourlyAnalyticsId_fkey" FOREIGN KEY ("sensorHourlyAnalyticsId") REFERENCES "analytics"."SensorHourlyAnalytics"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1407
+
1408
+ -- AddForeignKey
1409
+ ALTER TABLE "analytics"."DevicePowerSensorHourlyAnalytics" ADD CONSTRAINT "DevicePowerSensorHourlyAnalytics_deviceHourlyAnalyticsId_fkey" FOREIGN KEY ("deviceHourlyAnalyticsId") REFERENCES "analytics"."DeviceHourlyAnalytics"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1410
+
1411
+ -- AddForeignKey
1412
+ ALTER TABLE "chatbot"."ChatbotMessage" ADD CONSTRAINT "ChatbotMessage_chatHistoryId_fkey" FOREIGN KEY ("chatHistoryId") REFERENCES "chatbot"."ChatbotHistory"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1413
+
1414
+ -- AddForeignKey
1415
+ ALTER TABLE "device"."Gateway" ADD CONSTRAINT "Gateway_floorId_fkey" FOREIGN KEY ("floorId") REFERENCES "factory"."Floor"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1416
+
1417
+ -- AddForeignKey
1418
+ ALTER TABLE "device"."GatewayApiToken" ADD CONSTRAINT "GatewayApiToken_gatewayId_fkey" FOREIGN KEY ("gatewayId") REFERENCES "device"."Gateway"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1419
+
1420
+ -- AddForeignKey
1421
+ ALTER TABLE "device"."Device" ADD CONSTRAINT "Device_gatewayId_fkey" FOREIGN KEY ("gatewayId") REFERENCES "device"."Gateway"("id") ON DELETE SET NULL ON UPDATE CASCADE;
1422
+
1423
+ -- AddForeignKey
1424
+ ALTER TABLE "device"."Device" ADD CONSTRAINT "Device_machineId_fkey" FOREIGN KEY ("machineId") REFERENCES "machine"."Machine"("id") ON DELETE SET NULL ON UPDATE CASCADE;
1425
+
1426
+ -- AddForeignKey
1427
+ ALTER TABLE "device"."Device" ADD CONSTRAINT "Device_assemblyLineId_fkey" FOREIGN KEY ("assemblyLineId") REFERENCES "factory"."AssemblyLine"("id") ON DELETE SET NULL ON UPDATE CASCADE;
1428
+
1429
+ -- AddForeignKey
1430
+ ALTER TABLE "device"."Device" ADD CONSTRAINT "Device_floorId_fkey" FOREIGN KEY ("floorId") REFERENCES "factory"."Floor"("id") ON DELETE SET NULL ON UPDATE CASCADE;
1431
+
1432
+ -- AddForeignKey
1433
+ ALTER TABLE "device"."Device" ADD CONSTRAINT "Device_factoryId_fkey" FOREIGN KEY ("factoryId") REFERENCES "factory"."Factory"("id") ON DELETE SET NULL ON UPDATE CASCADE;
1434
+
1435
+ -- AddForeignKey
1436
+ ALTER TABLE "device"."Sensor" ADD CONSTRAINT "Sensor_deviceId_fkey" FOREIGN KEY ("deviceId") REFERENCES "device"."Device"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1437
+
1438
+ -- AddForeignKey
1439
+ ALTER TABLE "device"."Sensor" ADD CONSTRAINT "Sensor_machineId_fkey" FOREIGN KEY ("machineId") REFERENCES "machine"."Machine"("id") ON DELETE SET NULL ON UPDATE CASCADE;
1440
+
1441
+ -- AddForeignKey
1442
+ ALTER TABLE "device"."Sensor" ADD CONSTRAINT "Sensor_assemblyLineId_fkey" FOREIGN KEY ("assemblyLineId") REFERENCES "factory"."AssemblyLine"("id") ON DELETE SET NULL ON UPDATE CASCADE;
1443
+
1444
+ -- AddForeignKey
1445
+ ALTER TABLE "device"."Sensor" ADD CONSTRAINT "Sensor_floorId_fkey" FOREIGN KEY ("floorId") REFERENCES "factory"."Floor"("id") ON DELETE SET NULL ON UPDATE CASCADE;
1446
+
1447
+ -- AddForeignKey
1448
+ ALTER TABLE "device"."Sensor" ADD CONSTRAINT "Sensor_factoryId_fkey" FOREIGN KEY ("factoryId") REFERENCES "factory"."Factory"("id") ON DELETE SET NULL ON UPDATE CASCADE;
1449
+
1450
+ -- AddForeignKey
1451
+ ALTER TABLE "device"."ProximitySensorConfig" ADD CONSTRAINT "ProximitySensorConfig_sensorId_fkey" FOREIGN KEY ("sensorId") REFERENCES "device"."Sensor"("id") ON DELETE CASCADE ON UPDATE CASCADE;
1452
+
1453
+ -- AddForeignKey
1454
+ ALTER TABLE "device"."CurrentSensorConfig" ADD CONSTRAINT "CurrentSensorConfig_sensorId_fkey" FOREIGN KEY ("sensorId") REFERENCES "device"."Sensor"("id") ON DELETE CASCADE ON UPDATE CASCADE;
1455
+
1456
+ -- AddForeignKey
1457
+ ALTER TABLE "device"."InfraredSensorConfig" ADD CONSTRAINT "InfraredSensorConfig_sensorId_fkey" FOREIGN KEY ("sensorId") REFERENCES "device"."Sensor"("id") ON DELETE CASCADE ON UPDATE CASCADE;
1458
+
1459
+ -- AddForeignKey
1460
+ ALTER TABLE "device"."MachineDeviceAssignment" ADD CONSTRAINT "MachineDeviceAssignment_deviceId_fkey" FOREIGN KEY ("deviceId") REFERENCES "device"."Device"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1461
+
1462
+ -- AddForeignKey
1463
+ ALTER TABLE "device"."MachineDeviceAssignment" ADD CONSTRAINT "MachineDeviceAssignment_machineId_fkey" FOREIGN KEY ("machineId") REFERENCES "machine"."Machine"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1464
+
1465
+ -- AddForeignKey
1466
+ ALTER TABLE "device"."SensorLog" ADD CONSTRAINT "SensorLog_sensorId_fkey" FOREIGN KEY ("sensorId") REFERENCES "device"."Sensor"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1467
+
1468
+ -- AddForeignKey
1469
+ ALTER TABLE "device"."RFIDSensorLog" ADD CONSTRAINT "RFIDSensorLog_sensorLogId_fkey" FOREIGN KEY ("sensorLogId") REFERENCES "device"."SensorLog"("id") ON DELETE CASCADE ON UPDATE CASCADE;
1470
+
1471
+ -- AddForeignKey
1472
+ ALTER TABLE "device"."RFIDSensorLog" ADD CONSTRAINT "RFIDSensorLog_operatorId_fkey" FOREIGN KEY ("operatorId") REFERENCES "operator"."Operator"("id") ON DELETE SET NULL ON UPDATE CASCADE;
1473
+
1474
+ -- AddForeignKey
1475
+ ALTER TABLE "device"."ProximitySensorLog" ADD CONSTRAINT "ProximitySensorLog_sensorLogId_fkey" FOREIGN KEY ("sensorLogId") REFERENCES "device"."SensorLog"("id") ON DELETE CASCADE ON UPDATE CASCADE;
1476
+
1477
+ -- AddForeignKey
1478
+ ALTER TABLE "device"."InfraredSensorLog" ADD CONSTRAINT "InfraredSensorLog_sensorLogId_fkey" FOREIGN KEY ("sensorLogId") REFERENCES "device"."SensorLog"("id") ON DELETE CASCADE ON UPDATE CASCADE;
1479
+
1480
+ -- AddForeignKey
1481
+ ALTER TABLE "device"."CurrentSensorLog" ADD CONSTRAINT "CurrentSensorLog_sensorLogId_fkey" FOREIGN KEY ("sensorLogId") REFERENCES "device"."SensorLog"("id") ON DELETE CASCADE ON UPDATE CASCADE;
1482
+
1483
+ -- AddForeignKey
1484
+ ALTER TABLE "device"."DevicePowerSensorLog" ADD CONSTRAINT "DevicePowerSensorLog_sensorLogId_fkey" FOREIGN KEY ("sensorLogId") REFERENCES "device"."SensorLog"("id") ON DELETE CASCADE ON UPDATE CASCADE;
1485
+
1486
+ -- AddForeignKey
1487
+ ALTER TABLE "factory"."Floor" ADD CONSTRAINT "Floor_floorTypeId_fkey" FOREIGN KEY ("floorTypeId") REFERENCES "factory"."FloorType"("id") ON DELETE SET NULL ON UPDATE CASCADE;
1488
+
1489
+ -- AddForeignKey
1490
+ ALTER TABLE "factory"."Floor" ADD CONSTRAINT "Floor_factoryId_fkey" FOREIGN KEY ("factoryId") REFERENCES "factory"."Factory"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1491
+
1492
+ -- AddForeignKey
1493
+ ALTER TABLE "factory"."FloorSetting" ADD CONSTRAINT "FloorSetting_floorId_fkey" FOREIGN KEY ("floorId") REFERENCES "factory"."Floor"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1494
+
1495
+ -- AddForeignKey
1496
+ ALTER TABLE "factory"."AssemblyLine" ADD CONSTRAINT "AssemblyLine_floorId_fkey" FOREIGN KEY ("floorId") REFERENCES "factory"."Floor"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1497
+
1498
+ -- AddForeignKey
1499
+ ALTER TABLE "factory"."FactoryShift" ADD CONSTRAINT "FactoryShift_factoryId_fkey" FOREIGN KEY ("factoryId") REFERENCES "factory"."Factory"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1500
+
1501
+ -- AddForeignKey
1502
+ ALTER TABLE "factory"."FactoryShiftMachine" ADD CONSTRAINT "FactoryShiftMachine_shiftId_fkey" FOREIGN KEY ("shiftId") REFERENCES "factory"."FactoryShift"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1503
+
1504
+ -- AddForeignKey
1505
+ ALTER TABLE "factory"."FactoryShiftMachine" ADD CONSTRAINT "FactoryShiftMachine_machineId_fkey" FOREIGN KEY ("machineId") REFERENCES "machine"."Machine"("id") ON DELETE SET NULL ON UPDATE CASCADE;
1506
+
1507
+ -- AddForeignKey
1508
+ ALTER TABLE "factory"."FactoryLot" ADD CONSTRAINT "FactoryLot_factoryId_fkey" FOREIGN KEY ("factoryId") REFERENCES "factory"."Factory"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1509
+
1510
+ -- AddForeignKey
1511
+ ALTER TABLE "inventory"."FinalProduct" ADD CONSTRAINT "FinalProduct_factoryId_fkey" FOREIGN KEY ("factoryId") REFERENCES "factory"."Factory"("id") ON DELETE CASCADE ON UPDATE CASCADE;
1512
+
1513
+ -- AddForeignKey
1514
+ ALTER TABLE "inventory"."FinalProductRoute" ADD CONSTRAINT "FinalProductRoute_finalProductId_fkey" FOREIGN KEY ("finalProductId") REFERENCES "inventory"."FinalProduct"("id") ON DELETE CASCADE ON UPDATE CASCADE;
1515
+
1516
+ -- AddForeignKey
1517
+ ALTER TABLE "inventory"."FinalProductMachineOperationRoute" ADD CONSTRAINT "FinalProductMachineOperationRoute_routeId_fkey" FOREIGN KEY ("routeId") REFERENCES "inventory"."FinalProductRoute"("id") ON DELETE CASCADE ON UPDATE CASCADE;
1518
+
1519
+ -- AddForeignKey
1520
+ ALTER TABLE "inventory"."FinalProductMachineOperationRoute" ADD CONSTRAINT "FinalProductMachineOperationRoute_operationId_fkey" FOREIGN KEY ("operationId") REFERENCES "machine"."MachineOperation"("id") ON DELETE CASCADE ON UPDATE CASCADE;
1521
+
1522
+ -- AddForeignKey
1523
+ ALTER TABLE "inventory"."FinalProductRouteDependency" ADD CONSTRAINT "FinalProductRouteDependency_routeId_fkey" FOREIGN KEY ("routeId") REFERENCES "inventory"."FinalProductRoute"("id") ON DELETE CASCADE ON UPDATE CASCADE;
1524
+
1525
+ -- AddForeignKey
1526
+ ALTER TABLE "inventory"."FinalProductRouteDependency" ADD CONSTRAINT "FinalProductRouteDependency_dependsOnRouteId_fkey" FOREIGN KEY ("dependsOnRouteId") REFERENCES "inventory"."FinalProductRoute"("id") ON DELETE CASCADE ON UPDATE CASCADE;
1527
+
1528
+ -- AddForeignKey
1529
+ ALTER TABLE "machine"."Machine" ADD CONSTRAINT "Machine_assemblyLineId_fkey" FOREIGN KEY ("assemblyLineId") REFERENCES "factory"."AssemblyLine"("id") ON DELETE SET NULL ON UPDATE CASCADE;
1530
+
1531
+ -- AddForeignKey
1532
+ ALTER TABLE "machine"."Machine" ADD CONSTRAINT "Machine_machineOperationId_fkey" FOREIGN KEY ("machineOperationId") REFERENCES "machine"."MachineOperation"("id") ON DELETE SET NULL ON UPDATE CASCADE;
1533
+
1534
+ -- AddForeignKey
1535
+ ALTER TABLE "machine"."MachineEvent" ADD CONSTRAINT "MachineEvent_machineId_fkey" FOREIGN KEY ("machineId") REFERENCES "machine"."Machine"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1536
+
1537
+ -- AddForeignKey
1538
+ ALTER TABLE "machine"."MachineAlert" ADD CONSTRAINT "MachineAlert_machineId_fkey" FOREIGN KEY ("machineId") REFERENCES "machine"."Machine"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1539
+
1540
+ -- AddForeignKey
1541
+ ALTER TABLE "machine"."MachineAlertSubscription" ADD CONSTRAINT "MachineAlertSubscription_machineId_fkey" FOREIGN KEY ("machineId") REFERENCES "machine"."Machine"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1542
+
1543
+ -- AddForeignKey
1544
+ ALTER TABLE "maintenance"."MaintenanceLog" ADD CONSTRAINT "MaintenanceLog_machineId_fkey" FOREIGN KEY ("machineId") REFERENCES "machine"."Machine"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1545
+
1546
+ -- AddForeignKey
1547
+ ALTER TABLE "maintenance"."MaintenanceRequest" ADD CONSTRAINT "MaintenanceRequest_machineId_fkey" FOREIGN KEY ("machineId") REFERENCES "machine"."Machine"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1548
+
1549
+ -- AddForeignKey
1550
+ ALTER TABLE "maintenance"."MaintenanceRequest" ADD CONSTRAINT "MaintenanceRequest_categoryId_fkey" FOREIGN KEY ("categoryId") REFERENCES "maintenance"."MaintenanceRequestCategory"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1551
+
1552
+ -- AddForeignKey
1553
+ ALTER TABLE "maintenance"."MaintenanceRequestCategory" ADD CONSTRAINT "MaintenanceRequestCategory_factoryId_fkey" FOREIGN KEY ("factoryId") REFERENCES "factory"."Factory"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1554
+
1555
+ -- AddForeignKey
1556
+ ALTER TABLE "maintenance"."MaintenanceRequestAssignment" ADD CONSTRAINT "MaintenanceRequestAssignment_requestId_fkey" FOREIGN KEY ("requestId") REFERENCES "maintenance"."MaintenanceRequest"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1557
+
1558
+ -- AddForeignKey
1559
+ ALTER TABLE "maintenance"."MaintenanceRequestAssignment" ADD CONSTRAINT "MaintenanceRequestAssignment_technicianId_fkey" FOREIGN KEY ("technicianId") REFERENCES "maintenance"."MaintenanceTechnician"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1560
+
1561
+ -- AddForeignKey
1562
+ ALTER TABLE "maintenance"."MaintenanceRequestUpdate" ADD CONSTRAINT "MaintenanceRequestUpdate_requestId_fkey" FOREIGN KEY ("requestId") REFERENCES "maintenance"."MaintenanceRequest"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1563
+
1564
+ -- AddForeignKey
1565
+ ALTER TABLE "maintenance"."MaintenanceRequestAttachment" ADD CONSTRAINT "MaintenanceRequestAttachment_updateId_fkey" FOREIGN KEY ("updateId") REFERENCES "maintenance"."MaintenanceRequestUpdate"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1566
+
1567
+ -- AddForeignKey
1568
+ ALTER TABLE "maintenance"."MaintenanceTechnician" ADD CONSTRAINT "MaintenanceTechnician_factoryId_fkey" FOREIGN KEY ("factoryId") REFERENCES "factory"."Factory"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1569
+
1570
+ -- AddForeignKey
1571
+ ALTER TABLE "maintenance"."TechnicianSpecialization" ADD CONSTRAINT "TechnicianSpecialization_technicianId_fkey" FOREIGN KEY ("technicianId") REFERENCES "maintenance"."MaintenanceTechnician"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1572
+
1573
+ -- AddForeignKey
1574
+ ALTER TABLE "operator"."Operator" ADD CONSTRAINT "Operator_factoryId_fkey" FOREIGN KEY ("factoryId") REFERENCES "factory"."Factory"("id") ON DELETE SET NULL ON UPDATE CASCADE;
1575
+
1576
+ -- AddForeignKey
1577
+ ALTER TABLE "operator"."OperatorTimeLog" ADD CONSTRAINT "OperatorTimeLog_operatorId_fkey" FOREIGN KEY ("operatorId") REFERENCES "operator"."Operator"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1578
+
1579
+ -- AddForeignKey
1580
+ ALTER TABLE "operator"."OperatorTimeLog" ADD CONSTRAINT "OperatorTimeLog_deviceId_fkey" FOREIGN KEY ("deviceId") REFERENCES "device"."Device"("id") ON DELETE SET NULL ON UPDATE CASCADE;
1581
+
1582
+ -- AddForeignKey
1583
+ ALTER TABLE "operator"."OperatorTimeLog" ADD CONSTRAINT "OperatorTimeLog_machineId_fkey" FOREIGN KEY ("machineId") REFERENCES "machine"."Machine"("id") ON DELETE SET NULL ON UPDATE CASCADE;
1584
+
1585
+ -- AddForeignKey
1586
+ ALTER TABLE "order"."Order" ADD CONSTRAINT "Order_factoryId_fkey" FOREIGN KEY ("factoryId") REFERENCES "factory"."Factory"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1587
+
1588
+ -- AddForeignKey
1589
+ ALTER TABLE "order"."OrderProduct" ADD CONSTRAINT "OrderProduct_orderId_fkey" FOREIGN KEY ("orderId") REFERENCES "order"."Order"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1590
+
1591
+ -- AddForeignKey
1592
+ ALTER TABLE "order"."OrderProduct" ADD CONSTRAINT "OrderProduct_productId_fkey" FOREIGN KEY ("productId") REFERENCES "inventory"."FinalProduct"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1593
+
1594
+ -- AddForeignKey
1595
+ ALTER TABLE "order"."OrderComment" ADD CONSTRAINT "OrderComment_orderId_fkey" FOREIGN KEY ("orderId") REFERENCES "order"."Order"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1596
+
1597
+ -- AddForeignKey
1598
+ ALTER TABLE "production_tracking"."ProductionUnit" ADD CONSTRAINT "ProductionUnit_orderProductId_fkey" FOREIGN KEY ("orderProductId") REFERENCES "order"."OrderProduct"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1599
+
1600
+ -- AddForeignKey
1601
+ ALTER TABLE "production_tracking"."ProductionUnitLog" ADD CONSTRAINT "ProductionUnitLog_productionUnitId_fkey" FOREIGN KEY ("productionUnitId") REFERENCES "production_tracking"."ProductionUnit"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1602
+
1603
+ -- AddForeignKey
1604
+ ALTER TABLE "production_tracking"."ProductionUnitLog" ADD CONSTRAINT "ProductionUnitLog_stepId_fkey" FOREIGN KEY ("stepId") REFERENCES "production_tracking"."ProductionRouteStep"("id") ON DELETE SET NULL ON UPDATE CASCADE;
1605
+
1606
+ -- AddForeignKey
1607
+ ALTER TABLE "production_tracking"."ProductionRouteStep" ADD CONSTRAINT "ProductionRouteStep_productionUnitId_fkey" FOREIGN KEY ("productionUnitId") REFERENCES "production_tracking"."ProductionUnit"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1608
+
1609
+ -- AddForeignKey
1610
+ ALTER TABLE "production_tracking"."ProductionUnitQC" ADD CONSTRAINT "ProductionUnitQC_productionUnitId_fkey" FOREIGN KEY ("productionUnitId") REFERENCES "production_tracking"."ProductionUnit"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1611
+
1612
+ -- AddForeignKey
1613
+ ALTER TABLE "tasks"."OperatorOperationCategory" ADD CONSTRAINT "OperatorOperationCategory_factoryId_fkey" FOREIGN KEY ("factoryId") REFERENCES "factory"."Factory"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1614
+
1615
+ -- AddForeignKey
1616
+ ALTER TABLE "tasks"."Task" ADD CONSTRAINT "Task_operatorId_fkey" FOREIGN KEY ("operatorId") REFERENCES "operator"."Operator"("id") ON DELETE SET NULL ON UPDATE CASCADE;
1617
+
1618
+ -- AddForeignKey
1619
+ ALTER TABLE "tasks"."Task" ADD CONSTRAINT "Task_deviceId_fkey" FOREIGN KEY ("deviceId") REFERENCES "device"."Device"("id") ON DELETE SET NULL ON UPDATE CASCADE;
1620
+
1621
+ -- AddForeignKey
1622
+ ALTER TABLE "tasks"."Task" ADD CONSTRAINT "Task_machineId_fkey" FOREIGN KEY ("machineId") REFERENCES "machine"."Machine"("id") ON DELETE SET NULL ON UPDATE CASCADE;
1623
+
1624
+ -- AddForeignKey
1625
+ ALTER TABLE "tasks"."Task" ADD CONSTRAINT "Task_taskGroupId_fkey" FOREIGN KEY ("taskGroupId") REFERENCES "tasks"."TaskGroup"("id") ON DELETE SET NULL ON UPDATE CASCADE;
1626
+
1627
+ -- AddForeignKey
1628
+ ALTER TABLE "tasks"."Task" ADD CONSTRAINT "Task_shiftId_fkey" FOREIGN KEY ("shiftId") REFERENCES "factory"."FactoryShift"("id") ON DELETE SET NULL ON UPDATE CASCADE;
1629
+
1630
+ -- AddForeignKey
1631
+ ALTER TABLE "tasks"."Task" ADD CONSTRAINT "Task_factoryId_fkey" FOREIGN KEY ("factoryId") REFERENCES "factory"."Factory"("id") ON DELETE SET NULL ON UPDATE CASCADE;
1632
+
1633
+ -- AddForeignKey
1634
+ ALTER TABLE "tasks"."Task" ADD CONSTRAINT "Task_operatorOpCategoryId_fkey" FOREIGN KEY ("operatorOpCategoryId") REFERENCES "tasks"."OperatorOperationCategory"("id") ON DELETE SET NULL ON UPDATE CASCADE;
1635
+
1636
+ -- AddForeignKey
1637
+ ALTER TABLE "tasks"."Task" ADD CONSTRAINT "Task_reworkOfTaskId_fkey" FOREIGN KEY ("reworkOfTaskId") REFERENCES "tasks"."Task"("id") ON DELETE SET NULL ON UPDATE CASCADE;
1638
+
1639
+ -- AddForeignKey
1640
+ ALTER TABLE "tasks"."Task" ADD CONSTRAINT "Task_machineOperationId_fkey" FOREIGN KEY ("machineOperationId") REFERENCES "machine"."MachineOperation"("id") ON DELETE SET NULL ON UPDATE CASCADE;
1641
+
1642
+ -- AddForeignKey
1643
+ ALTER TABLE "tasks"."TaskGroup" ADD CONSTRAINT "TaskGroup_reworkOfTaskGroupId_fkey" FOREIGN KEY ("reworkOfTaskGroupId") REFERENCES "tasks"."TaskGroup"("id") ON DELETE SET NULL ON UPDATE CASCADE;
1644
+
1645
+ -- AddForeignKey
1646
+ ALTER TABLE "tasks"."TaskGroup" ADD CONSTRAINT "TaskGroup_productRouteId_fkey" FOREIGN KEY ("productRouteId") REFERENCES "inventory"."FinalProductRoute"("id") ON DELETE SET NULL ON UPDATE CASCADE;
1647
+
1648
+ -- AddForeignKey
1649
+ ALTER TABLE "tasks"."TaskGroup" ADD CONSTRAINT "TaskGroup_orderProductId_fkey" FOREIGN KEY ("orderProductId") REFERENCES "order"."OrderProduct"("id") ON DELETE SET NULL ON UPDATE CASCADE;
1650
+
1651
+ -- AddForeignKey
1652
+ ALTER TABLE "tasks"."TaskGroup" ADD CONSTRAINT "TaskGroup_factoryId_fkey" FOREIGN KEY ("factoryId") REFERENCES "factory"."Factory"("id") ON DELETE SET NULL ON UPDATE CASCADE;
1653
+
1654
+ -- AddForeignKey
1655
+ ALTER TABLE "tasks"."TaskLot" ADD CONSTRAINT "TaskLot_taskId_fkey" FOREIGN KEY ("taskId") REFERENCES "tasks"."Task"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1656
+
1657
+ -- AddForeignKey
1658
+ ALTER TABLE "tasks"."TaskLot" ADD CONSTRAINT "TaskLot_lotId_fkey" FOREIGN KEY ("lotId") REFERENCES "factory"."FactoryLot"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1659
+
1660
+ -- AddForeignKey
1661
+ ALTER TABLE "tasks"."TaskGroupLot" ADD CONSTRAINT "TaskGroupLot_taskGroupId_fkey" FOREIGN KEY ("taskGroupId") REFERENCES "tasks"."TaskGroup"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1662
+
1663
+ -- AddForeignKey
1664
+ ALTER TABLE "tasks"."TaskGroupLot" ADD CONSTRAINT "TaskGroupLot_lotId_fkey" FOREIGN KEY ("lotId") REFERENCES "factory"."FactoryLot"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1665
+
1666
+ -- AddForeignKey
1667
+ ALTER TABLE "tasks"."TaskInspection" ADD CONSTRAINT "TaskInspection_taskId_fkey" FOREIGN KEY ("taskId") REFERENCES "tasks"."Task"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1668
+
1669
+ -- AddForeignKey
1670
+ ALTER TABLE "tasks"."TaskComment" ADD CONSTRAINT "TaskComment_taskId_fkey" FOREIGN KEY ("taskId") REFERENCES "tasks"."Task"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
1671
+
1672
+ -- AddForeignKey
1673
+ ALTER TABLE "factory"."_UserToFloors" ADD CONSTRAINT "_UserToFloors_A_fkey" FOREIGN KEY ("A") REFERENCES "factory"."Floor"("id") ON DELETE CASCADE ON UPDATE CASCADE;
1674
+
1675
+ -- AddForeignKey
1676
+ ALTER TABLE "factory"."_UserToFloors" ADD CONSTRAINT "_UserToFloors_B_fkey" FOREIGN KEY ("B") REFERENCES "organization"."OrganizationUserFactoryEntityAccess"("id") ON DELETE CASCADE ON UPDATE CASCADE;
1677
+
1678
+ -- AddForeignKey
1679
+ ALTER TABLE "factory"."_UserToAssemblyLines" ADD CONSTRAINT "_UserToAssemblyLines_A_fkey" FOREIGN KEY ("A") REFERENCES "factory"."AssemblyLine"("id") ON DELETE CASCADE ON UPDATE CASCADE;
1680
+
1681
+ -- AddForeignKey
1682
+ ALTER TABLE "factory"."_UserToAssemblyLines" ADD CONSTRAINT "_UserToAssemblyLines_B_fkey" FOREIGN KEY ("B") REFERENCES "organization"."OrganizationUserFactoryEntityAccess"("id") ON DELETE CASCADE ON UPDATE CASCADE;
1683
+
1684
+ -- AddForeignKey
1685
+ ALTER TABLE "machine"."_UserToMachines" ADD CONSTRAINT "_UserToMachines_A_fkey" FOREIGN KEY ("A") REFERENCES "machine"."Machine"("id") ON DELETE CASCADE ON UPDATE CASCADE;
1686
+
1687
+ -- AddForeignKey
1688
+ ALTER TABLE "machine"."_UserToMachines" ADD CONSTRAINT "_UserToMachines_B_fkey" FOREIGN KEY ("B") REFERENCES "organization"."OrganizationUserFactoryEntityAccess"("id") ON DELETE CASCADE ON UPDATE CASCADE;