Add serialization hierarchy, serialize Database, Table and Field (#23622)
Serialization of Databases, Tables, Fields This brought a few core changes: - Add `serdes-entity-id` to abstract the field used for the ID - Pass the options to `extract-one` so it can eg. do encryption things. - Handle dates in YAML storage and ingestion - `:serdes/meta` now holds the entire hierarchy, not just the leaf model+ID pair. There's an open problem here about the right way to handle secrets like a database's password. Do we assume both sides have the same `MB_ENCRYPTION_SECRET_KEY`? Provide a serdes-specific password the user just made up, and every secret gets decrypted with the source key, encrypted with the serdes key, stored, decrypted with the serdes key, and encrypted with the destination key?
Showing
- .clj-kondo/config.edn 1 addition, 1 deletion.clj-kondo/config.edn
- enterprise/backend/src/metabase_enterprise/serialization/v2/ingest.clj 8 additions, 6 deletions...ckend/src/metabase_enterprise/serialization/v2/ingest.clj
- enterprise/backend/src/metabase_enterprise/serialization/v2/ingest/yaml.clj 48 additions, 24 deletions.../src/metabase_enterprise/serialization/v2/ingest/yaml.clj
- enterprise/backend/src/metabase_enterprise/serialization/v2/load.clj 20 additions, 57 deletions...backend/src/metabase_enterprise/serialization/v2/load.clj
- enterprise/backend/src/metabase_enterprise/serialization/v2/models.clj 4 additions, 1 deletion...ckend/src/metabase_enterprise/serialization/v2/models.clj
- enterprise/backend/src/metabase_enterprise/serialization/v2/storage/yaml.clj 18 additions, 13 deletions...src/metabase_enterprise/serialization/v2/storage/yaml.clj
- enterprise/backend/src/metabase_enterprise/serialization/v2/utils/yaml.clj 46 additions, 0 deletions...d/src/metabase_enterprise/serialization/v2/utils/yaml.clj
- enterprise/backend/test/metabase_enterprise/serialization/cmd_test.clj 3 additions, 3 deletions...ckend/test/metabase_enterprise/serialization/cmd_test.clj
- enterprise/backend/test/metabase_enterprise/serialization/test_util.clj 6 additions, 6 deletions...kend/test/metabase_enterprise/serialization/test_util.clj
- enterprise/backend/test/metabase_enterprise/serialization/v2/extract_test.clj 7 additions, 7 deletions...est/metabase_enterprise/serialization/v2/extract_test.clj
- enterprise/backend/test/metabase_enterprise/serialization/v2/load_test.clj 68 additions, 15 deletions...d/test/metabase_enterprise/serialization/v2/load_test.clj
- enterprise/backend/test/metabase_enterprise/serialization/v2/yaml_test.clj 94 additions, 25 deletions...d/test/metabase_enterprise/serialization/v2/yaml_test.clj
- src/metabase/models/collection.clj 7 additions, 3 deletionssrc/metabase/models/collection.clj
- src/metabase/models/database.clj 27 additions, 0 deletionssrc/metabase/models/database.clj
- src/metabase/models/field.clj 51 additions, 0 deletionssrc/metabase/models/field.clj
- src/metabase/models/serialization/base.clj 151 additions, 77 deletionssrc/metabase/models/serialization/base.clj
- src/metabase/models/setting.clj 4 additions, 1 deletionsrc/metabase/models/setting.clj
- src/metabase/models/table.clj 34 additions, 1 deletionsrc/metabase/models/table.clj
- test/metabase/test/generate.clj 16 additions, 4 deletionstest/metabase/test/generate.clj
Loading
Please register or sign in to comment