From 856c9711a7fcf8d8406271269c64a54baff5a76e Mon Sep 17 00:00:00 2001 From: yuancjun <35465543+yuancjun@users.noreply.github.com> Date: Thu, 14 Feb 2019 15:26:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20engine=20CondDeleted=20?= =?UTF-8?q?=E5=87=BD=E6=95=B0=E7=9A=84=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 避免 在使用 postgres 数据库同时, 开启 deleted Tag 情况下 engine.Find 函数调用报错 `pq: invalid input syntax for integer: "0001-01-01 00:00:00"` --- engine.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/engine.go b/engine.go index 07649df75..ad309c606 100644 --- a/engine.go +++ b/engine.go @@ -92,10 +92,14 @@ func (engine *Engine) BufferSize(size int) *Session { // CondDeleted returns the conditions whether a record is soft deleted. func (engine *Engine) CondDeleted(colName string) builder.Cond { - if engine.dialect.DBType() == core.MSSQL { + switch engine.dialect.DBType() { + case core.MSSQL: return builder.IsNull{colName} + case core.POSTGRES: + return builder.IsNull{colName} + default: + return builder.IsNull{colName}.Or(builder.Eq{colName: zeroTime1}) } - return builder.IsNull{colName}.Or(builder.Eq{colName: zeroTime1}) } // ShowSQL show SQL statement or not on logger if log level is great than INFO