1
0

models.py 38 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889
  1. # coding: utf-8
  2. from datetime import datetime
  3. from sqlalchemy import Column, Date, DateTime, Float, Index, Integer, String, Text
  4. from sqlalchemy.schema import FetchedValue
  5. from flask_sqlalchemy import SQLAlchemy
  6. # db = SQLAlchemy()
  7. #與當前項目相關的模型文件,即所有的實體類在此編寫
  8. from coffee_manage import db
  9. from werkzeug.utils import send_file
  10. #用戶表
  11. class User(db.Model):
  12. __tablename__ = 'user'
  13. userID = db.Column(db.Integer, primary_key=True)
  14. firstname = db.Column(db.String(30), nullable=False)
  15. lastname = db.Column(db.String(30), nullable=False)
  16. mail = db.Column(db.String(50), nullable=False)
  17. phone = db.Column(db.String(20), nullable=False)
  18. username = db.Column(db.String(30), nullable=False, unique=True)
  19. password = db.Column(db.String(40), nullable=False)
  20. status = db.Column(db.Integer, nullable=False, info='0:admin;1:new;9:disable')
  21. # ////////////////////////////////////////////////////////////////////////////////
  22. # dry_block 取值測試
  23. class dry_block_waiting(db.Model):
  24. __tablename__ = 'dry_block_waiting'
  25. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  26. cond_z1_1 = db.Column(db.Text, nullable=False)
  27. cond_tank1_1 = db.Column(db.Text, nullable=False)
  28. cond_a1_1 = db.Column(db.Text, nullable=False)
  29. cond_b1_1 = db.Column(db.Text, nullable=False)
  30. cond_c1_1 = db.Column(db.Text, nullable=False)
  31. cond_a1_2 = db.Column(db.Text, nullable=False)
  32. cond_b1_2 = db.Column(db.Text, nullable=False)
  33. cond_c1_2 = db.Column(db.Text, nullable=False)
  34. cond_d1_2 = db.Column(db.Text, nullable=False)
  35. cond_a1_3 = db.Column(db.Text, nullable=False)
  36. cond_b1_3 = db.Column(db.Text, nullable=False)
  37. cond_c1_3 = db.Column(db.Text, nullable=False)
  38. cond_d1_3 = db.Column(db.Text, nullable=False)
  39. cond_a1_4 = db.Column(db.Text, nullable=False)
  40. cond_b1_4 = db.Column(db.Text, nullable=False)
  41. cond_c1_4 = db.Column(db.Text, nullable=False)
  42. cond_d1_4 = db.Column(db.Text, nullable=False)
  43. cond_a1_5 = db.Column(db.Text, nullable=False)
  44. cond_b1_5 = db.Column(db.Text, nullable=False)
  45. cond_c1_5 = db.Column(db.Text, nullable=False)
  46. cond_d1_5 = db.Column(db.Text, nullable=False)
  47. do_obj1_1 = db.Column(db.Text, nullable=False)
  48. do_act1_1 = db.Column(db.Text, nullable=False)
  49. do_obj1_2 = db.Column(db.Text, nullable=False)
  50. do_act1_2 = db.Column(db.Text, nullable=False)
  51. do_obj1_3 = db.Column(db.Text, nullable=False)
  52. do_act1_3 = db.Column(db.Text, nullable=False)
  53. do_obj1_4 = db.Column(db.Text, nullable=False)
  54. do_act1_4 = db.Column(db.Text, nullable=False)
  55. do_obj1_5 = db.Column(db.Text, nullable=False)
  56. do_act1_5 = db.Column(db.Text, nullable=False)
  57. cond_z2_1 = db.Column(db.Text, nullable=False)
  58. cond_tank2_1 = db.Column(db.Text, nullable=False)
  59. cond_a2_1 = db.Column(db.Text, nullable=False)
  60. cond_b2_1 = db.Column(db.Text, nullable=False)
  61. cond_c2_1 = db.Column(db.Text, nullable=False)
  62. cond_a2_2 = db.Column(db.Text, nullable=False)
  63. cond_b2_2 = db.Column(db.Text, nullable=False)
  64. cond_c2_2 = db.Column(db.Text, nullable=False)
  65. cond_d2_2 = db.Column(db.Text, nullable=False)
  66. cond_a2_3 = db.Column(db.Text, nullable=False)
  67. cond_b2_3 = db.Column(db.Text, nullable=False)
  68. cond_c2_3 = db.Column(db.Text, nullable=False)
  69. cond_d2_3 = db.Column(db.Text, nullable=False)
  70. cond_a2_4 = db.Column(db.Text, nullable=False)
  71. cond_b2_4 = db.Column(db.Text, nullable=False)
  72. cond_c2_4 = db.Column(db.Text, nullable=False)
  73. cond_d2_4 = db.Column(db.Text, nullable=False)
  74. cond_a2_5 = db.Column(db.Text, nullable=False)
  75. cond_b2_5 = db.Column(db.Text, nullable=False)
  76. cond_c2_5 = db.Column(db.Text, nullable=False)
  77. cond_d2_5 = db.Column(db.Text, nullable=False)
  78. do_obj2_1 = db.Column(db.Text, nullable=False)
  79. do_act2_1 = db.Column(db.Text, nullable=False)
  80. do_obj2_2 = db.Column(db.Text, nullable=False)
  81. do_act2_2 = db.Column(db.Text, nullable=False)
  82. do_obj2_3 = db.Column(db.Text, nullable=False)
  83. do_act2_3 = db.Column(db.Text, nullable=False)
  84. do_obj2_4 = db.Column(db.Text, nullable=False)
  85. do_act2_4 = db.Column(db.Text, nullable=False)
  86. do_obj2_5 = db.Column(db.Text, nullable=False)
  87. do_act2_5 = db.Column(db.Text, nullable=False)
  88. cond_z3_1 = db.Column(db.Text, nullable=False)
  89. cond_tank3_1 = db.Column(db.Text, nullable=False)
  90. cond_a3_1 = db.Column(db.Text, nullable=False)
  91. cond_b3_1 = db.Column(db.Text, nullable=False)
  92. cond_c3_1 = db.Column(db.Text, nullable=False)
  93. cond_a3_2 = db.Column(db.Text, nullable=False)
  94. cond_b3_2 = db.Column(db.Text, nullable=False)
  95. cond_c3_2 = db.Column(db.Text, nullable=False)
  96. cond_d3_2 = db.Column(db.Text, nullable=False)
  97. cond_a3_3 = db.Column(db.Text, nullable=False)
  98. cond_b3_3 = db.Column(db.Text, nullable=False)
  99. cond_c3_3 = db.Column(db.Text, nullable=False)
  100. cond_d3_3 = db.Column(db.Text, nullable=False)
  101. cond_a3_4 = db.Column(db.Text, nullable=False)
  102. cond_b3_4 = db.Column(db.Text, nullable=False)
  103. cond_c3_4 = db.Column(db.Text, nullable=False)
  104. cond_d3_4 = db.Column(db.Text, nullable=False)
  105. cond_a3_5 = db.Column(db.Text, nullable=False)
  106. cond_b3_5 = db.Column(db.Text, nullable=False)
  107. cond_c3_5 = db.Column(db.Text, nullable=False)
  108. cond_d3_5 = db.Column(db.Text, nullable=False)
  109. do_obj3_1 = db.Column(db.Text, nullable=False)
  110. do_act3_1 = db.Column(db.Text, nullable=False)
  111. do_obj3_2 = db.Column(db.Text, nullable=False)
  112. do_act3_2 = db.Column(db.Text, nullable=False)
  113. do_obj3_3 = db.Column(db.Text, nullable=False)
  114. do_act3_3 = db.Column(db.Text, nullable=False)
  115. do_obj3_4 = db.Column(db.Text, nullable=False)
  116. do_act3_4 = db.Column(db.Text, nullable=False)
  117. do_obj3_5 = db.Column(db.Text, nullable=False)
  118. do_act3_5 = db.Column(db.Text, nullable=False)
  119. cond_z4_1 = db.Column(db.Text, nullable=False)
  120. cond_tank4_1 = db.Column(db.Text, nullable=False)
  121. cond_a4_1 = db.Column(db.Text, nullable=False)
  122. cond_b4_1 = db.Column(db.Text, nullable=False)
  123. cond_c4_1 = db.Column(db.Text, nullable=False)
  124. cond_a4_2 = db.Column(db.Text, nullable=False)
  125. cond_b4_2 = db.Column(db.Text, nullable=False)
  126. cond_c4_2 = db.Column(db.Text, nullable=False)
  127. cond_d4_2 = db.Column(db.Text, nullable=False)
  128. cond_a4_3 = db.Column(db.Text, nullable=False)
  129. cond_b4_3 = db.Column(db.Text, nullable=False)
  130. cond_c4_3 = db.Column(db.Text, nullable=False)
  131. cond_d4_3 = db.Column(db.Text, nullable=False)
  132. cond_a4_4 = db.Column(db.Text, nullable=False)
  133. cond_b4_4 = db.Column(db.Text, nullable=False)
  134. cond_c4_4 = db.Column(db.Text, nullable=False)
  135. cond_d4_4 = db.Column(db.Text, nullable=False)
  136. cond_a4_5 = db.Column(db.Text, nullable=False)
  137. cond_b4_5 = db.Column(db.Text, nullable=False)
  138. cond_c4_5 = db.Column(db.Text, nullable=False)
  139. cond_d4_5 = db.Column(db.Text, nullable=False)
  140. do_obj4_1 = db.Column(db.Text, nullable=False)
  141. do_act4_1 = db.Column(db.Text, nullable=False)
  142. do_obj4_2 = db.Column(db.Text, nullable=False)
  143. do_act4_2 = db.Column(db.Text, nullable=False)
  144. do_obj4_3 = db.Column(db.Text, nullable=False)
  145. do_act4_3 = db.Column(db.Text, nullable=False)
  146. do_obj4_4 = db.Column(db.Text, nullable=False)
  147. do_act4_4 = db.Column(db.Text, nullable=False)
  148. do_obj4_5 = db.Column(db.Text, nullable=False)
  149. do_act4_5 = db.Column(db.Text, nullable=False)
  150. cond_z5_1 = db.Column(db.Text, nullable=False)
  151. cond_tank5_1 = db.Column(db.Text, nullable=False)
  152. cond_a5_1 = db.Column(db.Text, nullable=False)
  153. cond_b5_1 = db.Column(db.Text, nullable=False)
  154. cond_c5_1 = db.Column(db.Text, nullable=False)
  155. cond_a5_2 = db.Column(db.Text, nullable=False)
  156. cond_b5_2 = db.Column(db.Text, nullable=False)
  157. cond_c5_2 = db.Column(db.Text, nullable=False)
  158. cond_d5_2 = db.Column(db.Text, nullable=False)
  159. cond_a5_3 = db.Column(db.Text, nullable=False)
  160. cond_b5_3 = db.Column(db.Text, nullable=False)
  161. cond_c5_3 = db.Column(db.Text, nullable=False)
  162. cond_d5_3 = db.Column(db.Text, nullable=False)
  163. cond_a5_4 = db.Column(db.Text, nullable=False)
  164. cond_b5_4 = db.Column(db.Text, nullable=False)
  165. cond_c5_4 = db.Column(db.Text, nullable=False)
  166. cond_d5_4 = db.Column(db.Text, nullable=False)
  167. cond_a5_5 = db.Column(db.Text, nullable=False)
  168. cond_b5_5 = db.Column(db.Text, nullable=False)
  169. cond_c5_5 = db.Column(db.Text, nullable=False)
  170. cond_d5_5 = db.Column(db.Text, nullable=False)
  171. do_obj5_1 = db.Column(db.Text, nullable=False)
  172. do_act5_1 = db.Column(db.Text, nullable=False)
  173. do_obj5_2 = db.Column(db.Text, nullable=False)
  174. do_act5_2 = db.Column(db.Text, nullable=False)
  175. do_obj5_3 = db.Column(db.Text, nullable=False)
  176. do_act5_3 = db.Column(db.Text, nullable=False)
  177. do_obj5_4 = db.Column(db.Text, nullable=False)
  178. do_act5_4 = db.Column(db.Text, nullable=False)
  179. do_obj5_5 = db.Column(db.Text, nullable=False)
  180. do_act5_5 = db.Column(db.Text, nullable=False)
  181. # # ////////////////////////////////////////////////////////////////////////////////
  182. # 乾燥槽
  183. # 乾燥桶入料_感測器_超音波感測器
  184. class dry_input_sensor(db.Model):
  185. __tablename__ = 'dry_input_sensor'
  186. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  187. tank_num = db.Column(db.Text, nullable=False)
  188. UltraSonic = db.Column(db.Text, nullable=False)
  189. # 乾燥桶_感測器_SHT11
  190. class dry_tank_SHT11(db.Model):
  191. __tablename__ = 'dry_tank_SHT11'
  192. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  193. tank_num = db.Column(db.Text, nullable=False)
  194. SHT11_Temp = db.Column(db.Text, nullable=False)
  195. SHT11_Humidity = db.Column(db.Text, nullable=False)
  196. # 乾燥桶_感測器_土壤三合一感測器
  197. class dry_tank_Soil(db.Model):
  198. __tablename__ = 'dry_tank_Soil'
  199. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  200. tank_num = db.Column(db.Text, nullable=False)
  201. soil_Temp = db.Column(db.Text, nullable=False)
  202. soil_Humidity = db.Column(db.Text, nullable=False)
  203. soil_EC = db.Column(db.Text, nullable=False)
  204. # 乾燥桶_感測器_超音波感測器
  205. class dry_tank_PA(db.Model):
  206. __tablename__ = 'dry_tank_PA'
  207. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  208. tank_num = db.Column(db.Text, nullable=False)
  209. PA = db.Column(db.Text, nullable=False)
  210. # 乾燥桶_感測器_超音波感測器
  211. class dry_tank_UltraSonic(db.Model):
  212. __tablename__ = 'dry_tank_UltraSonic'
  213. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  214. tank_num = db.Column(db.Text, nullable=False)
  215. UltraSonic = db.Column(db.Text, nullable=False)
  216. # 乾燥桶出料_感測器_超音波感測器
  217. class dry_output_sensor(db.Model):
  218. __tablename__ = 'dry_output_sensor'
  219. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  220. tank_num = db.Column(db.Text, nullable=False)
  221. UltraSonic = db.Column(db.Text, nullable=False)
  222. # 乾燥桶入料_排程設定
  223. class set_dry_input(db.Model):
  224. __tablename__ = 'set_dry_input'
  225. # sn
  226. sn = db.Column(db.Integer, primary_key=True)
  227. # 存入時間
  228. datetime = db.Column(db.DateTime, nullable=False)
  229. # 入料儲豆槽_咖啡豆高度
  230. input_height = db.Column(db.Text, nullable=False)
  231. # 乾燥桶_吸料時間
  232. input_entertime = db.Column(db.Text, nullable=False)
  233. # 乾燥桶_放料時間
  234. input_exittime = db.Column(db.Text, nullable=False)
  235. # 乾燥桶_咖啡豆高度
  236. tank_height = db.Column(db.Text, nullable=False)
  237. # 乾燥桶入料_致動器_真空吸料機
  238. class dry_input_brake(db.Model):
  239. __tablename__ = 'dry_input_brake'
  240. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  241. tank_num = db.Column(db.Text, nullable=False)
  242. vacuum = db.Column(db.Integer, nullable=False)
  243. #乾燥桶_致動器_ALL
  244. class dry_tank_brake(db.Model):
  245. __tablename__ = 'dry_tank_brake'
  246. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  247. tank_num = db.Column(db.Text, nullable=False)
  248. vacuum = db.Column(db.Integer, nullable=False)
  249. threewayvalve_input = db.Column(db.Integer, nullable=False)
  250. threewayvalve_bean = db.Column(db.Integer, nullable=False)
  251. diskvalve = db.Column(db.Integer, nullable=False)
  252. solenoid_disinfect = db.Column(db.Integer, nullable=False)
  253. solenoid_water = db.Column(db.Integer, nullable=False)
  254. solenoid_outer_water = db.Column(db.Integer, nullable=False)
  255. motor = db.Column(db.Integer, nullable=False)
  256. blower = db.Column(db.Integer, nullable=False)
  257. heater1 = db.Column(db.Integer, nullable=False)
  258. heater2 = db.Column(db.Integer, nullable=False)
  259. temp1_enable = db.Column(db.Integer, nullable=False)
  260. temp1 = db.Column(db.Float, nullable=False)
  261. # 乾燥桶出料_致動器_真空吸料機
  262. class dry_output_brake(db.Model):
  263. __tablename__ = 'dry_output_brake'
  264. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  265. tank_num = db.Column(db.Text, nullable=False)
  266. vacuum = db.Column(db.Integer, nullable=False)
  267. # ////////////////////////////////////////////////////////////////////////////////
  268. # 發酵槽
  269. # 發酵槽_發酵貨櫃入料儲豆槽_超音波感測器
  270. class ferment_input_UltraSonic(db.Model):
  271. __tablename__ = 'ferment_input_UltraSonic'
  272. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  273. tank_num = db.Column(db.Text, nullable=False)
  274. UltraSonic = db.Column(db.Text, nullable=False)
  275. # 發酵槽_發酵貨櫃入料儲豆槽_致動器
  276. class ferment_input_actuator(db.Model):
  277. __tablename__ = 'ferment_input_actuator'
  278. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  279. tank_num = db.Column(db.Text, nullable=False)
  280. vacuum = db.Column(db.Integer, nullable=False)
  281. # 發酵槽_感測器_SHT11
  282. class ferment_tank_SHT11(db.Model):
  283. __tablename__ = 'ferment_tank_SHT11'
  284. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  285. tank_num = db.Column(db.Text, nullable=False)
  286. SHT11_Temp = db.Column(db.Text, nullable=False)
  287. SHT11_Humidity = db.Column(db.Text, nullable=False)
  288. # 發酵槽_感測器_二氧化碳
  289. class ferment_tank_CO2(db.Model):
  290. __tablename__ = 'ferment_tank_CO2'
  291. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  292. tank_num = db.Column(db.Text, nullable=False)
  293. CO2 = db.Column(db.Text, nullable=False)
  294. # 發酵槽_感測器_PH
  295. class ferment_tank_PH(db.Model):
  296. __tablename__ = 'ferment_tank_PH'
  297. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  298. tank_num = db.Column(db.Text, nullable=False)
  299. PH = db.Column(db.Text, nullable=False)
  300. # 發酵槽_感測器_ORP
  301. class ferment_tank_ORP(db.Model):
  302. __tablename__ = 'ferment_tank_ORP'
  303. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  304. tank_num = db.Column(db.Text, nullable=False)
  305. ORP = db.Column(db.Text, nullable=False)
  306. # 發酵槽_感測器_DO
  307. class ferment_tank_DO(db.Model):
  308. __tablename__ = 'ferment_tank_DO'
  309. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  310. tank_num = db.Column(db.Text, nullable=False)
  311. DO = db.Column(db.Text, nullable=False)
  312. # 發酵槽_感測器_EC
  313. class ferment_tank_EC(db.Model):
  314. __tablename__ = 'ferment_tank_EC'
  315. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  316. tank_num = db.Column(db.Text, nullable=False)
  317. EC = db.Column(db.Text, nullable=False)
  318. # 發酵槽_感測器_PA
  319. class ferment_tank_PA(db.Model):
  320. __tablename__ = 'ferment_tank_PA'
  321. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  322. tank_num = db.Column(db.Text, nullable=False)
  323. PA = db.Column(db.Text, nullable=False)
  324. # 發酵槽保溫夾層_感測器_保溫夾層水位計
  325. class ferment_tank_WaterLevel(db.Model):
  326. __tablename__ = 'ferment_tank_WaterLevel'
  327. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  328. tank_num = db.Column(db.Text, nullable=False)
  329. WaterLevel = db.Column(db.Text, nullable=False)
  330. # 發酵槽_感測器_超音波感測器
  331. class ferment_tank_UltraSonic(db.Model):
  332. __tablename__ = 'ferment_tank_UltraSonic'
  333. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  334. tank_num = db.Column(db.Text, nullable=False)
  335. UltraSonic = db.Column(db.Text, nullable=False)
  336. # 發酵槽_感測器_咖啡生豆高度
  337. class ferment_tank_LiDAR(db.Model):
  338. __tablename__ = 'ferment_tank_LiDAR'
  339. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  340. tank_num = db.Column(db.Text, nullable=False)
  341. LiDAR = db.Column(db.Text, nullable=False)
  342. # 發酵槽_感測器_水位高度
  343. class ferment_tank_PressureWaterLevel(db.Model):
  344. __tablename__ = 'ferment_tank_PressureWaterLevel'
  345. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  346. tank_num = db.Column(db.Text, nullable=False)
  347. PressureWaterLevel = db.Column(db.Text, nullable=False)
  348. # 發酵槽_感測器_馬達編碼器
  349. class ferment_tank_motorEncoder(db.Model):
  350. __tablename__ = 'ferment_tank_motorEncoder'
  351. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  352. tank_num = db.Column(db.Text, nullable=False)
  353. motorEncoder = db.Column(db.Text, nullable=False)
  354. # 發酵槽_致動器
  355. class ferment_tank_actuator(db.Model):
  356. __tablename__ = 'ferment_tank_actuator'
  357. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  358. tank_num = db.Column(db.Text, nullable=False)
  359. vacuum = db.Column(db.Integer, nullable=False)
  360. threewayvalve_input = db.Column(db.Integer, nullable=False)
  361. diskvalve = db.Column(db.Integer, nullable=False)
  362. solenoid_tank_pump = db.Column(db.Integer, nullable=False)
  363. solenoid_tank_disinfect = db.Column(db.Integer, nullable=False)
  364. solenoid_outer_water = db.Column(db.Integer, nullable=False)
  365. solenoid_tank_water_in = db.Column(db.Integer, nullable=False)
  366. solenoid_tank_water_out = db.Column(db.Integer, nullable=False)
  367. pump_sensor = db.Column(db.Integer, nullable=False)
  368. threewayvalve_outer_float = db.Column(db.Integer, nullable=False)
  369. motor = db.Column(db.Integer, nullable=False)
  370. heater1 = db.Column(db.Integer, nullable=False)
  371. heater2 = db.Column(db.Integer, nullable=False)
  372. temp_enable = db.Column(db.Integer, nullable=False)
  373. temp = db.Column(db.Integer, nullable=False)
  374. # 發酵槽_發酵貨櫃出料儲豆槽_感測器
  375. class ferment_output_UltraSonic(db.Model):
  376. __tablename__ = 'ferment_output_UltraSonic'
  377. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  378. tank_num = db.Column(db.Text, nullable=False)
  379. UltraSonic = db.Column(db.Text, nullable=False)
  380. # 發酵槽_發酵貨櫃出料儲豆槽_致動器
  381. class ferment_output_actuator(db.Model):
  382. __tablename__ = 'ferment_output_actuator'
  383. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  384. tank_num = db.Column(db.Text, nullable=False)
  385. vacuum = db.Column(db.Integer, nullable=False)
  386. # 發酵槽_發酵貨櫃自動化狀態判斷
  387. class ferment_container_status(db.Model):
  388. __tablename__ = 'ferment_container_status'
  389. sn = db.Column(db.Integer, primary_key=True)
  390. datetime = db.Column(db.DateTime, nullable=False)
  391. Ferment_Input_1 = db.Column(db.Text, nullable=False)
  392. Ferment_Input_2 = db.Column(db.Text, nullable=False)
  393. Ferment_Tank_1 = db.Column(db.Text, nullable=False)
  394. Ferment_Tank_2 = db.Column(db.Text, nullable=False)
  395. Ferment_Tank_3 = db.Column(db.Text, nullable=False)
  396. Ferment_Tank_4 = db.Column(db.Text, nullable=False)
  397. Ferment_Tank_5 = db.Column(db.Text, nullable=False)
  398. Ferment_Tank_6 = db.Column(db.Text, nullable=False)
  399. Ferment_Tank_7 = db.Column(db.Text, nullable=False)
  400. Ferment_Tank_8 = db.Column(db.Text, nullable=False)
  401. Ferment_Tank_9 = db.Column(db.Text, nullable=False)
  402. Ferment_Tank_10 = db.Column(db.Text, nullable=False)
  403. Ferment_Tank_11 = db.Column(db.Text, nullable=False)
  404. Ferment_Tank_12 = db.Column(db.Text, nullable=False)
  405. Ferment_Output_1 = db.Column(db.Text, nullable=False)
  406. Ferment_Output_2 = db.Column(db.Text, nullable=False)
  407. # 乾燥槽_乾燥貨櫃自動化狀態判斷
  408. class dry_container_status(db.Model):
  409. __tablename__ = 'dry_container_status'
  410. sn = db.Column(db.Integer, primary_key=True)
  411. datetime = db.Column(db.DateTime, nullable=False)
  412. Dry_Input_1 = db.Column(db.Text, nullable=False)
  413. Dry_Input_2 = db.Column(db.Text, nullable=False)
  414. Dry_Tank_1 = db.Column(db.Text, nullable=False)
  415. Dry_Tank_2 = db.Column(db.Text, nullable=False)
  416. Dry_Tank_3 = db.Column(db.Text, nullable=False)
  417. Dry_Tank_4 = db.Column(db.Text, nullable=False)
  418. Dry_Tank_5 = db.Column(db.Text, nullable=False)
  419. Dry_Tank_6 = db.Column(db.Text, nullable=False)
  420. Dry_Tank_7 = db.Column(db.Text, nullable=False)
  421. Dry_Tank_8 = db.Column(db.Text, nullable=False)
  422. Dry_Tank_9 = db.Column(db.Text, nullable=False)
  423. Dry_Tank_10 = db.Column(db.Text, nullable=False)
  424. Dry_Tank_11 = db.Column(db.Text, nullable=False)
  425. Dry_Tank_12 = db.Column(db.Text, nullable=False)
  426. Dry_Output_1 = db.Column(db.Text, nullable=False)
  427. Dry_Output_2 = db.Column(db.Text, nullable=False)
  428. # 乾燥槽_乾燥貨櫃自動化狀態判斷
  429. class clean_container_status(db.Model):
  430. __tablename__ = 'clean_container_status'
  431. sn = db.Column(db.Integer, primary_key=True)
  432. datetime = db.Column(db.DateTime, nullable=False)
  433. Clean_Input_1 = db.Column(db.Text, nullable=False)
  434. Clean_Input_2 = db.Column(db.Text, nullable=False)
  435. Clean_Tank_1 = db.Column(db.Text, nullable=False)
  436. Clean_Tank_2 = db.Column(db.Text, nullable=False)
  437. Clean_Tank_3 = db.Column(db.Text, nullable=False)
  438. Clean_Tank_4 = db.Column(db.Text, nullable=False)
  439. Reclaimed_Tank_1 = db.Column(db.Text, nullable=False)
  440. ColorSelect_Input_1 = db.Column(db.Text, nullable=False)
  441. ColorSelect_Input_2 = db.Column(db.Text, nullable=False)
  442. ColorSelect_Tank_1 = db.Column(db.Text, nullable=False)
  443. ColorSelect_Tank_2 = db.Column(db.Text, nullable=False)
  444. ColorSelect_Output_g1 = db.Column(db.Text, nullable=False)
  445. ColorSelect_Output_b1 = db.Column(db.Text, nullable=False)
  446. ColorSelect_Output_g2 = db.Column(db.Text, nullable=False)
  447. ColorSelect_Output_b2 = db.Column(db.Text, nullable=False)
  448. Peel_Tank_1 = db.Column(db.Text, nullable=False)
  449. Peel_Tank_2 = db.Column(db.Text, nullable=False)
  450. Peel_Output_1 = db.Column(db.Text, nullable=False)
  451. Peel_Output_2 = db.Column(db.Text, nullable=False)
  452. Peel_Output_b1 = db.Column(db.Text, nullable=False)
  453. # ////////////////////////////////////////////////////////////////////////////////
  454. # 清洗貨櫃
  455. # 清洗浮選槽_清洗貨櫃入料儲豆槽_致動器
  456. class clean_input_actuator(db.Model):
  457. __tablename__ = 'clean_input_actuator'
  458. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  459. tank_num = db.Column(db.Text, nullable=False)
  460. vacuum = db.Column(db.Integer, nullable=False)
  461. # 清洗浮選槽_致動器 (old)
  462. class clean_tank_actuator(db.Model):
  463. __tablename__ = 'clean_tank_actuator'
  464. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  465. tank_num = db.Column(db.Text, nullable=False)
  466. vacuum = db.Column(db.Integer, nullable=False)
  467. pump_waterInput = db.Column(db.Integer, nullable=False)
  468. pump_waterL2L3 = db.Column(db.Integer, nullable=False)
  469. pump_waterL4L5 = db.Column(db.Integer, nullable=False)
  470. solenoid_waterL2L3 = db.Column(db.Integer, nullable=False)
  471. solenoid_waterL4L5 = db.Column(db.Integer, nullable=False)
  472. stepping_motor = db.Column(db.Text, nullable=False)
  473. # 清洗浮選槽_致動器 (new)
  474. class cleann_tank_actuator(db.Model):
  475. __tablename__ = 'cleann_tank_actuator'
  476. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  477. tank_num = db.Column(db.Text, nullable=False)
  478. vacuum = db.Column(db.Integer, nullable=False)
  479. threewayvalve_input = db.Column(db.Integer, nullable=False)
  480. motor = db.Column(db.Integer, nullable=False)
  481. solenoid_reclaimed_in = db.Column(db.Integer, nullable=False)
  482. solenoid_water_in = db.Column(db.Integer, nullable=False)
  483. pump_water_in = db.Column(db.Integer, nullable=False)
  484. solenoid_water_out = db.Column(db.Integer, nullable=False)
  485. solenoid_reclaimed_out = db.Column(db.Integer, nullable=False)
  486. solenoid_disinfect = db.Column(db.Integer, nullable=False)
  487. pump_disinfect = db.Column(db.Integer, nullable=False)
  488. diskvalve = db.Column(db.Integer, nullable=False)
  489. # 清洗浮選槽_清洗貨櫃出料儲豆槽_致動器
  490. class clean_output_actuator(db.Model):
  491. __tablename__ = 'clean_output_actuator'
  492. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  493. tank_num = db.Column(db.Text, nullable=False)
  494. vacuum = db.Column(db.Integer, nullable=False)
  495. # 清洗浮選槽_感測器
  496. class clean_tank_UltraSonic(db.Model):
  497. __tablename__ = 'clean_tank_UltraSonic'
  498. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  499. tank_num = db.Column(db.Text, nullable=False)
  500. UltraSonic = db.Column(db.Text, nullable=False)
  501. class clean_tank_Encoder(db.Model):
  502. __tablename__ = 'clean_tank_Encoder'
  503. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  504. tank_num = db.Column(db.Text, nullable=False)
  505. Encoder = db.Column(db.Text, nullable=False)
  506. class clean_tank_Turbidity(db.Model):
  507. __tablename__ = 'clean_tank_Turbidity'
  508. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  509. tank_num = db.Column(db.Text, nullable=False)
  510. tankTurbidity = db.Column(db.Text, nullable=False)
  511. class clean_filter_Turbidity(db.Model):
  512. __tablename__ = 'clean_filter_Turbidity'
  513. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  514. tank_num = db.Column(db.Text, nullable=False)
  515. filterTurbidity = db.Column(db.Text, nullable=False)
  516. # 脫皮機_清洗貨櫃入料儲豆槽_致動器
  517. class peel_input_actuator(db.Model):
  518. __tablename__ = 'peel_input_actuator'
  519. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  520. tank_num = db.Column(db.Text, nullable=False)
  521. vacuum = db.Column(db.Integer, nullable=False)
  522. # 脫皮機_致動器
  523. class peel_tank_actuator(db.Model):
  524. __tablename__ = 'peel_tank_actuator'
  525. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  526. tank_num = db.Column(db.Text, nullable=False)
  527. vacuum = db.Column(db.Integer, nullable=False)
  528. motor = db.Column(db.Integer, nullable=False)
  529. # 脫皮機_感測器
  530. class peel_output_UltraSonic(db.Model):
  531. __tablename__ = 'peel_output_UltraSonic'
  532. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  533. tank_num = db.Column(db.Text, nullable=False)
  534. UltraSonic = db.Column(db.Text, nullable=False)
  535. class peel_output_motorEncoder(db.Model):
  536. __tablename__ = 'peel_output_motorEncoder'
  537. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  538. tank_num = db.Column(db.Text, nullable=False)
  539. motorEncoder = db.Column(db.Text, nullable=False)
  540. # 脫皮機_清洗貨櫃出料儲豆槽_致動器
  541. class peel_output_actuator(db.Model):
  542. __tablename__ = 'peel_output_actuator'
  543. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  544. tank_num = db.Column(db.Text, nullable=False)
  545. vacuum = db.Column(db.Integer, nullable=False)
  546. # 色選機_清洗貨櫃出料儲豆槽_致動器
  547. class colorselect_output_actuator(db.Model):
  548. __tablename__ = 'colorselect_output_actuator'
  549. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  550. tank_num = db.Column(db.Text, nullable=False)
  551. vacuum = db.Column(db.Integer, nullable=False)
  552. class colorselect_tank_actuator(db.Model):
  553. __tablename__ = 'colorselect_tank_actuator'
  554. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  555. tank_num = db.Column(db.Text, nullable=False)
  556. vacuum = db.Column(db.Integer, nullable=False)
  557. motor = db.Column(db.Integer, nullable=False)
  558. nozzle = db.Column(db.Integer, nullable=False)
  559. class colorselect_tank_color(db.Model):
  560. __tablename__ = 'colorselect_tank_color'
  561. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  562. tank_num = db.Column(db.Text, nullable=False)
  563. color = db.Column(db.Integer, nullable=False)
  564. class colorselect_tank_UltraSonic(db.Model):
  565. __tablename__ = 'colorselect_tank_UltraSonic'
  566. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  567. tank_num = db.Column(db.Text, nullable=False)
  568. UltraSonic = db.Column(db.Integer, nullable=False)
  569. # 中水桶_致動器
  570. class reclaimed_tank_actuator(db.Model):
  571. __tablename__ = 'reclaimed_tank_actuator'
  572. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  573. tank_num = db.Column(db.Text, nullable=False)
  574. solenoid_water_in = db.Column(db.Integer, nullable=False)
  575. solenoid_water_out = db.Column(db.Integer, nullable=False)
  576. solenoid_reclaimed_out = db.Column(db.Integer, nullable=False)
  577. pump_reclaimed_out = db.Column(db.Integer, nullable=False)
  578. # ////////////////////////////////////////////////////////////////////////////////
  579. # #發酵槽溫度感測器表
  580. # class TankTemSensor(db.Model):
  581. # __tablename__ = 'tank_tem_sensor'
  582. # sn = db.Column(db.Integer, primary_key=True)
  583. # datetime = db.Column(db.DateTime, nullable=False)
  584. # tank_num = db.Column(db.Integer, nullable=False)
  585. # tem = db.Column(db.Text, nullable=False)
  586. # #發酵槽二氧化碳感測器表
  587. # class TankCO2Sensor(db.Model):
  588. # __tablename__ = 'tank_co2_sensor'
  589. # sn = db.Column(db.Integer, primary_key=True)
  590. # datetime = db.Column(db.DateTime, nullable=False)
  591. # tank_num = db.Column(db.Integer, nullable=False)
  592. # co2 = db.Column(db.Text, nullable=False)
  593. # #發酵槽酸鹼值感測器表
  594. # class TankPHSensor(db.Model):
  595. # __tablename__ = 'tank_ph_sensor'
  596. # sn = db.Column(db.Integer, primary_key=True)
  597. # datetime = db.Column(db.DateTime, nullable=False)
  598. # tank_num = db.Column(db.Integer, nullable=False)
  599. # ph = db.Column(db.Text, nullable=False)
  600. # #發酵槽酸鹼值感測器表
  601. # class TankECSensor(db.Model):
  602. # __tablename__ = 'tank_ec_sensor'
  603. # sn = db.Column(db.Integer, primary_key=True)
  604. # datetime = db.Column(db.DateTime, nullable=False)
  605. # tank_num = db.Column(db.Integer, nullable=False)
  606. # ec = db.Column(db.Text, nullable=False)
  607. # #發酵槽超音波感測器表
  608. # class TankSonicSensor(db.Model):
  609. # __tablename__ = 'tank_sonic_sensor'
  610. # sn = db.Column(db.Integer, primary_key=True)
  611. # datetime = db.Column(db.DateTime, nullable=False)
  612. # tank_num = db.Column(db.Integer, nullable=False)
  613. # sonic = db.Column(db.Text, nullable=False)
  614. # class BeanValve(db.Model):
  615. # __tablename__ = 'bean_valve'
  616. # sn = db.Column(db.Integer, primary_key=True)
  617. # datetime = db.Column(db.DateTime, nullable=False)
  618. # duration = db.Column(db.Text, nullable=False)
  619. # start = db.Column(db.Text, nullable=False)
  620. # end = db.Column(db.Text, nullable=False)
  621. # class WashMachine(db.Model):
  622. # __tablename__ = 'wash_machine'
  623. # sn = db.Column(db.Integer, primary_key=True)
  624. # datetime = db.Column(db.DateTime, nullable=False)
  625. # duration = db.Column(db.Text, nullable=False)
  626. # start = db.Column(db.Text, nullable=False)
  627. # end = db.Column(db.Text, nullable=False)
  628. # class ConveyorBelt1(db.Model):
  629. # __tablename__ = 'conveyor_belt1'
  630. # sn = db.Column(db.Integer, primary_key=True)
  631. # datetime = db.Column(db.DateTime, nullable=False)
  632. # duration = db.Column(db.Text, nullable=False)
  633. # start = db.Column(db.Text, nullable=False)
  634. # end = db.Column(db.Text, nullable=False)
  635. # class Cargo1Disinfect(db.Model):
  636. # __tablename__ = 'cargo1_disinfect'
  637. # sn = db.Column(db.Integer, primary_key=True)
  638. # datetime = db.Column(db.DateTime, nullable=False)
  639. # duration = db.Column(db.Text, nullable=False)
  640. # start = db.Column(db.Text, nullable=False)
  641. # end = db.Column(db.Text, nullable=False)
  642. # class ColorMachine(db.Model):
  643. # __tablename__ = 'color_machine'
  644. # sn = db.Column(db.Integer, primary_key=True)
  645. # datetime = db.Column(db.DateTime, nullable=False)
  646. # duration = db.Column(db.Text, nullable=False)
  647. # start = db.Column(db.Text, nullable=False)
  648. # end = db.Column(db.Text, nullable=False)
  649. # class ConveyorBelt2(db.Model):
  650. # __tablename__ = 'conveyor_belt2'
  651. # sn = db.Column(db.Integer, primary_key=True)
  652. # datetime = db.Column(db.DateTime, nullable=False)
  653. # duration = db.Column(db.Text, nullable=False)
  654. # start = db.Column(db.Text, nullable=False)
  655. # end = db.Column(db.Text, nullable=False)
  656. # class PeelingMachine(db.Model):
  657. # __tablename__ = 'peeling_machine'
  658. # sn = db.Column(db.Integer, primary_key=True)
  659. # datetime = db.Column(db.DateTime, nullable=False)
  660. # duration = db.Column(db.Text, nullable=False)
  661. # start = db.Column(db.Text, nullable=False)
  662. # end = db.Column(db.Text, nullable=False)
  663. # class ConveyorBelt3(db.Model):
  664. # __tablename__ = 'conveyor_belt3'
  665. # sn = db.Column(db.Integer, primary_key=True)
  666. # datetime = db.Column(db.DateTime, nullable=False)
  667. # duration = db.Column(db.Text, nullable=False)
  668. # start = db.Column(db.Text, nullable=False)
  669. # end = db.Column(db.Text, nullable=False)
  670. # class Bacteria(db.Model):
  671. # __tablename__ = 'bacteria'
  672. # sn = db.Column(db.Integer, primary_key=True)
  673. # datetime = db.Column(db.DateTime, nullable=False)
  674. # tank_num = db.Column(db.Integer, nullable=False)
  675. # duration = db.Column(db.Text, nullable=False)
  676. # start = db.Column(db.Text, nullable=False)
  677. # end = db.Column(db.Text, nullable=False)
  678. # class Cargo2Disinfect(db.Model):
  679. # __tablename__ = 'cargo2_disinfect'
  680. # sn = db.Column(db.Integer, primary_key=True)
  681. # datetime = db.Column(db.DateTime, nullable=False)
  682. # tank_num = db.Column(db.Integer, nullable=False)
  683. # duration = db.Column(db.Text, nullable=False)
  684. # start = db.Column(db.Text, nullable=False)
  685. # end = db.Column(db.Text, nullable=False)
  686. # class Heating(db.Model):
  687. # __tablename__ = 'heating'
  688. # sn = db.Column(db.Integer, primary_key=True)
  689. # datetime = db.Column(db.DateTime, nullable=False)
  690. # tank_num = db.Column(db.Integer, nullable=False)
  691. # duration = db.Column(db.Text, nullable=False)
  692. # start = db.Column(db.Text, nullable=False)
  693. # end = db.Column(db.Text, nullable=False)
  694. # class Stir(db.Model):
  695. # __tablename__ = 'stir'
  696. # sn = db.Column(db.Integer, primary_key=True)
  697. # datetime = db.Column(db.DateTime, nullable=False)
  698. # tank_num = db.Column(db.Integer, nullable=False)
  699. # duration = db.Column(db.Text, nullable=False)
  700. # start = db.Column(db.Text, nullable=False)
  701. # end = db.Column(db.Text, nullable=False)
  702. # class WaterInjection(db.Model):
  703. # __tablename__ = 'water_injection'
  704. # sn = db.Column(db.Integer, primary_key=True)
  705. # datetime = db.Column(db.DateTime, nullable=False)
  706. # tank_num = db.Column(db.Integer, nullable=False)
  707. # duration = db.Column(db.Text, nullable=False)
  708. # start = db.Column(db.Text, nullable=False)
  709. # end = db.Column(db.Text, nullable=False)
  710. # class TopValve(db.Model):
  711. # __tablename__ = 'top_valve'
  712. # sn = db.Column(db.Integer, primary_key=True)
  713. # datetime = db.Column(db.DateTime, nullable=False)
  714. # tank_num = db.Column(db.Integer, nullable=False)
  715. # duration = db.Column(db.Text, nullable=False)
  716. # start = db.Column(db.Text, nullable=False)
  717. # end = db.Column(db.Text, nullable=False)
  718. # class BottomValve(db.Model):
  719. # __tablename__ = 'bottom_valve'
  720. # sn = db.Column(db.Integer, primary_key=True)
  721. # datetime = db.Column(db.DateTime, nullable=False)
  722. # tank_num = db.Column(db.Integer, nullable=False)
  723. # duration = db.Column(db.Text, nullable=False)
  724. # start = db.Column(db.Text, nullable=False)
  725. # end = db.Column(db.Text, nullable=False)
  726. # class Temperature(db.Model):
  727. # __tablename__ = 'temperature'
  728. # sn = db.Column(db.Integer, primary_key=True)
  729. # datetime = db.Column(db.DateTime, nullable=False)
  730. # tank_num = db.Column(db.Integer, nullable=False)
  731. # duration = db.Column(db.Text, nullable=False)
  732. # start = db.Column(db.Text, nullable=False)
  733. # end = db.Column(db.Text, nullable=False)
  734. # class Hoist(db.Model):
  735. # __tablename__ = 'hoist'
  736. # sn = db.Column(db.Integer, primary_key=True)
  737. # datetime = db.Column(db.DateTime, nullable=False)
  738. # duration = db.Column(db.Text, nullable=False)
  739. # start = db.Column(db.Text, nullable=False)
  740. # end = db.Column(db.Text, nullable=False)
  741. # class Dryer(db.Model):
  742. # __tablename__ = 'dryer'
  743. # sn = db.Column(db.Integer, primary_key=True)
  744. # datetime = db.Column(db.DateTime, nullable=False)
  745. # duration = db.Column(db.Text, nullable=False)
  746. # start = db.Column(db.Text, nullable=False)
  747. # end = db.Column(db.Text, nullable=False)
  748. # class Relay(db.Model):
  749. # __tablename__ = 'relay'
  750. # sn = db.Column(db.Integer, primary_key=True)
  751. # datetime = db.Column(db.DateTime, nullable=False)
  752. # tank_num = db.Column(db.Integer, nullable=False)
  753. # status= db.Column(db.Text, nullable=False)
  754. # class PeelingMachineRPM(db.Model):
  755. # __tablename__ = 'peeling_machine_rpm'
  756. # sn = db.Column(db.Integer, primary_key=True)
  757. # datetime = db.Column(db.DateTime, nullable=False)
  758. # tank_num = db.Column(db.Integer, nullable=False)
  759. # rpm = db.Column(db.Text, nullable=False)
  760. # class StirRPM(db.Model):
  761. # __tablename__ = 'stir_rpm'
  762. # sn = db.Column(db.Integer, primary_key=True)
  763. # datetime = db.Column(db.DateTime, nullable=False)
  764. # tank_num = db.Column(db.Integer, nullable=False)
  765. # rpm = db.Column(db.Text, nullable=False)
  766. db.create_all()