migration.sql 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. -- CreateTable
  2. CREATE TABLE "revoked_tokens" (
  3. "id" TEXT NOT NULL,
  4. "token" TEXT NOT NULL,
  5. "revoked_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
  6. CONSTRAINT "revoked_tokens_pkey" PRIMARY KEY ("id")
  7. );
  8. -- CreateTable
  9. CREATE TABLE "users" (
  10. "id" TEXT NOT NULL,
  11. "username" TEXT NOT NULL,
  12. "name" TEXT NOT NULL,
  13. "password_hash" TEXT NOT NULL,
  14. "role" TEXT NOT NULL,
  15. "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
  16. "updatedAt" TIMESTAMP(3) NOT NULL,
  17. "deletedAt" TIMESTAMP(3),
  18. CONSTRAINT "users_pkey" PRIMARY KEY ("id")
  19. );
  20. -- CreateTable
  21. CREATE TABLE "provinces" (
  22. "id" TEXT NOT NULL,
  23. "name" TEXT NOT NULL,
  24. "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
  25. "updatedAt" TIMESTAMP(3) NOT NULL,
  26. "deletedAt" TIMESTAMP(3),
  27. CONSTRAINT "provinces_pkey" PRIMARY KEY ("id")
  28. );
  29. -- CreateTable
  30. CREATE TABLE "cities" (
  31. "id" TEXT NOT NULL,
  32. "name" TEXT NOT NULL,
  33. "province_id" TEXT NOT NULL,
  34. "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
  35. "updatedAt" TIMESTAMP(3) NOT NULL,
  36. "deletedAt" TIMESTAMP(3),
  37. CONSTRAINT "cities_pkey" PRIMARY KEY ("id")
  38. );
  39. -- CreateTable
  40. CREATE TABLE "hospitals" (
  41. "id" TEXT NOT NULL,
  42. "name" TEXT NOT NULL,
  43. "hospital_code" TEXT,
  44. "type" TEXT,
  45. "ownership" TEXT,
  46. "province_id" TEXT NOT NULL,
  47. "city_id" TEXT NOT NULL,
  48. "address" TEXT,
  49. "simrs_type" TEXT,
  50. "contact" TEXT,
  51. "image" TEXT,
  52. "progress_status" TEXT,
  53. "note" TEXT,
  54. "created_by" TEXT NOT NULL,
  55. "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
  56. "updatedAt" TIMESTAMP(3) NOT NULL,
  57. "deletedAt" TIMESTAMP(3),
  58. CONSTRAINT "hospitals_pkey" PRIMARY KEY ("id")
  59. );
  60. -- CreateTable
  61. CREATE TABLE "user_areas" (
  62. "id" TEXT NOT NULL,
  63. "user_id" TEXT NOT NULL,
  64. "province_id" TEXT NOT NULL,
  65. "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
  66. "updatedAt" TIMESTAMP(3) NOT NULL,
  67. "deletedAt" TIMESTAMP(3),
  68. CONSTRAINT "user_areas_pkey" PRIMARY KEY ("id")
  69. );
  70. -- CreateIndex
  71. CREATE UNIQUE INDEX "provinces_name_key" ON "provinces"("name");
  72. -- CreateIndex
  73. CREATE UNIQUE INDEX "cities_name_province_id_key" ON "cities"("name", "province_id");
  74. -- AddForeignKey
  75. ALTER TABLE "cities" ADD CONSTRAINT "cities_province_id_fkey" FOREIGN KEY ("province_id") REFERENCES "provinces"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
  76. -- AddForeignKey
  77. ALTER TABLE "hospitals" ADD CONSTRAINT "hospitals_province_id_fkey" FOREIGN KEY ("province_id") REFERENCES "provinces"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
  78. -- AddForeignKey
  79. ALTER TABLE "hospitals" ADD CONSTRAINT "hospitals_city_id_fkey" FOREIGN KEY ("city_id") REFERENCES "cities"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
  80. -- AddForeignKey
  81. ALTER TABLE "hospitals" ADD CONSTRAINT "hospitals_created_by_fkey" FOREIGN KEY ("created_by") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
  82. -- AddForeignKey
  83. ALTER TABLE "user_areas" ADD CONSTRAINT "user_areas_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
  84. -- AddForeignKey
  85. ALTER TABLE "user_areas" ADD CONSTRAINT "user_areas_province_id_fkey" FOREIGN KEY ("province_id") REFERENCES "provinces"("id") ON DELETE RESTRICT ON UPDATE CASCADE;