diff --git a/schema/mysql-migrations/upgrade_95.sql b/schema/mysql-migrations/upgrade_95.sql new file mode 100644 index 00000000..aa49c5b2 --- /dev/null +++ b/schema/mysql-migrations/upgrade_95.sql @@ -0,0 +1,22 @@ +ALTER TABLE import_source + ADD COLUMN import_state ENUM( + 'unknown', + 'in-sync', + 'pending-changes', + 'failing' + ) NOT NULL DEFAULT 'unknown', + ADD COLUMN last_error_message TEXT DEFAULT NULL, + ADD COLUMN last_attempt DATETIME DEFAULT NULL +; + +UPDATE import_source s + JOIN ( + SELECT source_id, MAX(start_time) AS start_time + FROM import_run + GROUP BY source_id + ) ir ON s.id = ir.source_id + SET s.last_attempt = ir.start_time; + +INSERT INTO director_schema_migration + (schema_version, migration_time) + VALUES (95, NOW()); diff --git a/schema/mysql.sql b/schema/mysql.sql index e6663e70..69cf9efc 100644 --- a/schema/mysql.sql +++ b/schema/mysql.sql @@ -1107,6 +1107,14 @@ CREATE TABLE import_source ( source_name VARCHAR(64) NOT NULL, key_column VARCHAR(64) NOT NULL, provider_class VARCHAR(72) NOT NULL, + import_state ENUM( + 'unknown', + 'in-sync', + 'pending-changes', + 'failing' + ) NOT NULL DEFAULT 'unknown', + last_error_message TEXT DEFAULT NULL, + last_attempt DATETIME DEFAULT NULL, PRIMARY KEY (id), INDEX search_idx (key_column) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -1294,4 +1302,4 @@ CREATE TABLE sync_run ( INSERT INTO director_schema_migration SET migration_time = NOW(), - schema_version = 94; + schema_version = 95;