diff --git a/db/mysql/migrations/02_add_event_data/migration.sql b/db/mysql/migrations/02_add_event_data/migration.sql index c210895d..b781984c 100644 --- a/db/mysql/migrations/02_add_event_data/migration.sql +++ b/db/mysql/migrations/02_add_event_data/migration.sql @@ -49,14 +49,42 @@ CREATE TABLE `event_data` ( -- AddForeignKey ALTER TABLE `event_data` ADD CONSTRAINT `event_data_event_id_fkey` FOREIGN KEY (`event_id`) REFERENCES `event`(`event_id`) ON DELETE RESTRICT ON UPDATE CASCADE; --- RenameIndex -ALTER TABLE `account` RENAME INDEX `username` TO `account_username_key`; +-- CreateProcedureRenameIndex +CREATE PROCEDURE `UmamiRenameIndexIfExists`( + IN i_table_name VARCHAR(128), + IN i_current_index_name VARCHAR(128), + IN i_new_index_name VARCHAR(128) + ) + BEGIN + + SET @tableName = i_table_name; + SET @currentIndexName = i_current_index_name; + SET @newIndexName = i_new_index_name; + SET @indexExists = 0; + + SELECT + 1 + INTO @indexExists FROM + INFORMATION_SCHEMA.STATISTICS + WHERE + TABLE_NAME = @tableName + AND INDEX_NAME = @currentIndexName; + + SET @query = CONCAT( + 'ALTER TABLE `', @tableName, '` RENAME INDEX `', @currentIndexName, '` TO `', @newIndexName, '`;' + ); + IF @indexExists THEN + PREPARE stmt FROM @query; + EXECUTE stmt; + DEALLOCATE PREPARE stmt; + END IF; +END; -- RenameIndex -ALTER TABLE `session` RENAME INDEX `session_uuid` TO `session_session_uuid_key`; +CALL UmamiRenameIndexIfExists('account', 'username', 'account_username_key'); +CALL UmamiRenameIndexIfExists('session', 'session_uuid', 'session_session_uuid_key'); +CALL UmamiRenameIndexIfExists('website', 'share_id', 'website_share_id_key'); +CALL UmamiRenameIndexIfExists('website', 'website_uuid', 'website_website_uuid_key'); --- RenameIndex -ALTER TABLE `website` RENAME INDEX `share_id` TO `website_share_id_key`; - --- RenameIndex -ALTER TABLE `website` RENAME INDEX `website_uuid` TO `website_website_uuid_key`; \ No newline at end of file +-- Drop CreateProcedureRenameIndex +drop procedure `UmamiRenameIndexIfExists`; \ No newline at end of file diff --git a/db/postgresql/migrations/02_add_event_data/migration.sql b/db/postgresql/migrations/02_add_event_data/migration.sql index 62587e29..24c22e35 100644 --- a/db/postgresql/migrations/02_add_event_data/migration.sql +++ b/db/postgresql/migrations/02_add_event_data/migration.sql @@ -54,13 +54,13 @@ CREATE UNIQUE INDEX "event_data_event_id_key" ON "event_data"("event_id"); ALTER TABLE "event_data" ADD CONSTRAINT "event_data_event_id_fkey" FOREIGN KEY ("event_id") REFERENCES "event"("event_id") ON DELETE RESTRICT ON UPDATE CASCADE; -- RenameIndex -ALTER INDEX "account.username_unique" RENAME TO "account_username_key"; +ALTER INDEX IF EXISTS "account.username_unique" RENAME TO "account_username_key"; -- RenameIndex -ALTER INDEX "session.session_uuid_unique" RENAME TO "session_session_uuid_key"; +ALTER INDEX IF EXISTS "session.session_uuid_unique" RENAME TO "session_session_uuid_key"; -- RenameIndex -ALTER INDEX "website.share_id_unique" RENAME TO "website_share_id_key"; +ALTER INDEX IF EXISTS "website.share_id_unique" RENAME TO "website_share_id_key"; -- RenameIndex -ALTER INDEX "website.website_uuid_unique" RENAME TO "website_website_uuid_key"; \ No newline at end of file +ALTER INDEX IF EXISTS "website.website_uuid_unique" RENAME TO "website_website_uuid_key"; \ No newline at end of file diff --git a/lang/de-DE.json b/lang/de-DE.json index d0346417..297de6a2 100644 --- a/lang/de-DE.json +++ b/lang/de-DE.json @@ -67,7 +67,7 @@ "message.confirm-reset": "Sind Sie sicher, dass Sie die Statistiken von {target} zurücksetzen wollen?", "message.copied": "In Zwischenablage kopiert!", "message.delete-warning": "Alle zugehörigen Daten werden ebenfalls gelöscht.", - "message.edit-dashboard": "Edit dashboard", + "message.edit-dashboard": "Dashboard bearbeiten", "message.failure": "Es ist ein Fehler aufgetreten.", "message.get-share-url": "Freigabe-URL abrufen", "message.get-tracking-code": "Erstelle Tracking Kennung", @@ -103,7 +103,7 @@ "metrics.operating-systems": "Betriebssysteme", "metrics.page-views": "Seitenaufrufe", "metrics.pages": "Seiten", - "metrics.query-parameters": "Query parameters", + "metrics.query-parameters": "Abfrageparameter", "metrics.referrers": "Referrer", "metrics.screens": "Bildschirmauflösungen", "metrics.unique-visitors": "Eindeutige Besucher", diff --git a/lang/fr-FR.json b/lang/fr-FR.json index 72ca575e..ca0b7e41 100644 --- a/lang/fr-FR.json +++ b/lang/fr-FR.json @@ -67,7 +67,7 @@ "message.confirm-reset": "Êtes-vous sûr de vouloir réinistialiser les statistiques de {target} ?", "message.copied": "Copié !", "message.delete-warning": "Toutes les données associées seront également supprimées.", - "message.edit-dashboard": "Edit dashboard", + "message.edit-dashboard": "Modifier l'ordre des sites", "message.failure": "Un problème est survenu.", "message.get-share-url": "Obtenir l'URL de partage", "message.get-tracking-code": "Obtenir le code de suivi",