@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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bslau/hmm_prisma_schema",
3
- "version": "1.2.0",
3
+ "version": "1.3.1",
4
4
  "main": "index.js",
5
5
  "author": "CIPA Development Team",
6
6
  "license": "ISC",
@@ -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
@@ -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 Float?
329
- capacityNominal Float @default(200)
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()