diff options
Diffstat (limited to 'Jellyfin.Database/Jellyfin.Database.Providers.PgSql/Migrations/20250127174201_InitMigration.cs')
| -rw-r--r-- | Jellyfin.Database/Jellyfin.Database.Providers.PgSql/Migrations/20250127174201_InitMigration.cs | 1106 |
1 files changed, 0 insertions, 1106 deletions
diff --git a/Jellyfin.Database/Jellyfin.Database.Providers.PgSql/Migrations/20250127174201_InitMigration.cs b/Jellyfin.Database/Jellyfin.Database.Providers.PgSql/Migrations/20250127174201_InitMigration.cs deleted file mode 100644 index ad1d28b13..000000000 --- a/Jellyfin.Database/Jellyfin.Database.Providers.PgSql/Migrations/20250127174201_InitMigration.cs +++ /dev/null @@ -1,1106 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore.Migrations; -using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; - -#nullable disable - -namespace Jellyfin.Database.Providers.PgSql.Migrations -{ - /// <inheritdoc /> - public partial class InitMigration : Migration - { - /// <inheritdoc /> - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.CreateTable( - name: "ActivityLogs", - columns: table => new - { - Id = table.Column<int>(type: "integer", nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - Name = table.Column<string>(type: "character varying(512)", maxLength: 512, nullable: false), - Overview = table.Column<string>(type: "character varying(512)", maxLength: 512, nullable: true), - ShortOverview = table.Column<string>(type: "character varying(512)", maxLength: 512, nullable: true), - Type = table.Column<string>(type: "character varying(256)", maxLength: 256, nullable: false), - UserId = table.Column<Guid>(type: "uuid", nullable: false), - ItemId = table.Column<string>(type: "character varying(256)", maxLength: 256, nullable: true), - DateCreated = table.Column<DateTime>(type: "timestamp with time zone", nullable: false), - LogSeverity = table.Column<int>(type: "integer", nullable: false), - RowVersion = table.Column<long>(type: "bigint", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_ActivityLogs", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "ApiKeys", - columns: table => new - { - Id = table.Column<int>(type: "integer", nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - DateCreated = table.Column<DateTime>(type: "timestamp with time zone", nullable: false), - DateLastActivity = table.Column<DateTime>(type: "timestamp with time zone", nullable: false), - Name = table.Column<string>(type: "character varying(64)", maxLength: 64, nullable: false), - AccessToken = table.Column<string>(type: "text", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_ApiKeys", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "BaseItems", - columns: table => new - { - Id = table.Column<Guid>(type: "uuid", nullable: false), - Type = table.Column<string>(type: "text", nullable: false), - Data = table.Column<string>(type: "text", nullable: true), - Path = table.Column<string>(type: "text", nullable: true), - StartDate = table.Column<DateTime>(type: "timestamp with time zone", nullable: false), - EndDate = table.Column<DateTime>(type: "timestamp with time zone", nullable: false), - ChannelId = table.Column<string>(type: "text", nullable: true), - IsMovie = table.Column<bool>(type: "boolean", nullable: false), - CommunityRating = table.Column<float>(type: "real", nullable: true), - CustomRating = table.Column<string>(type: "text", nullable: true), - IndexNumber = table.Column<int>(type: "integer", nullable: true), - IsLocked = table.Column<bool>(type: "boolean", nullable: false), - Name = table.Column<string>(type: "text", nullable: true), - OfficialRating = table.Column<string>(type: "text", nullable: true), - MediaType = table.Column<string>(type: "text", nullable: true), - Overview = table.Column<string>(type: "text", nullable: true), - ParentIndexNumber = table.Column<int>(type: "integer", nullable: true), - PremiereDate = table.Column<DateTime>(type: "timestamp with time zone", nullable: true), - ProductionYear = table.Column<int>(type: "integer", nullable: true), - Genres = table.Column<string>(type: "text", nullable: true), - SortName = table.Column<string>(type: "text", nullable: true), - ForcedSortName = table.Column<string>(type: "text", nullable: true), - RunTimeTicks = table.Column<long>(type: "bigint", nullable: true), - DateCreated = table.Column<DateTime>(type: "timestamp with time zone", nullable: true), - DateModified = table.Column<DateTime>(type: "timestamp with time zone", nullable: true), - IsSeries = table.Column<bool>(type: "boolean", nullable: false), - EpisodeTitle = table.Column<string>(type: "text", nullable: true), - IsRepeat = table.Column<bool>(type: "boolean", nullable: false), - PreferredMetadataLanguage = table.Column<string>(type: "text", nullable: true), - PreferredMetadataCountryCode = table.Column<string>(type: "text", nullable: true), - DateLastRefreshed = table.Column<DateTime>(type: "timestamp with time zone", nullable: true), - DateLastSaved = table.Column<DateTime>(type: "timestamp with time zone", nullable: true), - IsInMixedFolder = table.Column<bool>(type: "boolean", nullable: false), - Studios = table.Column<string>(type: "text", nullable: true), - ExternalServiceId = table.Column<string>(type: "text", nullable: true), - Tags = table.Column<string>(type: "text", nullable: true), - IsFolder = table.Column<bool>(type: "boolean", nullable: false), - InheritedParentalRatingValue = table.Column<int>(type: "integer", nullable: true), - UnratedType = table.Column<string>(type: "text", nullable: true), - CriticRating = table.Column<float>(type: "real", nullable: true), - CleanName = table.Column<string>(type: "text", nullable: true), - PresentationUniqueKey = table.Column<string>(type: "text", nullable: true), - OriginalTitle = table.Column<string>(type: "text", nullable: true), - PrimaryVersionId = table.Column<string>(type: "text", nullable: true), - DateLastMediaAdded = table.Column<DateTime>(type: "timestamp with time zone", nullable: true), - Album = table.Column<string>(type: "text", nullable: true), - LUFS = table.Column<float>(type: "real", nullable: true), - NormalizationGain = table.Column<float>(type: "real", nullable: true), - IsVirtualItem = table.Column<bool>(type: "boolean", nullable: false), - SeriesName = table.Column<string>(type: "text", nullable: true), - SeasonName = table.Column<string>(type: "text", nullable: true), - ExternalSeriesId = table.Column<string>(type: "text", nullable: true), - Tagline = table.Column<string>(type: "text", nullable: true), - ProductionLocations = table.Column<string>(type: "text", nullable: true), - ExtraIds = table.Column<string>(type: "text", nullable: true), - TotalBitrate = table.Column<int>(type: "integer", nullable: true), - ExtraType = table.Column<int>(type: "integer", nullable: true), - Artists = table.Column<string>(type: "text", nullable: true), - AlbumArtists = table.Column<string>(type: "text", nullable: true), - ExternalId = table.Column<string>(type: "text", nullable: true), - SeriesPresentationUniqueKey = table.Column<string>(type: "text", nullable: true), - ShowId = table.Column<string>(type: "text", nullable: true), - OwnerId = table.Column<string>(type: "text", nullable: true), - Width = table.Column<int>(type: "integer", nullable: true), - Height = table.Column<int>(type: "integer", nullable: true), - Size = table.Column<long>(type: "bigint", nullable: true), - Audio = table.Column<int>(type: "integer", nullable: true), - ParentId = table.Column<Guid>(type: "uuid", nullable: true), - TopParentId = table.Column<Guid>(type: "uuid", nullable: true), - SeasonId = table.Column<Guid>(type: "uuid", nullable: true), - SeriesId = table.Column<Guid>(type: "uuid", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_BaseItems", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "CustomItemDisplayPreferences", - columns: table => new - { - Id = table.Column<int>(type: "integer", nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - UserId = table.Column<Guid>(type: "uuid", nullable: false), - ItemId = table.Column<Guid>(type: "uuid", nullable: false), - Client = table.Column<string>(type: "character varying(32)", maxLength: 32, nullable: false), - Key = table.Column<string>(type: "text", nullable: false), - Value = table.Column<string>(type: "text", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_CustomItemDisplayPreferences", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "DeviceOptions", - columns: table => new - { - Id = table.Column<int>(type: "integer", nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - DeviceId = table.Column<string>(type: "text", nullable: false), - CustomName = table.Column<string>(type: "text", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_DeviceOptions", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "ItemValues", - columns: table => new - { - ItemValueId = table.Column<Guid>(type: "uuid", nullable: false), - Type = table.Column<int>(type: "integer", nullable: false), - Value = table.Column<string>(type: "text", nullable: false), - CleanValue = table.Column<string>(type: "text", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_ItemValues", x => x.ItemValueId); - }); - - migrationBuilder.CreateTable( - name: "MediaSegments", - columns: table => new - { - Id = table.Column<Guid>(type: "uuid", nullable: false), - ItemId = table.Column<Guid>(type: "uuid", nullable: false), - Type = table.Column<int>(type: "integer", nullable: false), - EndTicks = table.Column<long>(type: "bigint", nullable: false), - StartTicks = table.Column<long>(type: "bigint", nullable: false), - SegmentProviderId = table.Column<string>(type: "text", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_MediaSegments", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "Peoples", - columns: table => new - { - Id = table.Column<Guid>(type: "uuid", nullable: false), - Name = table.Column<string>(type: "text", nullable: false), - PersonType = table.Column<string>(type: "text", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_Peoples", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "TrickplayInfos", - columns: table => new - { - ItemId = table.Column<Guid>(type: "uuid", nullable: false), - Width = table.Column<int>(type: "integer", nullable: false), - Height = table.Column<int>(type: "integer", nullable: false), - TileWidth = table.Column<int>(type: "integer", nullable: false), - TileHeight = table.Column<int>(type: "integer", nullable: false), - ThumbnailCount = table.Column<int>(type: "integer", nullable: false), - Interval = table.Column<int>(type: "integer", nullable: false), - Bandwidth = table.Column<int>(type: "integer", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_TrickplayInfos", x => new { x.ItemId, x.Width }); - }); - - migrationBuilder.CreateTable( - name: "Users", - columns: table => new - { - Id = table.Column<Guid>(type: "uuid", nullable: false), - Username = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false), - Password = table.Column<string>(type: "character varying(65535)", maxLength: 65535, nullable: true), - MustUpdatePassword = table.Column<bool>(type: "boolean", nullable: false), - AudioLanguagePreference = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: true), - AuthenticationProviderId = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false), - PasswordResetProviderId = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false), - InvalidLoginAttemptCount = table.Column<int>(type: "integer", nullable: false), - LastActivityDate = table.Column<DateTime>(type: "timestamp with time zone", nullable: true), - LastLoginDate = table.Column<DateTime>(type: "timestamp with time zone", nullable: true), - LoginAttemptsBeforeLockout = table.Column<int>(type: "integer", nullable: true), - MaxActiveSessions = table.Column<int>(type: "integer", nullable: false), - SubtitleMode = table.Column<int>(type: "integer", nullable: false), - PlayDefaultAudioTrack = table.Column<bool>(type: "boolean", nullable: false), - SubtitleLanguagePreference = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: true), - DisplayMissingEpisodes = table.Column<bool>(type: "boolean", nullable: false), - DisplayCollectionsView = table.Column<bool>(type: "boolean", nullable: false), - EnableLocalPassword = table.Column<bool>(type: "boolean", nullable: false), - HidePlayedInLatest = table.Column<bool>(type: "boolean", nullable: false), - RememberAudioSelections = table.Column<bool>(type: "boolean", nullable: false), - RememberSubtitleSelections = table.Column<bool>(type: "boolean", nullable: false), - EnableNextEpisodeAutoPlay = table.Column<bool>(type: "boolean", nullable: false), - EnableAutoLogin = table.Column<bool>(type: "boolean", nullable: false), - EnableUserPreferenceAccess = table.Column<bool>(type: "boolean", nullable: false), - MaxParentalAgeRating = table.Column<int>(type: "integer", nullable: true), - RemoteClientBitrateLimit = table.Column<int>(type: "integer", nullable: true), - InternalId = table.Column<long>(type: "bigint", nullable: false), - SyncPlayAccess = table.Column<int>(type: "integer", nullable: false), - CastReceiverId = table.Column<string>(type: "character varying(32)", maxLength: 32, nullable: true), - RowVersion = table.Column<long>(type: "bigint", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_Users", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "AncestorIds", - columns: table => new - { - ParentItemId = table.Column<Guid>(type: "uuid", nullable: false), - ItemId = table.Column<Guid>(type: "uuid", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_AncestorIds", x => new { x.ItemId, x.ParentItemId }); - table.ForeignKey( - name: "FK_AncestorIds_BaseItems_ItemId", - column: x => x.ItemId, - principalTable: "BaseItems", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_AncestorIds_BaseItems_ParentItemId", - column: x => x.ParentItemId, - principalTable: "BaseItems", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "AttachmentStreamInfos", - columns: table => new - { - ItemId = table.Column<Guid>(type: "uuid", nullable: false), - Index = table.Column<int>(type: "integer", nullable: false), - Codec = table.Column<string>(type: "text", nullable: false), - CodecTag = table.Column<string>(type: "text", nullable: true), - Comment = table.Column<string>(type: "text", nullable: true), - Filename = table.Column<string>(type: "text", nullable: true), - MimeType = table.Column<string>(type: "text", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AttachmentStreamInfos", x => new { x.ItemId, x.Index }); - table.ForeignKey( - name: "FK_AttachmentStreamInfos_BaseItems_ItemId", - column: x => x.ItemId, - principalTable: "BaseItems", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "BaseItemImageInfos", - columns: table => new - { - Id = table.Column<Guid>(type: "uuid", nullable: false), - Path = table.Column<string>(type: "text", nullable: false), - DateModified = table.Column<DateTime>(type: "timestamp with time zone", nullable: false), - ImageType = table.Column<int>(type: "integer", nullable: false), - Width = table.Column<int>(type: "integer", nullable: false), - Height = table.Column<int>(type: "integer", nullable: false), - Blurhash = table.Column<byte[]>(type: "bytea", nullable: true), - ItemId = table.Column<Guid>(type: "uuid", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_BaseItemImageInfos", x => x.Id); - table.ForeignKey( - name: "FK_BaseItemImageInfos_BaseItems_ItemId", - column: x => x.ItemId, - principalTable: "BaseItems", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "BaseItemMetadataFields", - columns: table => new - { - Id = table.Column<int>(type: "integer", nullable: false), - ItemId = table.Column<Guid>(type: "uuid", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_BaseItemMetadataFields", x => new { x.Id, x.ItemId }); - table.ForeignKey( - name: "FK_BaseItemMetadataFields_BaseItems_ItemId", - column: x => x.ItemId, - principalTable: "BaseItems", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "BaseItemProviders", - columns: table => new - { - ItemId = table.Column<Guid>(type: "uuid", nullable: false), - ProviderId = table.Column<string>(type: "text", nullable: false), - ProviderValue = table.Column<string>(type: "text", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_BaseItemProviders", x => new { x.ItemId, x.ProviderId }); - table.ForeignKey( - name: "FK_BaseItemProviders_BaseItems_ItemId", - column: x => x.ItemId, - principalTable: "BaseItems", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "BaseItemTrailerTypes", - columns: table => new - { - Id = table.Column<int>(type: "integer", nullable: false), - ItemId = table.Column<Guid>(type: "uuid", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_BaseItemTrailerTypes", x => new { x.Id, x.ItemId }); - table.ForeignKey( - name: "FK_BaseItemTrailerTypes_BaseItems_ItemId", - column: x => x.ItemId, - principalTable: "BaseItems", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "Chapters", - columns: table => new - { - ItemId = table.Column<Guid>(type: "uuid", nullable: false), - ChapterIndex = table.Column<int>(type: "integer", nullable: false), - StartPositionTicks = table.Column<long>(type: "bigint", nullable: false), - Name = table.Column<string>(type: "text", nullable: true), - ImagePath = table.Column<string>(type: "text", nullable: true), - ImageDateModified = table.Column<DateTime>(type: "timestamp with time zone", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_Chapters", x => new { x.ItemId, x.ChapterIndex }); - table.ForeignKey( - name: "FK_Chapters_BaseItems_ItemId", - column: x => x.ItemId, - principalTable: "BaseItems", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "MediaStreamInfos", - columns: table => new - { - ItemId = table.Column<Guid>(type: "uuid", nullable: false), - StreamIndex = table.Column<int>(type: "integer", nullable: false), - StreamType = table.Column<int>(type: "integer", nullable: false), - Codec = table.Column<string>(type: "text", nullable: true), - Language = table.Column<string>(type: "text", nullable: true), - ChannelLayout = table.Column<string>(type: "text", nullable: true), - Profile = table.Column<string>(type: "text", nullable: true), - AspectRatio = table.Column<string>(type: "text", nullable: true), - Path = table.Column<string>(type: "text", nullable: true), - IsInterlaced = table.Column<bool>(type: "boolean", nullable: true), - BitRate = table.Column<int>(type: "integer", nullable: true), - Channels = table.Column<int>(type: "integer", nullable: true), - SampleRate = table.Column<int>(type: "integer", nullable: true), - IsDefault = table.Column<bool>(type: "boolean", nullable: false), - IsForced = table.Column<bool>(type: "boolean", nullable: false), - IsExternal = table.Column<bool>(type: "boolean", nullable: false), - Height = table.Column<int>(type: "integer", nullable: true), - Width = table.Column<int>(type: "integer", nullable: true), - AverageFrameRate = table.Column<float>(type: "real", nullable: true), - RealFrameRate = table.Column<float>(type: "real", nullable: true), - Level = table.Column<float>(type: "real", nullable: true), - PixelFormat = table.Column<string>(type: "text", nullable: true), - BitDepth = table.Column<int>(type: "integer", nullable: true), - IsAnamorphic = table.Column<bool>(type: "boolean", nullable: true), - RefFrames = table.Column<int>(type: "integer", nullable: true), - CodecTag = table.Column<string>(type: "text", nullable: true), - Comment = table.Column<string>(type: "text", nullable: true), - NalLengthSize = table.Column<string>(type: "text", nullable: true), - IsAvc = table.Column<bool>(type: "boolean", nullable: true), - Title = table.Column<string>(type: "text", nullable: true), - TimeBase = table.Column<string>(type: "text", nullable: true), - CodecTimeBase = table.Column<string>(type: "text", nullable: true), - ColorPrimaries = table.Column<string>(type: "text", nullable: true), - ColorSpace = table.Column<string>(type: "text", nullable: true), - ColorTransfer = table.Column<string>(type: "text", nullable: true), - DvVersionMajor = table.Column<int>(type: "integer", nullable: true), - DvVersionMinor = table.Column<int>(type: "integer", nullable: true), - DvProfile = table.Column<int>(type: "integer", nullable: true), - DvLevel = table.Column<int>(type: "integer", nullable: true), - RpuPresentFlag = table.Column<int>(type: "integer", nullable: true), - ElPresentFlag = table.Column<int>(type: "integer", nullable: true), - BlPresentFlag = table.Column<int>(type: "integer", nullable: true), - DvBlSignalCompatibilityId = table.Column<int>(type: "integer", nullable: true), - IsHearingImpaired = table.Column<bool>(type: "boolean", nullable: true), - Rotation = table.Column<int>(type: "integer", nullable: true), - KeyFrames = table.Column<string>(type: "text", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_MediaStreamInfos", x => new { x.ItemId, x.StreamIndex }); - table.ForeignKey( - name: "FK_MediaStreamInfos_BaseItems_ItemId", - column: x => x.ItemId, - principalTable: "BaseItems", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "ItemValuesMap", - columns: table => new - { - ItemId = table.Column<Guid>(type: "uuid", nullable: false), - ItemValueId = table.Column<Guid>(type: "uuid", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_ItemValuesMap", x => new { x.ItemValueId, x.ItemId }); - table.ForeignKey( - name: "FK_ItemValuesMap_BaseItems_ItemId", - column: x => x.ItemId, - principalTable: "BaseItems", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_ItemValuesMap_ItemValues_ItemValueId", - column: x => x.ItemValueId, - principalTable: "ItemValues", - principalColumn: "ItemValueId", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "PeopleBaseItemMap", - columns: table => new - { - ItemId = table.Column<Guid>(type: "uuid", nullable: false), - PeopleId = table.Column<Guid>(type: "uuid", nullable: false), - SortOrder = table.Column<int>(type: "integer", nullable: true), - ListOrder = table.Column<int>(type: "integer", nullable: true), - Role = table.Column<string>(type: "text", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_PeopleBaseItemMap", x => new { x.ItemId, x.PeopleId }); - table.ForeignKey( - name: "FK_PeopleBaseItemMap_BaseItems_ItemId", - column: x => x.ItemId, - principalTable: "BaseItems", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_PeopleBaseItemMap_Peoples_PeopleId", - column: x => x.PeopleId, - principalTable: "Peoples", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "AccessSchedules", - columns: table => new - { - Id = table.Column<int>(type: "integer", nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - UserId = table.Column<Guid>(type: "uuid", nullable: false), - DayOfWeek = table.Column<int>(type: "integer", nullable: false), - StartHour = table.Column<double>(type: "double precision", nullable: false), - EndHour = table.Column<double>(type: "double precision", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_AccessSchedules", x => x.Id); - table.ForeignKey( - name: "FK_AccessSchedules_Users_UserId", - column: x => x.UserId, - principalTable: "Users", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "Devices", - columns: table => new - { - Id = table.Column<int>(type: "integer", nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - UserId = table.Column<Guid>(type: "uuid", nullable: false), - AccessToken = table.Column<string>(type: "text", nullable: false), - AppName = table.Column<string>(type: "character varying(64)", maxLength: 64, nullable: false), - AppVersion = table.Column<string>(type: "character varying(32)", maxLength: 32, nullable: false), - DeviceName = table.Column<string>(type: "character varying(64)", maxLength: 64, nullable: false), - DeviceId = table.Column<string>(type: "character varying(256)", maxLength: 256, nullable: false), - IsActive = table.Column<bool>(type: "boolean", nullable: false), - DateCreated = table.Column<DateTime>(type: "timestamp with time zone", nullable: false), - DateModified = table.Column<DateTime>(type: "timestamp with time zone", nullable: false), - DateLastActivity = table.Column<DateTime>(type: "timestamp with time zone", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_Devices", x => x.Id); - table.ForeignKey( - name: "FK_Devices_Users_UserId", - column: x => x.UserId, - principalTable: "Users", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "DisplayPreferences", - columns: table => new - { - Id = table.Column<int>(type: "integer", nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - UserId = table.Column<Guid>(type: "uuid", nullable: false), - ItemId = table.Column<Guid>(type: "uuid", nullable: false), - Client = table.Column<string>(type: "character varying(32)", maxLength: 32, nullable: false), - ShowSidebar = table.Column<bool>(type: "boolean", nullable: false), - ShowBackdrop = table.Column<bool>(type: "boolean", nullable: false), - ScrollDirection = table.Column<int>(type: "integer", nullable: false), - IndexBy = table.Column<int>(type: "integer", nullable: true), - SkipForwardLength = table.Column<int>(type: "integer", nullable: false), - SkipBackwardLength = table.Column<int>(type: "integer", nullable: false), - ChromecastVersion = table.Column<int>(type: "integer", nullable: false), - EnableNextVideoInfoOverlay = table.Column<bool>(type: "boolean", nullable: false), - DashboardTheme = table.Column<string>(type: "character varying(32)", maxLength: 32, nullable: true), - TvHome = table.Column<string>(type: "character varying(32)", maxLength: 32, nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_DisplayPreferences", x => x.Id); - table.ForeignKey( - name: "FK_DisplayPreferences_Users_UserId", - column: x => x.UserId, - principalTable: "Users", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "ImageInfos", - columns: table => new - { - Id = table.Column<int>(type: "integer", nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - UserId = table.Column<Guid>(type: "uuid", nullable: true), - Path = table.Column<string>(type: "character varying(512)", maxLength: 512, nullable: false), - LastModified = table.Column<DateTime>(type: "timestamp with time zone", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_ImageInfos", x => x.Id); - table.ForeignKey( - name: "FK_ImageInfos_Users_UserId", - column: x => x.UserId, - principalTable: "Users", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "ItemDisplayPreferences", - columns: table => new - { - Id = table.Column<int>(type: "integer", nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - UserId = table.Column<Guid>(type: "uuid", nullable: false), - ItemId = table.Column<Guid>(type: "uuid", nullable: false), - Client = table.Column<string>(type: "character varying(32)", maxLength: 32, nullable: false), - ViewType = table.Column<int>(type: "integer", nullable: false), - RememberIndexing = table.Column<bool>(type: "boolean", nullable: false), - IndexBy = table.Column<int>(type: "integer", nullable: true), - RememberSorting = table.Column<bool>(type: "boolean", nullable: false), - SortBy = table.Column<string>(type: "character varying(64)", maxLength: 64, nullable: false), - SortOrder = table.Column<int>(type: "integer", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_ItemDisplayPreferences", x => x.Id); - table.ForeignKey( - name: "FK_ItemDisplayPreferences_Users_UserId", - column: x => x.UserId, - principalTable: "Users", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "Permissions", - columns: table => new - { - Id = table.Column<int>(type: "integer", nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - UserId = table.Column<Guid>(type: "uuid", nullable: true), - Kind = table.Column<int>(type: "integer", nullable: false), - Value = table.Column<bool>(type: "boolean", nullable: false), - RowVersion = table.Column<long>(type: "bigint", nullable: false), - Permission_Permissions_Guid = table.Column<Guid>(type: "uuid", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_Permissions", x => x.Id); - table.ForeignKey( - name: "FK_Permissions_Users_UserId", - column: x => x.UserId, - principalTable: "Users", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "Preferences", - columns: table => new - { - Id = table.Column<int>(type: "integer", nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - UserId = table.Column<Guid>(type: "uuid", nullable: true), - Kind = table.Column<int>(type: "integer", nullable: false), - Value = table.Column<string>(type: "character varying(65535)", maxLength: 65535, nullable: false), - RowVersion = table.Column<long>(type: "bigint", nullable: false), - Preference_Preferences_Guid = table.Column<Guid>(type: "uuid", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_Preferences", x => x.Id); - table.ForeignKey( - name: "FK_Preferences_Users_UserId", - column: x => x.UserId, - principalTable: "Users", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "UserData", - columns: table => new - { - CustomDataKey = table.Column<string>(type: "text", nullable: false), - ItemId = table.Column<Guid>(type: "uuid", nullable: false), - UserId = table.Column<Guid>(type: "uuid", nullable: false), - Rating = table.Column<double>(type: "double precision", nullable: true), - PlaybackPositionTicks = table.Column<long>(type: "bigint", nullable: false), - PlayCount = table.Column<int>(type: "integer", nullable: false), - IsFavorite = table.Column<bool>(type: "boolean", nullable: false), - LastPlayedDate = table.Column<DateTime>(type: "timestamp with time zone", nullable: true), - Played = table.Column<bool>(type: "boolean", nullable: false), - AudioStreamIndex = table.Column<int>(type: "integer", nullable: true), - SubtitleStreamIndex = table.Column<int>(type: "integer", nullable: true), - Likes = table.Column<bool>(type: "boolean", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_UserData", x => new { x.ItemId, x.UserId, x.CustomDataKey }); - table.ForeignKey( - name: "FK_UserData_BaseItems_ItemId", - column: x => x.ItemId, - principalTable: "BaseItems", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_UserData_Users_UserId", - column: x => x.UserId, - principalTable: "Users", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "HomeSection", - columns: table => new - { - Id = table.Column<int>(type: "integer", nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - DisplayPreferencesId = table.Column<int>(type: "integer", nullable: false), - Order = table.Column<int>(type: "integer", nullable: false), - Type = table.Column<int>(type: "integer", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_HomeSection", x => x.Id); - table.ForeignKey( - name: "FK_HomeSection_DisplayPreferences_DisplayPreferencesId", - column: x => x.DisplayPreferencesId, - principalTable: "DisplayPreferences", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateIndex( - name: "IX_AccessSchedules_UserId", - table: "AccessSchedules", - column: "UserId"); - - migrationBuilder.CreateIndex( - name: "IX_ActivityLogs_DateCreated", - table: "ActivityLogs", - column: "DateCreated"); - - migrationBuilder.CreateIndex( - name: "IX_AncestorIds_ParentItemId", - table: "AncestorIds", - column: "ParentItemId"); - - migrationBuilder.CreateIndex( - name: "IX_ApiKeys_AccessToken", - table: "ApiKeys", - column: "AccessToken", - unique: true); - - migrationBuilder.CreateIndex( - name: "IX_BaseItemImageInfos_ItemId", - table: "BaseItemImageInfos", - column: "ItemId"); - - migrationBuilder.CreateIndex( - name: "IX_BaseItemMetadataFields_ItemId", - table: "BaseItemMetadataFields", - column: "ItemId"); - - migrationBuilder.CreateIndex( - name: "IX_BaseItemProviders_ProviderId_ProviderValue_ItemId", - table: "BaseItemProviders", - columns: new[] { "ProviderId", "ProviderValue", "ItemId" }); - - migrationBuilder.CreateIndex( - name: "IX_BaseItems_Id_Type_IsFolder_IsVirtualItem", - table: "BaseItems", - columns: new[] { "Id", "Type", "IsFolder", "IsVirtualItem" }); - - migrationBuilder.CreateIndex( - name: "IX_BaseItems_IsFolder_TopParentId_IsVirtualItem_PresentationUn~", - table: "BaseItems", - columns: new[] { "IsFolder", "TopParentId", "IsVirtualItem", "PresentationUniqueKey", "DateCreated" }); - - migrationBuilder.CreateIndex( - name: "IX_BaseItems_MediaType_TopParentId_IsVirtualItem_PresentationU~", - table: "BaseItems", - columns: new[] { "MediaType", "TopParentId", "IsVirtualItem", "PresentationUniqueKey" }); - - migrationBuilder.CreateIndex( - name: "IX_BaseItems_ParentId", - table: "BaseItems", - column: "ParentId"); - - migrationBuilder.CreateIndex( - name: "IX_BaseItems_Path", - table: "BaseItems", - column: "Path"); - - migrationBuilder.CreateIndex( - name: "IX_BaseItems_PresentationUniqueKey", - table: "BaseItems", - column: "PresentationUniqueKey"); - - migrationBuilder.CreateIndex( - name: "IX_BaseItems_TopParentId_Id", - table: "BaseItems", - columns: new[] { "TopParentId", "Id" }); - - migrationBuilder.CreateIndex( - name: "IX_BaseItems_Type_SeriesPresentationUniqueKey_IsFolder_IsVirtu~", - table: "BaseItems", - columns: new[] { "Type", "SeriesPresentationUniqueKey", "IsFolder", "IsVirtualItem" }); - - migrationBuilder.CreateIndex( - name: "IX_BaseItems_Type_SeriesPresentationUniqueKey_PresentationUniq~", - table: "BaseItems", - columns: new[] { "Type", "SeriesPresentationUniqueKey", "PresentationUniqueKey", "SortName" }); - - migrationBuilder.CreateIndex( - name: "IX_BaseItems_Type_TopParentId_Id", - table: "BaseItems", - columns: new[] { "Type", "TopParentId", "Id" }); - - migrationBuilder.CreateIndex( - name: "IX_BaseItems_Type_TopParentId_IsVirtualItem_PresentationUnique~", - table: "BaseItems", - columns: new[] { "Type", "TopParentId", "IsVirtualItem", "PresentationUniqueKey", "DateCreated" }); - - migrationBuilder.CreateIndex( - name: "IX_BaseItems_Type_TopParentId_PresentationUniqueKey", - table: "BaseItems", - columns: new[] { "Type", "TopParentId", "PresentationUniqueKey" }); - - migrationBuilder.CreateIndex( - name: "IX_BaseItems_Type_TopParentId_StartDate", - table: "BaseItems", - columns: new[] { "Type", "TopParentId", "StartDate" }); - - migrationBuilder.CreateIndex( - name: "IX_BaseItemTrailerTypes_ItemId", - table: "BaseItemTrailerTypes", - column: "ItemId"); - - migrationBuilder.CreateIndex( - name: "IX_CustomItemDisplayPreferences_UserId_ItemId_Client_Key", - table: "CustomItemDisplayPreferences", - columns: new[] { "UserId", "ItemId", "Client", "Key" }, - unique: true); - - migrationBuilder.CreateIndex( - name: "IX_DeviceOptions_DeviceId", - table: "DeviceOptions", - column: "DeviceId", - unique: true); - - migrationBuilder.CreateIndex( - name: "IX_Devices_AccessToken_DateLastActivity", - table: "Devices", - columns: new[] { "AccessToken", "DateLastActivity" }); - - migrationBuilder.CreateIndex( - name: "IX_Devices_DeviceId", - table: "Devices", - column: "DeviceId"); - - migrationBuilder.CreateIndex( - name: "IX_Devices_DeviceId_DateLastActivity", - table: "Devices", - columns: new[] { "DeviceId", "DateLastActivity" }); - - migrationBuilder.CreateIndex( - name: "IX_Devices_UserId_DeviceId", - table: "Devices", - columns: new[] { "UserId", "DeviceId" }); - - migrationBuilder.CreateIndex( - name: "IX_DisplayPreferences_UserId_ItemId_Client", - table: "DisplayPreferences", - columns: new[] { "UserId", "ItemId", "Client" }, - unique: true); - - migrationBuilder.CreateIndex( - name: "IX_HomeSection_DisplayPreferencesId", - table: "HomeSection", - column: "DisplayPreferencesId"); - - migrationBuilder.CreateIndex( - name: "IX_ImageInfos_UserId", - table: "ImageInfos", - column: "UserId", - unique: true); - - migrationBuilder.CreateIndex( - name: "IX_ItemDisplayPreferences_UserId", - table: "ItemDisplayPreferences", - column: "UserId"); - - migrationBuilder.CreateIndex( - name: "IX_ItemValues_Type_CleanValue", - table: "ItemValues", - columns: new[] { "Type", "CleanValue" }, - unique: true); - - migrationBuilder.CreateIndex( - name: "IX_ItemValuesMap_ItemId", - table: "ItemValuesMap", - column: "ItemId"); - - migrationBuilder.CreateIndex( - name: "IX_MediaStreamInfos_StreamIndex", - table: "MediaStreamInfos", - column: "StreamIndex"); - - migrationBuilder.CreateIndex( - name: "IX_MediaStreamInfos_StreamIndex_StreamType", - table: "MediaStreamInfos", - columns: new[] { "StreamIndex", "StreamType" }); - - migrationBuilder.CreateIndex( - name: "IX_MediaStreamInfos_StreamIndex_StreamType_Language", - table: "MediaStreamInfos", - columns: new[] { "StreamIndex", "StreamType", "Language" }); - - migrationBuilder.CreateIndex( - name: "IX_MediaStreamInfos_StreamType", - table: "MediaStreamInfos", - column: "StreamType"); - - migrationBuilder.CreateIndex( - name: "IX_PeopleBaseItemMap_ItemId_ListOrder", - table: "PeopleBaseItemMap", - columns: new[] { "ItemId", "ListOrder" }); - - migrationBuilder.CreateIndex( - name: "IX_PeopleBaseItemMap_ItemId_SortOrder", - table: "PeopleBaseItemMap", - columns: new[] { "ItemId", "SortOrder" }); - - migrationBuilder.CreateIndex( - name: "IX_PeopleBaseItemMap_PeopleId", - table: "PeopleBaseItemMap", - column: "PeopleId"); - - migrationBuilder.CreateIndex( - name: "IX_Peoples_Name", - table: "Peoples", - column: "Name"); - - // this was edited manually because "UserId" is a reserved name in pgsql - migrationBuilder.CreateIndex( - name: "IX_Permissions_UserId_Kind", - table: "Permissions", - columns: new[] { "UserId", "Kind" }, - unique: true, - filter: "\"Permissions\".\"UserId\" IS NOT NULL"); - - // this was edited manually because "UserId" is a reserved name in pgsql - migrationBuilder.CreateIndex( - name: "IX_Preferences_UserId_Kind", - table: "Preferences", - columns: new[] { "UserId", "Kind" }, - unique: true, - filter: "\"Preferences\".\"UserId\" IS NOT NULL"); - - migrationBuilder.CreateIndex( - name: "IX_UserData_ItemId_UserId_IsFavorite", - table: "UserData", - columns: new[] { "ItemId", "UserId", "IsFavorite" }); - - migrationBuilder.CreateIndex( - name: "IX_UserData_ItemId_UserId_LastPlayedDate", - table: "UserData", - columns: new[] { "ItemId", "UserId", "LastPlayedDate" }); - - migrationBuilder.CreateIndex( - name: "IX_UserData_ItemId_UserId_PlaybackPositionTicks", - table: "UserData", - columns: new[] { "ItemId", "UserId", "PlaybackPositionTicks" }); - - migrationBuilder.CreateIndex( - name: "IX_UserData_ItemId_UserId_Played", - table: "UserData", - columns: new[] { "ItemId", "UserId", "Played" }); - - migrationBuilder.CreateIndex( - name: "IX_UserData_UserId", - table: "UserData", - column: "UserId"); - - migrationBuilder.CreateIndex( - name: "IX_Users_Username", - table: "Users", - column: "Username", - unique: true); - } - - /// <inheritdoc /> - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropTable( - name: "AccessSchedules"); - - migrationBuilder.DropTable( - name: "ActivityLogs"); - - migrationBuilder.DropTable( - name: "AncestorIds"); - - migrationBuilder.DropTable( - name: "ApiKeys"); - - migrationBuilder.DropTable( - name: "AttachmentStreamInfos"); - - migrationBuilder.DropTable( - name: "BaseItemImageInfos"); - - migrationBuilder.DropTable( - name: "BaseItemMetadataFields"); - - migrationBuilder.DropTable( - name: "BaseItemProviders"); - - migrationBuilder.DropTable( - name: "BaseItemTrailerTypes"); - - migrationBuilder.DropTable( - name: "Chapters"); - - migrationBuilder.DropTable( - name: "CustomItemDisplayPreferences"); - - migrationBuilder.DropTable( - name: "DeviceOptions"); - - migrationBuilder.DropTable( - name: "Devices"); - - migrationBuilder.DropTable( - name: "HomeSection"); - - migrationBuilder.DropTable( - name: "ImageInfos"); - - migrationBuilder.DropTable( - name: "ItemDisplayPreferences"); - - migrationBuilder.DropTable( - name: "ItemValuesMap"); - - migrationBuilder.DropTable( - name: "MediaSegments"); - - migrationBuilder.DropTable( - name: "MediaStreamInfos"); - - migrationBuilder.DropTable( - name: "PeopleBaseItemMap"); - - migrationBuilder.DropTable( - name: "Permissions"); - - migrationBuilder.DropTable( - name: "Preferences"); - - migrationBuilder.DropTable( - name: "TrickplayInfos"); - - migrationBuilder.DropTable( - name: "UserData"); - - migrationBuilder.DropTable( - name: "DisplayPreferences"); - - migrationBuilder.DropTable( - name: "ItemValues"); - - migrationBuilder.DropTable( - name: "Peoples"); - - migrationBuilder.DropTable( - name: "BaseItems"); - - migrationBuilder.DropTable( - name: "Users"); - } - } -} |
