Added position to equipment

This commit is contained in:
2026-09-20 09:19:18 +02:00
parent 2fc74c0677
commit 5fd6c68b4f
8 changed files with 74 additions and 26 deletions
+13 -5
View File
@@ -122,7 +122,7 @@ CREATE TABLE storage (
sname varchar(40) NOT NULL,
stype tinyint(3) NOT NULL DEFAULT 0, -- ddid=3
capacity smallint(6) DEFAULT NULL,
capaunit enum('kg','l') DEFAULT NULL,
capaunit enum('kg','l','pcs') DEFAULT NULL,
x smallint(6) UNSIGNED NOT NULL DEFAULT 0,
y smallint(6) NOT NULL DEFAULT 0,
z smallint(6) NOT NULL DEFAULT 0,
@@ -205,6 +205,9 @@ CREATE TABLE equipment (
purchdate date DEFAULT NULL,
price decimal(12,2) DEFAULT NULL,
weight float(5,2) UNSIGNED DEFAULT NULL,
x smallint(6) UNSIGNED NOT NULL DEFAULT 0,
y smallint(6) NOT NULL DEFAULT 0,
z smallint(6) NOT NULL DEFAULT 0,
remarks varchar(150) DEFAULT NULL,
flags set('ordered','removed','deleted') DEFAULT NULL,
PRIMARY KEY(eid),
@@ -216,7 +219,12 @@ CREATE TABLE equipment (
ON DELETE RESTRICT,
FOREIGN KEY fk_equipment_manufacturer (manufacturer)
REFERENCES company(compid)
ON DELETE RESTRICT
ON DELETE RESTRICT,
CONSTRAINT chk_equipment_pos CHECK (
(x IS NULL AND y IS NULL AND z IS NULL)
OR
(x IS NOT NULL AND y IS NOT NULL AND z IS NOT NULL)
)
) ENGINE=InnoDB;
CREATE TABLE inventory (
@@ -245,7 +253,7 @@ CREATE TABLE inventory (
FOREIGN KEY fk_inventory_equipment (eid)
REFERENCES equipment(eid)
ON DELETE RESTRICT,
CHECK (
CONSTRAINT chk_inventory_stor CHECK (
(sid IS NOT NULL AND boxid IS NULL)
OR
(sid IS NULL AND boxid IS NOT NULL)
@@ -306,7 +314,6 @@ CREATE table fuse (
) ENGINE=InnoDB;
-- change vals to decimal(12,4)?
-- additional signalk id?
CREATE TABLE measurement (
mid smallint(6) NOT NULL AUTO_INCREMENT,
mname varchar(80) NOT NULL,
@@ -518,7 +525,7 @@ CREATE TABLE checkref (
ON DELETE CASCADE
) ENGINE=InnoDB;
/* Expansion for future use: signalk mapping (just an idea) */
/* Expansion for future use: signalk mapping (experimental) */
CREATE TABLE signalk (
skid int(10) NOT NULL AUTO_INCREMENT,
vid smallint(6) NOT NULL,
@@ -526,6 +533,7 @@ CREATE TABLE signalk (
objid int(10) NOT NULL,
datatype enum('engine_hours','tank_level') NOT NULL,
skpath varchar(255) NOT NULL,
mid smallint(6) DEFAULT NULL,
PRIMARY KEY (skid),
UNIQUE KEY ix_signalk
(vid, objtype, objid, datatype),