This commit is contained in:
Lunny Xiao 2021-07-03 15:40:29 +08:00
parent 02860a6146
commit 51903b5e69
No known key found for this signature in database
GPG Key ID: C3B7C91B632F738A
3 changed files with 7 additions and 4 deletions

View File

@ -1032,7 +1032,9 @@ func TestInsertDeleted(t *testing.T) {
ID uint64 `xorm:"'ID' pk autoincr"` ID uint64 `xorm:"'ID' pk autoincr"`
DeletedAt time.Time `xorm:"'DELETED_AT' deleted notnull"` DeletedAt time.Time `xorm:"'DELETED_AT' deleted notnull"`
} }
assert.Error(t, testEngine.Sync2(new(InsertDeletedStructNotRight))) // notnull tag will be ignored
err := testEngine.Sync2(new(InsertDeletedStructNotRight))
assert.NoError(t, err)
type InsertDeletedStruct struct { type InsertDeletedStruct struct {
ID uint64 `xorm:"'ID' pk autoincr"` ID uint64 `xorm:"'ID' pk autoincr"`
@ -1042,7 +1044,7 @@ func TestInsertDeleted(t *testing.T) {
assert.NoError(t, testEngine.Sync2(new(InsertDeletedStruct))) assert.NoError(t, testEngine.Sync2(new(InsertDeletedStruct)))
var v InsertDeletedStruct var v InsertDeletedStruct
_, err := testEngine.Insert(&v) _, err = testEngine.Insert(&v)
assert.NoError(t, err) assert.NoError(t, err)
var v2 InsertDeletedStruct var v2 InsertDeletedStruct

View File

@ -298,8 +298,8 @@ func (parser *Parser) Parse(v reflect.Value) (*schemas.Table, error) {
deletedColumn := table.DeletedColumn() deletedColumn := table.DeletedColumn()
// check columns // check columns
if deletedColumn != nil && !deletedColumn.Nullable { if deletedColumn != nil {
return nil, errors.New("deleted column should be allowed null") deletedColumn.Nullable = true
} }
return table, nil return table, nil

View File

@ -238,6 +238,7 @@ func UpdatedTagHandler(ctx *Context) error {
// DeletedTagHandler describes deleted tag handler // DeletedTagHandler describes deleted tag handler
func DeletedTagHandler(ctx *Context) error { func DeletedTagHandler(ctx *Context) error {
ctx.col.IsDeleted = true ctx.col.IsDeleted = true
ctx.col.Nullable = true
return nil return nil
} }