using System; using Microsoft.EntityFrameworkCore.Migrations; #nullable disable namespace MessengerApi.Db.Npg.Migrations { /// public partial class Initial : Migration { /// protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.CreateTable( name: "Messages", columns: table => new { Id = table.Column(type: "uuid", nullable: false), CreatedUtc = table.Column(type: "timestamp with time zone", nullable: false), FromId = table.Column(type: "uuid", nullable: false), ToId = table.Column(type: "uuid", nullable: false), IsDelivered = table.Column(type: "boolean", nullable: false), IsAcknowledged = table.Column(type: "boolean", nullable: false), PayloadType = table.Column(type: "text", nullable: true), Payload = table.Column(type: "text", nullable: true), PayloadLifespanInSeconds = table.Column(type: "integer", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Messages", x => x.Id); }); migrationBuilder.CreateTable( name: "Users", columns: table => new { Id = table.Column(type: "uuid", nullable: false), ApiKey = table.Column(type: "uuid", nullable: false), Name = table.Column(type: "text", nullable: true), IsEnabled = table.Column(type: "boolean", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Users", x => x.Id); }); migrationBuilder.CreateTable( name: "UserRoutes", columns: table => new { Id = table.Column(type: "uuid", nullable: false), FromId = table.Column(type: "uuid", nullable: true), ToId = table.Column(type: "uuid", nullable: true) }, constraints: table => { table.PrimaryKey("PK_UserRoutes", x => x.Id); table.ForeignKey( name: "FK_UserRoutes_Users_FromId", column: x => x.FromId, principalTable: "Users", principalColumn: "Id"); table.ForeignKey( name: "FK_UserRoutes_Users_ToId", column: x => x.ToId, principalTable: "Users", principalColumn: "Id"); }); migrationBuilder.CreateIndex( name: "IX_Messages_ToId_IsDelivered", table: "Messages", columns: new[] { "ToId", "IsDelivered" }); migrationBuilder.CreateIndex( name: "IX_UserRoutes_FromId", table: "UserRoutes", column: "FromId"); migrationBuilder.CreateIndex( name: "IX_UserRoutes_ToId", table: "UserRoutes", column: "ToId"); } /// protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "Messages"); migrationBuilder.DropTable( name: "UserRoutes"); migrationBuilder.DropTable( name: "Users"); } } }