using System; using Microsoft.EntityFrameworkCore.Migrations; #nullable disable namespace marlin.web.Migrations { /// public partial class AddCommitModel : Migration { /// protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.DropColumn( name: "head_commit", table: "source_branches"); migrationBuilder.AddColumn( name: "commit_id", table: "source_branches", type: "uuid", nullable: false, defaultValue: new Guid("00000000-0000-0000-0000-000000000000")); migrationBuilder.CreateTable( name: "source_commits", columns: table => new { id = table.Column(type: "uuid", nullable: false), source_id = table.Column(type: "uuid", nullable: false), blobs_fetched = table.Column(type: "boolean", nullable: false), hash = table.Column(type: "text", nullable: false) }, constraints: table => { table.PrimaryKey("pk_source_commits", x => x.id); table.UniqueConstraint("ak_source_commits_source_id_hash", x => new { x.source_id, x.hash }); table.ForeignKey( name: "fk_source_commits_sources_source_id", column: x => x.source_id, principalTable: "sources", principalColumn: "id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "source_blobs", columns: table => new { id = table.Column(type: "uuid", nullable: false), source_id = table.Column(type: "uuid", nullable: false), commit_id = table.Column(type: "uuid", nullable: false), path = table.Column(type: "text", nullable: false), content = table.Column(type: "text", nullable: false) }, constraints: table => { table.PrimaryKey("pk_source_blobs", x => x.id); table.ForeignKey( name: "fk_source_blobs_source_commits_commit_id", column: x => x.commit_id, principalTable: "source_commits", principalColumn: "id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "fk_source_blobs_sources_source_id", column: x => x.source_id, principalTable: "sources", principalColumn: "id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateIndex( name: "ix_source_branches_commit_id", table: "source_branches", column: "commit_id"); migrationBuilder.CreateIndex( name: "ix_source_blobs_commit_id", table: "source_blobs", column: "commit_id"); migrationBuilder.CreateIndex( name: "ix_source_blobs_source_id", table: "source_blobs", column: "source_id"); migrationBuilder.AddForeignKey( name: "fk_source_branches_source_commits_commit_id", table: "source_branches", column: "commit_id", principalTable: "source_commits", principalColumn: "id", onDelete: ReferentialAction.Cascade); } /// protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropForeignKey( name: "fk_source_branches_source_commits_commit_id", table: "source_branches"); migrationBuilder.DropTable( name: "source_blobs"); migrationBuilder.DropTable( name: "source_commits"); migrationBuilder.DropIndex( name: "ix_source_branches_commit_id", table: "source_branches"); migrationBuilder.DropColumn( name: "commit_id", table: "source_branches"); migrationBuilder.AddColumn( name: "head_commit", table: "source_branches", type: "text", nullable: false, defaultValue: ""); } } }