Files
TA-Deployment-Broker/migrations/002_installer_actions.sql
T
2026-07-25 14:51:48 -05:00

59 lines
2.3 KiB
SQL

CREATE TABLE IF NOT EXISTS installer_actions (
slug VARCHAR(100) NOT NULL PRIMARY KEY,
display_name VARCHAR(255) NOT NULL,
sort_order INT UNSIGNED NOT NULL DEFAULT 0,
enabled BOOLEAN NOT NULL DEFAULT TRUE,
created_at TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
updated_at TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6)
ON UPDATE CURRENT_TIMESTAMP(6)
) ENGINE=InnoDB;
CREATE TABLE IF NOT EXISTS authorization_actions (
authorization_id BIGINT UNSIGNED NOT NULL,
action_slug VARCHAR(100) NOT NULL,
PRIMARY KEY (authorization_id, action_slug),
CONSTRAINT fk_authorization_actions_authorization
FOREIGN KEY (authorization_id) REFERENCES authorizations(id)
ON DELETE CASCADE,
CONSTRAINT fk_authorization_actions_action
FOREIGN KEY (action_slug) REFERENCES installer_actions(slug)
ON DELETE RESTRICT
) ENGINE=InnoDB;
ALTER TABLE authorization_packages
ADD COLUMN IF NOT EXISTS package_slug VARCHAR(100) NULL,
ADD COLUMN IF NOT EXISTS display_name VARCHAR(255) NULL,
ADD COLUMN IF NOT EXISTS package_name VARCHAR(255) NULL,
ADD COLUMN IF NOT EXISTS package_version VARCHAR(100) NULL,
ADD COLUMN IF NOT EXISTS file_name VARCHAR(255) NULL,
ADD COLUMN IF NOT EXISTS sha256 CHAR(64) NULL;
UPDATE authorization_packages ap
JOIN packages p ON p.id = ap.package_id
SET ap.package_slug = p.slug,
ap.display_name = p.display_name,
ap.package_name = p.package_name,
ap.package_version = p.package_version,
ap.file_name = p.file_name,
ap.sha256 = p.sha256
WHERE ap.package_slug IS NULL;
ALTER TABLE authorization_packages
MODIFY package_slug VARCHAR(100) NOT NULL,
MODIFY display_name VARCHAR(255) NOT NULL,
MODIFY package_name VARCHAR(255) NOT NULL,
MODIFY package_version VARCHAR(100) NOT NULL,
MODIFY file_name VARCHAR(255) NOT NULL,
MODIFY sha256 CHAR(64) NOT NULL;
INSERT INTO installer_actions (slug, display_name, sort_order, enabled)
VALUES
('install-rmm', 'Install ConnectWise RMM agent', 10, TRUE),
('install-acronis', 'Install Acronis agent', 20, TRUE),
('install-screenconnect', 'Install ScreenConnect agent', 30, TRUE)
ON DUPLICATE KEY UPDATE
display_name = VALUES(display_name),
sort_order = VALUES(sort_order);
INSERT IGNORE INTO schema_migrations (version) VALUES (2);