I have two identical databases, with two identical tables. The source database's table has data and the target database's table has no data.
The tables in both databases are named testt.
What the data looks like now in the source database
id name
----------
1 tim
2 bob
3 john
What I want the testt table to look like after the migration:
id name
---------------------------
1 0wg9jg-wjeigwg-jieg
2 jwigj-iwjgw-ijgg
3 wjeoiweg-wjegiweg-jei
I just need the content of the name column in testt on the target database to be hashed (or any uuid is fine).
My attempt:
{
"rules": [
{
"rule-type": "selection",
"rule-id": "1",
"rule-name": "SelectTable",
"object-locator": {
"schema-name": "public",
"table-name": "testt"
},
"rule-action": "include"
},
{
"rule-type": "transformation",
"rule-id": "2",
"rule-name": "HashNameColumn",
"rule-target": "column",
"object-locator": {
"schema-name": "public",
"table-name": "testt",
"column-name": "name"
},
"rule-action": "transform",
"expression": "sha256($column)",
"rule-description": "hasing on the name column"
}
]
}
When I use this on AWS's console it just gives a super generic invalid expression error.
Any help would be greatly appreciated! Thanks.
It appears that you are using an undocumented function. I bet you can use
hash_sha256(x)instead. See hash_sha256()