using System; using Microsoft.EntityFrameworkCore.Migrations; #nullable disable namespace HyperBooru.Migrations { /// public partial class Initial : Migration { /// protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.CreateTable( name: "Objects", columns: table => new { ObjectId = table.Column(type: "INTEGER", nullable: false) .Annotation("Sqlite:Autoincrement", true), Guid = table.Column(type: "TEXT", nullable: false), ObjectType = table.Column(type: "INTEGER", nullable: false), Discriminator = table.Column(type: "TEXT", nullable: false), Checksum = table.Column(type: "TEXT", nullable: true), MimeType = table.Column(type: "TEXT", nullable: true), ShortDescription = table.Column(type: "TEXT", nullable: true), LongDescription = table.Column(type: "TEXT", nullable: true), TagDefinitionObjectId = table.Column(type: "INTEGER", nullable: true), CreateTime = table.Column(type: "TEXT", nullable: true), TargetObjectId = table.Column(type: "INTEGER", nullable: true), Source = table.Column(type: "INTEGER", nullable: true), Namespace = table.Column(type: "TEXT", nullable: true), Name = table.Column(type: "TEXT", nullable: true), DbTagDefinitionObjectId = table.Column(type: "INTEGER", nullable: true) }, constraints: table => { table.PrimaryKey("PK_Objects", x => x.ObjectId); table.ForeignKey( name: "FK_Objects_Objects_DbTagDefinitionObjectId", column: x => x.DbTagDefinitionObjectId, principalTable: "Objects", principalColumn: "ObjectId"); table.ForeignKey( name: "FK_Objects_Objects_TagDefinitionObjectId", column: x => x.TagDefinitionObjectId, principalTable: "Objects", principalColumn: "ObjectId", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_Objects_Objects_TargetObjectId", column: x => x.TargetObjectId, principalTable: "Objects", principalColumn: "ObjectId", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "UploadedFiles", columns: table => new { UploadedFileId = table.Column(type: "INTEGER", nullable: false) .Annotation("Sqlite:Autoincrement", true), OriginalChecksum = table.Column(type: "TEXT", nullable: false), Filename = table.Column(type: "TEXT", nullable: true), UploadTime = table.Column(type: "TEXT", nullable: false), LastAccessTime = table.Column(type: "TEXT", nullable: true), LastWriteTime = table.Column(type: "TEXT", nullable: true), CreateTime = table.Column(type: "TEXT", nullable: true), MediaObjectId = table.Column(type: "INTEGER", nullable: false) }, constraints: table => { table.PrimaryKey("PK_UploadedFiles", x => x.UploadedFileId); table.ForeignKey( name: "FK_UploadedFiles_Objects_MediaObjectId", column: x => x.MediaObjectId, principalTable: "Objects", principalColumn: "ObjectId", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateIndex( name: "IX_Objects_DbTagDefinitionObjectId", table: "Objects", column: "DbTagDefinitionObjectId"); migrationBuilder.CreateIndex( name: "IX_Objects_Guid", table: "Objects", column: "Guid"); migrationBuilder.CreateIndex( name: "IX_Objects_TagDefinitionObjectId", table: "Objects", column: "TagDefinitionObjectId"); migrationBuilder.CreateIndex( name: "IX_Objects_TargetObjectId", table: "Objects", column: "TargetObjectId"); migrationBuilder.CreateIndex( name: "IX_UploadedFiles_MediaObjectId", table: "UploadedFiles", column: "MediaObjectId"); } /// protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "UploadedFiles"); migrationBuilder.DropTable( name: "Objects"); } } }