Farseer

导航

D365FO表慎重更改字段类型

在一个表里用到了Unit,最开始的时候想用UnitOfMeasure的字符串Symbol,所以就用了EDTA类型UnitIdBase,它的基础类型是str。
后来想用RecId更合适,就把字段删掉,重新创建了一个int64的字段,EDT类型用了UnitOfMeasureRecId。
然后同步数据库的时候就失败了,提示:
InvalidOperationException:Table 'SomeTable': Converting Field 'Unit' of Type 'AxTableFieldString' to 'AxTableFieldInt64' is not supported. Please drop the original field, sync the table and add a new field with the same name if needed..
所以正确的做法应该是先删掉之前的Unit,同步数据库,然后再加新的Unit再同步,这样就不报错了。
不过如果之前的代码已经发布到正式环境,要更改字段类型且字段名字保持不变,岂不是要发布两次,第一次删掉,第二次再增加,发布一次都要几个小时,为了这个发布两次,简直不可想象。
所以还是慎重对待字段类型,不要擅自改变的好。

posted on 2020-06-07 22:29  佛西亚  阅读(312)  评论(0编辑  收藏  举报