Repository: sdv-dev/SDV

Issue:
`DataProcessor` should assign `'id'` sdtype to ID columns instead of `'text'`
### Environment Details

Please indicate the following details about the environment in which you found the bug:

* SDV version:
* Python version:
* Operating System:

### Error Description
Currently, the `DataProcessor` assigns ID columns the `'text'` sdtype when it creates the `HyperTransformer` ([here](https://github.com/sdv-dev/SDV/blob/391fd824fad082a97207705c522a61b7ae0ca68a/sdv/data_processing/data_processor.py#L574) and [here](https://github.com/sdv-dev/SDV/blob/391fd824fad082a97207705c522a61b7ae0ca68a/sdv/data_processing/data_processor.py#L600)).

In RDT, we've already aligned the text/id sdtypes to SDV (see [this issue](https://github.com/sdv-dev/RDT/issues/880)). We should update SDV to reflect the alignment so that we use `'id'` everywhere.


Discussion:

Patch:
diff --git a/sdv/data_processing/data_processor.py b/sdv/data_processing/data_processor.py
index 2a4ae172d..0dc4fd7fb 100644
--- a/sdv/data_processing/data_processor.py
+++ b/sdv/data_processing/data_processor.py
@@ -123,10 +123,7 @@ def __init__(
         }
 
         self._transformers_by_sdtype = deepcopy(get_default_transformers())
-        self._transformers_by_sdtype['id'] = rdt.transformers.RegexGenerator()
-        del self._transformers_by_sdtype['text']
         self.grouped_columns_to_transformers = self._detect_multi_column_transformers()
-
         self._update_numerical_transformer(enforce_rounding, enforce_min_max_values)
         self._hyper_transformer = rdt.HyperTransformer()
         self.table_name = table_name or ''
@@ -376,7 +373,7 @@ def _create_config(self, data):
                     transformers[column] = self.create_regex_generator(
                         column, sdtype, column_metadata, is_numeric
                     )
-                    sdtypes[column] = 'text'
+                    sdtypes[column] = 'id'
                 elif column in self._keys:
                     if is_numeric:
                         function_name = 'random_int'
@@ -401,7 +398,7 @@ def _create_config(self, data):
                         cardinality_rule=cardinality_rule,
                     )
 
-                    sdtypes[column] = 'pii' if column_metadata.get('pii') else 'text'
+                    sdtypes[column] = 'pii' if column_metadata.get('pii') else 'id'
                 else:
                     transformers[column] = self._get_transformer_instance(
                         'categorical', column_metadata


Test patch:
diff --git a/tests/unit/data_processing/test_data_processor.py b/tests/unit/data_processing/test_data_processor.py
index b4b38a6fd..75a163e1b 100644
--- a/tests/unit/data_processing/test_data_processor.py
+++ b/tests/unit/data_processing/test_data_processor.py
@@ -138,7 +138,6 @@ def test__detect_multi_column_transformers_gps_address(self, transformers_mock):
             ('country_column', 'city_column'): randomlocationgenerator,
         }
 
-    @patch('sdv.data_processing.data_processor.rdt.transformers.RegexGenerator')
     @patch('sdv.data_processing.data_processor.get_default_transformers')
     @patch('sdv.data_processing.data_processor.rdt')
     @patch('sdv.data_processing.data_processor.DataProcessor._update_numerical_transformer')
@@ -149,7 +148,6 @@ def test___init__(
         update_transformer_mock,
         mock_rdt,
         mock_default_transformers,
-        mock_regex_generator,
     ):
         """Test the ``__init__`` method.
 
@@ -176,12 +174,9 @@ def test___init__(
             'categorical': 'UniformEncoder()',
             'boolean': 'UniformEncoder()',
             'datetime': 'UnixTimestampEncoder()',
-            'text': 'RegexGenerator()',
+            'id': 'RegexGenerator()',
             'pii': 'AnonymizedFaker()',
         }
-
-        mock_regex_generator.return_value = 'RegexGenerator()'
-
         detect_multi_column_transformers_mock.return_value = {}
 
         # Run
@@ -209,8 +204,6 @@ def test___init__(
         update_transformer_mock.assert_called_with(True, False)
 
         mock_default_transformers.assert_called_once()
-        mock_regex_generator.assert_called_once()
-
         expected_default_transformers = {
             'numerical': 'FloatFormatter()',
             'categorical': 'UniformEncoder()',
@@ -872,12 +865,12 @@ def test__create_config(self):
             'categorical': 'categorical',
             'email': 'pii',
             'first_name': 'pii',
-            'id_regex_key': 'text',
-            'id_regex': 'text',
-            'id_no_regex': 'text',
-            'id_numeric_int8': 'text',
-            'id_numeric_int16': 'text',
-            'id_numeric_int32': 'text',
+            'id_regex_key': 'id',
+            'id_regex': 'id',
+            'id_no_regex': 'id',
+            'id_numeric_int8': 'id',
+            'id_numeric_int16': 'id',
+            'id_numeric_int32': 'id',
             'id_column': 'id',
             'date': 'datetime',
             'unknown': 'pii',