当前位置:网站首页>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
边栏推荐
- Rt-1052 learning notes - GPIO architecture analysis
- DNS cloud school | quickly locate DNS resolution exceptions and keep these four DNS status codes in mind
- 6-5 字符串 - 2. 字符串复制(赋值) (10 分)C语言标准函数库中包括 strcpy 函数,用于字符串复制(赋值)。作为练习,我们自己编写一个功能与之相同的函数。
- Analysis of the relationship between generalized Bim and CAD under the current background
- 【PTA】L2-011 玩转二叉树
- star
- Unity 模型整体更改材质
- 考研英语唐叔的语法课笔记
- [PTA] l2-011 play with binary tree
- Numpy mathematical function & logical function
猜你喜欢
DNS cloud school | analysis of hidden tunnel attacks in the hidden corner of DNS
Numpy Index & slice & iteration
Es keyword sorting error reason = fielddata is disabled on text fields by default Set fielddata = true on keyword in order
[graph theory brush question-5] Li Kou 1971 Find out if there is a path in the graph
Fundamentals of network communication (LAN, Wan, IP address, port number, protocol, encapsulation and distribution)
2022DASCTF Apr X FATE 防疫挑战赛 CRYPTO easy_real
Installation and use of NVM
【PTA】整除光棍
Matlab analytic hierarchy process to quickly calculate the weight
Three. Based on ply format point cloud voxel model JS upload interface writing
随机推荐
Introduction to link database function of cadence OrCAD capture CIS replacement components, graphic tutorial and video demonstration
Numpy sort search count set
Cadence OrCAD capture batch change component packaging function introduction graphic tutorial and video demonstration
selenium. common. exceptions. WebDriverException: Message: ‘chromedriver‘ executable needs to be in PAT
[latex] 5 how to quickly write out the latex formula corresponding to the formula
SQL Server connectors by thread pool 𞓜 instructions for dtsqlservertp plug-in
What is the difference between a host and a server?
Rt-1052 learning notes - GPIO architecture analysis
The market share of the financial industry exceeds 50%, and zdns has built a solid foundation for the financial technology network
SQL gets the latest record of the data table
Three. Based on ply format point cloud voxel model JS upload interface writing
JDBC tool class jdbcfiledateutil uploads files and date format conversion, including the latest, simplest and easiest way to upload single files and multiple files
Investigate why close is required after sqlsession is used in mybatties
An error is reported when sqoop imports data from Mysql to HDFS: sqlexception in nextkeyvalue
WordPress插件:WP-China-Yes解决国内访问官网慢的方法
How to protect ECs from hacker attacks?
Some basic configurations in interlij idea
【问题解决】‘ascii‘ codec can‘t encode characters in position xx-xx: ordinal not in range(128)
Scrapy教程 - (2)寫一個簡單爬蟲
Customize timeline component styles