schema.prisma 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245
  1. // This is your Prisma schema file,
  2. // learn more about it in the docs: https://pris.ly/d/prisma schema
  3. generator client {
  4. provider = "prisma-client-js"
  5. }
  6. datasource db {
  7. provider = "postgresql"
  8. url = env("DATABASE_URL")
  9. }
  10. model File {
  11. id String @id @default(cuid())
  12. filename String
  13. mimetype String
  14. size Int
  15. data Bytes // PostgreSQL ByteA type for blob storage
  16. userId String? // Kinde user ID that uploaded the file
  17. createdAt DateTime @default(now())
  18. updatedAt DateTime @updatedAt
  19. }
  20. model User {
  21. id Int @id @default(autoincrement())
  22. name String
  23. username String
  24. email String
  25. createdAt DateTime @default(now())
  26. updatedAt DateTime @updatedAt
  27. @@map("users")
  28. }
  29. model LayoutConfiguration {
  30. id Int @id @default(autoincrement())
  31. name String
  32. sections LayoutSection[]
  33. imports Import[]
  34. createdAt DateTime @default(now())
  35. updatedAt DateTime @updatedAt
  36. @@map("layout_configurations")
  37. }
  38. model LayoutSection {
  39. id Int @id @default(autoincrement())
  40. configurationId Int
  41. name String
  42. type String
  43. sheetName String
  44. startingRow Int?
  45. endingRow Int?
  46. tableName String
  47. fields LayoutSectionField[]
  48. layoutConfiguration LayoutConfiguration @relation(fields: [configurationId], references: [id], onDelete: Cascade)
  49. createdAt DateTime @default(now())
  50. updatedAt DateTime @updatedAt
  51. @@map("layout_sections")
  52. }
  53. model LayoutSectionField {
  54. id Int @id @default(autoincrement())
  55. layoutSectionId Int
  56. cellPosition String
  57. name String
  58. dataType String
  59. dataTypeFormat String?
  60. importTableColumnName String
  61. importColumnOrderNumber Int
  62. layoutSection LayoutSection @relation(fields: [layoutSectionId], references: [id], onDelete: Cascade)
  63. createdAt DateTime @default(now())
  64. updatedAt DateTime @updatedAt
  65. @@map("layout_section_fields")
  66. }
  67. model Import {
  68. id Int @id @default(autoincrement())
  69. name String
  70. importDate DateTime @default(now())
  71. layoutId Int
  72. layout LayoutConfiguration @relation(fields: [layoutId], references: [id])
  73. fileId String?
  74. createdAt DateTime @default(now())
  75. updatedAt DateTime @updatedAt
  76. gowFacIds GowFacId[]
  77. gowData GowData[]
  78. gowCorpRefs GowCorpRef[]
  79. cintasSummaries CintasSummary[]
  80. cintasInstallCalendar CintasInstallCalendar[]
  81. @@map("imports")
  82. }
  83. model CintasSummary {
  84. id Int @id @default(autoincrement())
  85. importId Int
  86. import Import @relation(fields: [importId], references: [id], onDelete: Cascade)
  87. week String
  88. trrTotal Int
  89. fourWkAverages Int
  90. trrPlus4Wk Int
  91. powerAdds Int
  92. weekId Int
  93. createdAt DateTime @default(now())
  94. updatedAt DateTime @updatedAt
  95. @@map("cintas_intall_calendar_summary")
  96. }
  97. model CintasInstallCalendar {
  98. id Int @id @default(autoincrement())
  99. importId Int
  100. import Import @relation(fields: [importId], references: [id], onDelete: Cascade)
  101. opportunityStatus String? @map("opportunity_status") @db.VarChar(4000)
  102. week String? @db.VarChar(4000)
  103. qtr String? @db.VarChar(4000)
  104. installDate String? @map("install_date") @db.VarChar(4000)
  105. accountName String? @map("account_name") @db.VarChar(4000)
  106. zipCode String? @map("zip_code") @db.VarChar(4000)
  107. soldToNumber String? @map("sold_to_number") @db.VarChar(4000)
  108. sortNumber String? @map("sort_number") @db.VarChar(4000)
  109. type String? @db.VarChar(4000)
  110. route String? @db.VarChar(4000)
  111. day String? @db.VarChar(4000)
  112. trr String? @db.VarChar(4000)
  113. paperChemWk1 String? @map("paper_chem_wk1") @db.VarChar(4000)
  114. paperChemWk2 String? @map("paper_chem_wk2") @db.VarChar(4000)
  115. paperChemWk3 String? @map("paper_chem_wk3") @db.VarChar(4000)
  116. paperChemWk4 String? @map("paper_chem_wk4") @db.VarChar(4000)
  117. sanis String? @db.VarChar(4000)
  118. powerAdd String? @map("power_add") @db.VarChar(4000)
  119. createdAt DateTime @default(now())
  120. updatedAt DateTime @updatedAt
  121. @@map("cintas_install_calendar")
  122. }
  123. model SiteInformation {
  124. id Int @id @default(autoincrement())
  125. companyName String @map("company_name") @db.VarChar(1000)
  126. phoneNumber String @map("phone_number") @db.VarChar(1000)
  127. facilityName String @map("facility_name") @db.VarChar(1000)
  128. companyContact String @map("company_contact") @db.VarChar(1000)
  129. createdAt DateTime @default(now())
  130. updatedAt DateTime @updatedAt
  131. @@map("siteinfo_siteinformation")
  132. }
  133. model SiteInfoLeakSummary {
  134. id Int @id @default(autoincrement())
  135. valveLeaks String? @map("valve_leaks") @db.VarChar(1000)
  136. valveTaggedLeaks String? @map("valve_tagged_leaks") @db.VarChar(1000)
  137. connectorLeaks String? @map("connector_leaks") @db.VarChar(1000)
  138. connectorTaggedLeaks String? @map("connector_tagged_leaks") @db.VarChar(1000)
  139. createdAt DateTime @default(now())
  140. updatedAt DateTime @updatedAt
  141. @@map("siteinfo_leaksummary")
  142. }
  143. model SiteInfoLeakComponents {
  144. id Int @id @default(autoincrement())
  145. componentId String? @map("component_id") @db.VarChar(1000)
  146. componentTypeLocation String? @map("component_type_location") @db.VarChar(1000)
  147. monitoringMethod String? @map("monitoring_method") @db.VarChar(1000)
  148. opgalVideoId String? @map("opgal_video_id") @db.VarChar(1000)
  149. successfulRepairDate String? @map("successful_repair_date") @db.VarChar(1000)
  150. createdAt DateTime @default(now())
  151. updatedAt DateTime @updatedAt
  152. @@map("siteinfo_leakcomponents")
  153. }
  154. model GowFacId {
  155. id Int @id @default(autoincrement())
  156. importId Int @map("importId")
  157. import Import @relation(fields: [importId], references: [id], onDelete: Cascade, onUpdate: Cascade)
  158. corpId String? @map("corp_id") @db.VarChar(4000)
  159. odeqFacId String? @map("odeq_fac_id") @db.VarChar(4000)
  160. odeqFacilityName String? @map("odeq_facility_name") @db.VarChar(4000)
  161. corpId2 String? @map("corp_id_2") @db.VarChar(4000)
  162. createdAt DateTime @default(now()) @map("createdAt")
  163. updatedAt DateTime @updatedAt @map("updatedAt")
  164. @@map("gow_fac_id")
  165. }
  166. model GowData {
  167. id Int @id @default(autoincrement())
  168. importId Int @map("importId")
  169. import Import @relation(fields: [importId], references: [id], onDelete: Cascade, onUpdate: Cascade)
  170. wellName String? @map("well_name") @db.VarChar(4000)
  171. month String? @db.VarChar(4000)
  172. corpId String? @map("corpId") @db.VarChar(4000)
  173. completionType String? @map("completion_type") @db.VarChar(4000)
  174. state String? @db.VarChar(4000)
  175. daysOn String? @map("days_on") @db.VarChar(4000)
  176. gasProduction String? @map("gas_production") @db.VarChar(4000)
  177. gasSales String? @map("gas_sales") @db.VarChar(4000)
  178. oilProduction String? @map("oil_production") @db.VarChar(4000)
  179. oilSales String? @map("oil_sales") @db.VarChar(4000)
  180. waterProduction String? @map("water_production") @db.VarChar(4000)
  181. operator String? @db.VarChar(4000)
  182. createdAt DateTime @default(now()) @map("createdAt")
  183. updatedAt DateTime @updatedAt @map("updatedAt")
  184. @@map("gow_data")
  185. }
  186. model GowCorpRef {
  187. id Int @id @default(autoincrement())
  188. importId Int @map("importId")
  189. import Import @relation(fields: [importId], references: [id], onDelete: Cascade, onUpdate: Cascade)
  190. wellName String? @map("well_name") @db.VarChar(4000)
  191. apiNo String? @map("api_no") @db.VarChar(4000)
  192. corporateId String? @map("corporate_id") @db.VarChar(4000)
  193. currentWellStatus String? @map("current_well_status") @db.VarChar(4000)
  194. countyParish String? @map("county_parish") @db.VarChar(4000)
  195. state String? @db.VarChar(4000)
  196. area String? @db.VarChar(4000)
  197. completionDate String? @map("completion_date") @db.VarChar(4000)
  198. popFirstProduction String? @map("pop_first_production") @db.VarChar(4000)
  199. operator String? @db.VarChar(4000)
  200. abandonDate String? @map("abandon_date") @db.VarChar(4000)
  201. battery String? @db.VarChar(4000)
  202. commonPadName String? @map("common_pad_name") @db.VarChar(4000)
  203. idWell String? @map("id_well") @db.VarChar(4000)
  204. leaseId String? @map("lease_id") @db.VarChar(4000)
  205. latitude String? @db.VarChar(4000)
  206. longitude String? @db.VarChar(4000)
  207. padCode String? @map("pad_code") @db.VarChar(4000)
  208. padName String? @map("pad_name") @db.VarChar(4000)
  209. permitNumber String? @map("permit_number") @db.VarChar(4000)
  210. wellSubStatus String? @map("well_sub_status") @db.VarChar(4000)
  211. shutInDate String? @map("shut_in_date") @db.VarChar(4000)
  212. createdAt DateTime @default(now()) @map("createdAt")
  213. updatedAt DateTime @updatedAt @map("updatedAt")
  214. @@map("gow_corp_ref")
  215. }