20230530022102_QAInit.cs 38 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711
  1. using System;
  2. using Microsoft.EntityFrameworkCore.Migrations;
  3. #nullable disable
  4. namespace BaseService.Migrations
  5. {
  6. public partial class QAInit : Migration
  7. {
  8. protected override void Up(MigrationBuilder migrationBuilder)
  9. {
  10. migrationBuilder.CreateTable(
  11. name: "AbpAuditLogs",
  12. columns: table => new
  13. {
  14. Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
  15. ApplicationName = table.Column<string>(type: "nvarchar(96)", maxLength: 96, nullable: true),
  16. UserId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
  17. UserName = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
  18. TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
  19. TenantName = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: true),
  20. ImpersonatorUserId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
  21. ImpersonatorUserName = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
  22. ImpersonatorTenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
  23. ImpersonatorTenantName = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: true),
  24. ExecutionTime = table.Column<DateTime>(type: "datetime2", nullable: false),
  25. ExecutionDuration = table.Column<int>(type: "int", nullable: false),
  26. ClientIpAddress = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: true),
  27. ClientName = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: true),
  28. ClientId = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: true),
  29. CorrelationId = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: true),
  30. BrowserInfo = table.Column<string>(type: "nvarchar(512)", maxLength: 512, nullable: true),
  31. HttpMethod = table.Column<string>(type: "nvarchar(16)", maxLength: 16, nullable: true),
  32. Url = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
  33. Exceptions = table.Column<string>(type: "nvarchar(max)", nullable: true),
  34. Comments = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
  35. HttpStatusCode = table.Column<int>(type: "int", nullable: true),
  36. ExtraProperties = table.Column<string>(type: "nvarchar(max)", nullable: true),
  37. ConcurrencyStamp = table.Column<string>(type: "nvarchar(40)", maxLength: 40, nullable: true)
  38. },
  39. constraints: table =>
  40. {
  41. table.PrimaryKey("PK_AbpAuditLogs", x => x.Id);
  42. });
  43. migrationBuilder.CreateTable(
  44. name: "AbpClaimTypes",
  45. columns: table => new
  46. {
  47. Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
  48. Name = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: false),
  49. Required = table.Column<bool>(type: "bit", nullable: false),
  50. IsStatic = table.Column<bool>(type: "bit", nullable: false),
  51. Regex = table.Column<string>(type: "nvarchar(512)", maxLength: 512, nullable: true),
  52. RegexDescription = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: true),
  53. Description = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
  54. ValueType = table.Column<int>(type: "int", nullable: false),
  55. ExtraProperties = table.Column<string>(type: "nvarchar(max)", nullable: true),
  56. ConcurrencyStamp = table.Column<string>(type: "nvarchar(40)", maxLength: 40, nullable: true)
  57. },
  58. constraints: table =>
  59. {
  60. table.PrimaryKey("PK_AbpClaimTypes", x => x.Id);
  61. });
  62. migrationBuilder.CreateTable(
  63. name: "AbpLinkUsers",
  64. columns: table => new
  65. {
  66. Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
  67. SourceUserId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
  68. SourceTenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
  69. TargetUserId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
  70. TargetTenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true)
  71. },
  72. constraints: table =>
  73. {
  74. table.PrimaryKey("PK_AbpLinkUsers", x => x.Id);
  75. });
  76. migrationBuilder.CreateTable(
  77. name: "AbpOrganizationUnits",
  78. columns: table => new
  79. {
  80. Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
  81. TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
  82. ParentId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
  83. Code = table.Column<string>(type: "nvarchar(95)", maxLength: 95, nullable: false),
  84. DisplayName = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: false),
  85. ExtraProperties = table.Column<string>(type: "nvarchar(max)", nullable: true),
  86. ConcurrencyStamp = table.Column<string>(type: "nvarchar(40)", maxLength: 40, nullable: true),
  87. CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
  88. CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
  89. LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true),
  90. LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
  91. IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
  92. DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
  93. DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true)
  94. },
  95. constraints: table =>
  96. {
  97. table.PrimaryKey("PK_AbpOrganizationUnits", x => x.Id);
  98. table.ForeignKey(
  99. name: "FK_AbpOrganizationUnits_AbpOrganizationUnits_ParentId",
  100. column: x => x.ParentId,
  101. principalTable: "AbpOrganizationUnits",
  102. principalColumn: "Id");
  103. });
  104. migrationBuilder.CreateTable(
  105. name: "AbpPermissionGrants",
  106. columns: table => new
  107. {
  108. Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
  109. TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
  110. Name = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: false),
  111. ProviderName = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: false),
  112. ProviderKey = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: false)
  113. },
  114. constraints: table =>
  115. {
  116. table.PrimaryKey("PK_AbpPermissionGrants", x => x.Id);
  117. });
  118. migrationBuilder.CreateTable(
  119. name: "AbpRoles",
  120. columns: table => new
  121. {
  122. Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
  123. TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
  124. Name = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: false),
  125. NormalizedName = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: false),
  126. IsDefault = table.Column<bool>(type: "bit", nullable: false),
  127. IsStatic = table.Column<bool>(type: "bit", nullable: false),
  128. IsPublic = table.Column<bool>(type: "bit", nullable: false),
  129. ExtraProperties = table.Column<string>(type: "nvarchar(max)", nullable: true),
  130. ConcurrencyStamp = table.Column<string>(type: "nvarchar(40)", maxLength: 40, nullable: true)
  131. },
  132. constraints: table =>
  133. {
  134. table.PrimaryKey("PK_AbpRoles", x => x.Id);
  135. });
  136. migrationBuilder.CreateTable(
  137. name: "AbpSecurityLogs",
  138. columns: table => new
  139. {
  140. Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
  141. TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
  142. ApplicationName = table.Column<string>(type: "nvarchar(96)", maxLength: 96, nullable: true),
  143. Identity = table.Column<string>(type: "nvarchar(96)", maxLength: 96, nullable: true),
  144. Action = table.Column<string>(type: "nvarchar(96)", maxLength: 96, nullable: true),
  145. UserId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
  146. UserName = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
  147. TenantName = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: true),
  148. ClientId = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: true),
  149. CorrelationId = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: true),
  150. ClientIpAddress = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: true),
  151. BrowserInfo = table.Column<string>(type: "nvarchar(512)", maxLength: 512, nullable: true),
  152. CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
  153. ExtraProperties = table.Column<string>(type: "nvarchar(max)", nullable: true),
  154. ConcurrencyStamp = table.Column<string>(type: "nvarchar(40)", maxLength: 40, nullable: true)
  155. },
  156. constraints: table =>
  157. {
  158. table.PrimaryKey("PK_AbpSecurityLogs", x => x.Id);
  159. });
  160. migrationBuilder.CreateTable(
  161. name: "AbpSettings",
  162. columns: table => new
  163. {
  164. Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
  165. Name = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: false),
  166. Value = table.Column<string>(type: "nvarchar(2048)", maxLength: 2048, nullable: false),
  167. ProviderName = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: true),
  168. ProviderKey = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: true)
  169. },
  170. constraints: table =>
  171. {
  172. table.PrimaryKey("PK_AbpSettings", x => x.Id);
  173. });
  174. migrationBuilder.CreateTable(
  175. name: "AbpTenants",
  176. columns: table => new
  177. {
  178. Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
  179. Name = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: false),
  180. ExtraProperties = table.Column<string>(type: "nvarchar(max)", nullable: true),
  181. ConcurrencyStamp = table.Column<string>(type: "nvarchar(40)", maxLength: 40, nullable: true),
  182. CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
  183. CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
  184. LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true),
  185. LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
  186. IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
  187. DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
  188. DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true)
  189. },
  190. constraints: table =>
  191. {
  192. table.PrimaryKey("PK_AbpTenants", x => x.Id);
  193. });
  194. migrationBuilder.CreateTable(
  195. name: "AbpUsers",
  196. columns: table => new
  197. {
  198. Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
  199. TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
  200. UserName = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: false),
  201. NormalizedUserName = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: false),
  202. Name = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: true),
  203. Surname = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: true),
  204. Email = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: false),
  205. NormalizedEmail = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: false),
  206. EmailConfirmed = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
  207. PasswordHash = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
  208. SecurityStamp = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: false),
  209. IsExternal = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
  210. PhoneNumber = table.Column<string>(type: "nvarchar(16)", maxLength: 16, nullable: true),
  211. PhoneNumberConfirmed = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
  212. IsActive = table.Column<bool>(type: "bit", nullable: false),
  213. TwoFactorEnabled = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
  214. LockoutEnd = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: true),
  215. LockoutEnabled = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
  216. AccessFailedCount = table.Column<int>(type: "int", nullable: false, defaultValue: 0),
  217. ExtraProperties = table.Column<string>(type: "nvarchar(max)", nullable: true),
  218. ConcurrencyStamp = table.Column<string>(type: "nvarchar(40)", maxLength: 40, nullable: true),
  219. CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
  220. CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
  221. LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true),
  222. LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
  223. IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
  224. DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
  225. DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true)
  226. },
  227. constraints: table =>
  228. {
  229. table.PrimaryKey("PK_AbpUsers", x => x.Id);
  230. });
  231. migrationBuilder.CreateTable(
  232. name: "AbpAuditLogActions",
  233. columns: table => new
  234. {
  235. Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
  236. TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
  237. AuditLogId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
  238. ServiceName = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
  239. MethodName = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: true),
  240. Parameters = table.Column<string>(type: "nvarchar(2000)", maxLength: 2000, nullable: true),
  241. ExecutionTime = table.Column<DateTime>(type: "datetime2", nullable: false),
  242. ExecutionDuration = table.Column<int>(type: "int", nullable: false),
  243. ExtraProperties = table.Column<string>(type: "nvarchar(max)", nullable: true)
  244. },
  245. constraints: table =>
  246. {
  247. table.PrimaryKey("PK_AbpAuditLogActions", x => x.Id);
  248. table.ForeignKey(
  249. name: "FK_AbpAuditLogActions_AbpAuditLogs_AuditLogId",
  250. column: x => x.AuditLogId,
  251. principalTable: "AbpAuditLogs",
  252. principalColumn: "Id",
  253. onDelete: ReferentialAction.Cascade);
  254. });
  255. migrationBuilder.CreateTable(
  256. name: "AbpEntityChanges",
  257. columns: table => new
  258. {
  259. Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
  260. AuditLogId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
  261. TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
  262. ChangeTime = table.Column<DateTime>(type: "datetime2", nullable: false),
  263. ChangeType = table.Column<byte>(type: "tinyint", nullable: false),
  264. EntityTenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
  265. EntityId = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: false),
  266. EntityTypeFullName = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: false),
  267. ExtraProperties = table.Column<string>(type: "nvarchar(max)", nullable: true)
  268. },
  269. constraints: table =>
  270. {
  271. table.PrimaryKey("PK_AbpEntityChanges", x => x.Id);
  272. table.ForeignKey(
  273. name: "FK_AbpEntityChanges_AbpAuditLogs_AuditLogId",
  274. column: x => x.AuditLogId,
  275. principalTable: "AbpAuditLogs",
  276. principalColumn: "Id",
  277. onDelete: ReferentialAction.Cascade);
  278. });
  279. migrationBuilder.CreateTable(
  280. name: "AbpOrganizationUnitRoles",
  281. columns: table => new
  282. {
  283. RoleId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
  284. OrganizationUnitId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
  285. TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
  286. CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
  287. CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true)
  288. },
  289. constraints: table =>
  290. {
  291. table.PrimaryKey("PK_AbpOrganizationUnitRoles", x => new { x.OrganizationUnitId, x.RoleId });
  292. table.ForeignKey(
  293. name: "FK_AbpOrganizationUnitRoles_AbpOrganizationUnits_OrganizationUnitId",
  294. column: x => x.OrganizationUnitId,
  295. principalTable: "AbpOrganizationUnits",
  296. principalColumn: "Id",
  297. onDelete: ReferentialAction.Cascade);
  298. table.ForeignKey(
  299. name: "FK_AbpOrganizationUnitRoles_AbpRoles_RoleId",
  300. column: x => x.RoleId,
  301. principalTable: "AbpRoles",
  302. principalColumn: "Id",
  303. onDelete: ReferentialAction.Cascade);
  304. });
  305. migrationBuilder.CreateTable(
  306. name: "AbpRoleClaims",
  307. columns: table => new
  308. {
  309. Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
  310. RoleId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
  311. TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
  312. ClaimType = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: false),
  313. ClaimValue = table.Column<string>(type: "nvarchar(1024)", maxLength: 1024, nullable: true)
  314. },
  315. constraints: table =>
  316. {
  317. table.PrimaryKey("PK_AbpRoleClaims", x => x.Id);
  318. table.ForeignKey(
  319. name: "FK_AbpRoleClaims_AbpRoles_RoleId",
  320. column: x => x.RoleId,
  321. principalTable: "AbpRoles",
  322. principalColumn: "Id",
  323. onDelete: ReferentialAction.Cascade);
  324. });
  325. migrationBuilder.CreateTable(
  326. name: "AbpTenantConnectionStrings",
  327. columns: table => new
  328. {
  329. TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
  330. Name = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: false),
  331. Value = table.Column<string>(type: "nvarchar(1024)", maxLength: 1024, nullable: false)
  332. },
  333. constraints: table =>
  334. {
  335. table.PrimaryKey("PK_AbpTenantConnectionStrings", x => new { x.TenantId, x.Name });
  336. table.ForeignKey(
  337. name: "FK_AbpTenantConnectionStrings_AbpTenants_TenantId",
  338. column: x => x.TenantId,
  339. principalTable: "AbpTenants",
  340. principalColumn: "Id",
  341. onDelete: ReferentialAction.Cascade);
  342. });
  343. migrationBuilder.CreateTable(
  344. name: "AbpUserClaims",
  345. columns: table => new
  346. {
  347. Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
  348. UserId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
  349. TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
  350. ClaimType = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: false),
  351. ClaimValue = table.Column<string>(type: "nvarchar(1024)", maxLength: 1024, nullable: true)
  352. },
  353. constraints: table =>
  354. {
  355. table.PrimaryKey("PK_AbpUserClaims", x => x.Id);
  356. table.ForeignKey(
  357. name: "FK_AbpUserClaims_AbpUsers_UserId",
  358. column: x => x.UserId,
  359. principalTable: "AbpUsers",
  360. principalColumn: "Id",
  361. onDelete: ReferentialAction.Cascade);
  362. });
  363. migrationBuilder.CreateTable(
  364. name: "AbpUserLogins",
  365. columns: table => new
  366. {
  367. UserId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
  368. LoginProvider = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: false),
  369. TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
  370. ProviderKey = table.Column<string>(type: "nvarchar(196)", maxLength: 196, nullable: false),
  371. ProviderDisplayName = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: true)
  372. },
  373. constraints: table =>
  374. {
  375. table.PrimaryKey("PK_AbpUserLogins", x => new { x.UserId, x.LoginProvider });
  376. table.ForeignKey(
  377. name: "FK_AbpUserLogins_AbpUsers_UserId",
  378. column: x => x.UserId,
  379. principalTable: "AbpUsers",
  380. principalColumn: "Id",
  381. onDelete: ReferentialAction.Cascade);
  382. });
  383. migrationBuilder.CreateTable(
  384. name: "AbpUserOrganizationUnits",
  385. columns: table => new
  386. {
  387. UserId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
  388. OrganizationUnitId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
  389. TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
  390. CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
  391. CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true)
  392. },
  393. constraints: table =>
  394. {
  395. table.PrimaryKey("PK_AbpUserOrganizationUnits", x => new { x.OrganizationUnitId, x.UserId });
  396. table.ForeignKey(
  397. name: "FK_AbpUserOrganizationUnits_AbpOrganizationUnits_OrganizationUnitId",
  398. column: x => x.OrganizationUnitId,
  399. principalTable: "AbpOrganizationUnits",
  400. principalColumn: "Id",
  401. onDelete: ReferentialAction.Cascade);
  402. table.ForeignKey(
  403. name: "FK_AbpUserOrganizationUnits_AbpUsers_UserId",
  404. column: x => x.UserId,
  405. principalTable: "AbpUsers",
  406. principalColumn: "Id",
  407. onDelete: ReferentialAction.Cascade);
  408. });
  409. migrationBuilder.CreateTable(
  410. name: "AbpUserRoles",
  411. columns: table => new
  412. {
  413. UserId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
  414. RoleId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
  415. TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true)
  416. },
  417. constraints: table =>
  418. {
  419. table.PrimaryKey("PK_AbpUserRoles", x => new { x.UserId, x.RoleId });
  420. table.ForeignKey(
  421. name: "FK_AbpUserRoles_AbpRoles_RoleId",
  422. column: x => x.RoleId,
  423. principalTable: "AbpRoles",
  424. principalColumn: "Id",
  425. onDelete: ReferentialAction.Cascade);
  426. table.ForeignKey(
  427. name: "FK_AbpUserRoles_AbpUsers_UserId",
  428. column: x => x.UserId,
  429. principalTable: "AbpUsers",
  430. principalColumn: "Id",
  431. onDelete: ReferentialAction.Cascade);
  432. });
  433. migrationBuilder.CreateTable(
  434. name: "AbpUserTokens",
  435. columns: table => new
  436. {
  437. UserId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
  438. LoginProvider = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: false),
  439. Name = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: false),
  440. TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
  441. Value = table.Column<string>(type: "nvarchar(max)", nullable: true)
  442. },
  443. constraints: table =>
  444. {
  445. table.PrimaryKey("PK_AbpUserTokens", x => new { x.UserId, x.LoginProvider, x.Name });
  446. table.ForeignKey(
  447. name: "FK_AbpUserTokens_AbpUsers_UserId",
  448. column: x => x.UserId,
  449. principalTable: "AbpUsers",
  450. principalColumn: "Id",
  451. onDelete: ReferentialAction.Cascade);
  452. });
  453. migrationBuilder.CreateTable(
  454. name: "AbpEntityPropertyChanges",
  455. columns: table => new
  456. {
  457. Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
  458. TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
  459. EntityChangeId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
  460. NewValue = table.Column<string>(type: "nvarchar(512)", maxLength: 512, nullable: true),
  461. OriginalValue = table.Column<string>(type: "nvarchar(512)", maxLength: 512, nullable: true),
  462. PropertyName = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: false),
  463. PropertyTypeFullName = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: false)
  464. },
  465. constraints: table =>
  466. {
  467. table.PrimaryKey("PK_AbpEntityPropertyChanges", x => x.Id);
  468. table.ForeignKey(
  469. name: "FK_AbpEntityPropertyChanges_AbpEntityChanges_EntityChangeId",
  470. column: x => x.EntityChangeId,
  471. principalTable: "AbpEntityChanges",
  472. principalColumn: "Id",
  473. onDelete: ReferentialAction.Cascade);
  474. });
  475. migrationBuilder.CreateIndex(
  476. name: "IX_AbpAuditLogActions_AuditLogId",
  477. table: "AbpAuditLogActions",
  478. column: "AuditLogId");
  479. migrationBuilder.CreateIndex(
  480. name: "IX_AbpAuditLogActions_TenantId_ServiceName_MethodName_ExecutionTime",
  481. table: "AbpAuditLogActions",
  482. columns: new[] { "TenantId", "ServiceName", "MethodName", "ExecutionTime" });
  483. migrationBuilder.CreateIndex(
  484. name: "IX_AbpAuditLogs_TenantId_ExecutionTime",
  485. table: "AbpAuditLogs",
  486. columns: new[] { "TenantId", "ExecutionTime" });
  487. migrationBuilder.CreateIndex(
  488. name: "IX_AbpAuditLogs_TenantId_UserId_ExecutionTime",
  489. table: "AbpAuditLogs",
  490. columns: new[] { "TenantId", "UserId", "ExecutionTime" });
  491. migrationBuilder.CreateIndex(
  492. name: "IX_AbpEntityChanges_AuditLogId",
  493. table: "AbpEntityChanges",
  494. column: "AuditLogId");
  495. migrationBuilder.CreateIndex(
  496. name: "IX_AbpEntityChanges_TenantId_EntityTypeFullName_EntityId",
  497. table: "AbpEntityChanges",
  498. columns: new[] { "TenantId", "EntityTypeFullName", "EntityId" });
  499. migrationBuilder.CreateIndex(
  500. name: "IX_AbpEntityPropertyChanges_EntityChangeId",
  501. table: "AbpEntityPropertyChanges",
  502. column: "EntityChangeId");
  503. migrationBuilder.CreateIndex(
  504. name: "IX_AbpLinkUsers_SourceUserId_SourceTenantId_TargetUserId_TargetTenantId",
  505. table: "AbpLinkUsers",
  506. columns: new[] { "SourceUserId", "SourceTenantId", "TargetUserId", "TargetTenantId" },
  507. unique: true,
  508. filter: "[SourceTenantId] IS NOT NULL AND [TargetTenantId] IS NOT NULL");
  509. migrationBuilder.CreateIndex(
  510. name: "IX_AbpOrganizationUnitRoles_RoleId_OrganizationUnitId",
  511. table: "AbpOrganizationUnitRoles",
  512. columns: new[] { "RoleId", "OrganizationUnitId" });
  513. migrationBuilder.CreateIndex(
  514. name: "IX_AbpOrganizationUnits_Code",
  515. table: "AbpOrganizationUnits",
  516. column: "Code");
  517. migrationBuilder.CreateIndex(
  518. name: "IX_AbpOrganizationUnits_ParentId",
  519. table: "AbpOrganizationUnits",
  520. column: "ParentId");
  521. migrationBuilder.CreateIndex(
  522. name: "IX_AbpPermissionGrants_TenantId_Name_ProviderName_ProviderKey",
  523. table: "AbpPermissionGrants",
  524. columns: new[] { "TenantId", "Name", "ProviderName", "ProviderKey" },
  525. unique: true,
  526. filter: "[TenantId] IS NOT NULL");
  527. migrationBuilder.CreateIndex(
  528. name: "IX_AbpRoleClaims_RoleId",
  529. table: "AbpRoleClaims",
  530. column: "RoleId");
  531. migrationBuilder.CreateIndex(
  532. name: "IX_AbpRoles_NormalizedName",
  533. table: "AbpRoles",
  534. column: "NormalizedName");
  535. migrationBuilder.CreateIndex(
  536. name: "IX_AbpSecurityLogs_TenantId_Action",
  537. table: "AbpSecurityLogs",
  538. columns: new[] { "TenantId", "Action" });
  539. migrationBuilder.CreateIndex(
  540. name: "IX_AbpSecurityLogs_TenantId_ApplicationName",
  541. table: "AbpSecurityLogs",
  542. columns: new[] { "TenantId", "ApplicationName" });
  543. migrationBuilder.CreateIndex(
  544. name: "IX_AbpSecurityLogs_TenantId_Identity",
  545. table: "AbpSecurityLogs",
  546. columns: new[] { "TenantId", "Identity" });
  547. migrationBuilder.CreateIndex(
  548. name: "IX_AbpSecurityLogs_TenantId_UserId",
  549. table: "AbpSecurityLogs",
  550. columns: new[] { "TenantId", "UserId" });
  551. migrationBuilder.CreateIndex(
  552. name: "IX_AbpSettings_Name_ProviderName_ProviderKey",
  553. table: "AbpSettings",
  554. columns: new[] { "Name", "ProviderName", "ProviderKey" },
  555. unique: true,
  556. filter: "[ProviderName] IS NOT NULL AND [ProviderKey] IS NOT NULL");
  557. migrationBuilder.CreateIndex(
  558. name: "IX_AbpTenants_Name",
  559. table: "AbpTenants",
  560. column: "Name");
  561. migrationBuilder.CreateIndex(
  562. name: "IX_AbpUserClaims_UserId",
  563. table: "AbpUserClaims",
  564. column: "UserId");
  565. migrationBuilder.CreateIndex(
  566. name: "IX_AbpUserLogins_LoginProvider_ProviderKey",
  567. table: "AbpUserLogins",
  568. columns: new[] { "LoginProvider", "ProviderKey" });
  569. migrationBuilder.CreateIndex(
  570. name: "IX_AbpUserOrganizationUnits_UserId_OrganizationUnitId",
  571. table: "AbpUserOrganizationUnits",
  572. columns: new[] { "UserId", "OrganizationUnitId" });
  573. migrationBuilder.CreateIndex(
  574. name: "IX_AbpUserRoles_RoleId_UserId",
  575. table: "AbpUserRoles",
  576. columns: new[] { "RoleId", "UserId" });
  577. migrationBuilder.CreateIndex(
  578. name: "IX_AbpUsers_Email",
  579. table: "AbpUsers",
  580. column: "Email");
  581. migrationBuilder.CreateIndex(
  582. name: "IX_AbpUsers_NormalizedEmail",
  583. table: "AbpUsers",
  584. column: "NormalizedEmail");
  585. migrationBuilder.CreateIndex(
  586. name: "IX_AbpUsers_NormalizedUserName",
  587. table: "AbpUsers",
  588. column: "NormalizedUserName");
  589. migrationBuilder.CreateIndex(
  590. name: "IX_AbpUsers_UserName",
  591. table: "AbpUsers",
  592. column: "UserName");
  593. }
  594. protected override void Down(MigrationBuilder migrationBuilder)
  595. {
  596. migrationBuilder.DropTable(
  597. name: "AbpAuditLogActions");
  598. migrationBuilder.DropTable(
  599. name: "AbpClaimTypes");
  600. migrationBuilder.DropTable(
  601. name: "AbpEntityPropertyChanges");
  602. migrationBuilder.DropTable(
  603. name: "AbpLinkUsers");
  604. migrationBuilder.DropTable(
  605. name: "AbpOrganizationUnitRoles");
  606. migrationBuilder.DropTable(
  607. name: "AbpPermissionGrants");
  608. migrationBuilder.DropTable(
  609. name: "AbpRoleClaims");
  610. migrationBuilder.DropTable(
  611. name: "AbpSecurityLogs");
  612. migrationBuilder.DropTable(
  613. name: "AbpSettings");
  614. migrationBuilder.DropTable(
  615. name: "AbpTenantConnectionStrings");
  616. migrationBuilder.DropTable(
  617. name: "AbpUserClaims");
  618. migrationBuilder.DropTable(
  619. name: "AbpUserLogins");
  620. migrationBuilder.DropTable(
  621. name: "AbpUserOrganizationUnits");
  622. migrationBuilder.DropTable(
  623. name: "AbpUserRoles");
  624. migrationBuilder.DropTable(
  625. name: "AbpUserTokens");
  626. migrationBuilder.DropTable(
  627. name: "AbpEntityChanges");
  628. migrationBuilder.DropTable(
  629. name: "AbpTenants");
  630. migrationBuilder.DropTable(
  631. name: "AbpOrganizationUnits");
  632. migrationBuilder.DropTable(
  633. name: "AbpRoles");
  634. migrationBuilder.DropTable(
  635. name: "AbpUsers");
  636. migrationBuilder.DropTable(
  637. name: "AbpAuditLogs");
  638. }
  639. }
  640. }