I'm trying to add a metafield to the cls_organization table, by using the MetaFieldBuilder. Now, creating most of the fields works fine, however, I am not able to create a decimal with a specific precision and scale. When I use the CreateDecimal method, a float is created, which is not what I want.
If I add en entry in the [mcmd_MetaFieldType], with name "Decimal" and MCDataType 18, and use the CreateMetaField method instead where I specify "Decimal" as the typeName and pass an AttributeCollection with specific Precision and Scale, it works fine.
What I am wondering is, is this a safe way to achieve the decimal column in the database?
From your description, I found that it's incorrect in CreateDecimal() method from MetaFieldBuilder class that creates the float instead of decimal. I'll create a bug for this.
About the CreateMetaField() method, I think there is no risk when using it to replace for CreateDecimal() method, but note to add precision and scale attributes for AttributeCollection.
Yeah, I did look into the code for CreateDecimal and it looked a bit strange. The question is, if we add "Decimal" by ourselves in the [mcmd_MetaFieldType], could there be a conflict with a future bug fix/update from Epi Commerce?
The bug has created.
I'm not sure if there's a conflict from the fix/update with your implementation, it's depend on how we're going to fix. But I think it's may be no.
I'll update some information about the bug when we're resolve it.
Has this bug been filed? If so what's its bug number? And has it been fix in a release?