{ "formatVersion": 1, "database": { "version": 28, "identityHash": "0423cc07b12ce198d7fe19d7f2f1ad08", "entities": [ { "tableName": "Song", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `title` TEXT NOT NULL, `artistsText` TEXT, `durationText` TEXT, `thumbnailUrl` TEXT, `likedAt` INTEGER, `totalPlayTimeMs` INTEGER NOT NULL, `loudnessBoost` REAL, `blacklisted` INTEGER NOT NULL DEFAULT false, PRIMARY KEY(`id`))", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "TEXT", "notNull": true }, { "fieldPath": "title", "columnName": "title", "affinity": "TEXT", "notNull": true }, { "fieldPath": "artistsText", "columnName": "artistsText", "affinity": "TEXT", "notNull": false }, { "fieldPath": "durationText", "columnName": "durationText", "affinity": "TEXT", "notNull": false }, { "fieldPath": "thumbnailUrl", "columnName": "thumbnailUrl", "affinity": "TEXT", "notNull": false }, { "fieldPath": "likedAt", "columnName": "likedAt", "affinity": "INTEGER", "notNull": false }, { "fieldPath": "totalPlayTimeMs", "columnName": "totalPlayTimeMs", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "loudnessBoost", "columnName": "loudnessBoost", "affinity": "REAL", "notNull": false }, { "fieldPath": "blacklisted", "columnName": "blacklisted", "affinity": "INTEGER", "notNull": true, "defaultValue": "false" } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "id" ] }, "indices": [], "foreignKeys": [] }, { "tableName": "SongPlaylistMap", "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_SongPlaylistMap_songId", "unique": false, "columnNames": [ "songId" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_SongPlaylistMap_songId` ON `${TABLE_NAME}` (`songId`)" }, { "name": "index_SongPlaylistMap_playlistId", "unique": false, "columnNames": [ "playlistId" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_SongPlaylistMap_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, `browseId` TEXT)", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "name", "columnName": "name", "affinity": "TEXT", "notNull": true }, { "fieldPath": "browseId", "columnName": "browseId", "affinity": "TEXT", "notNull": false } ], "primaryKey": { "autoGenerate": true, "columnNames": [ "id" ] }, "indices": [], "foreignKeys": [] }, { "tableName": "Artist", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `name` TEXT, `thumbnailUrl` TEXT, `timestamp` INTEGER, `bookmarkedAt` INTEGER, PRIMARY KEY(`id`))", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "TEXT", "notNull": true }, { "fieldPath": "name", "columnName": "name", "affinity": "TEXT", "notNull": false }, { "fieldPath": "thumbnailUrl", "columnName": "thumbnailUrl", "affinity": "TEXT", "notNull": false }, { "fieldPath": "timestamp", "columnName": "timestamp", "affinity": "INTEGER", "notNull": false }, { "fieldPath": "bookmarkedAt", "columnName": "bookmarkedAt", "affinity": "INTEGER", "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, `description` TEXT, `thumbnailUrl` TEXT, `year` TEXT, `authorsText` TEXT, `shareUrl` TEXT, `timestamp` INTEGER, `bookmarkedAt` INTEGER, `otherInfo` TEXT, PRIMARY KEY(`id`))", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "TEXT", "notNull": true }, { "fieldPath": "title", "columnName": "title", "affinity": "TEXT", "notNull": false }, { "fieldPath": "description", "columnName": "description", "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 }, { "fieldPath": "timestamp", "columnName": "timestamp", "affinity": "INTEGER", "notNull": false }, { "fieldPath": "bookmarkedAt", "columnName": "bookmarkedAt", "affinity": "INTEGER", "notNull": false }, { "fieldPath": "otherInfo", "columnName": "otherInfo", "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": [] }, { "tableName": "Format", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`songId` TEXT NOT NULL, `itag` INTEGER, `mimeType` TEXT, `bitrate` INTEGER, `contentLength` INTEGER, `lastModified` INTEGER, `loudnessDb` REAL, PRIMARY KEY(`songId`), FOREIGN KEY(`songId`) REFERENCES `Song`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "songId", "columnName": "songId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "itag", "columnName": "itag", "affinity": "INTEGER", "notNull": false }, { "fieldPath": "mimeType", "columnName": "mimeType", "affinity": "TEXT", "notNull": false }, { "fieldPath": "bitrate", "columnName": "bitrate", "affinity": "INTEGER", "notNull": false }, { "fieldPath": "contentLength", "columnName": "contentLength", "affinity": "INTEGER", "notNull": false }, { "fieldPath": "lastModified", "columnName": "lastModified", "affinity": "INTEGER", "notNull": false }, { "fieldPath": "loudnessDb", "columnName": "loudnessDb", "affinity": "REAL", "notNull": false } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "songId" ] }, "indices": [], "foreignKeys": [ { "table": "Song", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "songId" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "Event", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `songId` TEXT NOT NULL, `timestamp` INTEGER NOT NULL, `playTime` INTEGER NOT NULL, FOREIGN KEY(`songId`) REFERENCES `Song`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "songId", "columnName": "songId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "timestamp", "columnName": "timestamp", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "playTime", "columnName": "playTime", "affinity": "INTEGER", "notNull": true } ], "primaryKey": { "autoGenerate": true, "columnNames": [ "id" ] }, "indices": [ { "name": "index_Event_songId", "unique": false, "columnNames": [ "songId" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_Event_songId` ON `${TABLE_NAME}` (`songId`)" } ], "foreignKeys": [ { "table": "Song", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "songId" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "Lyrics", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`songId` TEXT NOT NULL, `fixed` TEXT, `synced` TEXT, `startTime` INTEGER, PRIMARY KEY(`songId`), FOREIGN KEY(`songId`) REFERENCES `Song`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "songId", "columnName": "songId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "fixed", "columnName": "fixed", "affinity": "TEXT", "notNull": false }, { "fieldPath": "synced", "columnName": "synced", "affinity": "TEXT", "notNull": false }, { "fieldPath": "startTime", "columnName": "startTime", "affinity": "INTEGER", "notNull": false } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "songId" ] }, "indices": [], "foreignKeys": [ { "table": "Song", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "songId" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "PipedSession", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `apiBaseUrl` TEXT NOT NULL, `token` TEXT NOT NULL, `username` TEXT NOT NULL)", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "apiBaseUrl", "columnName": "apiBaseUrl", "affinity": "TEXT", "notNull": true }, { "fieldPath": "token", "columnName": "token", "affinity": "TEXT", "notNull": true }, { "fieldPath": "username", "columnName": "username", "affinity": "TEXT", "notNull": true } ], "primaryKey": { "autoGenerate": true, "columnNames": [ "id" ] }, "indices": [ { "name": "index_PipedSession_apiBaseUrl_username", "unique": true, "columnNames": [ "apiBaseUrl", "username" ], "orders": [], "createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `index_PipedSession_apiBaseUrl_username` ON `${TABLE_NAME}` (`apiBaseUrl`, `username`)" } ], "foreignKeys": [] } ], "views": [ { "viewName": "SortedSongPlaylistMap", "createSql": "CREATE VIEW `${VIEW_NAME}` AS SELECT * FROM SongPlaylistMap 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, '0423cc07b12ce198d7fe19d7f2f1ad08')" ] } }