{ "formatVersion": 1, "database": { "version": 10, "identityHash": "b4ab81f091f9f0d359631c1426b04c49", "entities": [ { "tableName": "Song", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `title` TEXT NOT NULL, `albumId` TEXT, `artistsText` TEXT, `durationText` TEXT NOT NULL, `thumbnailUrl` TEXT, `lyrics` TEXT, `likedAt` INTEGER, `totalPlayTimeMs` INTEGER NOT NULL, `loudnessDb` REAL, `contentLength` INTEGER, PRIMARY KEY(`id`), FOREIGN KEY(`albumId`) REFERENCES `Album`(`id`) ON UPDATE NO ACTION ON DELETE SET NULL )", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "TEXT", "notNull": true }, { "fieldPath": "title", "columnName": "title", "affinity": "TEXT", "notNull": true }, { "fieldPath": "albumId", "columnName": "albumId", "affinity": "TEXT", "notNull": false }, { "fieldPath": "artistsText", "columnName": "artistsText", "affinity": "TEXT", "notNull": false }, { "fieldPath": "durationText", "columnName": "durationText", "affinity": "TEXT", "notNull": true }, { "fieldPath": "thumbnailUrl", "columnName": "thumbnailUrl", "affinity": "TEXT", "notNull": false }, { "fieldPath": "lyrics", "columnName": "lyrics", "affinity": "TEXT", "notNull": false }, { "fieldPath": "likedAt", "columnName": "likedAt", "affinity": "INTEGER", "notNull": false }, { "fieldPath": "totalPlayTimeMs", "columnName": "totalPlayTimeMs", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "loudnessDb", "columnName": "loudnessDb", "affinity": "REAL", "notNull": false }, { "fieldPath": "contentLength", "columnName": "contentLength", "affinity": "INTEGER", "notNull": false } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "id" ] }, "indices": [], "foreignKeys": [ { "table": "Album", "onDelete": "SET NULL", "onUpdate": "NO ACTION", "columns": [ "albumId" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "SongInPlaylist", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`songId` TEXT NOT NULL, `playlistId` INTEGER NOT NULL, `position` INTEGER NOT NULL, PRIMARY KEY(`songId`, `playlistId`), FOREIGN KEY(`songId`) REFERENCES `Song`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`playlistId`) REFERENCES `Playlist`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "songId", "columnName": "songId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "playlistId", "columnName": "playlistId", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "position", "columnName": "position", "affinity": "INTEGER", "notNull": true } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "songId", "playlistId" ] }, "indices": [ { "name": "index_SongInPlaylist_songId", "unique": false, "columnNames": [ "songId" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_SongInPlaylist_songId` ON `${TABLE_NAME}` (`songId`)" }, { "name": "index_SongInPlaylist_playlistId", "unique": false, "columnNames": [ "playlistId" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_SongInPlaylist_playlistId` ON `${TABLE_NAME}` (`playlistId`)" } ], "foreignKeys": [ { "table": "Song", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "songId" ], "referencedColumns": [ "id" ] }, { "table": "Playlist", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "playlistId" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "Playlist", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `name` TEXT NOT NULL)", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "name", "columnName": "name", "affinity": "TEXT", "notNull": true } ], "primaryKey": { "autoGenerate": true, "columnNames": [ "id" ] }, "indices": [], "foreignKeys": [] }, { "tableName": "Artist", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `name` TEXT NOT NULL, `thumbnailUrl` TEXT, `info` TEXT, `shuffleVideoId` TEXT, `shufflePlaylistId` TEXT, `radioVideoId` TEXT, `radioPlaylistId` TEXT, PRIMARY KEY(`id`))", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "TEXT", "notNull": true }, { "fieldPath": "name", "columnName": "name", "affinity": "TEXT", "notNull": true }, { "fieldPath": "thumbnailUrl", "columnName": "thumbnailUrl", "affinity": "TEXT", "notNull": false }, { "fieldPath": "info", "columnName": "info", "affinity": "TEXT", "notNull": false }, { "fieldPath": "shuffleVideoId", "columnName": "shuffleVideoId", "affinity": "TEXT", "notNull": false }, { "fieldPath": "shufflePlaylistId", "columnName": "shufflePlaylistId", "affinity": "TEXT", "notNull": false }, { "fieldPath": "radioVideoId", "columnName": "radioVideoId", "affinity": "TEXT", "notNull": false }, { "fieldPath": "radioPlaylistId", "columnName": "radioPlaylistId", "affinity": "TEXT", "notNull": false } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "id" ] }, "indices": [], "foreignKeys": [] }, { "tableName": "SongArtistMap", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`songId` TEXT NOT NULL, `artistId` TEXT NOT NULL, PRIMARY KEY(`songId`, `artistId`), FOREIGN KEY(`songId`) REFERENCES `Song`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`artistId`) REFERENCES `Artist`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "songId", "columnName": "songId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "artistId", "columnName": "artistId", "affinity": "TEXT", "notNull": true } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "songId", "artistId" ] }, "indices": [ { "name": "index_SongArtistMap_songId", "unique": false, "columnNames": [ "songId" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_SongArtistMap_songId` ON `${TABLE_NAME}` (`songId`)" }, { "name": "index_SongArtistMap_artistId", "unique": false, "columnNames": [ "artistId" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_SongArtistMap_artistId` ON `${TABLE_NAME}` (`artistId`)" } ], "foreignKeys": [ { "table": "Song", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "songId" ], "referencedColumns": [ "id" ] }, { "table": "Artist", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "artistId" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "Album", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `title` TEXT, `thumbnailUrl` TEXT, `year` TEXT, `authorsText` TEXT, `shareUrl` TEXT, PRIMARY KEY(`id`))", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "TEXT", "notNull": true }, { "fieldPath": "title", "columnName": "title", "affinity": "TEXT", "notNull": false }, { "fieldPath": "thumbnailUrl", "columnName": "thumbnailUrl", "affinity": "TEXT", "notNull": false }, { "fieldPath": "year", "columnName": "year", "affinity": "TEXT", "notNull": false }, { "fieldPath": "authorsText", "columnName": "authorsText", "affinity": "TEXT", "notNull": false }, { "fieldPath": "shareUrl", "columnName": "shareUrl", "affinity": "TEXT", "notNull": false } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "id" ] }, "indices": [], "foreignKeys": [] }, { "tableName": "SongAlbumMap", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`songId` TEXT NOT NULL, `albumId` TEXT NOT NULL, `position` INTEGER, PRIMARY KEY(`songId`, `albumId`), FOREIGN KEY(`songId`) REFERENCES `Song`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`albumId`) REFERENCES `Album`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "songId", "columnName": "songId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "albumId", "columnName": "albumId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "position", "columnName": "position", "affinity": "INTEGER", "notNull": false } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "songId", "albumId" ] }, "indices": [ { "name": "index_SongAlbumMap_songId", "unique": false, "columnNames": [ "songId" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_SongAlbumMap_songId` ON `${TABLE_NAME}` (`songId`)" }, { "name": "index_SongAlbumMap_albumId", "unique": false, "columnNames": [ "albumId" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_SongAlbumMap_albumId` ON `${TABLE_NAME}` (`albumId`)" } ], "foreignKeys": [ { "table": "Song", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "songId" ], "referencedColumns": [ "id" ] }, { "table": "Album", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "albumId" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "SearchQuery", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `query` TEXT NOT NULL)", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "query", "columnName": "query", "affinity": "TEXT", "notNull": true } ], "primaryKey": { "autoGenerate": true, "columnNames": [ "id" ] }, "indices": [ { "name": "index_SearchQuery_query", "unique": true, "columnNames": [ "query" ], "orders": [], "createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `index_SearchQuery_query` ON `${TABLE_NAME}` (`query`)" } ], "foreignKeys": [] }, { "tableName": "QueuedMediaItem", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `mediaItem` BLOB NOT NULL, `position` INTEGER)", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "mediaItem", "columnName": "mediaItem", "affinity": "BLOB", "notNull": true }, { "fieldPath": "position", "columnName": "position", "affinity": "INTEGER", "notNull": false } ], "primaryKey": { "autoGenerate": true, "columnNames": [ "id" ] }, "indices": [], "foreignKeys": [] } ], "views": [ { "viewName": "SortedSongInPlaylist", "createSql": "CREATE VIEW `${VIEW_NAME}` AS SELECT * FROM SongInPlaylist ORDER BY position" } ], "setupQueries": [ "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)", "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, 'b4ab81f091f9f0d359631c1426b04c49')" ] } }