20250124020320_UpdateMember.Designer.cs 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668
  1. // <auto-generated />
  2. using System;
  3. using Microsoft.EntityFrameworkCore;
  4. using Microsoft.EntityFrameworkCore.Infrastructure;
  5. using Microsoft.EntityFrameworkCore.Metadata;
  6. using Microsoft.EntityFrameworkCore.Migrations;
  7. using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
  8. #nullable disable
  9. namespace bitforum.Migrations.DefaultDb
  10. {
  11. [DbContext(typeof(DefaultDbContext))]
  12. [Migration("20250124020320_UpdateMember")]
  13. partial class UpdateMember
  14. {
  15. /// <inheritdoc />
  16. protected override void BuildTargetModel(ModelBuilder modelBuilder)
  17. {
  18. #pragma warning disable 612, 618
  19. modelBuilder
  20. .HasAnnotation("ProductVersion", "8.0.0")
  21. .HasAnnotation("Relational:MaxIdentifierLength", 128);
  22. SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
  23. modelBuilder.Entity("bitforum.Models.Config", b =>
  24. {
  25. b.Property<int>("ID")
  26. .ValueGeneratedOnAdd()
  27. .HasColumnType("int");
  28. SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
  29. b.Property<DateTime>("CreatedAt")
  30. .HasColumnType("datetime2");
  31. b.Property<string>("Description")
  32. .HasColumnType("nvarchar(max)");
  33. b.Property<string>("Key")
  34. .IsRequired()
  35. .HasColumnType("nvarchar(450)");
  36. b.Property<string>("Value")
  37. .HasColumnType("nvarchar(max)");
  38. b.HasKey("ID");
  39. b.HasIndex("Key")
  40. .IsUnique();
  41. b.ToTable("Config");
  42. });
  43. modelBuilder.Entity("bitforum.Models.Page.Banner.BannerItem", b =>
  44. {
  45. b.Property<int>("ID")
  46. .ValueGeneratedOnAdd()
  47. .HasColumnType("int");
  48. SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
  49. b.Property<DateTime?>("CreatedAt")
  50. .HasColumnType("datetime2");
  51. b.Property<DateTime?>("EndAt")
  52. .HasColumnType("datetime2");
  53. b.Property<int>("Height")
  54. .HasColumnType("int");
  55. b.Property<string>("Image")
  56. .HasMaxLength(1024)
  57. .HasColumnType("nvarchar(1024)");
  58. b.Property<bool>("IsActive")
  59. .HasColumnType("bit");
  60. b.Property<string>("Link")
  61. .HasMaxLength(255)
  62. .HasColumnType("nvarchar(255)");
  63. b.Property<int>("Order")
  64. .HasColumnType("int");
  65. b.Property<int>("PositionID")
  66. .HasColumnType("int");
  67. b.Property<DateTime?>("StartAt")
  68. .HasColumnType("datetime2");
  69. b.Property<string>("Subject")
  70. .IsRequired()
  71. .HasMaxLength(255)
  72. .HasColumnType("nvarchar(255)");
  73. b.Property<DateTime?>("UpdatedAt")
  74. .HasColumnType("datetime2");
  75. b.Property<int>("Views")
  76. .HasColumnType("int");
  77. b.Property<int>("Width")
  78. .HasColumnType("int");
  79. b.HasKey("ID");
  80. b.HasIndex("PositionID");
  81. b.HasIndex(new[] { "IsActive" }, "IX_BannerItem_IsActive");
  82. b.HasIndex(new[] { "Order" }, "IX_BannerItem_Order");
  83. b.ToTable("BannerItem");
  84. });
  85. modelBuilder.Entity("bitforum.Models.Page.Banner.BannerPosition", b =>
  86. {
  87. b.Property<int>("ID")
  88. .ValueGeneratedOnAdd()
  89. .HasColumnType("int");
  90. SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
  91. b.Property<string>("Code")
  92. .IsRequired()
  93. .HasMaxLength(30)
  94. .HasColumnType("nvarchar(30)");
  95. b.Property<DateTime?>("CreatedAt")
  96. .HasColumnType("datetime2");
  97. b.Property<bool>("IsActive")
  98. .HasColumnType("bit");
  99. b.Property<string>("Subject")
  100. .IsRequired()
  101. .HasMaxLength(255)
  102. .HasColumnType("nvarchar(255)");
  103. b.Property<DateTime?>("UpdatedAt")
  104. .HasColumnType("datetime2");
  105. b.HasKey("ID");
  106. b.HasIndex(new[] { "Code" }, "IX_BannerPosition_Code")
  107. .IsUnique();
  108. b.HasIndex(new[] { "IsActive" }, "IX_BannerPosition_IsActive");
  109. b.ToTable("BannerPosition");
  110. });
  111. modelBuilder.Entity("bitforum.Models.Page.Document", b =>
  112. {
  113. b.Property<int>("ID")
  114. .ValueGeneratedOnAdd()
  115. .HasColumnType("int");
  116. SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
  117. b.Property<string>("Code")
  118. .IsRequired()
  119. .HasMaxLength(30)
  120. .HasColumnType("nvarchar(30)");
  121. b.Property<string>("Content")
  122. .HasColumnType("nvarchar(max)");
  123. b.Property<DateTime?>("CreatedAt")
  124. .HasColumnType("datetime2");
  125. b.Property<bool>("IsActive")
  126. .HasColumnType("bit");
  127. b.Property<string>("Subject")
  128. .IsRequired()
  129. .HasMaxLength(120)
  130. .HasColumnType("nvarchar(120)");
  131. b.Property<DateTime?>("UpdatedAt")
  132. .HasColumnType("datetime2");
  133. b.Property<int>("Views")
  134. .HasColumnType("int");
  135. b.HasKey("ID");
  136. b.HasIndex(new[] { "Code" }, "IX_Document_Code")
  137. .IsUnique();
  138. b.HasIndex(new[] { "IsActive" }, "IX_Document_IsActive");
  139. b.ToTable("Document");
  140. });
  141. modelBuilder.Entity("bitforum.Models.Page.Faq.FaqCategory", b =>
  142. {
  143. b.Property<int>("ID")
  144. .ValueGeneratedOnAdd()
  145. .HasColumnType("int");
  146. SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
  147. b.Property<string>("Code")
  148. .IsRequired()
  149. .HasMaxLength(30)
  150. .HasColumnType("nvarchar(30)");
  151. b.Property<DateTime?>("CreatedAt")
  152. .HasColumnType("datetime2");
  153. b.Property<bool>("IsActive")
  154. .HasColumnType("bit");
  155. b.Property<int>("Order")
  156. .HasColumnType("int");
  157. b.Property<string>("Subject")
  158. .IsRequired()
  159. .HasMaxLength(255)
  160. .HasColumnType("nvarchar(255)");
  161. b.Property<DateTime?>("UpdatedAt")
  162. .HasColumnType("datetime2");
  163. b.HasKey("ID");
  164. b.HasIndex(new[] { "Code" }, "IX_FaqCategory_Code")
  165. .IsUnique();
  166. b.HasIndex(new[] { "Order" }, "IX_FaqCategory_Order");
  167. b.ToTable("FaqCategory");
  168. });
  169. modelBuilder.Entity("bitforum.Models.Page.Faq.FaqItem", b =>
  170. {
  171. b.Property<int>("ID")
  172. .ValueGeneratedOnAdd()
  173. .HasColumnType("int");
  174. SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
  175. b.Property<string>("Answer")
  176. .HasColumnType("nvarchar(max)");
  177. b.Property<int>("CategoryID")
  178. .HasColumnType("int");
  179. b.Property<DateTime?>("CreatedAt")
  180. .HasColumnType("datetime2");
  181. b.Property<bool>("IsActive")
  182. .HasColumnType("bit");
  183. b.Property<int>("Order")
  184. .HasColumnType("int");
  185. b.Property<string>("Question")
  186. .IsRequired()
  187. .HasMaxLength(255)
  188. .HasColumnType("nvarchar(255)");
  189. b.Property<DateTime?>("UpdatedAt")
  190. .HasColumnType("datetime2");
  191. b.Property<int>("Views")
  192. .HasColumnType("int");
  193. b.HasKey("ID");
  194. b.HasIndex("CategoryID");
  195. b.HasIndex(new[] { "IsActive" }, "IX_FaqItem_IsActive");
  196. b.HasIndex(new[] { "Order" }, "IX_FaqItem_Order");
  197. b.ToTable("FaqItem");
  198. });
  199. modelBuilder.Entity("bitforum.Models.Page.Popup", b =>
  200. {
  201. b.Property<int>("ID")
  202. .ValueGeneratedOnAdd()
  203. .HasColumnType("int");
  204. SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
  205. b.Property<string>("Content")
  206. .HasColumnType("nvarchar(max)");
  207. b.Property<DateTime?>("CreatedAt")
  208. .HasColumnType("datetime2");
  209. b.Property<DateTime?>("EndAt")
  210. .HasColumnType("datetime2");
  211. b.Property<bool>("IsActive")
  212. .HasColumnType("bit");
  213. b.Property<string>("Link")
  214. .HasMaxLength(255)
  215. .HasColumnType("nvarchar(255)");
  216. b.Property<int>("Order")
  217. .HasColumnType("int");
  218. b.Property<DateTime?>("StartAt")
  219. .HasColumnType("datetime2");
  220. b.Property<string>("Subject")
  221. .IsRequired()
  222. .HasMaxLength(255)
  223. .HasColumnType("nvarchar(255)");
  224. b.Property<DateTime?>("UpdatedAt")
  225. .HasColumnType("datetime2");
  226. b.Property<int>("Views")
  227. .HasColumnType("int");
  228. b.HasKey("ID");
  229. b.HasIndex(new[] { "IsActive" }, "IX_Popup_IsActive");
  230. b.ToTable("Popup");
  231. });
  232. modelBuilder.Entity("bitforum.Models.User.Member", b =>
  233. {
  234. b.Property<int>("ID")
  235. .ValueGeneratedOnAdd()
  236. .HasColumnType("int")
  237. .HasComment("PK");
  238. b.Property<DateTime?>("AuthCertifiedAt")
  239. .HasColumnType("datetime2")
  240. .HasComment("본인인증 일시");
  241. b.Property<DateOnly?>("Birthday")
  242. .HasMaxLength(10)
  243. .HasColumnType("date")
  244. .HasComment("생년월일");
  245. b.Property<long>("Coin")
  246. .HasColumnType("bigint")
  247. .HasComment("코인");
  248. b.Property<DateTime>("CreatedAt")
  249. .HasColumnType("datetime2")
  250. .HasComment("가입 일시");
  251. b.Property<DateTime?>("DeletedAt")
  252. .HasColumnType("datetime2")
  253. .HasComment("탈퇴 일시");
  254. b.Property<string>("DeviceInfo")
  255. .HasMaxLength(400)
  256. .HasColumnType("nvarchar(400)")
  257. .HasComment("로그인 단말기 정보");
  258. b.Property<string>("Email")
  259. .IsRequired()
  260. .HasMaxLength(255)
  261. .HasColumnType("nvarchar(255)")
  262. .HasComment("이메일");
  263. b.Property<DateTime?>("EmailVerifiedAt")
  264. .HasColumnType("datetime2")
  265. .HasComment("이메일 인증 일시");
  266. b.Property<int>("Exp")
  267. .HasColumnType("int")
  268. .HasComment("경험치");
  269. b.Property<string>("FirstName")
  270. .HasMaxLength(20)
  271. .HasColumnType("nvarchar(20)")
  272. .HasComment("본명(성)");
  273. b.Property<int>("Followed")
  274. .HasColumnType("int")
  275. .HasComment("구독자");
  276. b.Property<int>("Following")
  277. .HasColumnType("int")
  278. .HasComment("구독 중");
  279. b.Property<string>("FullName")
  280. .HasMaxLength(40)
  281. .HasColumnType("nvarchar(40)")
  282. .HasComment("본명");
  283. b.Property<int?>("Gender")
  284. .HasMaxLength(6)
  285. .HasColumnType("int")
  286. .HasComment("성별");
  287. b.Property<int?>("GradeID")
  288. .HasColumnType("int")
  289. .HasComment("회원등급 ID");
  290. b.Property<string>("Intro")
  291. .HasMaxLength(1000)
  292. .HasColumnType("nvarchar(1000)")
  293. .HasComment("자기소개");
  294. b.Property<bool>("IsAdmin")
  295. .HasColumnType("bit")
  296. .HasComment("운영진 여부");
  297. b.Property<bool>("IsAuthCertified")
  298. .HasColumnType("bit")
  299. .HasComment("본인 인증 여부");
  300. b.Property<bool>("IsDenied")
  301. .HasColumnType("bit")
  302. .HasComment("차단 여부");
  303. b.Property<bool>("IsEmailVerified")
  304. .HasColumnType("bit")
  305. .HasComment("이메일 인증 여부");
  306. b.Property<bool>("IsWithdraw")
  307. .HasColumnType("bit")
  308. .HasComment("탈퇴 여부");
  309. b.Property<DateTime?>("LastLoginAt")
  310. .HasColumnType("datetime2")
  311. .HasComment("마지막 로그인 일시");
  312. b.Property<string>("LastLoginIp")
  313. .HasMaxLength(15)
  314. .HasColumnType("nvarchar(15)")
  315. .HasComment("마지막 로그인 IP");
  316. b.Property<string>("LastName")
  317. .HasMaxLength(40)
  318. .HasColumnType("nvarchar(40)")
  319. .HasComment("본명(이름)");
  320. b.Property<string>("Name")
  321. .HasMaxLength(20)
  322. .HasColumnType("nvarchar(20)")
  323. .HasComment("별명");
  324. b.Property<string>("Password")
  325. .IsRequired()
  326. .HasMaxLength(255)
  327. .HasColumnType("nvarchar(255)")
  328. .HasComment("비밀번호");
  329. b.Property<DateTime>("PasswordUpdatedAt")
  330. .HasColumnType("datetime2")
  331. .HasComment("비밀번호 변경 일시");
  332. b.Property<string>("Phone")
  333. .HasMaxLength(15)
  334. .HasColumnType("nvarchar(15)")
  335. .HasComment("연락처");
  336. b.Property<string>("Photo")
  337. .HasMaxLength(255)
  338. .HasColumnType("nvarchar(255)")
  339. .HasComment("사진");
  340. b.Property<string>("SID")
  341. .IsRequired()
  342. .HasMaxLength(20)
  343. .HasColumnType("nvarchar(20)")
  344. .HasComment("SID");
  345. b.Property<string>("SignupIP")
  346. .IsRequired()
  347. .HasMaxLength(15)
  348. .HasColumnType("nvarchar(15)")
  349. .HasComment("회원가입 시 IP");
  350. b.Property<string>("Summary")
  351. .HasMaxLength(50)
  352. .HasColumnType("nvarchar(50)")
  353. .HasComment("한마디");
  354. b.Property<DateTime?>("UpdatedAt")
  355. .HasColumnType("datetime2")
  356. .HasComment("수정 일시");
  357. b.HasKey("ID");
  358. b.HasIndex("GradeID");
  359. b.HasIndex(new[] { "Email" }, "IX_Member_Email")
  360. .IsUnique();
  361. b.HasIndex(new[] { "Name" }, "IX_Member_Name")
  362. .IsUnique()
  363. .HasFilter("[Name] IS NOT NULL");
  364. b.HasIndex(new[] { "SID" }, "IX_Member_SID")
  365. .IsUnique();
  366. b.ToTable("Member", t =>
  367. {
  368. t.HasComment("회원 정보");
  369. });
  370. });
  371. modelBuilder.Entity("bitforum.Models.User.MemberApprove", b =>
  372. {
  373. b.Property<int>("ID")
  374. .ValueGeneratedOnAdd()
  375. .HasColumnType("int")
  376. .HasComment("회원 ID");
  377. SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
  378. b.Property<bool>("IsDisclosureInvest")
  379. .HasColumnType("bit")
  380. .HasComment("투자 현황 공개 여부");
  381. b.Property<bool>("IsReceiveEmail")
  382. .HasColumnType("bit")
  383. .HasComment("E-MAIL 수신 여부");
  384. b.Property<bool>("IsReceiveNote")
  385. .HasColumnType("bit")
  386. .HasComment("쪽지 수신 여부");
  387. b.Property<bool>("IsReceiveSMS")
  388. .HasColumnType("bit")
  389. .HasComment("SMS 수신 여부");
  390. b.HasKey("ID");
  391. b.ToTable("MemberApprove", t =>
  392. {
  393. t.HasComment("회원 동의 및 수신 여부");
  394. });
  395. });
  396. modelBuilder.Entity("bitforum.Models.User.MemberGrade", b =>
  397. {
  398. b.Property<int>("ID")
  399. .ValueGeneratedOnAdd()
  400. .HasColumnType("int")
  401. .HasComment("PK");
  402. SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
  403. b.Property<DateTime>("CreatedAt")
  404. .HasColumnType("datetime2")
  405. .HasComment("등록 일시");
  406. b.Property<string>("Description")
  407. .HasMaxLength(1000)
  408. .HasColumnType("nvarchar(1000)")
  409. .HasComment("설명");
  410. b.Property<string>("EngName")
  411. .IsRequired()
  412. .HasMaxLength(120)
  413. .HasColumnType("nvarchar(120)")
  414. .HasComment("영문 명");
  415. b.Property<string>("Image")
  416. .HasColumnType("nvarchar(max)")
  417. .HasComment("이미지");
  418. b.Property<bool>("IsActive")
  419. .HasColumnType("bit")
  420. .HasComment("사용 여부");
  421. b.Property<string>("KorName")
  422. .IsRequired()
  423. .HasMaxLength(120)
  424. .HasColumnType("nvarchar(120)")
  425. .HasComment("한글 명");
  426. b.Property<short>("Order")
  427. .HasColumnType("smallint")
  428. .HasComment("순서");
  429. b.Property<int>("RequiredCoin")
  430. .HasColumnType("int")
  431. .HasComment("최소 코인(Coin)");
  432. b.Property<int>("RequiredExp")
  433. .HasColumnType("int")
  434. .HasComment("최소 경험치(Exp)");
  435. b.Property<DateTime?>("UpdatedAt")
  436. .HasColumnType("datetime2")
  437. .HasComment("수정 일시");
  438. b.HasKey("ID");
  439. b.HasIndex(new[] { "EngName" }, "IX_MemberGrade_EngName")
  440. .IsUnique();
  441. b.HasIndex(new[] { "KorName" }, "IX_MemberGrade_KorName")
  442. .IsUnique();
  443. b.ToTable("MemberGrade", t =>
  444. {
  445. t.HasComment("회원 등급");
  446. });
  447. });
  448. modelBuilder.Entity("bitforum.Models.Page.Banner.BannerItem", b =>
  449. {
  450. b.HasOne("bitforum.Models.Page.Banner.BannerPosition", "BannerPosition")
  451. .WithMany("BannerItem")
  452. .HasForeignKey("PositionID")
  453. .OnDelete(DeleteBehavior.Cascade)
  454. .IsRequired();
  455. b.Navigation("BannerPosition");
  456. });
  457. modelBuilder.Entity("bitforum.Models.Page.Faq.FaqItem", b =>
  458. {
  459. b.HasOne("bitforum.Models.Page.Faq.FaqCategory", "FaqCategory")
  460. .WithMany("FaqItem")
  461. .HasForeignKey("CategoryID")
  462. .OnDelete(DeleteBehavior.Cascade)
  463. .IsRequired();
  464. b.Navigation("FaqCategory");
  465. });
  466. modelBuilder.Entity("bitforum.Models.User.Member", b =>
  467. {
  468. b.HasOne("bitforum.Models.User.MemberGrade", "MemberGrade")
  469. .WithMany()
  470. .HasForeignKey("GradeID");
  471. b.HasOne("bitforum.Models.User.MemberApprove", "MemberApproves")
  472. .WithOne("Member")
  473. .HasForeignKey("bitforum.Models.User.Member", "ID")
  474. .OnDelete(DeleteBehavior.Cascade)
  475. .IsRequired();
  476. b.Navigation("MemberApproves");
  477. b.Navigation("MemberGrade");
  478. });
  479. modelBuilder.Entity("bitforum.Models.Page.Banner.BannerPosition", b =>
  480. {
  481. b.Navigation("BannerItem");
  482. });
  483. modelBuilder.Entity("bitforum.Models.Page.Faq.FaqCategory", b =>
  484. {
  485. b.Navigation("FaqItem");
  486. });
  487. modelBuilder.Entity("bitforum.Models.User.MemberApprove", b =>
  488. {
  489. b.Navigation("Member")
  490. .IsRequired();
  491. });
  492. #pragma warning restore 612, 618
  493. }
  494. }
  495. }