当前位置:网站首页>Go zero framework database avoidance Guide
Go zero framework database avoidance Guide
2022-04-23 20:24:00 【Deng_ Xian_ Sheng】
Let's start with a problem that doesn't seem to be a problem ,zero The package that should be imported may be missing from the source code generated by the framework or given in the document
If you use goland Will automatically import ; But if it is vscode Or other editors need to pay attention to this problem
————————————————————————————————————————-——
Let's go on zero Framework database related
zero It's generating insert、update These two fields are excluded by default when coding
create_time
update_time
however , barring delete_time
; Read through the generated code and you will find ;insert In the code delete_time
As a necessary parameter, it is embedded in the code ; If this field is not filled in the structure of the parameter transfer ; May get Incorrect datetime value: '0000-00-00' for column 'delete_time' at row1
therefore , You need to exclude this field , Or write it yourself insert Code
# Exclude this field
userRowsExpectAutoSet = strings.Join(stringx.Remove(userFieldNames, "`id`", "`create_time`", "`update_time`"), ",")
Another question
For special fields , Note that null problem
#delete_time The field should be allowed to be null, And the default for null
`delete_time` timestamp(3) NULL DEFAULT NULL,
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
If sql Field constraints 、 Incorrect type ; This may happen to the generated code
DeleteTime time.Time `db:"deleted_at"`
CreateTime time.Time `db:"created_time"`
UpdateTime time.Time `db:"updated_time"`
It should have been
DeleteTime sql.NullTime `db:"deleted_at"`
CreateTime time.Time `db:"created_time"`
UpdateTime time.Time `db:"updated_time"`
If you need to modify the fields of a table later , Generated CURD In addition to the structure of the table ;CURD The function also needs to be modified ; Otherwise, there will be some problems .( because CURD The function of is highly coupled to the structure of the table )
In general zero The point is still rpc, send rpc Better to use ; It's simpler .
For the encapsulation of database, the general situation is , Don't over rely .
版权声明
本文为[Deng_ Xian_ Sheng]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/04/202204232018198102.html
边栏推荐
- The R language uses the timeroc package to calculate the multi time AUC value of survival data without competitive risk, and uses the confint function to calculate the confidence interval value of mul
- star
- Handwritten Google's first generation distributed computing framework MapReduce
- Browser - learning notes
- R language uses econocrats package to create microeconomic or macroeconomic map, visualize indifference function indifference curve, customize calculation intersection, and customize the parameters of
- Livego + ffmpeg + RTMP + flvjs to realize live video
- [latex] 5 how to quickly write out the latex formula corresponding to the formula
- CVPR 2022 | querydet: use cascaded sparse query to accelerate small target detection under high resolution
- On BIM data redundancy theory
- Mysql database and table building: the difference between utf8 and utf8mb4
猜你喜欢
Mysql database backup scheme
Numpy Index & slice & iteration
DNS cloud school rising posture! Three advanced uses of authoritative DNS
Plato Farm元宇宙IEO上线四大,链上交易颇高
Numpy - creation of data type and array
DNS cloud school | quickly locate DNS resolution exceptions and keep these four DNS status codes in mind
Automatically fill in body temperature and win10 task plan
. Ren -- the intimate artifact in the field of vertical Recruitment!
Devexpress 14.1 installation record
Five minutes to show you what JWT is
随机推荐
Shanghai a répondu que « le site officiel de la farine est illégal »: l'exploitation et l'entretien négligents ont été « noirs » et la police a déposé une plainte
如何做产品创新?——产品创新方法论探索一
Markdown < a > tag new page open link
【PTA】L1-006 连续因子
PostgreSQL basic functions
A useless confession artifact
6-5 字符串 - 2. 字符串复制(赋值) (10 分)C语言标准函数库中包括 strcpy 函数,用于字符串复制(赋值)。作为练习,我们自己编写一个功能与之相同的函数。
Monte Carlo py solves the area problem! (save pupils Series)
LeetCode 1346、检查整数及其两倍数是否存在
[problem solving] 'ASCII' codec can't encode characters in position XX XX: ordinal not in range (128)
[PTA] l2-011 play with binary tree
【栈和队列专题】—— 滑动窗口
Scrapy教程 - (2)寫一個簡單爬蟲
Five minutes to show you what JWT is
Change the material of unity model as a whole
Development of Matlab GUI bridge auxiliary Designer (functional introduction)
The ODB model calculates the data and outputs it to excel
PIP installation package reports an error. Could not find a version that satisfies the requirement pymysql (from versions: none)
Unity 模型整体更改材质
How about CICC fortune? Is it safe to open an account