您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

20200526094220_initialCreate.cs 11KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242
  1. using System;
  2. using Microsoft.EntityFrameworkCore.Metadata;
  3. using Microsoft.EntityFrameworkCore.Migrations;
  4. namespace ProRestaurant.Migrations
  5. {
  6. public partial class initialCreate : Migration
  7. {
  8. protected override void Up(MigrationBuilder migrationBuilder)
  9. {
  10. migrationBuilder.CreateTable(
  11. name: "Restaurants",
  12. columns: table => new
  13. {
  14. Id = table.Column<int>(nullable: false)
  15. .Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn),
  16. Created = table.Column<DateTime>(nullable: false),
  17. Modified = table.Column<DateTime>(nullable: false),
  18. ModifiedBy = table.Column<string>(nullable: true),
  19. IsDeleted = table.Column<bool>(nullable: false),
  20. Name = table.Column<string>(nullable: true),
  21. Location = table.Column<string>(nullable: true),
  22. Logo = table.Column<string>(nullable: true),
  23. Chain = table.Column<bool>(nullable: false),
  24. DeliveryFee = table.Column<decimal>(nullable: false),
  25. DeliveryRadius = table.Column<decimal>(nullable: false),
  26. MethodsOfPayment = table.Column<string>(nullable: true)
  27. },
  28. constraints: table =>
  29. {
  30. table.PrimaryKey("PK_Restaurants", x => x.Id);
  31. });
  32. migrationBuilder.CreateTable(
  33. name: "Users",
  34. columns: table => new
  35. {
  36. Id = table.Column<int>(nullable: false)
  37. .Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn),
  38. Created = table.Column<DateTime>(nullable: false),
  39. Modified = table.Column<DateTime>(nullable: false),
  40. ModifiedBy = table.Column<string>(nullable: true),
  41. IsDeleted = table.Column<bool>(nullable: false),
  42. EmailAddress = table.Column<string>(nullable: true),
  43. Password = table.Column<string>(nullable: true),
  44. FirstName = table.Column<string>(nullable: true),
  45. Surname = table.Column<string>(nullable: true),
  46. Cellphone = table.Column<string>(nullable: true)
  47. },
  48. constraints: table =>
  49. {
  50. table.PrimaryKey("PK_Users", x => x.Id);
  51. });
  52. migrationBuilder.CreateTable(
  53. name: "MenuCategories",
  54. columns: table => new
  55. {
  56. Id = table.Column<int>(nullable: false)
  57. .Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn),
  58. Created = table.Column<DateTime>(nullable: false),
  59. Modified = table.Column<DateTime>(nullable: false),
  60. ModifiedBy = table.Column<string>(nullable: true),
  61. IsDeleted = table.Column<bool>(nullable: false),
  62. RestaurantId = table.Column<int>(nullable: false),
  63. Description = table.Column<string>(nullable: true)
  64. },
  65. constraints: table =>
  66. {
  67. table.PrimaryKey("PK_MenuCategories", x => x.Id);
  68. table.ForeignKey(
  69. name: "FK_MenuCategories_Restaurants_RestaurantId",
  70. column: x => x.RestaurantId,
  71. principalTable: "Restaurants",
  72. principalColumn: "Id",
  73. onDelete: ReferentialAction.Cascade);
  74. });
  75. migrationBuilder.CreateTable(
  76. name: "MenuItems",
  77. columns: table => new
  78. {
  79. Id = table.Column<int>(nullable: false)
  80. .Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn),
  81. Created = table.Column<DateTime>(nullable: false),
  82. Modified = table.Column<DateTime>(nullable: false),
  83. ModifiedBy = table.Column<string>(nullable: true),
  84. IsDeleted = table.Column<bool>(nullable: false),
  85. RestaurantId = table.Column<int>(nullable: false),
  86. CategoryId = table.Column<int>(nullable: false),
  87. Image = table.Column<string>(nullable: true),
  88. Description = table.Column<string>(nullable: true),
  89. Price = table.Column<decimal>(nullable: false)
  90. },
  91. constraints: table =>
  92. {
  93. table.PrimaryKey("PK_MenuItems", x => x.Id);
  94. table.ForeignKey(
  95. name: "FK_MenuItems_Restaurants_RestaurantId",
  96. column: x => x.RestaurantId,
  97. principalTable: "Restaurants",
  98. principalColumn: "Id",
  99. onDelete: ReferentialAction.Cascade);
  100. });
  101. migrationBuilder.CreateTable(
  102. name: "TradingHours",
  103. columns: table => new
  104. {
  105. Id = table.Column<int>(nullable: false)
  106. .Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn),
  107. Created = table.Column<DateTime>(nullable: false),
  108. Modified = table.Column<DateTime>(nullable: false),
  109. ModifiedBy = table.Column<string>(nullable: true),
  110. IsDeleted = table.Column<bool>(nullable: false),
  111. RestaurantId = table.Column<int>(nullable: false),
  112. Description = table.Column<string>(nullable: true),
  113. OpeningTime = table.Column<DateTime>(nullable: false),
  114. ClosingTime = table.Column<DateTime>(nullable: false)
  115. },
  116. constraints: table =>
  117. {
  118. table.PrimaryKey("PK_TradingHours", x => x.Id);
  119. table.ForeignKey(
  120. name: "FK_TradingHours_Restaurants_RestaurantId",
  121. column: x => x.RestaurantId,
  122. principalTable: "Restaurants",
  123. principalColumn: "Id",
  124. onDelete: ReferentialAction.Cascade);
  125. });
  126. migrationBuilder.CreateTable(
  127. name: "DriverDetails",
  128. columns: table => new
  129. {
  130. Id = table.Column<int>(nullable: false)
  131. .Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn),
  132. Created = table.Column<DateTime>(nullable: false),
  133. Modified = table.Column<DateTime>(nullable: false),
  134. ModifiedBy = table.Column<string>(nullable: true),
  135. IsDeleted = table.Column<bool>(nullable: false),
  136. UserId = table.Column<int>(nullable: false),
  137. Photo = table.Column<string>(nullable: true),
  138. RegistrationNumber = table.Column<string>(nullable: true)
  139. },
  140. constraints: table =>
  141. {
  142. table.PrimaryKey("PK_DriverDetails", x => x.Id);
  143. table.ForeignKey(
  144. name: "FK_DriverDetails_Users_UserId",
  145. column: x => x.UserId,
  146. principalTable: "Users",
  147. principalColumn: "Id",
  148. onDelete: ReferentialAction.Cascade);
  149. });
  150. migrationBuilder.CreateTable(
  151. name: "UserAddresses",
  152. columns: table => new
  153. {
  154. Id = table.Column<int>(nullable: false)
  155. .Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn),
  156. Created = table.Column<DateTime>(nullable: false),
  157. Modified = table.Column<DateTime>(nullable: false),
  158. ModifiedBy = table.Column<string>(nullable: true),
  159. IsDeleted = table.Column<bool>(nullable: false),
  160. UserId = table.Column<int>(nullable: false),
  161. Latitude = table.Column<decimal>(nullable: false),
  162. Longitude = table.Column<decimal>(nullable: false),
  163. UnitNumber = table.Column<string>(nullable: true),
  164. ComplexName = table.Column<string>(nullable: true),
  165. SteetNumber = table.Column<string>(nullable: true),
  166. StreetName = table.Column<string>(nullable: true),
  167. Suburb = table.Column<string>(nullable: true),
  168. City = table.Column<string>(nullable: true),
  169. Provice = table.Column<string>(nullable: true),
  170. Country = table.Column<string>(nullable: true),
  171. PostalCode = table.Column<string>(nullable: true)
  172. },
  173. constraints: table =>
  174. {
  175. table.PrimaryKey("PK_UserAddresses", x => x.Id);
  176. table.ForeignKey(
  177. name: "FK_UserAddresses_Users_UserId",
  178. column: x => x.UserId,
  179. principalTable: "Users",
  180. principalColumn: "Id",
  181. onDelete: ReferentialAction.Cascade);
  182. });
  183. migrationBuilder.CreateIndex(
  184. name: "IX_DriverDetails_UserId",
  185. table: "DriverDetails",
  186. column: "UserId",
  187. unique: true);
  188. migrationBuilder.CreateIndex(
  189. name: "IX_MenuCategories_RestaurantId",
  190. table: "MenuCategories",
  191. column: "RestaurantId");
  192. migrationBuilder.CreateIndex(
  193. name: "IX_MenuItems_RestaurantId",
  194. table: "MenuItems",
  195. column: "RestaurantId");
  196. migrationBuilder.CreateIndex(
  197. name: "IX_TradingHours_RestaurantId",
  198. table: "TradingHours",
  199. column: "RestaurantId");
  200. migrationBuilder.CreateIndex(
  201. name: "IX_UserAddresses_UserId",
  202. table: "UserAddresses",
  203. column: "UserId");
  204. }
  205. protected override void Down(MigrationBuilder migrationBuilder)
  206. {
  207. migrationBuilder.DropTable(
  208. name: "DriverDetails");
  209. migrationBuilder.DropTable(
  210. name: "MenuCategories");
  211. migrationBuilder.DropTable(
  212. name: "MenuItems");
  213. migrationBuilder.DropTable(
  214. name: "TradingHours");
  215. migrationBuilder.DropTable(
  216. name: "UserAddresses");
  217. migrationBuilder.DropTable(
  218. name: "Restaurants");
  219. migrationBuilder.DropTable(
  220. name: "Users");
  221. }
  222. }
  223. }