🎨 Update database
This commit is contained in:
parent
dc6fb939fd
commit
7bff544a12
2 changed files with 15 additions and 2 deletions
|
@ -554,7 +554,7 @@ func ParseAttributeView(avID string) (ret *AttributeView, err error) {
|
|||
}
|
||||
|
||||
func SaveAttributeView(av *AttributeView) (err error) {
|
||||
// 做一些数据兼容处理
|
||||
// 做一些数据兼容和订正处理
|
||||
now := util.CurrentTimeMillis()
|
||||
for _, kv := range av.KeyValues {
|
||||
if KeyTypeBlock == kv.Key.Type {
|
||||
|
@ -584,6 +584,13 @@ func SaveAttributeView(av *AttributeView) (err error) {
|
|||
}
|
||||
}
|
||||
|
||||
// 数据订正 - 行去重
|
||||
for _, view := range av.Views {
|
||||
if nil != view.Table {
|
||||
view.Table.RowIDs = gulu.Str.RemoveDuplicatedElem(view.Table.RowIDs)
|
||||
}
|
||||
}
|
||||
|
||||
data, err := gulu.JSON.MarshalIndentJSON(av, "", "\t") // TODO: single-line for production
|
||||
if nil != err {
|
||||
logging.LogErrorf("marshal attribute view [%s] failed: %s", av.ID, err)
|
||||
|
|
|
@ -183,7 +183,7 @@ func RenderAttributeView(avID string) (viewable av.Viewable, attrView *av.Attrib
|
|||
view = attrView.Views[0]
|
||||
}
|
||||
|
||||
// 做一些数据兼容处理,保存的时候也会做 av.SaveAttributeView()
|
||||
// 做一些数据兼容和订正处理,保存的时候也会做 av.SaveAttributeView()
|
||||
currentTimeMillis := util.CurrentTimeMillis()
|
||||
for _, kv := range attrView.KeyValues {
|
||||
switch kv.Key.Type {
|
||||
|
@ -1234,6 +1234,12 @@ func replaceAttributeViewBlock(operation *Operation, tx *Transaction) (err error
|
|||
for _, v := range attrView.Views {
|
||||
switch v.LayoutType {
|
||||
case av.LayoutTypeTable:
|
||||
for _, rowID := range v.Table.RowIDs {
|
||||
if rowID == operation.NextID {
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
for i, rowID := range v.Table.RowIDs {
|
||||
if rowID == operation.PreviousID {
|
||||
v.Table.RowIDs[i] = operation.NextID
|
||||
|
|
Loading…
Add table
Reference in a new issue