SELECT 'TODO' AS message
SELECT 1 AS calc_result
SELECT COLUMN_NAME, IS_NULLABLE, COLUMN_DEFAULT, DATA_TYPE
FROM information_schema.columns
WHERE table_schema = DATABASE()
AND table_name = '{table_name}'
ORDER BY ORDINAL_POSITION
REPLACE INTO `{table_name}` ({cols}) VALUES ({vals})
SELECT `BuildVersion`
FROM `def_module`
WHERE `Package` = {package}
AND `Module` = {module}
CREATE TABLE IF NOT EXISTS `def_module` (
`ModuleGuid` char(36) NOT NULL DEFAULT '',
`Module` varchar(120) NOT NULL,
`Package` varchar(100) NOT NULL DEFAULT '',
`BuildVersion` varchar(80) NOT NULL DEFAULT '',
`InstallDate` datetime NOT NULL DEFAULT current_timestamp(),
`BuildDate` datetime DEFAULT NULL,
`BuildYaml` longtext DEFAULT NULL,
`ChangeLogMd` longtext DEFAULT NULL,
`Active` char(1) NOT NULL DEFAULT 'Y',
PRIMARY KEY (`Package`,`Module`,`BuildVersion`),
KEY `idx_def_module_guid` (`ModuleGuid`),
KEY `idx_def_module_lookup` (`Package`,`Module`,`Active`,`InstallDate`),
KEY `idx_def_module_version` (`Package`,`Module`,`BuildVersion`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
ALTER TABLE `def_module`
ADD COLUMN IF NOT EXISTS `ModuleGuid` char(36) NOT NULL DEFAULT ''
ALTER TABLE `def_module`
ADD COLUMN IF NOT EXISTS `Module` varchar(120) NOT NULL DEFAULT ''
ALTER TABLE `def_module`
ADD COLUMN IF NOT EXISTS `Package` varchar(100) NOT NULL DEFAULT ''
ALTER TABLE `def_module`
ADD COLUMN IF NOT EXISTS `BuildVersion` varchar(80) NOT NULL DEFAULT ''
ALTER TABLE `def_module`
ADD COLUMN IF NOT EXISTS `InstallDate` datetime NOT NULL DEFAULT current_timestamp()
ALTER TABLE `def_module`
ADD COLUMN IF NOT EXISTS `BuildDate` datetime DEFAULT NULL
ALTER TABLE `def_module`
ADD COLUMN IF NOT EXISTS `BuildYaml` longtext DEFAULT NULL
ALTER TABLE `def_module`
ADD COLUMN IF NOT EXISTS `ChangeLogMd` longtext DEFAULT NULL
ALTER TABLE `def_module`
ADD COLUMN IF NOT EXISTS `Active` char(1) NOT NULL DEFAULT 'Y'
UPDATE `def_module`
SET `Active` = 'N'
WHERE `Package` = {package}
AND `Module` = {module}
AND UPPER(IFNULL(`Active`, 'N')) = 'Y'
INSERT INTO `def_module`
(
`ModuleGuid`,
`Module`,
`Package`,
`BuildVersion`,
`InstallDate`,
`BuildDate`,
`BuildYaml`,
`ChangeLogMd`,
`Active`
)
VALUES
(
{module_guid},
{module},
{package},
{build_version},
NOW(),
{build_date},
{build_yaml},
{change_log_md},
{active}
)
ON DUPLICATE KEY UPDATE
`ModuleGuid` = VALUES(`ModuleGuid`),
`BuildVersion` = VALUES(`BuildVersion`),
`InstallDate` = VALUES(`InstallDate`),
`BuildDate` = VALUES(`BuildDate`),
`BuildYaml` = VALUES(`BuildYaml`),
`ChangeLogMd` = VALUES(`ChangeLogMd`),
`Active` = VALUES(`Active`)
DELETE FROM `{table_name}` WHERE {where_clause}
¶ get_primary_key_columns
SELECT k.COLUMN_NAME
FROM information_schema.table_constraints t
JOIN information_schema.key_column_usage k
ON k.CONSTRAINT_NAME = t.CONSTRAINT_NAME
AND k.TABLE_SCHEMA = t.TABLE_SCHEMA
AND k.TABLE_NAME = t.TABLE_NAME
WHERE t.CONSTRAINT_TYPE = 'PRIMARY KEY'
AND t.TABLE_SCHEMA = DATABASE()
AND t.TABLE_NAME = '{table_name}'
ORDER BY k.ORDINAL_POSITION
SELECT {select_columns}
FROM `{table_name}`
WHERE {where_clause}
LIMIT 1
SELECT COUNT(*) FROM `{table_name}` WHERE {where_clause}