Reference documentation and code samples for the Database Migration v1 API class MultiColumnDatatypeChange.
Options to configure rule type MultiColumnDatatypeChange.
The rule is used to change the data type and associated properties of
multiple columns at once.
The rule filter field can refer to one or more entities.
The rule scope can be one of:Column.
This rule requires additional filters to be specified beyond the basic rule
filter field, which is the source data type, but the rule supports additional
filtering capabilities such as the minimum and maximum field length. All
additional filters which are specified are required to be met in order for
the rule to be applied (logical AND between the fields).
public int OverrideFractionalSecondsPrecision { get; set; }
Optional. Column fractional seconds precision - used only for timestamp
based datatypes - if not specified and relevant uses the source column
fractional seconds precision.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThe \u003ccode\u003eMultiColumnDatatypeChange\u003c/code\u003e class in the Database Migration v1 API allows for changing the data type and properties of multiple columns at once.\u003c/p\u003e\n"],["\u003cp\u003eThis rule type requires specifying a source data type filter, but supports additional filtering options like minimum and maximum field length, which must all be met for the rule to apply.\u003c/p\u003e\n"],["\u003cp\u003eThe class offers properties to override the new data type's length, precision, scale, and fractional seconds precision, with source values being used if these are not specified.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eMultiColumnDatatypeChange\u003c/code\u003e rule can be scoped to \u003ccode\u003eColumn\u003c/code\u003e and filtered to one or multiple entities, and it has optional filters for text-based and fixed point number data types.\u003c/p\u003e\n"],["\u003cp\u003eVersion 2.5.0 is the latest version, and the documentation provides details and examples for versions ranging from 1.0.0 to 2.5.0.\u003c/p\u003e\n"]]],[],null,["# Database Migration v1 API - Class MultiColumnDatatypeChange (2.5.0)\n\nVersion latestkeyboard_arrow_down\n\n- [2.5.0 (latest)](/dotnet/docs/reference/Google.Cloud.CloudDms.V1/latest/Google.Cloud.CloudDms.V1.MultiColumnDatatypeChange)\n- [2.4.0](/dotnet/docs/reference/Google.Cloud.CloudDms.V1/2.4.0/Google.Cloud.CloudDms.V1.MultiColumnDatatypeChange)\n- [2.3.0](/dotnet/docs/reference/Google.Cloud.CloudDms.V1/2.3.0/Google.Cloud.CloudDms.V1.MultiColumnDatatypeChange)\n- [2.2.0](/dotnet/docs/reference/Google.Cloud.CloudDms.V1/2.2.0/Google.Cloud.CloudDms.V1.MultiColumnDatatypeChange)\n- [2.1.0](/dotnet/docs/reference/Google.Cloud.CloudDms.V1/2.1.0/Google.Cloud.CloudDms.V1.MultiColumnDatatypeChange)\n- [2.0.0](/dotnet/docs/reference/Google.Cloud.CloudDms.V1/2.0.0/Google.Cloud.CloudDms.V1.MultiColumnDatatypeChange)\n- [1.2.0](/dotnet/docs/reference/Google.Cloud.CloudDms.V1/1.2.0/Google.Cloud.CloudDms.V1.MultiColumnDatatypeChange)\n- [1.1.0](/dotnet/docs/reference/Google.Cloud.CloudDms.V1/1.1.0/Google.Cloud.CloudDms.V1.MultiColumnDatatypeChange)\n- [1.0.0](/dotnet/docs/reference/Google.Cloud.CloudDms.V1/1.0.0/Google.Cloud.CloudDms.V1.MultiColumnDatatypeChange) \n\n public sealed class MultiColumnDatatypeChange : IMessage\u003cMultiColumnDatatypeChange\u003e, IEquatable\u003cMultiColumnDatatypeChange\u003e, IDeepCloneable\u003cMultiColumnDatatypeChange\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Database Migration v1 API class MultiColumnDatatypeChange.\n\nOptions to configure rule type MultiColumnDatatypeChange.\nThe rule is used to change the data type and associated properties of\nmultiple columns at once.\n\nThe rule filter field can refer to one or more entities.\n\nThe rule scope can be one of:Column.\n\nThis rule requires additional filters to be specified beyond the basic rule\nfilter field, which is the source data type, but the rule supports additional\nfiltering capabilities such as the minimum and maximum field length. All\nadditional filters which are specified are required to be met in order for\nthe rule to be applied (logical AND between the fields). \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e MultiColumnDatatypeChange \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[MultiColumnDatatypeChange](/dotnet/docs/reference/Google.Cloud.CloudDms.V1/latest/Google.Cloud.CloudDms.V1.MultiColumnDatatypeChange), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[MultiColumnDatatypeChange](/dotnet/docs/reference/Google.Cloud.CloudDms.V1/latest/Google.Cloud.CloudDms.V1.MultiColumnDatatypeChange), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[MultiColumnDatatypeChange](/dotnet/docs/reference/Google.Cloud.CloudDms.V1/latest/Google.Cloud.CloudDms.V1.MultiColumnDatatypeChange), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.CloudDms.V1](/dotnet/docs/reference/Google.Cloud.CloudDms.V1/latest/Google.Cloud.CloudDms.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.CloudDms.V1.dll\n\nConstructors\n------------\n\n### MultiColumnDatatypeChange()\n\n public MultiColumnDatatypeChange()\n\n### MultiColumnDatatypeChange(MultiColumnDatatypeChange)\n\n public MultiColumnDatatypeChange(MultiColumnDatatypeChange other)\n\nProperties\n----------\n\n### CustomFeatures\n\n public Struct CustomFeatures { get; set; }\n\nOptional. Custom engine specific features.\n\n### NewDataType\n\n public string NewDataType { get; set; }\n\nRequired. New data type.\n\n### OverrideFractionalSecondsPrecision\n\n public int OverrideFractionalSecondsPrecision { get; set; }\n\nOptional. Column fractional seconds precision - used only for timestamp\nbased datatypes - if not specified and relevant uses the source column\nfractional seconds precision.\n\n### OverrideLength\n\n public long OverrideLength { get; set; }\n\nOptional. Column length - e.g. varchar (50) - if not specified and relevant\nuses the source column length.\n\n### OverridePrecision\n\n public int OverridePrecision { get; set; }\n\nOptional. Column precision - when relevant - if not specified and relevant\nuses the source column precision.\n\n### OverrideScale\n\n public int OverrideScale { get; set; }\n\nOptional. Column scale - when relevant - if not specified and relevant\nuses the source column scale.\n\n### SourceDataTypeFilter\n\n public string SourceDataTypeFilter { get; set; }\n\nRequired. Filter on source data type.\n\n### SourceFilterCase\n\n public MultiColumnDatatypeChange.SourceFilterOneofCase SourceFilterCase { get; }\n\n### SourceNumericFilter\n\n public SourceNumericFilter SourceNumericFilter { get; set; }\n\nOptional. Filter for fixed point number data types such as\nNUMERIC/NUMBER.\n\n### SourceTextFilter\n\n public SourceTextFilter SourceTextFilter { get; set; }\n\nOptional. Filter for text-based data types like varchar."]]