Release 2.9.0
This commit is contained in:
@@ -203,9 +203,11 @@ async function ensureSchema(pool, options) {
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
name VARCHAR(255) NOT NULL,
|
||||
feed_url VARCHAR(1024) NOT NULL,
|
||||
enabled TINYINT(1) NOT NULL DEFAULT 1,
|
||||
update_interval_value INT NOT NULL DEFAULT 60,
|
||||
update_interval_unit VARCHAR(10) NOT NULL DEFAULT 'minutes',
|
||||
item_limit INT NOT NULL DEFAULT 1,
|
||||
last_pulled_at DATETIME NULL,
|
||||
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
created_by INT NULL,
|
||||
modified_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
@@ -247,6 +249,7 @@ async function ensureSchema(pool, options) {
|
||||
token_header_name VARCHAR(255) NULL DEFAULT 'Authorization',
|
||||
token_header_prefix VARCHAR(64) NULL DEFAULT 'Bearer',
|
||||
items_path VARCHAR(255) NULL,
|
||||
enabled TINYINT(1) NOT NULL DEFAULT 1,
|
||||
update_interval_value INT NOT NULL DEFAULT 60,
|
||||
update_interval_unit VARCHAR(10) NOT NULL DEFAULT 'minutes',
|
||||
last_pulled_at TIMESTAMP NULL,
|
||||
@@ -261,6 +264,32 @@ async function ensureSchema(pool, options) {
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
|
||||
`);
|
||||
|
||||
await pool.query(`
|
||||
CREATE TABLE IF NOT EXISTS i_weather_locations (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
name VARCHAR(255) NOT NULL UNIQUE,
|
||||
location_label VARCHAR(255) NOT NULL,
|
||||
latitude DECIMAL(9,6) NOT NULL,
|
||||
longitude DECIMAL(9,6) NOT NULL,
|
||||
timezone VARCHAR(128) NOT NULL,
|
||||
provider VARCHAR(32) NOT NULL DEFAULT 'open-meteo',
|
||||
temperature_unit VARCHAR(16) NOT NULL DEFAULT 'celsius',
|
||||
wind_unit VARCHAR(16) NOT NULL DEFAULT 'kmh',
|
||||
precipitation_unit VARCHAR(16) NOT NULL DEFAULT 'mm',
|
||||
enabled TINYINT(1) NOT NULL DEFAULT 1,
|
||||
update_interval_value INT NOT NULL DEFAULT 30,
|
||||
update_interval_unit VARCHAR(16) NOT NULL DEFAULT 'minutes',
|
||||
last_pulled_at DATETIME NULL,
|
||||
last_pull_error VARCHAR(1024) NULL,
|
||||
last_response_json MEDIUMTEXT NULL,
|
||||
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
created_by INT NULL,
|
||||
modified_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
modified_by INT NULL,
|
||||
INDEX idx_weather_locations_modified_at (modified_at)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
|
||||
`);
|
||||
|
||||
await pool.query(`
|
||||
CREATE TABLE IF NOT EXISTS i_timetable_groups (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
|
||||
@@ -505,6 +505,46 @@ const VERSIONED_MIGRATIONS = [
|
||||
await ensureColumn(pool, 'i_api_sources', 'token_header_name', "VARCHAR(255) NULL DEFAULT 'Authorization'", 'token_response_path');
|
||||
await ensureColumn(pool, 'i_api_sources', 'token_header_prefix', "VARCHAR(64) NULL DEFAULT 'Bearer'", 'token_header_name');
|
||||
}
|
||||
},
|
||||
{
|
||||
version: '2.8.8',
|
||||
label: 'v2.8.8 weather locations and RSS collection timestamps schema',
|
||||
run: async function (pool) {
|
||||
await pool.query(`
|
||||
CREATE TABLE IF NOT EXISTS i_weather_locations (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
name VARCHAR(255) NOT NULL UNIQUE,
|
||||
location_label VARCHAR(255) NOT NULL,
|
||||
latitude DECIMAL(9,6) NOT NULL,
|
||||
longitude DECIMAL(9,6) NOT NULL,
|
||||
timezone VARCHAR(128) NOT NULL,
|
||||
provider VARCHAR(32) NOT NULL DEFAULT 'open-meteo',
|
||||
temperature_unit VARCHAR(16) NOT NULL DEFAULT 'celsius',
|
||||
wind_unit VARCHAR(16) NOT NULL DEFAULT 'kmh',
|
||||
precipitation_unit VARCHAR(16) NOT NULL DEFAULT 'mm',
|
||||
update_interval_value INT NOT NULL DEFAULT 30,
|
||||
update_interval_unit VARCHAR(16) NOT NULL DEFAULT 'minutes',
|
||||
last_pulled_at DATETIME NULL,
|
||||
last_pull_error VARCHAR(1024) NULL,
|
||||
last_response_json MEDIUMTEXT NULL,
|
||||
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
created_by INT NULL,
|
||||
modified_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
modified_by INT NULL,
|
||||
INDEX idx_weather_locations_modified_at (modified_at)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
|
||||
`);
|
||||
await ensureColumn(pool, 'i_rss_feeds', 'last_pulled_at', 'DATETIME NULL', 'item_limit');
|
||||
}
|
||||
},
|
||||
{
|
||||
version: '2.8.9',
|
||||
label: 'v2.8.9 data source enablement schema',
|
||||
run: async function (pool) {
|
||||
await ensureColumn(pool, 'i_api_sources', 'enabled', 'TINYINT(1) NOT NULL DEFAULT 1', 'items_path');
|
||||
await ensureColumn(pool, 'i_rss_feeds', 'enabled', 'TINYINT(1) NOT NULL DEFAULT 1', 'feed_url');
|
||||
await ensureColumn(pool, 'i_weather_locations', 'enabled', 'TINYINT(1) NOT NULL DEFAULT 1', 'precipitation_unit');
|
||||
}
|
||||
}
|
||||
];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user