Files
sofa/packages/db/drizzle/20260324210721_small_prowler/snapshot.json
T
jake b0172a2b25 feat: refactor platforms to support multiple TMDB provider IDs per platform
- Replace `tmdbProviderId` (single int) with a many-to-many `platformTmdbProviders` join table so one platform entry can map to multiple TMDB provider IDs (e.g. a single "Max" platform covers several regional TMDB IDs)
- Add `isSubscription` flag to platforms to distinguish subscription services from transactional ones, replacing the old `displayOrder` field in API responses
- Add `getPlatformTmdbIds` / `getPlatformTmdbIdMap` helpers in `@sofa/core/platforms` and thread them through discover, explore, and platform list procedures
- Replace `providerId: number` with `platformId: string` (UUID) in discover input schema so the client never needs to resolve TMDB IDs
- Add `scripts/sync-tmdb-providers.ts` script to pull live provider data from TMDB and update `platforms.json`
- Split native title detail availability into separate "Stream" and "Buy or Rent" sections matching the web pattern
- Add two new DB migrations for the join table and platform schema changes
2026-03-24 20:54:34 -04:00

3420 lines
73 KiB
JSON

{
"version": "7",
"dialect": "sqlite",
"id": "364cbbc8-2e6e-4ebb-9e52-4fea9e88b994",
"prevIds": [
"09684273-fbee-43c5-ac9c-95a0882e6302"
],
"ddl": [
{
"name": "account",
"entityType": "tables"
},
{
"name": "appSettings",
"entityType": "tables"
},
{
"name": "cronRuns",
"entityType": "tables"
},
{
"name": "episodes",
"entityType": "tables"
},
{
"name": "genres",
"entityType": "tables"
},
{
"name": "importJobs",
"entityType": "tables"
},
{
"name": "integrationEvents",
"entityType": "tables"
},
{
"name": "integrations",
"entityType": "tables"
},
{
"name": "personFilmography",
"entityType": "tables"
},
{
"name": "persons",
"entityType": "tables"
},
{
"name": "platformTmdbIds",
"entityType": "tables"
},
{
"name": "platforms",
"entityType": "tables"
},
{
"name": "seasons",
"entityType": "tables"
},
{
"name": "session",
"entityType": "tables"
},
{
"name": "titleAvailability",
"entityType": "tables"
},
{
"name": "titleCast",
"entityType": "tables"
},
{
"name": "titleGenres",
"entityType": "tables"
},
{
"name": "titleRecommendations",
"entityType": "tables"
},
{
"name": "titles",
"entityType": "tables"
},
{
"name": "user",
"entityType": "tables"
},
{
"name": "userEpisodeWatches",
"entityType": "tables"
},
{
"name": "userMovieWatches",
"entityType": "tables"
},
{
"name": "userPlatforms",
"entityType": "tables"
},
{
"name": "userRatings",
"entityType": "tables"
},
{
"name": "userTitleStatus",
"entityType": "tables"
},
{
"name": "verification",
"entityType": "tables"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "id",
"entityType": "columns",
"table": "account"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "userId",
"entityType": "columns",
"table": "account"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "accountId",
"entityType": "columns",
"table": "account"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "providerId",
"entityType": "columns",
"table": "account"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "accessToken",
"entityType": "columns",
"table": "account"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "refreshToken",
"entityType": "columns",
"table": "account"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "idToken",
"entityType": "columns",
"table": "account"
},
{
"type": "integer",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "accessTokenExpiresAt",
"entityType": "columns",
"table": "account"
},
{
"type": "integer",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "refreshTokenExpiresAt",
"entityType": "columns",
"table": "account"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "scope",
"entityType": "columns",
"table": "account"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "password",
"entityType": "columns",
"table": "account"
},
{
"type": "integer",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "createdAt",
"entityType": "columns",
"table": "account"
},
{
"type": "integer",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "updatedAt",
"entityType": "columns",
"table": "account"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "key",
"entityType": "columns",
"table": "appSettings"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "value",
"entityType": "columns",
"table": "appSettings"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "id",
"entityType": "columns",
"table": "cronRuns"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "jobName",
"entityType": "columns",
"table": "cronRuns"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "status",
"entityType": "columns",
"table": "cronRuns"
},
{
"type": "integer",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "startedAt",
"entityType": "columns",
"table": "cronRuns"
},
{
"type": "integer",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "finishedAt",
"entityType": "columns",
"table": "cronRuns"
},
{
"type": "integer",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "durationMs",
"entityType": "columns",
"table": "cronRuns"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "errorMessage",
"entityType": "columns",
"table": "cronRuns"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "id",
"entityType": "columns",
"table": "episodes"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "seasonId",
"entityType": "columns",
"table": "episodes"
},
{
"type": "integer",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "episodeNumber",
"entityType": "columns",
"table": "episodes"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "name",
"entityType": "columns",
"table": "episodes"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "overview",
"entityType": "columns",
"table": "episodes"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "stillPath",
"entityType": "columns",
"table": "episodes"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "stillThumbHash",
"entityType": "columns",
"table": "episodes"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "airDate",
"entityType": "columns",
"table": "episodes"
},
{
"type": "integer",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "runtimeMinutes",
"entityType": "columns",
"table": "episodes"
},
{
"type": "integer",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "id",
"entityType": "columns",
"table": "genres"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "name",
"entityType": "columns",
"table": "genres"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "id",
"entityType": "columns",
"table": "importJobs"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "userId",
"entityType": "columns",
"table": "importJobs"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "source",
"entityType": "columns",
"table": "importJobs"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "status",
"entityType": "columns",
"table": "importJobs"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "payload",
"entityType": "columns",
"table": "importJobs"
},
{
"type": "integer",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "importWatches",
"entityType": "columns",
"table": "importJobs"
},
{
"type": "integer",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "importWatchlist",
"entityType": "columns",
"table": "importJobs"
},
{
"type": "integer",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "importRatings",
"entityType": "columns",
"table": "importJobs"
},
{
"type": "integer",
"notNull": true,
"autoincrement": false,
"default": "0",
"generated": null,
"name": "totalItems",
"entityType": "columns",
"table": "importJobs"
},
{
"type": "integer",
"notNull": true,
"autoincrement": false,
"default": "0",
"generated": null,
"name": "processedItems",
"entityType": "columns",
"table": "importJobs"
},
{
"type": "integer",
"notNull": true,
"autoincrement": false,
"default": "0",
"generated": null,
"name": "importedCount",
"entityType": "columns",
"table": "importJobs"
},
{
"type": "integer",
"notNull": true,
"autoincrement": false,
"default": "0",
"generated": null,
"name": "skippedCount",
"entityType": "columns",
"table": "importJobs"
},
{
"type": "integer",
"notNull": true,
"autoincrement": false,
"default": "0",
"generated": null,
"name": "failedCount",
"entityType": "columns",
"table": "importJobs"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "currentMessage",
"entityType": "columns",
"table": "importJobs"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "errors",
"entityType": "columns",
"table": "importJobs"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "warnings",
"entityType": "columns",
"table": "importJobs"
},
{
"type": "integer",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "createdAt",
"entityType": "columns",
"table": "importJobs"
},
{
"type": "integer",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "startedAt",
"entityType": "columns",
"table": "importJobs"
},
{
"type": "integer",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "finishedAt",
"entityType": "columns",
"table": "importJobs"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "id",
"entityType": "columns",
"table": "integrationEvents"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "integrationId",
"entityType": "columns",
"table": "integrationEvents"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "eventType",
"entityType": "columns",
"table": "integrationEvents"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "mediaType",
"entityType": "columns",
"table": "integrationEvents"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "mediaTitle",
"entityType": "columns",
"table": "integrationEvents"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "status",
"entityType": "columns",
"table": "integrationEvents"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "errorMessage",
"entityType": "columns",
"table": "integrationEvents"
},
{
"type": "integer",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "receivedAt",
"entityType": "columns",
"table": "integrationEvents"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "id",
"entityType": "columns",
"table": "integrations"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "userId",
"entityType": "columns",
"table": "integrations"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "provider",
"entityType": "columns",
"table": "integrations"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "type",
"entityType": "columns",
"table": "integrations"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "token",
"entityType": "columns",
"table": "integrations"
},
{
"type": "integer",
"notNull": true,
"autoincrement": false,
"default": "true",
"generated": null,
"name": "enabled",
"entityType": "columns",
"table": "integrations"
},
{
"type": "integer",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "createdAt",
"entityType": "columns",
"table": "integrations"
},
{
"type": "integer",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "lastEventAt",
"entityType": "columns",
"table": "integrations"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "id",
"entityType": "columns",
"table": "personFilmography"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "personId",
"entityType": "columns",
"table": "personFilmography"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "titleId",
"entityType": "columns",
"table": "personFilmography"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "character",
"entityType": "columns",
"table": "personFilmography"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": "'Acting'",
"generated": null,
"name": "department",
"entityType": "columns",
"table": "personFilmography"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "job",
"entityType": "columns",
"table": "personFilmography"
},
{
"type": "integer",
"notNull": true,
"autoincrement": false,
"default": "0",
"generated": null,
"name": "displayOrder",
"entityType": "columns",
"table": "personFilmography"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "id",
"entityType": "columns",
"table": "persons"
},
{
"type": "integer",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "tmdbId",
"entityType": "columns",
"table": "persons"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "name",
"entityType": "columns",
"table": "persons"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "biography",
"entityType": "columns",
"table": "persons"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "birthday",
"entityType": "columns",
"table": "persons"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "deathday",
"entityType": "columns",
"table": "persons"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "placeOfBirth",
"entityType": "columns",
"table": "persons"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "profilePath",
"entityType": "columns",
"table": "persons"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "profileThumbHash",
"entityType": "columns",
"table": "persons"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "knownForDepartment",
"entityType": "columns",
"table": "persons"
},
{
"type": "real",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "popularity",
"entityType": "columns",
"table": "persons"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "imdbId",
"entityType": "columns",
"table": "persons"
},
{
"type": "integer",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "lastFetchedAt",
"entityType": "columns",
"table": "persons"
},
{
"type": "integer",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "filmographyLastFetchedAt",
"entityType": "columns",
"table": "persons"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "platformId",
"entityType": "columns",
"table": "platformTmdbIds"
},
{
"type": "integer",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "tmdbProviderId",
"entityType": "columns",
"table": "platformTmdbIds"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "id",
"entityType": "columns",
"table": "platforms"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "name",
"entityType": "columns",
"table": "platforms"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "logoPath",
"entityType": "columns",
"table": "platforms"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "urlTemplate",
"entityType": "columns",
"table": "platforms"
},
{
"type": "integer",
"notNull": true,
"autoincrement": false,
"default": "0",
"generated": null,
"name": "displayOrder",
"entityType": "columns",
"table": "platforms"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "id",
"entityType": "columns",
"table": "seasons"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "titleId",
"entityType": "columns",
"table": "seasons"
},
{
"type": "integer",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "seasonNumber",
"entityType": "columns",
"table": "seasons"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "name",
"entityType": "columns",
"table": "seasons"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "overview",
"entityType": "columns",
"table": "seasons"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "posterPath",
"entityType": "columns",
"table": "seasons"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "posterThumbHash",
"entityType": "columns",
"table": "seasons"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "airDate",
"entityType": "columns",
"table": "seasons"
},
{
"type": "integer",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "lastFetchedAt",
"entityType": "columns",
"table": "seasons"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "id",
"entityType": "columns",
"table": "session"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "userId",
"entityType": "columns",
"table": "session"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "token",
"entityType": "columns",
"table": "session"
},
{
"type": "integer",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "expiresAt",
"entityType": "columns",
"table": "session"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "ipAddress",
"entityType": "columns",
"table": "session"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "userAgent",
"entityType": "columns",
"table": "session"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "impersonatedBy",
"entityType": "columns",
"table": "session"
},
{
"type": "integer",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "createdAt",
"entityType": "columns",
"table": "session"
},
{
"type": "integer",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "updatedAt",
"entityType": "columns",
"table": "session"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "titleId",
"entityType": "columns",
"table": "titleAvailability"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "platformId",
"entityType": "columns",
"table": "titleAvailability"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "offerType",
"entityType": "columns",
"table": "titleAvailability"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": "'US'",
"generated": null,
"name": "region",
"entityType": "columns",
"table": "titleAvailability"
},
{
"type": "integer",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "lastFetchedAt",
"entityType": "columns",
"table": "titleAvailability"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "id",
"entityType": "columns",
"table": "titleCast"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "titleId",
"entityType": "columns",
"table": "titleCast"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "personId",
"entityType": "columns",
"table": "titleCast"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "character",
"entityType": "columns",
"table": "titleCast"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": "'Acting'",
"generated": null,
"name": "department",
"entityType": "columns",
"table": "titleCast"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "job",
"entityType": "columns",
"table": "titleCast"
},
{
"type": "integer",
"notNull": true,
"autoincrement": false,
"default": "0",
"generated": null,
"name": "displayOrder",
"entityType": "columns",
"table": "titleCast"
},
{
"type": "integer",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "episodeCount",
"entityType": "columns",
"table": "titleCast"
},
{
"type": "integer",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "lastFetchedAt",
"entityType": "columns",
"table": "titleCast"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "titleId",
"entityType": "columns",
"table": "titleGenres"
},
{
"type": "integer",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "genreId",
"entityType": "columns",
"table": "titleGenres"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "titleId",
"entityType": "columns",
"table": "titleRecommendations"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "recommendedTitleId",
"entityType": "columns",
"table": "titleRecommendations"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "source",
"entityType": "columns",
"table": "titleRecommendations"
},
{
"type": "integer",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "rank",
"entityType": "columns",
"table": "titleRecommendations"
},
{
"type": "integer",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "lastFetchedAt",
"entityType": "columns",
"table": "titleRecommendations"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "id",
"entityType": "columns",
"table": "titles"
},
{
"type": "integer",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "tmdbId",
"entityType": "columns",
"table": "titles"
},
{
"type": "integer",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "tvdbId",
"entityType": "columns",
"table": "titles"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "type",
"entityType": "columns",
"table": "titles"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "title",
"entityType": "columns",
"table": "titles"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "originalTitle",
"entityType": "columns",
"table": "titles"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "overview",
"entityType": "columns",
"table": "titles"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "releaseDate",
"entityType": "columns",
"table": "titles"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "firstAirDate",
"entityType": "columns",
"table": "titles"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "posterPath",
"entityType": "columns",
"table": "titles"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "posterThumbHash",
"entityType": "columns",
"table": "titles"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "backdropPath",
"entityType": "columns",
"table": "titles"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "backdropThumbHash",
"entityType": "columns",
"table": "titles"
},
{
"type": "real",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "popularity",
"entityType": "columns",
"table": "titles"
},
{
"type": "real",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "voteAverage",
"entityType": "columns",
"table": "titles"
},
{
"type": "integer",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "voteCount",
"entityType": "columns",
"table": "titles"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "status",
"entityType": "columns",
"table": "titles"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "contentRating",
"entityType": "columns",
"table": "titles"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "imdbId",
"entityType": "columns",
"table": "titles"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "originalLanguage",
"entityType": "columns",
"table": "titles"
},
{
"type": "integer",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "runtimeMinutes",
"entityType": "columns",
"table": "titles"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "colorPalette",
"entityType": "columns",
"table": "titles"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "trailerVideoKey",
"entityType": "columns",
"table": "titles"
},
{
"type": "integer",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "lastFetchedAt",
"entityType": "columns",
"table": "titles"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "id",
"entityType": "columns",
"table": "user"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "name",
"entityType": "columns",
"table": "user"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "email",
"entityType": "columns",
"table": "user"
},
{
"type": "integer",
"notNull": true,
"autoincrement": false,
"default": "false",
"generated": null,
"name": "emailVerified",
"entityType": "columns",
"table": "user"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "image",
"entityType": "columns",
"table": "user"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": "'user'",
"generated": null,
"name": "role",
"entityType": "columns",
"table": "user"
},
{
"type": "integer",
"notNull": false,
"autoincrement": false,
"default": "false",
"generated": null,
"name": "banned",
"entityType": "columns",
"table": "user"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "banReason",
"entityType": "columns",
"table": "user"
},
{
"type": "integer",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "banExpires",
"entityType": "columns",
"table": "user"
},
{
"type": "integer",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "createdAt",
"entityType": "columns",
"table": "user"
},
{
"type": "integer",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "updatedAt",
"entityType": "columns",
"table": "user"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "id",
"entityType": "columns",
"table": "userEpisodeWatches"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "userId",
"entityType": "columns",
"table": "userEpisodeWatches"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "episodeId",
"entityType": "columns",
"table": "userEpisodeWatches"
},
{
"type": "integer",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "watchedAt",
"entityType": "columns",
"table": "userEpisodeWatches"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": "'manual'",
"generated": null,
"name": "source",
"entityType": "columns",
"table": "userEpisodeWatches"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "id",
"entityType": "columns",
"table": "userMovieWatches"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "userId",
"entityType": "columns",
"table": "userMovieWatches"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "titleId",
"entityType": "columns",
"table": "userMovieWatches"
},
{
"type": "integer",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "watchedAt",
"entityType": "columns",
"table": "userMovieWatches"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": "'manual'",
"generated": null,
"name": "source",
"entityType": "columns",
"table": "userMovieWatches"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "userId",
"entityType": "columns",
"table": "userPlatforms"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "platformId",
"entityType": "columns",
"table": "userPlatforms"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "userId",
"entityType": "columns",
"table": "userRatings"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "titleId",
"entityType": "columns",
"table": "userRatings"
},
{
"type": "integer",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "ratingStars",
"entityType": "columns",
"table": "userRatings"
},
{
"type": "integer",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "ratedAt",
"entityType": "columns",
"table": "userRatings"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "userId",
"entityType": "columns",
"table": "userTitleStatus"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "titleId",
"entityType": "columns",
"table": "userTitleStatus"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "status",
"entityType": "columns",
"table": "userTitleStatus"
},
{
"type": "integer",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "addedAt",
"entityType": "columns",
"table": "userTitleStatus"
},
{
"type": "integer",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "updatedAt",
"entityType": "columns",
"table": "userTitleStatus"
},
{
"type": "text",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "id",
"entityType": "columns",
"table": "verification"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "identifier",
"entityType": "columns",
"table": "verification"
},
{
"type": "text",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "value",
"entityType": "columns",
"table": "verification"
},
{
"type": "integer",
"notNull": true,
"autoincrement": false,
"default": null,
"generated": null,
"name": "expiresAt",
"entityType": "columns",
"table": "verification"
},
{
"type": "integer",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "createdAt",
"entityType": "columns",
"table": "verification"
},
{
"type": "integer",
"notNull": false,
"autoincrement": false,
"default": null,
"generated": null,
"name": "updatedAt",
"entityType": "columns",
"table": "verification"
},
{
"columns": [
"userId"
],
"tableTo": "user",
"columnsTo": [
"id"
],
"onUpdate": "NO ACTION",
"onDelete": "CASCADE",
"nameExplicit": false,
"name": "fk_account_userId_user_id_fk",
"entityType": "fks",
"table": "account"
},
{
"columns": [
"seasonId"
],
"tableTo": "seasons",
"columnsTo": [
"id"
],
"onUpdate": "NO ACTION",
"onDelete": "CASCADE",
"nameExplicit": false,
"name": "fk_episodes_seasonId_seasons_id_fk",
"entityType": "fks",
"table": "episodes"
},
{
"columns": [
"userId"
],
"tableTo": "user",
"columnsTo": [
"id"
],
"onUpdate": "NO ACTION",
"onDelete": "CASCADE",
"nameExplicit": false,
"name": "fk_importJobs_userId_user_id_fk",
"entityType": "fks",
"table": "importJobs"
},
{
"columns": [
"integrationId"
],
"tableTo": "integrations",
"columnsTo": [
"id"
],
"onUpdate": "NO ACTION",
"onDelete": "CASCADE",
"nameExplicit": false,
"name": "fk_integrationEvents_integrationId_integrations_id_fk",
"entityType": "fks",
"table": "integrationEvents"
},
{
"columns": [
"userId"
],
"tableTo": "user",
"columnsTo": [
"id"
],
"onUpdate": "NO ACTION",
"onDelete": "CASCADE",
"nameExplicit": false,
"name": "fk_integrations_userId_user_id_fk",
"entityType": "fks",
"table": "integrations"
},
{
"columns": [
"personId"
],
"tableTo": "persons",
"columnsTo": [
"id"
],
"onUpdate": "NO ACTION",
"onDelete": "CASCADE",
"nameExplicit": false,
"name": "fk_personFilmography_personId_persons_id_fk",
"entityType": "fks",
"table": "personFilmography"
},
{
"columns": [
"titleId"
],
"tableTo": "titles",
"columnsTo": [
"id"
],
"onUpdate": "NO ACTION",
"onDelete": "CASCADE",
"nameExplicit": false,
"name": "fk_personFilmography_titleId_titles_id_fk",
"entityType": "fks",
"table": "personFilmography"
},
{
"columns": [
"platformId"
],
"tableTo": "platforms",
"columnsTo": [
"id"
],
"onUpdate": "NO ACTION",
"onDelete": "CASCADE",
"nameExplicit": false,
"name": "fk_platformTmdbIds_platformId_platforms_id_fk",
"entityType": "fks",
"table": "platformTmdbIds"
},
{
"columns": [
"titleId"
],
"tableTo": "titles",
"columnsTo": [
"id"
],
"onUpdate": "NO ACTION",
"onDelete": "CASCADE",
"nameExplicit": false,
"name": "fk_seasons_titleId_titles_id_fk",
"entityType": "fks",
"table": "seasons"
},
{
"columns": [
"userId"
],
"tableTo": "user",
"columnsTo": [
"id"
],
"onUpdate": "NO ACTION",
"onDelete": "CASCADE",
"nameExplicit": false,
"name": "fk_session_userId_user_id_fk",
"entityType": "fks",
"table": "session"
},
{
"columns": [
"titleId"
],
"tableTo": "titles",
"columnsTo": [
"id"
],
"onUpdate": "NO ACTION",
"onDelete": "CASCADE",
"nameExplicit": false,
"name": "fk_titleAvailability_titleId_titles_id_fk",
"entityType": "fks",
"table": "titleAvailability"
},
{
"columns": [
"platformId"
],
"tableTo": "platforms",
"columnsTo": [
"id"
],
"onUpdate": "NO ACTION",
"onDelete": "CASCADE",
"nameExplicit": false,
"name": "fk_titleAvailability_platformId_platforms_id_fk",
"entityType": "fks",
"table": "titleAvailability"
},
{
"columns": [
"titleId"
],
"tableTo": "titles",
"columnsTo": [
"id"
],
"onUpdate": "NO ACTION",
"onDelete": "CASCADE",
"nameExplicit": false,
"name": "fk_titleCast_titleId_titles_id_fk",
"entityType": "fks",
"table": "titleCast"
},
{
"columns": [
"personId"
],
"tableTo": "persons",
"columnsTo": [
"id"
],
"onUpdate": "NO ACTION",
"onDelete": "CASCADE",
"nameExplicit": false,
"name": "fk_titleCast_personId_persons_id_fk",
"entityType": "fks",
"table": "titleCast"
},
{
"columns": [
"titleId"
],
"tableTo": "titles",
"columnsTo": [
"id"
],
"onUpdate": "NO ACTION",
"onDelete": "CASCADE",
"nameExplicit": false,
"name": "fk_titleGenres_titleId_titles_id_fk",
"entityType": "fks",
"table": "titleGenres"
},
{
"columns": [
"genreId"
],
"tableTo": "genres",
"columnsTo": [
"id"
],
"onUpdate": "NO ACTION",
"onDelete": "CASCADE",
"nameExplicit": false,
"name": "fk_titleGenres_genreId_genres_id_fk",
"entityType": "fks",
"table": "titleGenres"
},
{
"columns": [
"titleId"
],
"tableTo": "titles",
"columnsTo": [
"id"
],
"onUpdate": "NO ACTION",
"onDelete": "CASCADE",
"nameExplicit": false,
"name": "fk_titleRecommendations_titleId_titles_id_fk",
"entityType": "fks",
"table": "titleRecommendations"
},
{
"columns": [
"recommendedTitleId"
],
"tableTo": "titles",
"columnsTo": [
"id"
],
"onUpdate": "NO ACTION",
"onDelete": "CASCADE",
"nameExplicit": false,
"name": "fk_titleRecommendations_recommendedTitleId_titles_id_fk",
"entityType": "fks",
"table": "titleRecommendations"
},
{
"columns": [
"userId"
],
"tableTo": "user",
"columnsTo": [
"id"
],
"onUpdate": "NO ACTION",
"onDelete": "CASCADE",
"nameExplicit": false,
"name": "fk_userEpisodeWatches_userId_user_id_fk",
"entityType": "fks",
"table": "userEpisodeWatches"
},
{
"columns": [
"episodeId"
],
"tableTo": "episodes",
"columnsTo": [
"id"
],
"onUpdate": "NO ACTION",
"onDelete": "CASCADE",
"nameExplicit": false,
"name": "fk_userEpisodeWatches_episodeId_episodes_id_fk",
"entityType": "fks",
"table": "userEpisodeWatches"
},
{
"columns": [
"userId"
],
"tableTo": "user",
"columnsTo": [
"id"
],
"onUpdate": "NO ACTION",
"onDelete": "CASCADE",
"nameExplicit": false,
"name": "fk_userMovieWatches_userId_user_id_fk",
"entityType": "fks",
"table": "userMovieWatches"
},
{
"columns": [
"titleId"
],
"tableTo": "titles",
"columnsTo": [
"id"
],
"onUpdate": "NO ACTION",
"onDelete": "CASCADE",
"nameExplicit": false,
"name": "fk_userMovieWatches_titleId_titles_id_fk",
"entityType": "fks",
"table": "userMovieWatches"
},
{
"columns": [
"userId"
],
"tableTo": "user",
"columnsTo": [
"id"
],
"onUpdate": "NO ACTION",
"onDelete": "CASCADE",
"nameExplicit": false,
"name": "fk_userPlatforms_userId_user_id_fk",
"entityType": "fks",
"table": "userPlatforms"
},
{
"columns": [
"platformId"
],
"tableTo": "platforms",
"columnsTo": [
"id"
],
"onUpdate": "NO ACTION",
"onDelete": "CASCADE",
"nameExplicit": false,
"name": "fk_userPlatforms_platformId_platforms_id_fk",
"entityType": "fks",
"table": "userPlatforms"
},
{
"columns": [
"userId"
],
"tableTo": "user",
"columnsTo": [
"id"
],
"onUpdate": "NO ACTION",
"onDelete": "CASCADE",
"nameExplicit": false,
"name": "fk_userRatings_userId_user_id_fk",
"entityType": "fks",
"table": "userRatings"
},
{
"columns": [
"titleId"
],
"tableTo": "titles",
"columnsTo": [
"id"
],
"onUpdate": "NO ACTION",
"onDelete": "CASCADE",
"nameExplicit": false,
"name": "fk_userRatings_titleId_titles_id_fk",
"entityType": "fks",
"table": "userRatings"
},
{
"columns": [
"userId"
],
"tableTo": "user",
"columnsTo": [
"id"
],
"onUpdate": "NO ACTION",
"onDelete": "CASCADE",
"nameExplicit": false,
"name": "fk_userTitleStatus_userId_user_id_fk",
"entityType": "fks",
"table": "userTitleStatus"
},
{
"columns": [
"titleId"
],
"tableTo": "titles",
"columnsTo": [
"id"
],
"onUpdate": "NO ACTION",
"onDelete": "CASCADE",
"nameExplicit": false,
"name": "fk_userTitleStatus_titleId_titles_id_fk",
"entityType": "fks",
"table": "userTitleStatus"
},
{
"columns": [
"id"
],
"nameExplicit": false,
"name": "account_pk",
"table": "account",
"entityType": "pks"
},
{
"columns": [
"key"
],
"nameExplicit": false,
"name": "appSettings_pk",
"table": "appSettings",
"entityType": "pks"
},
{
"columns": [
"id"
],
"nameExplicit": false,
"name": "cronRuns_pk",
"table": "cronRuns",
"entityType": "pks"
},
{
"columns": [
"id"
],
"nameExplicit": false,
"name": "episodes_pk",
"table": "episodes",
"entityType": "pks"
},
{
"columns": [
"id"
],
"nameExplicit": false,
"name": "genres_pk",
"table": "genres",
"entityType": "pks"
},
{
"columns": [
"id"
],
"nameExplicit": false,
"name": "importJobs_pk",
"table": "importJobs",
"entityType": "pks"
},
{
"columns": [
"id"
],
"nameExplicit": false,
"name": "integrationEvents_pk",
"table": "integrationEvents",
"entityType": "pks"
},
{
"columns": [
"id"
],
"nameExplicit": false,
"name": "integrations_pk",
"table": "integrations",
"entityType": "pks"
},
{
"columns": [
"id"
],
"nameExplicit": false,
"name": "personFilmography_pk",
"table": "personFilmography",
"entityType": "pks"
},
{
"columns": [
"id"
],
"nameExplicit": false,
"name": "persons_pk",
"table": "persons",
"entityType": "pks"
},
{
"columns": [
"id"
],
"nameExplicit": false,
"name": "platforms_pk",
"table": "platforms",
"entityType": "pks"
},
{
"columns": [
"id"
],
"nameExplicit": false,
"name": "seasons_pk",
"table": "seasons",
"entityType": "pks"
},
{
"columns": [
"id"
],
"nameExplicit": false,
"name": "session_pk",
"table": "session",
"entityType": "pks"
},
{
"columns": [
"id"
],
"nameExplicit": false,
"name": "titleCast_pk",
"table": "titleCast",
"entityType": "pks"
},
{
"columns": [
"id"
],
"nameExplicit": false,
"name": "titles_pk",
"table": "titles",
"entityType": "pks"
},
{
"columns": [
"id"
],
"nameExplicit": false,
"name": "user_pk",
"table": "user",
"entityType": "pks"
},
{
"columns": [
"id"
],
"nameExplicit": false,
"name": "userEpisodeWatches_pk",
"table": "userEpisodeWatches",
"entityType": "pks"
},
{
"columns": [
"id"
],
"nameExplicit": false,
"name": "userMovieWatches_pk",
"table": "userMovieWatches",
"entityType": "pks"
},
{
"columns": [
"id"
],
"nameExplicit": false,
"name": "verification_pk",
"table": "verification",
"entityType": "pks"
},
{
"columns": [
{
"value": "jobName",
"isExpression": false
},
{
"value": "startedAt",
"isExpression": false
}
],
"isUnique": false,
"where": null,
"origin": "manual",
"name": "cronRuns_jobName_startedAt",
"entityType": "indexes",
"table": "cronRuns"
},
{
"columns": [
{
"value": "seasonId",
"isExpression": false
},
{
"value": "episodeNumber",
"isExpression": false
}
],
"isUnique": true,
"where": null,
"origin": "manual",
"name": "episodes_seasonId_episodeNumber",
"entityType": "indexes",
"table": "episodes"
},
{
"columns": [
{
"value": "airDate",
"isExpression": false
}
],
"isUnique": false,
"where": null,
"origin": "manual",
"name": "episodes_airDate",
"entityType": "indexes",
"table": "episodes"
},
{
"columns": [
{
"value": "userId",
"isExpression": false
},
{
"value": "createdAt",
"isExpression": false
}
],
"isUnique": false,
"where": null,
"origin": "manual",
"name": "importJobs_userId_createdAt",
"entityType": "indexes",
"table": "importJobs"
},
{
"columns": [
{
"value": "status",
"isExpression": false
}
],
"isUnique": false,
"where": null,
"origin": "manual",
"name": "importJobs_status",
"entityType": "indexes",
"table": "importJobs"
},
{
"columns": [
{
"value": "userId",
"isExpression": false
}
],
"isUnique": true,
"where": "\"importJobs\".\"status\" in ('pending', 'running')",
"origin": "manual",
"name": "importJobs_active_user",
"entityType": "indexes",
"table": "importJobs"
},
{
"columns": [
{
"value": "integrationId",
"isExpression": false
},
{
"value": "receivedAt",
"isExpression": false
}
],
"isUnique": false,
"where": null,
"origin": "manual",
"name": "integrationEvents_integrationId_receivedAt",
"entityType": "indexes",
"table": "integrationEvents"
},
{
"columns": [
{
"value": "userId",
"isExpression": false
},
{
"value": "provider",
"isExpression": false
}
],
"isUnique": true,
"where": null,
"origin": "manual",
"name": "integrations_userId_provider",
"entityType": "indexes",
"table": "integrations"
},
{
"columns": [
{
"value": "token",
"isExpression": false
}
],
"isUnique": true,
"where": null,
"origin": "manual",
"name": "integrations_token",
"entityType": "indexes",
"table": "integrations"
},
{
"columns": [
{
"value": "personId",
"isExpression": false
},
{
"value": "displayOrder",
"isExpression": false
}
],
"isUnique": false,
"where": null,
"origin": "manual",
"name": "personFilmography_personId_displayOrder",
"entityType": "indexes",
"table": "personFilmography"
},
{
"columns": [
{
"value": "titleId",
"isExpression": false
}
],
"isUnique": false,
"where": null,
"origin": "manual",
"name": "personFilmography_titleId",
"entityType": "indexes",
"table": "personFilmography"
},
{
"columns": [
{
"value": "tmdbId",
"isExpression": false
}
],
"isUnique": true,
"where": null,
"origin": "manual",
"name": "persons_tmdbId_unique",
"entityType": "indexes",
"table": "persons"
},
{
"columns": [
{
"value": "name",
"isExpression": false
}
],
"isUnique": false,
"where": null,
"origin": "manual",
"name": "persons_name",
"entityType": "indexes",
"table": "persons"
},
{
"columns": [
{
"value": "tmdbProviderId",
"isExpression": false
}
],
"isUnique": true,
"where": null,
"origin": "manual",
"name": "platformTmdbIds_tmdbProviderId_unique",
"entityType": "indexes",
"table": "platformTmdbIds"
},
{
"columns": [
{
"value": "platformId",
"isExpression": false
}
],
"isUnique": false,
"where": null,
"origin": "manual",
"name": "platformTmdbIds_platformId",
"entityType": "indexes",
"table": "platformTmdbIds"
},
{
"columns": [
{
"value": "displayOrder",
"isExpression": false
}
],
"isUnique": false,
"where": null,
"origin": "manual",
"name": "platforms_displayOrder",
"entityType": "indexes",
"table": "platforms"
},
{
"columns": [
{
"value": "titleId",
"isExpression": false
},
{
"value": "seasonNumber",
"isExpression": false
}
],
"isUnique": true,
"where": null,
"origin": "manual",
"name": "seasons_titleId_seasonNumber",
"entityType": "indexes",
"table": "seasons"
},
{
"columns": [
{
"value": "titleId",
"isExpression": false
},
{
"value": "platformId",
"isExpression": false
},
{
"value": "offerType",
"isExpression": false
},
{
"value": "region",
"isExpression": false
}
],
"isUnique": true,
"where": null,
"origin": "manual",
"name": "titleAvailability_unique",
"entityType": "indexes",
"table": "titleAvailability"
},
{
"columns": [
{
"value": "titleId",
"isExpression": false
}
],
"isUnique": false,
"where": null,
"origin": "manual",
"name": "titleAvailability_titleId",
"entityType": "indexes",
"table": "titleAvailability"
},
{
"columns": [
{
"value": "platformId",
"isExpression": false
}
],
"isUnique": false,
"where": null,
"origin": "manual",
"name": "titleAvailability_platformId",
"entityType": "indexes",
"table": "titleAvailability"
},
{
"columns": [
{
"value": "titleId",
"isExpression": false
},
{
"value": "personId",
"isExpression": false
},
{
"value": "department",
"isExpression": false
},
{
"value": "character",
"isExpression": false
}
],
"isUnique": true,
"where": null,
"origin": "manual",
"name": "titleCast_unique",
"entityType": "indexes",
"table": "titleCast"
},
{
"columns": [
{
"value": "titleId",
"isExpression": false
},
{
"value": "displayOrder",
"isExpression": false
}
],
"isUnique": false,
"where": null,
"origin": "manual",
"name": "titleCast_titleId_displayOrder",
"entityType": "indexes",
"table": "titleCast"
},
{
"columns": [
{
"value": "personId",
"isExpression": false
}
],
"isUnique": false,
"where": null,
"origin": "manual",
"name": "titleCast_personId",
"entityType": "indexes",
"table": "titleCast"
},
{
"columns": [
{
"value": "titleId",
"isExpression": false
},
{
"value": "genreId",
"isExpression": false
}
],
"isUnique": true,
"where": null,
"origin": "manual",
"name": "titleGenres_titleId_genreId",
"entityType": "indexes",
"table": "titleGenres"
},
{
"columns": [
{
"value": "genreId",
"isExpression": false
}
],
"isUnique": false,
"where": null,
"origin": "manual",
"name": "titleGenres_genreId",
"entityType": "indexes",
"table": "titleGenres"
},
{
"columns": [
{
"value": "titleId",
"isExpression": false
},
{
"value": "recommendedTitleId",
"isExpression": false
},
{
"value": "source",
"isExpression": false
}
],
"isUnique": true,
"where": null,
"origin": "manual",
"name": "titleRecommendations_unique",
"entityType": "indexes",
"table": "titleRecommendations"
},
{
"columns": [
{
"value": "titleId",
"isExpression": false
},
{
"value": "rank",
"isExpression": false
}
],
"isUnique": false,
"where": null,
"origin": "manual",
"name": "titleRecommendations_titleId_rank",
"entityType": "indexes",
"table": "titleRecommendations"
},
{
"columns": [
{
"value": "tmdbId",
"isExpression": false
},
{
"value": "type",
"isExpression": false
}
],
"isUnique": true,
"where": null,
"origin": "manual",
"name": "titles_tmdbId_type_unique",
"entityType": "indexes",
"table": "titles"
},
{
"columns": [
{
"value": "type",
"isExpression": false
},
{
"value": "releaseDate",
"isExpression": false
}
],
"isUnique": false,
"where": null,
"origin": "manual",
"name": "titles_type_releaseDate",
"entityType": "indexes",
"table": "titles"
},
{
"columns": [
{
"value": "type",
"isExpression": false
},
{
"value": "firstAirDate",
"isExpression": false
}
],
"isUnique": false,
"where": null,
"origin": "manual",
"name": "titles_type_firstAirDate",
"entityType": "indexes",
"table": "titles"
},
{
"columns": [
{
"value": "lastFetchedAt",
"isExpression": false
}
],
"isUnique": false,
"where": null,
"origin": "manual",
"name": "titles_lastFetchedAt",
"entityType": "indexes",
"table": "titles"
},
{
"columns": [
{
"value": "type",
"isExpression": false
},
{
"value": "status",
"isExpression": false
},
{
"value": "lastFetchedAt",
"isExpression": false
}
],
"isUnique": false,
"where": null,
"origin": "manual",
"name": "titles_type_status_lastFetchedAt",
"entityType": "indexes",
"table": "titles"
},
{
"columns": [
{
"value": "userId",
"isExpression": false
},
{
"value": "watchedAt",
"isExpression": false
}
],
"isUnique": false,
"where": null,
"origin": "manual",
"name": "userEpisodeWatches_userId_watchedAt",
"entityType": "indexes",
"table": "userEpisodeWatches"
},
{
"columns": [
{
"value": "episodeId",
"isExpression": false
}
],
"isUnique": false,
"where": null,
"origin": "manual",
"name": "userEpisodeWatches_episodeId",
"entityType": "indexes",
"table": "userEpisodeWatches"
},
{
"columns": [
{
"value": "userId",
"isExpression": false
},
{
"value": "episodeId",
"isExpression": false
}
],
"isUnique": false,
"where": null,
"origin": "manual",
"name": "userEpisodeWatches_userId_episodeId",
"entityType": "indexes",
"table": "userEpisodeWatches"
},
{
"columns": [
{
"value": "userId",
"isExpression": false
},
{
"value": "watchedAt",
"isExpression": false
}
],
"isUnique": false,
"where": null,
"origin": "manual",
"name": "userMovieWatches_userId_watchedAt",
"entityType": "indexes",
"table": "userMovieWatches"
},
{
"columns": [
{
"value": "titleId",
"isExpression": false
}
],
"isUnique": false,
"where": null,
"origin": "manual",
"name": "userMovieWatches_titleId",
"entityType": "indexes",
"table": "userMovieWatches"
},
{
"columns": [
{
"value": "userId",
"isExpression": false
},
{
"value": "titleId",
"isExpression": false
}
],
"isUnique": false,
"where": null,
"origin": "manual",
"name": "userMovieWatches_userId_titleId",
"entityType": "indexes",
"table": "userMovieWatches"
},
{
"columns": [
{
"value": "userId",
"isExpression": false
},
{
"value": "platformId",
"isExpression": false
}
],
"isUnique": true,
"where": null,
"origin": "manual",
"name": "userPlatforms_userId_platformId",
"entityType": "indexes",
"table": "userPlatforms"
},
{
"columns": [
{
"value": "userId",
"isExpression": false
}
],
"isUnique": false,
"where": null,
"origin": "manual",
"name": "userPlatforms_userId",
"entityType": "indexes",
"table": "userPlatforms"
},
{
"columns": [
{
"value": "userId",
"isExpression": false
},
{
"value": "titleId",
"isExpression": false
}
],
"isUnique": true,
"where": null,
"origin": "manual",
"name": "userRatings_userId_titleId",
"entityType": "indexes",
"table": "userRatings"
},
{
"columns": [
{
"value": "userId",
"isExpression": false
},
{
"value": "titleId",
"isExpression": false
}
],
"isUnique": true,
"where": null,
"origin": "manual",
"name": "userTitleStatus_userId_titleId",
"entityType": "indexes",
"table": "userTitleStatus"
},
{
"columns": [
{
"value": "userId",
"isExpression": false
},
{
"value": "status",
"isExpression": false
}
],
"isUnique": false,
"where": null,
"origin": "manual",
"name": "userTitleStatus_userId_status",
"entityType": "indexes",
"table": "userTitleStatus"
},
{
"columns": [
"token"
],
"nameExplicit": false,
"name": "session_token_unique",
"entityType": "uniques",
"table": "session"
},
{
"columns": [
"email"
],
"nameExplicit": false,
"name": "user_email_unique",
"entityType": "uniques",
"table": "user"
}
],
"renames": []
}