Class: Google::Apis::DatamigrationV1::MultiColumnDatatypeChange

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/datamigration_v1/classes.rb,
lib/google/apis/datamigration_v1/representations.rb,
lib/google/apis/datamigration_v1/representations.rb

Overview

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).

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ MultiColumnDatatypeChange

Returns a new instance of MultiColumnDatatypeChange.



3002
3003
3004
# File 'lib/google/apis/datamigration_v1/classes.rb', line 3002

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#custom_featuresHash<String,Object>

Optional. Custom engine specific features. Corresponds to the JSON property customFeatures

Returns:

  • (Hash<String,Object>)


2955
2956
2957
# File 'lib/google/apis/datamigration_v1/classes.rb', line 2955

def custom_features
  @custom_features
end

#new_data_typeString

Required. New data type. Corresponds to the JSON property newDataType

Returns:

  • (String)


2960
2961
2962
# File 'lib/google/apis/datamigration_v1/classes.rb', line 2960

def new_data_type
  @new_data_type
end

#override_fractional_seconds_precisionFixnum

Optional. Column fractional seconds precision - used only for timestamp based datatypes - if not specified and relevant uses the source column fractional seconds precision. Corresponds to the JSON property overrideFractionalSecondsPrecision

Returns:

  • (Fixnum)


2967
2968
2969
# File 'lib/google/apis/datamigration_v1/classes.rb', line 2967

def override_fractional_seconds_precision
  @override_fractional_seconds_precision
end

#override_lengthFixnum

Optional. Column length - e.g. varchar (50) - if not specified and relevant uses the source column length. Corresponds to the JSON property overrideLength

Returns:

  • (Fixnum)


2973
2974
2975
# File 'lib/google/apis/datamigration_v1/classes.rb', line 2973

def override_length
  @override_length
end

#override_precisionFixnum

Optional. Column precision - when relevant - if not specified and relevant uses the source column precision. Corresponds to the JSON property overridePrecision

Returns:

  • (Fixnum)


2979
2980
2981
# File 'lib/google/apis/datamigration_v1/classes.rb', line 2979

def override_precision
  @override_precision
end

#override_scaleFixnum

Optional. Column scale - when relevant - if not specified and relevant uses the source column scale. Corresponds to the JSON property overrideScale

Returns:

  • (Fixnum)


2985
2986
2987
# File 'lib/google/apis/datamigration_v1/classes.rb', line 2985

def override_scale
  @override_scale
end

#source_data_type_filterString

Required. Filter on source data type. Corresponds to the JSON property sourceDataTypeFilter

Returns:

  • (String)


2990
2991
2992
# File 'lib/google/apis/datamigration_v1/classes.rb', line 2990

def source_data_type_filter
  @source_data_type_filter
end

#source_numeric_filterGoogle::Apis::DatamigrationV1::SourceNumericFilter

Filter for fixed point number data types such as NUMERIC/NUMBER Corresponds to the JSON property sourceNumericFilter



2995
2996
2997
# File 'lib/google/apis/datamigration_v1/classes.rb', line 2995

def source_numeric_filter
  @source_numeric_filter
end

#source_text_filterGoogle::Apis::DatamigrationV1::SourceTextFilter

Filter for text-based data types like varchar. Corresponds to the JSON property sourceTextFilter



3000
3001
3002
# File 'lib/google/apis/datamigration_v1/classes.rb', line 3000

def source_text_filter
  @source_text_filter
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
# File 'lib/google/apis/datamigration_v1/classes.rb', line 3007

def update!(**args)
  @custom_features = args[:custom_features] if args.key?(:custom_features)
  @new_data_type = args[:new_data_type] if args.key?(:new_data_type)
  @override_fractional_seconds_precision = args[:override_fractional_seconds_precision] if args.key?(:override_fractional_seconds_precision)
  @override_length = args[:override_length] if args.key?(:override_length)
  @override_precision = args[:override_precision] if args.key?(:override_precision)
  @override_scale = args[:override_scale] if args.key?(:override_scale)
  @source_data_type_filter = args[:source_data_type_filter] if args.key?(:source_data_type_filter)
  @source_numeric_filter = args[:source_numeric_filter] if args.key?(:source_numeric_filter)
  @source_text_filter = args[:source_text_filter] if args.key?(:source_text_filter)
end