You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As a user, it can be confusing to figure out which metadata to provide for different scenarios and how to format it. Since majority of the metadata is the same for all cases, it would be nice to only have one object and format to learn.
In an effort to streamline SDV workflows, we want to unify the metadata. This means we will just have one Metadata class that all synthesizers will take, whether single table, multi table or sequential.
Expected behavior
Do this on new feature/metadata branch
Create a new class called Metadata
This class should be pretty much the same as the MultiTableMetadata class with a couple adjustments
The METADATA_SPEC_VERSION should now be V1 instead of MULTI_TABLE_V1
The load_from_json method should be able to load both single and multi table jsons into this new class.
The validate function should not crash if there are no relationships
The validate_data function should not crash if there are no relationships
We should try to be DRY and reuse code. One option is to have the new synthesizer inherit from MultiTableMetadata and just override the appropriate fields and methods.
We need to support backwards compatibility with the old metadata classes, meaning if someone has a pickled synthesizer with the old metadata, it shouldn't crash. An alternate approach might be to move the code to the new class and have MultiTableMetadata inherit from it. If we do this, make sure that pickled MultiTableMetadata objects still load and work properly.
There will be follow up issues to make the synthesizers work with this new object.
The text was updated successfully, but these errors were encountered:
Problem Description
As a user, it can be confusing to figure out which metadata to provide for different scenarios and how to format it. Since majority of the metadata is the same for all cases, it would be nice to only have one object and format to learn.
In an effort to streamline SDV workflows, we want to unify the metadata. This means we will just have one
Metadata
class that all synthesizers will take, whether single table, multi table or sequential.Expected behavior
feature/metadata
branchMetadata
MultiTableMetadata
class with a couple adjustmentsV1
instead ofMULTI_TABLE_V1
load_from_json
method should be able to load both single and multi table jsons into this new class.Additional context
MultiTableMetadata
inherit from it. If we do this, make sure that pickledMultiTableMetadata
objects still load and work properly.The text was updated successfully, but these errors were encountered: