Add a new capability to handle more complex migrations that require some expression for a complex type change that cannot be automatically migrated.
For example, let's take the table column definition:
,{ "name":"componentType" , "type":"SHORT" , "nullable": false, "description": "Type of agentic component called"
, "values": [ { "name":"Tool" , "value":"1" , "description":"Tool" }
,{ "name":"Agent", "value":"2" , "description":"Agent" }
]
}
We want to change to:
,{ "name":"componentType" , "type":"CHAR" , "nullable": false, "description": "Type of agentic component called"
, "values": [ { "name":"Tool" , "value":"T", "description":"Tool" }
,{ "name":"Agent" , "value":"A", "description":"Agent" }
,{ "name":"Unkbown", "value":"X", "description":"Unknown" }
]
}
This is not a migration that can be automated: not only the type change from SHORT to CHAR could lose data (so Tilda wouldn't do that), but we also have semantic changes in value mapping.
We propose to add a new feature to "migrations" to handle that:
,"migrations":{
"conversions":[
{ "object":"AgenticAccessLog", "column":"componentType" , "conversion":"case when componentType=1 then 'T' when componentType=2 then 'A' else 'X' end" }
]
,"renames":[
]
}
Tilda will automatically handle dependencies so that if there is a view that depends on that change, either it will fail with a clear message that the view needs to be updated, or Tilda will manage the DDL Dependency tree appropriately.
Add a new capability to handle more complex migrations that require some expression for a complex type change that cannot be automatically migrated.
For example, let's take the table column definition:
,{ "name":"componentType" , "type":"SHORT" , "nullable": false, "description": "Type of agentic component called" , "values": [ { "name":"Tool" , "value":"1" , "description":"Tool" } ,{ "name":"Agent", "value":"2" , "description":"Agent" } ] }We want to change to:
,{ "name":"componentType" , "type":"CHAR" , "nullable": false, "description": "Type of agentic component called" , "values": [ { "name":"Tool" , "value":"T", "description":"Tool" } ,{ "name":"Agent" , "value":"A", "description":"Agent" } ,{ "name":"Unkbown", "value":"X", "description":"Unknown" } ] }This is not a migration that can be automated: not only the type change from SHORT to CHAR could lose data (so Tilda wouldn't do that), but we also have semantic changes in value mapping.
We propose to add a new feature to "migrations" to handle that:
Tilda will automatically handle dependencies so that if there is a view that depends on that change, either it will fail with a clear message that the view needs to be updated, or Tilda will manage the DDL Dependency tree appropriately.