schema.prisma 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  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. cintasSummaries CintasSummary[]
  77. cintasInstallCalendar CintasInstallCalendar[]
  78. @@map("imports")
  79. }
  80. model CintasSummary {
  81. id Int @id @default(autoincrement())
  82. importId Int
  83. import Import @relation(fields: [importId], references: [id], onDelete: Cascade)
  84. week String
  85. trrTotal Int
  86. fourWkAverages Int
  87. trrPlus4Wk Int
  88. powerAdds Int
  89. weekId Int
  90. createdAt DateTime @default(now())
  91. updatedAt DateTime @updatedAt
  92. @@map("cintas_intall_calendar_summary")
  93. }
  94. model CintasInstallCalendar {
  95. id Int @id @default(autoincrement())
  96. importId Int
  97. import Import @relation(fields: [importId], references: [id], onDelete: Cascade)
  98. opportunityStatus String? @map("opportunity_status") @db.VarChar(4000)
  99. week String? @db.VarChar(4000)
  100. qtr String? @db.VarChar(4000)
  101. installDate String? @map("install_date") @db.VarChar(4000)
  102. accountName String? @map("account_name") @db.VarChar(4000)
  103. zipCode String? @map("zip_code") @db.VarChar(4000)
  104. soldToNumber String? @map("sold_to_number") @db.VarChar(4000)
  105. sortNumber String? @map("sort_number") @db.VarChar(4000)
  106. type String? @db.VarChar(4000)
  107. route String? @db.VarChar(4000)
  108. day String? @db.VarChar(4000)
  109. trr String? @db.VarChar(4000)
  110. paperChemWk1 String? @map("paper_chem_wk1") @db.VarChar(4000)
  111. paperChemWk2 String? @map("paper_chem_wk2") @db.VarChar(4000)
  112. paperChemWk3 String? @map("paper_chem_wk3") @db.VarChar(4000)
  113. paperChemWk4 String? @map("paper_chem_wk4") @db.VarChar(4000)
  114. sanis String? @db.VarChar(4000)
  115. powerAdd String? @map("power_add") @db.VarChar(4000)
  116. createdAt DateTime @default(now())
  117. updatedAt DateTime @updatedAt
  118. @@map("cintas_install_calendar")
  119. }
  120. model SiteInformation {
  121. id Int @id @default(autoincrement())
  122. companyName String @map("company_name") @db.VarChar(1000)
  123. phoneNumber String @map("phone_number") @db.VarChar(1000)
  124. facilityName String @map("facility_name") @db.VarChar(1000)
  125. companyContact String @map("company_contact") @db.VarChar(1000)
  126. createdAt DateTime @default(now())
  127. updatedAt DateTime @updatedAt
  128. @@map("siteinfo_siteinformation")
  129. }
  130. model SiteInfoLeakSummary {
  131. id Int @id @default(autoincrement())
  132. valveLeaks String? @map("valve_leaks") @db.VarChar(1000)
  133. valveTaggedLeaks String? @map("valve_tagged_leaks") @db.VarChar(1000)
  134. connectorLeaks String? @map("connector_leaks") @db.VarChar(1000)
  135. connectorTaggedLeaks String? @map("connector_tagged_leaks") @db.VarChar(1000)
  136. createdAt DateTime @default(now())
  137. updatedAt DateTime @updatedAt
  138. @@map("siteinfo_leaksummary")
  139. }
  140. model SiteInfoLeakComponents {
  141. id Int @id @default(autoincrement())
  142. componentId String? @map("component_id") @db.VarChar(1000)
  143. componentTypeLocation String? @map("component_type_location") @db.VarChar(1000)
  144. monitoringMethod String? @map("monitoring_method") @db.VarChar(1000)
  145. opgalVideoId String? @map("opgal_video_id") @db.VarChar(1000)
  146. successfulRepairDate String? @map("successful_repair_date") @db.VarChar(1000)
  147. createdAt DateTime @default(now())
  148. updatedAt DateTime @updatedAt
  149. @@map("siteinfo_leakcomponents")
  150. }
  151. model GowFacId {
  152. id Int @id @default(autoincrement())
  153. importId Int @map("import_id")
  154. corpId String? @map("corp_id") @db.VarChar(1000)
  155. odeqFacId String? @map("odeq_fac_id") @db.VarChar(1000)
  156. odeqFacilityName String? @map("odeq_facility_name") @db.VarChar(1000)
  157. corpId2 String? @map("corp_id_2") @db.VarChar(1000)
  158. createdAt DateTime @default(now())
  159. updatedAt DateTime @updatedAt
  160. @@map("gow_fac_id")
  161. }
  162. model GowData {
  163. id Int @id @default(autoincrement())
  164. importId Int @map("import_id")
  165. wellName String? @map("well_name") @db.VarChar(1000)
  166. month String? @db.VarChar(1000)
  167. corpId String? @db.VarChar(1000)
  168. completionType String? @map("completion_type") @db.VarChar(1000)
  169. state String? @db.VarChar(1000)
  170. daysOn String? @map("days_on") @db.VarChar(1000)
  171. gasProduction String? @map("gas_production") @db.VarChar(1000)
  172. gasSales String? @map("gas_sales") @db.VarChar(1000)
  173. oilProduction String? @map("oil_production") @db.VarChar(1000)
  174. oilSales String? @map("oil_sales") @db.VarChar(1000)
  175. waterProduction String? @map("water_production") @db.VarChar(1000)
  176. operator String? @db.VarChar(1000)
  177. createdAt DateTime @default(now())
  178. updatedAt DateTime @updatedAt
  179. @@map("gow_data")
  180. }
  181. model GowCorpRef {
  182. id Int @id @default(autoincrement())
  183. importId Int @map("import_id")
  184. wellName String? @map("well_name") @db.VarChar(1000)
  185. apiNo String? @map("api_no") @db.VarChar(1000)
  186. corporateId String? @map("corporate_id") @db.VarChar(1000)
  187. currentWellStatus String? @map("current_well_status") @db.VarChar(1000)
  188. countyParish String? @map("county_parish") @db.VarChar(1000)
  189. state String? @db.VarChar(1000)
  190. area String? @db.VarChar(1000)
  191. completionDate String? @map("completion_date") @db.VarChar(1000)
  192. popFirstProduction String? @map("pop_first_production") @db.VarChar(1000)
  193. operator String? @db.VarChar(1000)
  194. abandonDate String? @map("abandon_date") @db.VarChar(1000)
  195. battery String? @db.VarChar(1000)
  196. commonPadName String? @map("common_pad_name") @db.VarChar(1000)
  197. idWell String? @map("id_well") @db.VarChar(1000)
  198. leaseId String? @map("lease_id") @db.VarChar(1000)
  199. latitude String? @db.VarChar(1000)
  200. longitude String? @db.VarChar(1000)
  201. padCode String? @map("pad_code") @db.VarChar(1000)
  202. padName String? @map("pad_name") @db.VarChar(1000)
  203. permitNumber String? @map("permit_number") @db.VarChar(1000)
  204. wellSubStatus String? @map("well_sub_status") @db.VarChar(1000)
  205. shutInDate String? @map("shut_in_date") @db.VarChar(1000)
  206. createdAt DateTime @default(now())
  207. updatedAt DateTime @updatedAt
  208. @@map("gow_corp_ref")
  209. }