diff --git a/back/pom.xml b/back/pom.xml index 06077f6..98acdb7 100644 --- a/back/pom.xml +++ b/back/pom.xml @@ -8,7 +8,7 @@ org.atria-soft archidata - 0.30.4 + 0.30.6 diff --git a/back/src/org/atriasoft/karusic/migration/Migration20231126.java b/back/src/org/atriasoft/karusic/migration/Migration20231126.java deleted file mode 100644 index 28a82e5..0000000 --- a/back/src/org/atriasoft/karusic/migration/Migration20231126.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.atriasoft.karusic.migration; - -import org.atriasoft.archidata.migration.MigrationSqlStep; - -public class Migration20231126 extends MigrationSqlStep { - - public static final int KARSO_INITIALISATION_ID = 1; - - @Override - public String getName() { - return "migration-2023-11-26: reorder the migration for the new API of archidata"; - } - -} diff --git a/back/src/org/atriasoft/karusic/migration/Migration20240225.java b/back/src/org/atriasoft/karusic/migration/Migration20240225.java deleted file mode 100644 index e10be61..0000000 --- a/back/src/org/atriasoft/karusic/migration/Migration20240225.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.atriasoft.karusic.migration; - -import org.atriasoft.archidata.migration.MigrationSqlStep; - -public class Migration20240225 extends MigrationSqlStep { - - public static final int KARSO_INITIALISATION_ID = 1; - - @Override - public String getName() { - return "migration-2024-02-25: change model of thrack to use real json"; - } - -} diff --git a/back/src/org/atriasoft/karusic/migration/Migration20240226.java b/back/src/org/atriasoft/karusic/migration/Migration20240226.java deleted file mode 100644 index faad2fc..0000000 --- a/back/src/org/atriasoft/karusic/migration/Migration20240226.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.atriasoft.karusic.migration; - -import org.atriasoft.archidata.migration.MigrationSqlStep; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class Migration20240226 extends MigrationSqlStep { - private static final Logger LOGGER = LoggerFactory.getLogger(Migration20240226.class); - - public static final int KARSO_INITIALISATION_ID = 1; - - @Override - public String getName() { - return "migration-2024-02-26: convert base with UUID"; - } - -} diff --git a/back/src/org/atriasoft/karusic/migration/Migration20240907.java b/back/src/org/atriasoft/karusic/migration/Migration20240907.java deleted file mode 100644 index a52df31..0000000 --- a/back/src/org/atriasoft/karusic/migration/Migration20240907.java +++ /dev/null @@ -1,34 +0,0 @@ -package org.atriasoft.karusic.migration; - -import org.atriasoft.archidata.migration.MigrationSqlStep; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class Migration20240907 extends MigrationSqlStep { - private static final Logger LOGGER = LoggerFactory.getLogger(Migration20240907.class); - - public static final int KARSO_INITIALISATION_ID = 1; - - @Override - public String getName() { - return "migration-2024-09-07: convert data id in uuid"; - } - - public Migration20240907() { - - } - - @Override - public void generateStep() throws Exception { - addAction(""" - ALTER TABLE `data` DROP INDEX `PRIMARY`; - """); - addAction(""" - ALTER TABLE `data` CHANGE `id` `uuid` binary(16) DEFAULT (UUID_TO_BIN(UUID(), TRUE)); - """); - addAction(""" - ALTER TABLE `data` ADD PRIMARY KEY `uuid` (`uuid`); - """); - } - -} diff --git a/back/src/org/atriasoft/karusic/migration/Migration20250104.java b/back/src/org/atriasoft/karusic/migration/Migration20250104.java deleted file mode 100644 index 63eb87d..0000000 --- a/back/src/org/atriasoft/karusic/migration/Migration20250104.java +++ /dev/null @@ -1,144 +0,0 @@ -package org.atriasoft.karusic.migration; - -import java.nio.file.Files; -import java.nio.file.NoSuchFileException; -import java.nio.file.Paths; -import java.nio.file.StandardCopyOption; -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; - -import org.bson.types.ObjectId; -import org.atriasoft.archidata.api.DataResource; -import org.atriasoft.archidata.dataAccess.DBAccess; -import org.atriasoft.archidata.dataAccess.options.AccessDeletedItems; -import org.atriasoft.archidata.dataAccess.options.OverrideTableName; -import org.atriasoft.archidata.migration.MigrationSqlStep; -import org.atriasoft.karusic.migration.model.CoverConversion; -import org.atriasoft.karusic.migration.model.MediaConversion; -import org.atriasoft.karusic.migration.model.OIDConversion; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class Migration20250104 extends MigrationSqlStep { - private static final Logger LOGGER = LoggerFactory.getLogger(Migration20240226.class); - - public static final int KARSO_INITIALISATION_ID = 1; - - @Override - public String getName() { - return "migration-2025-01-04: convert base from UUID to OID"; - } - - @Override - public void generateStep() throws Exception { - // Create a simple function to create objectId in the DB (for manual insertion ...) - // addAction(""" - // DELIMITER // - // - // CREATE FUNCTION generate_objectid() - // RETURNS BINARY(12) - // DETERMINISTIC - // BEGIN - // DECLARE ts BINARY(4); - // DECLARE random_part BINARY(5); - // DECLARE counter BINARY(3); - // SET ts = UNHEX(HEX(UNIX_TIMESTAMP())); - // SET random_part = UNHEX(HEX(FLOOR(RAND() * POW(2, 40)))); - // SET counter = UNHEX(HEX(FLOOR(RAND() * POW(2, 24)))); - // RETURN CONCAT(ts, random_part, counter); - // END // - // - // DELIMITER ; - // """); - addAction(""" - ALTER TABLE `data` ADD `_id` binary(12) AFTER `uuid`; - """); - addAction((final DBAccess da) -> { - final List datas = da.gets(OIDConversion.class, new AccessDeletedItems(), new OverrideTableName("data")); - for (final OIDConversion elem : datas) { - elem._id = new ObjectId(); - } - for (final OIDConversion elem : datas) { - da.update(elem, elem.uuid, List.of("_id"), new OverrideTableName("data")); - } - }); - final List tableToTransform = List.of("album", "artist", "gender", "track", "user"); - for (final String tableName : tableToTransform) { - addAction("ALTER TABLE `" + tableName + "` ADD `covers_oid` text NULL;"); - addAction((final DBAccess da) -> { - final List datas = da.gets(OIDConversion.class, new AccessDeletedItems(), new OverrideTableName("data")); - final List tableCoverTransforms = da.gets(CoverConversion.class, new AccessDeletedItems(), new OverrideTableName(tableName)); - LOGGER.info("Get somes data: {} {}", datas.size(), tableCoverTransforms.size()); - for (final CoverConversion tableTransform : tableCoverTransforms) { - final List values = new ArrayList<>(); - if (tableTransform.covers == null) { - continue; - } - for (final UUID link : tableTransform.covers) { - for (final OIDConversion data : datas) { - if (data.uuid.equals(link)) { - values.add(data._id); - break; - } - } - } - if (values.size() != 0) { - tableTransform.covers_oid = values; - LOGGER.info(" update: {}: {} => {}", tableTransform.id, tableTransform.covers, tableTransform.covers_oid); - da.update(tableTransform, tableTransform.id, List.of("covers_oid"), new OverrideTableName(tableName)); - } - } - }); - addAction("ALTER TABLE `" + tableName + "` DROP `covers`;"); - addAction("ALTER TABLE `" + tableName + "` CHANGE `covers_oid` `covers` text NULL;"); - } - addAction(""" - ALTER TABLE `track` ADD `dataOid` binary(12) AFTER dataId; - """); - addAction((final DBAccess da) -> { - final List datas = da.gets(OIDConversion.class, new AccessDeletedItems(), new OverrideTableName("data")); - final List medias = da.gets(MediaConversion.class, new AccessDeletedItems(), new OverrideTableName("track")); - for (final MediaConversion media : medias) { - for (final OIDConversion data : datas) { - if (data.uuid.equals(media.dataId)) { - media.dataOid = data._id; - da.update(media, media.id, List.of("dataOid"), new OverrideTableName("track")); - break; - } - } - } - }); - addAction(""" - ALTER TABLE `track` DROP `dataId`; - """); - addAction(""" - ALTER TABLE `track` CHANGE `dataOid` `dataId` binary(12) NOT NULL; - """); - // Move the files... - addAction((final DBAccess da) -> { - final List datas = da.gets(OIDConversion.class, new AccessDeletedItems(), new OverrideTableName("data")); - for (final OIDConversion data : datas) { - final String origin = DataResource.getFileDataOld(data.uuid); - final String destination = DataResource.getFileData(data._id); - LOGGER.info("move file = {}", origin); - LOGGER.info(" ==> {}", destination); - try { - Files.move(Paths.get(origin), Paths.get(destination), StandardCopyOption.ATOMIC_MOVE); - } catch (final NoSuchFileException ex) { - LOGGER.warn("Fail to move file : {}", ex.getMessage()); - } - } - }); - addAction(""" - ALTER TABLE `data` DROP `uuid`; - """); - // addAction(""" - // ALTER TABLE `data` CHANGE `_id` `_id` BINARY(12) DEFAULT (generate_objectid()); - // """); - addAction(""" - ALTER TABLE `data` ADD PRIMARY KEY `_id` (`_id`); - """); - } - -} diff --git a/back/src/org/atriasoft/karusic/migration/Migration20250414.java b/back/src/org/atriasoft/karusic/migration/Migration20250414.java deleted file mode 100644 index 6fc5611..0000000 --- a/back/src/org/atriasoft/karusic/migration/Migration20250414.java +++ /dev/null @@ -1,30 +0,0 @@ -package org.atriasoft.karusic.migration; - -import org.atriasoft.archidata.migration.MigrationSqlStep; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class Migration20250414 extends MigrationSqlStep { - private static final Logger LOGGER = LoggerFactory.getLogger(Migration20240226.class); - - public static final int KARSO_INITIALISATION_ID = 1; - - @Override - public String getName() { - return "migration-2025-04-14: update constraints"; - } - - @Override - public void generateStep() throws Exception { - addAction(""" - ALTER TABLE `artist` - CHANGE `birth` `birth` timestamp(3) NULL AFTER `surname`, - CHANGE `death` `death` timestamp(3) NULL AFTER `birth`; - """); - addAction(""" - ALTER TABLE `album` - CHANGE `publication` `publication` timestamp(3) NULL AFTER `description`; - """); - } - -} diff --git a/back/src/org/atriasoft/karusic/migration/Migration20250427.java b/back/src/org/atriasoft/karusic/migration/Migration20250427.java index d642531..38aba32 100644 --- a/back/src/org/atriasoft/karusic/migration/Migration20250427.java +++ b/back/src/org/atriasoft/karusic/migration/Migration20250427.java @@ -24,7 +24,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class Migration20250427 extends MigrationSqlStep { - private static final Logger LOGGER = LoggerFactory.getLogger(Migration20240226.class); + private static final Logger LOGGER = LoggerFactory.getLogger(Migration20250427.class); public static final int KARSO_INITIALISATION_ID = 1; @@ -73,10 +73,8 @@ public class Migration20250427 extends MigrationSqlStep { public void generateStep() throws Exception { addAction((final DBAccess daMongo) -> { // Create the previous connection on SQL: - final DbConfig configSQL = new DbConfig("mysql", ConfigBaseVariable.getDBHost(), (short) 3906, - // final DbConfig config = new DbConfig("mysql", "db", (short) 3306, - ConfigBaseVariable.getDBLogin(), ConfigBaseVariable.getDBPassword(), ConfigBaseVariable.getDBName(), ConfigBaseVariable.getDBKeepConnected(), - List.of(ConfigBaseVariable.getBbInterfacesClasses())); + final DbConfig configSQL = new DbConfig("mysql", "db", (short) 3306, ConfigBaseVariable.getDBLogin(), ConfigBaseVariable.getDBPassword(), ConfigBaseVariable.getDBName(), + ConfigBaseVariable.getDBKeepConnected(), List.of(ConfigBaseVariable.getBbInterfacesClasses())); try (final DBAccess daSQL = DBAccess.createInterface(configSQL)) { final List allData = daSQL.gets(Data.class, new ReadAllColumn(), new AccessDeletedItems()); final List allOldAlbums = daSQL.gets(AlbumOld.class, new ReadAllColumn(), new AccessDeletedItems());