From 89f6b8f1f77992dfab7dd695ad5df29f2d1647d5 Mon Sep 17 00:00:00 2001 From: tsshadow Date: Thu, 17 Jul 2025 13:08:04 +0200 Subject: [PATCH] Add artist metadata fields and migrate --- .../main/kotlin/org/moire/ultrasonic/domain/Artist.kt | 5 ++++- .../org/moire/ultrasonic/data/ActiveServerProvider.kt | 1 + .../kotlin/org/moire/ultrasonic/data/MetaDatabase.kt | 10 +++++++++- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/core/domain/src/main/kotlin/org/moire/ultrasonic/domain/Artist.kt b/core/domain/src/main/kotlin/org/moire/ultrasonic/domain/Artist.kt index 7c002e58b..af8183b94 100644 --- a/core/domain/src/main/kotlin/org/moire/ultrasonic/domain/Artist.kt +++ b/core/domain/src/main/kotlin/org/moire/ultrasonic/domain/Artist.kt @@ -19,5 +19,8 @@ data class Artist( override var index: String? = null, override var coverArt: String? = null, override var albumCount: Long? = null, - override var closeness: Int = 0 + override var closeness: Int = 0, + var genre: String? = null, + var genres: List? = null, + var description: String? = null ) : ArtistOrIndex(id, serverId) diff --git a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/data/ActiveServerProvider.kt b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/data/ActiveServerProvider.kt index 2514504e8..bc6d3c9d4 100644 --- a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/data/ActiveServerProvider.kt +++ b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/data/ActiveServerProvider.kt @@ -166,6 +166,7 @@ class ActiveServerProvider( ) .addMigrations(META_MIGRATION_2_3) .addMigrations(META_MIGRATION_3_4) + .addMigrations(META_MIGRATION_4_5) .fallbackToDestructiveMigrationOnDowngrade() .build() } diff --git a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/data/MetaDatabase.kt b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/data/MetaDatabase.kt index 9228f7448..08d9b9727 100644 --- a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/data/MetaDatabase.kt +++ b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/data/MetaDatabase.kt @@ -44,7 +44,7 @@ import org.moire.ultrasonic.domain.Track ) ], exportSchema = true, - version = 4 + version = 5 ) @TypeConverters(Converters::class) abstract class MetaDatabase : RoomDatabase() { @@ -113,3 +113,11 @@ val META_MIGRATION_3_4: Migration = object : Migration(3, 4) { db.execSQL("ALTER TABLE `albums` ADD COLUMN `date` TEXT") } } + +val META_MIGRATION_4_5: Migration = object : Migration(4, 5) { + override fun migrate(db: SupportSQLiteDatabase) { + db.execSQL("ALTER TABLE `artists` ADD COLUMN `genre` TEXT") + db.execSQL("ALTER TABLE `artists` ADD COLUMN `genres` TEXT") + db.execSQL("ALTER TABLE `artists` ADD COLUMN `description` TEXT") + } +}