using System; using Microsoft.EntityFrameworkCore.Migrations; #nullable disable namespace FinlyticAssets.Migrations { /// public partial class Init : Migration { /// protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.CreateTable( name: "Settings", columns: table => new { Id = table.Column(type: "uuid", nullable: false), FinishedInitialScan = table.Column(type: "boolean", nullable: false), TradeRepublicMaxRequestPageSize = table.Column(type: "integer", nullable: false), AssetUpdateTypeDelay = table.Column(type: "integer", nullable: false), InitAssetUpdateTypeDelay = table.Column(type: "integer", nullable: false), InitBatchAssetUpdateDelay = table.Column(type: "integer", nullable: false), BatchAssetUpdateDelay = table.Column(type: "integer", nullable: false), CurrentScanningType = table.Column(type: "character varying(50)", maxLength: 50, nullable: false), CurrentScanningPage = table.Column(type: "integer", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Settings", x => x.Id); }); migrationBuilder.CreateTable( name: "TradeRepublicAssets", columns: table => new { Isin = table.Column(type: "text", nullable: false), InstrumentCategory = table.Column(type: "text", nullable: false), Name = table.Column(type: "text", nullable: false), Type = table.Column(type: "text", nullable: false), HasCfd = table.Column(type: "boolean", nullable: false), ImageId = table.Column(type: "text", nullable: true), LastUpdatedAt = table.Column(type: "timestamp with time zone", nullable: false), AssetType = table.Column(type: "character varying(13)", maxLength: 13, nullable: false), BondIssuerName = table.Column(type: "text", nullable: true), SearchSubtitle = table.Column(type: "text", nullable: true), Subtitle = table.Column(type: "text", nullable: true), CryptoEntity_SearchSubtitle = table.Column(type: "text", nullable: true), DerivativeProductCategories = table.Column(type: "text", nullable: true), UnderlyingIsin = table.Column(type: "text", nullable: true), EtfEntity_DerivativeProductCategories = table.Column(type: "text", nullable: true), EtfDescription = table.Column(type: "text", nullable: true), MappedEtfIndexName = table.Column(type: "text", nullable: true), EtfEntity_Subtitle = table.Column(type: "text", nullable: true), EtfEntity_SearchSubtitle = table.Column(type: "text", nullable: true), StockEntity_DerivativeProductCategories = table.Column(type: "text", nullable: true), SyntheticEntity_DerivativeProductCategories = table.Column(type: "text", nullable: true) }, constraints: table => { table.PrimaryKey("PK_TradeRepublicAssets", x => new { x.Isin, x.InstrumentCategory }); }); migrationBuilder.CreateTable( name: "TradeRepublicTags", columns: table => new { Id = table.Column(type: "text", nullable: false), Name = table.Column(type: "text", nullable: false), Type = table.Column(type: "text", nullable: false) }, constraints: table => { table.PrimaryKey("PK_TradeRepublicTags", x => x.Id); }); migrationBuilder.CreateTable( name: "AssetEntityTagEntity", columns: table => new { TagsId = table.Column(type: "text", nullable: false), AssetsIsin = table.Column(type: "text", nullable: false), AssetsInstrumentCategory = table.Column(type: "text", nullable: false) }, constraints: table => { table.PrimaryKey("PK_AssetEntityTagEntity", x => new { x.TagsId, x.AssetsIsin, x.AssetsInstrumentCategory }); table.ForeignKey( name: "FK_AssetEntityTagEntity_TradeRepublicAssets_AssetsIsin_AssetsI~", columns: x => new { x.AssetsIsin, x.AssetsInstrumentCategory }, principalTable: "TradeRepublicAssets", principalColumns: new[] { "Isin", "InstrumentCategory" }, onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_AssetEntityTagEntity_TradeRepublicTags_TagsId", column: x => x.TagsId, principalTable: "TradeRepublicTags", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateIndex( name: "IX_AssetEntityTagEntity_AssetsIsin_AssetsInstrumentCategory", table: "AssetEntityTagEntity", columns: new[] { "AssetsIsin", "AssetsInstrumentCategory" }); migrationBuilder.CreateIndex( name: "IX_TradeRepublicAssets_LastUpdatedAt", table: "TradeRepublicAssets", column: "LastUpdatedAt"); } /// protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "AssetEntityTagEntity"); migrationBuilder.DropTable( name: "Settings"); migrationBuilder.DropTable( name: "TradeRepublicAssets"); migrationBuilder.DropTable( name: "TradeRepublicTags"); } } }