258 lines
7.9 KiB
SQL
258 lines
7.9 KiB
SQL
--
|
|
-- This updates a 1.27.0 database to 1.27.1
|
|
--
|
|
|
|
--
|
|
-- Add Controls definition for Wanscam
|
|
--
|
|
INSERT INTO Controls
|
|
SELECT * FROM (SELECT NULL as Id,
|
|
'WanscamPT' as Name,
|
|
'Remote' as Type,
|
|
'Wanscam' as Protocol,
|
|
1 as CanWake,
|
|
1 as CanSleep,
|
|
1 as CanReset,
|
|
0 as CanZoom,
|
|
0 as CanAutoZoom,
|
|
0 as CanZoomAbs,
|
|
0 as CanZoomRel,
|
|
0 as CanZoomCon,
|
|
0 as MinZoomRange,
|
|
0 as MaxZoomRange,
|
|
0 as MinZoomStep,
|
|
0 as MaxZoomStep,
|
|
0 as HasZoomSpeed,
|
|
0 as MinZoomSpeed,
|
|
0 as MaxZoomSpeed,
|
|
0 as CanFocus,
|
|
0 as CanAutoFocus,
|
|
0 as CanFocusAbs,
|
|
0 as CanFocusRel,
|
|
0 as CanFocusCon,
|
|
0 as MinFocusRange,
|
|
0 as MaxFocusRange,
|
|
0 as MinFocusStep,
|
|
0 as MaxFocusStep,
|
|
0 as HasFocusSpeed,
|
|
0 as MinFocusSpeed,
|
|
0 as MaxFocusSpeed,
|
|
1 as CanIris,
|
|
0 as CanAutoIris,
|
|
1 as CanIrisAbs,
|
|
0 as CanIrisRel,
|
|
0 as CanIrisCon,
|
|
0 as MinIrisRange,
|
|
16 as MaxIrisRange,
|
|
0 as MinIrisStep,
|
|
0 as MaxIrisStep,
|
|
0 as HasIrisSpeed,
|
|
0 as MinIrisSpeed,
|
|
0 as MaxIrisSpeed,
|
|
0 as CanGain,
|
|
0 as CanAutoGain,
|
|
0 as CanGainAbs,
|
|
0 as CanGainRel,
|
|
0 as CanGainCon,
|
|
0 as MinGainRange,
|
|
0 as MaxGainRange,
|
|
0 as MinGainStep,
|
|
0 as MaxGainStep,
|
|
0 as HasGainSpeed,
|
|
0 as MinGainSpeed,
|
|
0 as MaxGainSpeed,
|
|
1 as CanWhite,
|
|
0 as CanAutoWhite,
|
|
1 as CanWhiteAbs,
|
|
0 as CanWhiteRel,
|
|
0 as CanWhiteCon,
|
|
0 as MinWhiteRange,
|
|
16 as MaxWhiteRange,
|
|
0 as MinWhiteStep,
|
|
0 as MaxWhiteStep,
|
|
0 as HasWhiteSpeed,
|
|
0 as MinWhiteSpeed,
|
|
0 as MaxWhiteSpeed,
|
|
1 as HasPresets,
|
|
16 as NumPresets,
|
|
1 as HasHomePreset,
|
|
1 as CanSetPresets,
|
|
1 as CanMove,
|
|
1 as CanMoveDiag,
|
|
0 as CanMoveMap,
|
|
0 as CanMoveAbs,
|
|
0 as CanMoveRel,
|
|
1 as CanMoveCon,
|
|
1 as CanPan,
|
|
0 as MinPanRange,
|
|
0 as MaxPanRange,
|
|
0 as MinPanStep,
|
|
0 as MaxPanStep,
|
|
0 as HasPanSpeed,
|
|
0 as MinPanSpeed,
|
|
0 as MaxPanSpeed,
|
|
0 as HasTurboPan,
|
|
0 as TurboPanSpeed,
|
|
1 as CanTilt,
|
|
0 as MinTiltRange,
|
|
0 as MaxTiltRange,
|
|
0 as MinTiltStep,
|
|
0 as MaxTiltStep,
|
|
0 as HasTiltSpeed,
|
|
0 as MinTiltSpeed,
|
|
0 as MaxTiltSpeed,
|
|
0 as HasTurboTilt,
|
|
0 as TurboTiltSpeed,
|
|
0 as CanAutoScan,
|
|
0 as NumScanPaths) AS tmp
|
|
WHERE NOT EXISTS (
|
|
SELECT Name FROM Controls WHERE name = 'WanscamPT'
|
|
) LIMIT 1;
|
|
|
|
-- Add extend alarm frame count to zone definition and Presets
|
|
SET @s = (SELECT IF(
|
|
(SELECT COUNT(*)
|
|
FROM INFORMATION_SCHEMA.COLUMNS
|
|
WHERE table_name = 'Zones'
|
|
AND table_schema = DATABASE()
|
|
AND column_name = 'ExtendAlarmFrames'
|
|
) > 0,
|
|
"SELECT 'Column ExtendAlarmFrames exists in Zones'",
|
|
"ALTER TABLE `Zones` ADD `ExtendAlarmFrames` smallint(5) unsigned not null default 0 AFTER `OverloadFrames`"
|
|
));
|
|
|
|
PREPARE stmt FROM @s;
|
|
EXECUTE stmt;
|
|
|
|
SET @s = (SELECT IF(
|
|
(SELECT COUNT(*)
|
|
FROM INFORMATION_SCHEMA.COLUMNS
|
|
WHERE table_name = 'ZonePresets'
|
|
AND table_schema = DATABASE()
|
|
AND column_name = 'ExtendAlarmFrames'
|
|
) > 0,
|
|
"SELECT 'Column ExtendAlarmFrames exists in ZonePresets'",
|
|
"ALTER TABLE `ZonePresets` ADD `ExtendAlarmFrames` smallint(5) unsigned not null default 0 AFTER `OverloadFrames`"
|
|
));
|
|
|
|
PREPARE stmt FROM @s;
|
|
EXECUTE stmt;
|
|
|
|
--
|
|
-- Add MotionSkipFrame field for controlling how many frames motion detection should skip.
|
|
--
|
|
|
|
SET @s = (SELECT IF(
|
|
(SELECT COUNT(*)
|
|
FROM INFORMATION_SCHEMA.COLUMNS
|
|
WHERE table_name = 'Monitors'
|
|
AND table_schema = DATABASE()
|
|
AND column_name = 'MotionFrameSkip'
|
|
) > 0,
|
|
"SELECT 1",
|
|
"ALTER TABLE `Monitors` ADD `MotionFrameSkip` smallint(5) unsigned NOT NULL default '0' AFTER `FrameSkip`"
|
|
));
|
|
|
|
PREPARE stmt FROM @s;
|
|
EXECUTE stmt;
|
|
|
|
--
|
|
-- Add Monitor Options field; used for specifying Ffmpeg AVoptions like rtsp_transport http or libVLC options
|
|
--
|
|
SET @s = (SELECT IF(
|
|
(SELECT COUNT(*)
|
|
FROM INFORMATION_SCHEMA.COLUMNS
|
|
WHERE table_name = 'Monitors'
|
|
AND table_schema = DATABASE()
|
|
AND column_name = 'Options'
|
|
) > 0,
|
|
"SELECT 'Column Options already exists in Monitors'",
|
|
"ALTER TABLE `Monitors` ADD `Options` varchar(255) not null default '' AFTER `Path`"
|
|
));
|
|
|
|
PREPARE stmt FROM @s;
|
|
EXECUTE stmt;
|
|
|
|
--
|
|
-- Add V4LMultiBuffer and V4LCapturesPerFrame to Monitor
|
|
--
|
|
|
|
SET @s = (SELECT IF(
|
|
(SELECT COUNT(*)
|
|
FROM INFORMATION_SCHEMA.COLUMNS
|
|
WHERE table_name = 'Monitors'
|
|
AND table_schema = DATABASE()
|
|
AND column_name = 'V4LMultiBuffer'
|
|
) > 0,
|
|
"SELECT 'Column V4LMultiBuffer exists in Monitors'",
|
|
"ALTER TABLE `Monitors` ADD `V4LMultiBuffer` tinyint(1) unsigned not null default 0 AFTER `Format`"
|
|
));
|
|
|
|
PREPARE stmt FROM @s;
|
|
EXECUTE stmt;
|
|
|
|
SET @s = (SELECT IF(
|
|
(SELECT COUNT(*)
|
|
FROM INFORMATION_SCHEMA.COLUMNS
|
|
WHERE table_name = 'Monitors'
|
|
AND table_schema = DATABASE()
|
|
AND column_name = 'V4LCapturesPerFrame'
|
|
) > 0,
|
|
"SELECT 'Column CapturesPerFrame exists in Monitors'",
|
|
"ALTER TABLE `Monitors` ADD `V4LCapturesPerFrame` tinyint(3) unsigned not null default 0 AFTER `V4LMultiBuffer`"
|
|
));
|
|
|
|
PREPARE stmt FROM @s;
|
|
EXECUTE stmt;
|
|
|
|
--
|
|
-- Add Config* fields; used for specifying ONVIF/PSIA options
|
|
--
|
|
SET @s = (SELECT IF(
|
|
(SELECT COUNT(*)
|
|
FROM INFORMATION_SCHEMA.COLUMNS
|
|
WHERE table_name = 'Monitors'
|
|
AND table_schema = DATABASE()
|
|
AND column_name = 'ConfigType'
|
|
) > 0,
|
|
"SELECT 'Column ConfigType already exists in Monitors'",
|
|
"ALTER TABLE `Monitors` ADD COLUMN `ConfigType` ENUM('None','ONVIF','PSIA') NOT NULL DEFAULT '' AFTER `Triggers`"
|
|
));
|
|
|
|
PREPARE stmt FROM @s;
|
|
EXECUTE stmt;
|
|
|
|
--
|
|
-- Add Config* fields; used for specifying ONVIF/PSIA options
|
|
--
|
|
SET @s = (SELECT IF(
|
|
(SELECT COUNT(*)
|
|
FROM INFORMATION_SCHEMA.COLUMNS
|
|
WHERE table_name = 'Monitors'
|
|
AND table_schema = DATABASE()
|
|
AND column_name = 'ConfigURL'
|
|
) > 0,
|
|
"SELECT 'Column ConfigURL already exists in Monitors'",
|
|
"ALTER TABLE `Monitors` ADD COLUMN `ConfigURL` VARCHAR(255) NOT NULL DEFAULT 'None' AFTER `ConfigType`"
|
|
));
|
|
|
|
PREPARE stmt FROM @s;
|
|
EXECUTE stmt;
|
|
|
|
--
|
|
-- Add Config* fields; used for specifying ONVIF/PSIA options
|
|
--
|
|
SET @s = (SELECT IF(
|
|
(SELECT COUNT(*)
|
|
FROM INFORMATION_SCHEMA.COLUMNS
|
|
WHERE table_name = 'Monitors'
|
|
AND table_schema = DATABASE()
|
|
AND column_name = 'ConfigOptions'
|
|
) > 0,
|
|
"SELECT 'Column ConfigOptions already exists in Monitors'",
|
|
"ALTER TABLE `Monitors` ADD COLUMN `ConfigOptions` VARCHAR(64) NOT NULL DEFAULT '' AFTER `ConfigURL`"
|
|
));
|
|
|
|
PREPARE stmt FROM @s;
|
|
EXECUTE stmt;
|