using System; using Microsoft.EntityFrameworkCore.Migrations; #nullable disable namespace TicketOffice.Migrations { public partial class InitialCreate : Migration { protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.CreateTable( name: "Route", columns: table => new { Id = table.Column(type: "INTEGER", nullable: false) .Annotation("Sqlite:Autoincrement", true), Number = table.Column(type: "INTEGER", nullable: false), Capacity = table.Column(type: "INTEGER", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Route", x => x.Id); }); migrationBuilder.CreateTable( name: "User", columns: table => new { Id = table.Column(type: "INTEGER", nullable: false) .Annotation("Sqlite:Autoincrement", true), FirstName = table.Column(type: "TEXT", nullable: true), LastName = table.Column(type: "TEXT", nullable: true), Patronymic = table.Column(type: "TEXT", nullable: true), Email = table.Column(type: "TEXT", nullable: false), Password = table.Column(type: "TEXT", nullable: false), IsManager = table.Column(type: "INTEGER", nullable: false) }, constraints: table => { table.PrimaryKey("PK_User", x => x.Id); }); migrationBuilder.CreateTable( name: "City", columns: table => new { Id = table.Column(type: "INTEGER", nullable: false) .Annotation("Sqlite:Autoincrement", true), Name = table.Column(type: "TEXT", nullable: false), ArrivalTime = table.Column(type: "TEXT", nullable: true), DepartureTime = table.Column(type: "TEXT", nullable: true), RouteId = table.Column(type: "INTEGER", nullable: false) }, constraints: table => { table.PrimaryKey("PK_City", x => x.Id); table.ForeignKey( name: "FK_City_Route_RouteId", column: x => x.RouteId, principalTable: "Route", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "Ticket", columns: table => new { Id = table.Column(type: "INTEGER", nullable: false) .Annotation("Sqlite:Autoincrement", true), UserId = table.Column(type: "INTEGER", nullable: false), RouteId = table.Column(type: "INTEGER", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Ticket", x => x.Id); table.ForeignKey( name: "FK_Ticket_Route_RouteId", column: x => x.RouteId, principalTable: "Route", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_Ticket_User_UserId", column: x => x.UserId, principalTable: "User", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateIndex( name: "IX_City_RouteId", table: "City", column: "RouteId"); migrationBuilder.CreateIndex( name: "IX_Ticket_RouteId", table: "Ticket", column: "RouteId"); migrationBuilder.CreateIndex( name: "IX_Ticket_UserId", table: "Ticket", column: "UserId"); } protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "City"); migrationBuilder.DropTable( name: "Ticket"); migrationBuilder.DropTable( name: "Route"); migrationBuilder.DropTable( name: "User"); } } }