Hello,
We use holistics 4.0 and started migrating to AML 2.0.
We were facing the same kind of issue.
One way to do it (hacky solution ) is to create a model for example env.aml
with the following code:
Model env {
type: 'table'
label: ''
description: ''
data_source_name: 'MY_DATASOURCE_TO_USE'
table_name: 'MY_SCHEMA_PREFIX'
}
Then, all models can refer to the env model for defining the default datasource to use. Here is an example:
use env
Model my_model {
type: 'table'
label: 'My model'
description: ''
data_source_name: env.data_source_name
dimension field_1 {
label: 'Field 1'
type: 'number'
hidden: false
definition: @sql {{ #SOURCE.MY_FIELD_ID }};;
}
owner: '[email protected]'
table_name: '"' + env.table_name + '_SCHEMA"."MY_TABLE"'
}
Datasets can force models to use a specific data_source_name
:
use env {
env_dev
}
use models {
my_model
}
Dataset my_dataset {
label: 'My dataset
description: ''
data_source_name: env_dev.data_source_name
models: [
my_model
]
relationships: [
]
owner: '[email protected]'
}
Now, to make the data_source_name
overriding working correctly, we will have to avoid using schema prefix because it canβt be overrided at the dataset layer as the data_source_name
.