@bslau/hmm_prisma_schema 1.2.0 → 1.3.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/README.md
CHANGED
|
@@ -6,8 +6,8 @@ The general workflow will follow these steps:
|
|
|
6
6
|
- Edit `schema.prisma` as needed.
|
|
7
7
|
- Run automated formatting: `npx prisma format`
|
|
8
8
|
- Prepare database changes (as needed):
|
|
9
|
-
- create (preview) migration: `npm prisma:create` or;
|
|
10
|
-
- create and apply migration: `npm prisma:apply`
|
|
9
|
+
- create (preview) migration: `npm run prisma:create` or;
|
|
10
|
+
- create and apply migration: `npm run prisma:apply`
|
|
11
11
|
- Update *minor* version number in `package.json`
|
|
12
12
|
`"version": "[MAJOR].[MINOR].[PATCH]"`
|
|
13
13
|
- Create and test new seeding function(s) if required - being cautious to avoid creating **duplicate** records on repeated runs.
|
package/package.json
CHANGED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
BEGIN TRY
|
|
2
|
+
|
|
3
|
+
BEGIN TRAN;
|
|
4
|
+
|
|
5
|
+
-- CreateTable
|
|
6
|
+
CREATE TABLE [dbo].[OperationalState] (
|
|
7
|
+
[id] INT NOT NULL IDENTITY(1,1),
|
|
8
|
+
[hotMetalPotTonnes] FLOAT(53) NOT NULL CONSTRAINT [OperationalState_hotMetalPotTonnes_df] DEFAULT 0,
|
|
9
|
+
[hotMetalTorpedoTonnes] FLOAT(53) NOT NULL CONSTRAINT [OperationalState_hotMetalTorpedoTonnes_df] DEFAULT 0,
|
|
10
|
+
[hotMetalTotalTonnes] FLOAT(53) NOT NULL CONSTRAINT [OperationalState_hotMetalTotalTonnes_df] DEFAULT 0,
|
|
11
|
+
[torpedoesActiveTally] INT NOT NULL CONSTRAINT [OperationalState_torpedoesActiveTally_df] DEFAULT 0,
|
|
12
|
+
[torpedoesAvailableTally] INT NOT NULL CONSTRAINT [OperationalState_torpedoesAvailableTally_df] DEFAULT 0,
|
|
13
|
+
[torpedoesCarryingTally] INT NOT NULL CONSTRAINT [OperationalState_torpedoesCarryingTally_df] DEFAULT 0,
|
|
14
|
+
[torpedoesStandbyTally] INT NOT NULL CONSTRAINT [OperationalState_torpedoesStandbyTally_df] DEFAULT 0,
|
|
15
|
+
[updatedAt] DATETIME2 NOT NULL,
|
|
16
|
+
CONSTRAINT [OperationalState_pkey] PRIMARY KEY CLUSTERED ([id])
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
COMMIT TRAN;
|
|
20
|
+
|
|
21
|
+
END TRY
|
|
22
|
+
BEGIN CATCH
|
|
23
|
+
|
|
24
|
+
IF @@TRANCOUNT > 0
|
|
25
|
+
BEGIN
|
|
26
|
+
ROLLBACK TRAN;
|
|
27
|
+
END;
|
|
28
|
+
THROW
|
|
29
|
+
|
|
30
|
+
END CATCH
|
package/prisma/schema.prisma
CHANGED
|
@@ -283,6 +283,36 @@ model Location {
|
|
|
283
283
|
torpedoLocations TorpedoLocation[]
|
|
284
284
|
}
|
|
285
285
|
|
|
286
|
+
/// **OPERATIONAL STATE**
|
|
287
|
+
///
|
|
288
|
+
/// A reference object that contains data about the Operational State of HMM.
|
|
289
|
+
///
|
|
290
|
+
/// As certain Fleet/Operational Calculations are performed, the results will be
|
|
291
|
+
/// stored in the database, so that those values can be read/displayed without
|
|
292
|
+
/// having to always re-run the calculations.
|
|
293
|
+
model OperationalState {
|
|
294
|
+
id Int @id @default(autoincrement())
|
|
295
|
+
hotMetalPotTonnes Float @default(0)
|
|
296
|
+
hotMetalTorpedoTonnes Float @default(0)
|
|
297
|
+
hotMetalTotalTonnes Float @default(0)
|
|
298
|
+
torpedoesActiveTally Int @default(0)
|
|
299
|
+
torpedoesAvailableTally Int @default(0)
|
|
300
|
+
torpedoesCarryingTally Int @default(0)
|
|
301
|
+
torpedoesStandbyTally Int @default(0)
|
|
302
|
+
updatedAt DateTime @updatedAt
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
/// **POT**
|
|
306
|
+
///
|
|
307
|
+
/// Physical equipment at the BOS for the transfer of Hot Metal from Torpedoes.
|
|
308
|
+
///
|
|
309
|
+
/// Normal operations will "empty" a Torpedo's Hot Metal into a specific Pot.
|
|
310
|
+
model Pot {
|
|
311
|
+
id Int @id @default(autoincrement())
|
|
312
|
+
name String @unique
|
|
313
|
+
HotMetal HotMetal[]
|
|
314
|
+
}
|
|
315
|
+
|
|
286
316
|
/// **STATION**
|
|
287
317
|
///
|
|
288
318
|
/// A logical location where different _Torpedo_ operations may occur.
|
|
@@ -325,8 +355,8 @@ model Torpedo {
|
|
|
325
355
|
sixPitRestrictionEndTime DateTime? @db.DateTimeOffset
|
|
326
356
|
status Int @default(2)
|
|
327
357
|
// sixPitStart DateTime?
|
|
328
|
-
capacityAverage
|
|
329
|
-
capacityNominal
|
|
358
|
+
capacityAverage Float?
|
|
359
|
+
capacityNominal Float @default(200)
|
|
330
360
|
// comments String?
|
|
331
361
|
// emptyWeight Float?
|
|
332
362
|
// gasStart DateTime?
|
|
@@ -429,12 +459,3 @@ model TorpedoTrip {
|
|
|
429
459
|
startTime DateTime @default(now()) @db.DateTimeOffset
|
|
430
460
|
endTime DateTime? @db.DateTimeOffset
|
|
431
461
|
}
|
|
432
|
-
|
|
433
|
-
/// **POT**
|
|
434
|
-
///
|
|
435
|
-
/// Pot Number is a property in Hot Metal Model.
|
|
436
|
-
model Pot {
|
|
437
|
-
id Int @id @default(autoincrement())
|
|
438
|
-
name String @unique
|
|
439
|
-
HotMetal HotMetal[]
|
|
440
|
-
}
|
package/prisma/seed.ts
CHANGED
|
@@ -585,6 +585,19 @@ async function main() {
|
|
|
585
585
|
createPot,
|
|
586
586
|
});
|
|
587
587
|
}
|
|
588
|
+
|
|
589
|
+
// SEED: OperationalState
|
|
590
|
+
if (await prisma.operationalState.count() > 0) {
|
|
591
|
+
console.log("SEED: OperationalState - skipped.");
|
|
592
|
+
} else {
|
|
593
|
+
console.log("SEED: OperationalState - generating...");
|
|
594
|
+
|
|
595
|
+
const createOperationalState = await prisma.operationalState.create({ data: {} });
|
|
596
|
+
|
|
597
|
+
console.log({
|
|
598
|
+
createOperationalState,
|
|
599
|
+
});
|
|
600
|
+
}
|
|
588
601
|
}
|
|
589
602
|
|
|
590
603
|
main()
|