123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409 |
- using System;
- using Microsoft.EntityFrameworkCore.Metadata;
- using Microsoft.EntityFrameworkCore.Migrations;
-
- namespace ProRestaurant.Migrations
- {
- public partial class RecreateDatabase : Migration
- {
- protected override void Up(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.CreateTable(
- name: "Locations",
- columns: table => new
- {
- Id = table.Column<int>(nullable: false)
- .Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn),
- ImageStore = table.Column<string>(nullable: true),
- CategoryStore = table.Column<string>(nullable: true)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_Locations", x => x.Id);
- });
-
- migrationBuilder.CreateTable(
- name: "RestaurantCategories",
- columns: table => new
- {
- Id = table.Column<int>(nullable: false)
- .Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn),
- Description = table.Column<string>(nullable: true),
- Image = table.Column<string>(nullable: true)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_RestaurantCategories", x => x.Id);
- });
-
- migrationBuilder.CreateTable(
- name: "Restaurants",
- columns: table => new
- {
- Id = table.Column<int>(nullable: false)
- .Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn),
- Created = table.Column<DateTime>(nullable: false),
- Modified = table.Column<DateTime>(nullable: false),
- ModifiedBy = table.Column<string>(nullable: true),
- IsDeleted = table.Column<bool>(nullable: false),
- Name = table.Column<string>(nullable: true),
- Logo = table.Column<string>(nullable: true),
- DeliveryFee = table.Column<decimal>(nullable: false),
- DeliveryRadius = table.Column<decimal>(nullable: false),
- MethodsOfPayment = table.Column<string>(nullable: true),
- ShoppingCentre = table.Column<string>(nullable: true),
- ShopNumber = table.Column<string>(nullable: true),
- GoogleMapUrl = table.Column<string>(nullable: true),
- Latitude = table.Column<decimal>(nullable: false),
- Longitude = table.Column<decimal>(nullable: false),
- StreetNumber = table.Column<string>(nullable: true),
- StreetName = table.Column<string>(nullable: true),
- Suburb = table.Column<string>(nullable: true),
- City = table.Column<string>(nullable: true),
- Provice = table.Column<string>(nullable: true),
- Country = table.Column<string>(nullable: true),
- PostalCode = table.Column<string>(nullable: true),
- DeliveryTime = table.Column<string>(nullable: true),
- Categories = table.Column<string>(nullable: true)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_Restaurants", x => x.Id);
- });
-
- migrationBuilder.CreateTable(
- name: "Users",
- columns: table => new
- {
- Id = table.Column<int>(nullable: false)
- .Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn),
- Created = table.Column<DateTime>(nullable: false),
- Modified = table.Column<DateTime>(nullable: false),
- ModifiedBy = table.Column<string>(nullable: true),
- IsDeleted = table.Column<bool>(nullable: false),
- EmailAddress = table.Column<string>(nullable: true),
- Password = table.Column<string>(nullable: true),
- FirstName = table.Column<string>(nullable: true),
- Surname = table.Column<string>(nullable: true),
- Cellphone = table.Column<string>(nullable: true),
- SystemRole = table.Column<int>(nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_Users", x => x.Id);
- });
-
- migrationBuilder.CreateTable(
- name: "MenuCategories",
- columns: table => new
- {
- Id = table.Column<int>(nullable: false)
- .Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn),
- Created = table.Column<DateTime>(nullable: false),
- Modified = table.Column<DateTime>(nullable: false),
- ModifiedBy = table.Column<string>(nullable: true),
- IsDeleted = table.Column<bool>(nullable: false),
- RestaurantId = table.Column<int>(nullable: false),
- Description = table.Column<string>(nullable: true)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_MenuCategories", x => x.Id);
- table.ForeignKey(
- name: "FK_MenuCategories_Restaurants_RestaurantId",
- column: x => x.RestaurantId,
- principalTable: "Restaurants",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateTable(
- name: "MenuItems",
- columns: table => new
- {
- Id = table.Column<int>(nullable: false)
- .Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn),
- Created = table.Column<DateTime>(nullable: false),
- Modified = table.Column<DateTime>(nullable: false),
- ModifiedBy = table.Column<string>(nullable: true),
- IsDeleted = table.Column<bool>(nullable: false),
- RestaurantId = table.Column<int>(nullable: false),
- CategoryId = table.Column<int>(nullable: false),
- Image = table.Column<string>(nullable: true),
- Name = table.Column<string>(nullable: true),
- Description = table.Column<string>(nullable: true),
- Price = table.Column<decimal>(nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_MenuItems", x => x.Id);
- table.ForeignKey(
- name: "FK_MenuItems_Restaurants_RestaurantId",
- column: x => x.RestaurantId,
- principalTable: "Restaurants",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateTable(
- name: "TradingHours",
- columns: table => new
- {
- Id = table.Column<int>(nullable: false)
- .Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn),
- Created = table.Column<DateTime>(nullable: false),
- Modified = table.Column<DateTime>(nullable: false),
- ModifiedBy = table.Column<string>(nullable: true),
- IsDeleted = table.Column<bool>(nullable: false),
- RestaurantId = table.Column<int>(nullable: false),
- Description = table.Column<string>(nullable: true),
- OpeningTime = table.Column<DateTime>(nullable: false),
- ClosingTime = table.Column<DateTime>(nullable: false),
- Closed = table.Column<bool>(nullable: false),
- Opened24H = table.Column<bool>(nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_TradingHours", x => x.Id);
- table.ForeignKey(
- name: "FK_TradingHours_Restaurants_RestaurantId",
- column: x => x.RestaurantId,
- principalTable: "Restaurants",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateTable(
- name: "DriverDetails",
- columns: table => new
- {
- Id = table.Column<int>(nullable: false)
- .Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn),
- Created = table.Column<DateTime>(nullable: false),
- Modified = table.Column<DateTime>(nullable: false),
- ModifiedBy = table.Column<string>(nullable: true),
- IsDeleted = table.Column<bool>(nullable: false),
- UserId = table.Column<int>(nullable: false),
- Photo = table.Column<string>(nullable: true),
- RegistrationNumber = table.Column<string>(nullable: true)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_DriverDetails", x => x.Id);
- table.ForeignKey(
- name: "FK_DriverDetails_Users_UserId",
- column: x => x.UserId,
- principalTable: "Users",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateTable(
- name: "RestaurantUsers",
- columns: table => new
- {
- Id = table.Column<int>(nullable: false)
- .Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn),
- Created = table.Column<DateTime>(nullable: false),
- Modified = table.Column<DateTime>(nullable: false),
- ModifiedBy = table.Column<string>(nullable: true),
- IsDeleted = table.Column<bool>(nullable: false),
- UserId = table.Column<int>(nullable: false),
- RestaurantId = table.Column<int>(nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_RestaurantUsers", x => x.Id);
- table.ForeignKey(
- name: "FK_RestaurantUsers_Restaurants_RestaurantId",
- column: x => x.RestaurantId,
- principalTable: "Restaurants",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- table.ForeignKey(
- name: "FK_RestaurantUsers_Users_UserId",
- column: x => x.UserId,
- principalTable: "Users",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateTable(
- name: "UserAddresses",
- columns: table => new
- {
- Id = table.Column<int>(nullable: false)
- .Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn),
- Created = table.Column<DateTime>(nullable: false),
- Modified = table.Column<DateTime>(nullable: false),
- ModifiedBy = table.Column<string>(nullable: true),
- IsDeleted = table.Column<bool>(nullable: false),
- UserId = table.Column<int>(nullable: false),
- IsDefault = table.Column<bool>(nullable: false),
- IsComplex = table.Column<bool>(nullable: false),
- GoogleMapUrl = table.Column<string>(nullable: true),
- Latitude = table.Column<decimal>(nullable: false),
- Longitude = table.Column<decimal>(nullable: false),
- UnitNumber = table.Column<string>(nullable: true),
- ComplexName = table.Column<string>(nullable: true),
- StreetNumber = table.Column<string>(nullable: true),
- StreetName = table.Column<string>(nullable: true),
- Suburb = table.Column<string>(nullable: true),
- City = table.Column<string>(nullable: true),
- Province = table.Column<string>(nullable: true),
- Country = table.Column<string>(nullable: true),
- PostalCode = table.Column<string>(nullable: true)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_UserAddresses", x => x.Id);
- table.ForeignKey(
- name: "FK_UserAddresses_Users_UserId",
- column: x => x.UserId,
- principalTable: "Users",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateTable(
- name: "MenuOptions",
- columns: table => new
- {
- Id = table.Column<int>(nullable: false)
- .Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn),
- Created = table.Column<DateTime>(nullable: false),
- Modified = table.Column<DateTime>(nullable: false),
- ModifiedBy = table.Column<string>(nullable: true),
- IsDeleted = table.Column<bool>(nullable: false),
- CategoryId = table.Column<int>(nullable: false),
- Description = table.Column<string>(nullable: true),
- OptionType = table.Column<int>(nullable: false),
- OptionLimit = table.Column<int>(nullable: false),
- IsBasePrice = table.Column<bool>(nullable: false),
- Rank = table.Column<int>(nullable: false),
- MenuItemId = table.Column<int>(nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_MenuOptions", x => x.Id);
- table.ForeignKey(
- name: "FK_MenuOptions_MenuCategories_CategoryId",
- column: x => x.CategoryId,
- principalTable: "MenuCategories",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateTable(
- name: "MenuOptionItems",
- columns: table => new
- {
- Id = table.Column<int>(nullable: false)
- .Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn),
- Created = table.Column<DateTime>(nullable: false),
- Modified = table.Column<DateTime>(nullable: false),
- ModifiedBy = table.Column<string>(nullable: true),
- IsDeleted = table.Column<bool>(nullable: false),
- MenuOptionId = table.Column<int>(nullable: true),
- Description = table.Column<string>(nullable: true),
- Price = table.Column<decimal>(nullable: false),
- Rank = table.Column<int>(nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_MenuOptionItems", x => x.Id);
- table.ForeignKey(
- name: "FK_MenuOptionItems_MenuOptions_MenuOptionId",
- column: x => x.MenuOptionId,
- principalTable: "MenuOptions",
- principalColumn: "Id",
- onDelete: ReferentialAction.Restrict);
- });
-
- migrationBuilder.CreateIndex(
- name: "IX_DriverDetails_UserId",
- table: "DriverDetails",
- column: "UserId",
- unique: true);
-
- migrationBuilder.CreateIndex(
- name: "IX_MenuCategories_RestaurantId",
- table: "MenuCategories",
- column: "RestaurantId");
-
- migrationBuilder.CreateIndex(
- name: "IX_MenuItems_RestaurantId",
- table: "MenuItems",
- column: "RestaurantId");
-
- migrationBuilder.CreateIndex(
- name: "IX_MenuOptionItems_MenuOptionId",
- table: "MenuOptionItems",
- column: "MenuOptionId");
-
- migrationBuilder.CreateIndex(
- name: "IX_MenuOptions_CategoryId",
- table: "MenuOptions",
- column: "CategoryId");
-
- migrationBuilder.CreateIndex(
- name: "IX_RestaurantUsers_RestaurantId",
- table: "RestaurantUsers",
- column: "RestaurantId");
-
- migrationBuilder.CreateIndex(
- name: "IX_RestaurantUsers_UserId",
- table: "RestaurantUsers",
- column: "UserId");
-
- migrationBuilder.CreateIndex(
- name: "IX_TradingHours_RestaurantId",
- table: "TradingHours",
- column: "RestaurantId");
-
- migrationBuilder.CreateIndex(
- name: "IX_UserAddresses_UserId",
- table: "UserAddresses",
- column: "UserId");
- }
-
- protected override void Down(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.DropTable(
- name: "DriverDetails");
-
- migrationBuilder.DropTable(
- name: "Locations");
-
- migrationBuilder.DropTable(
- name: "MenuItems");
-
- migrationBuilder.DropTable(
- name: "MenuOptionItems");
-
- migrationBuilder.DropTable(
- name: "RestaurantCategories");
-
- migrationBuilder.DropTable(
- name: "RestaurantUsers");
-
- migrationBuilder.DropTable(
- name: "TradingHours");
-
- migrationBuilder.DropTable(
- name: "UserAddresses");
-
- migrationBuilder.DropTable(
- name: "MenuOptions");
-
- migrationBuilder.DropTable(
- name: "Users");
-
- migrationBuilder.DropTable(
- name: "MenuCategories");
-
- migrationBuilder.DropTable(
- name: "Restaurants");
- }
- }
- }
|