MigrationPlaceholders
Pastes configured values into a .sql migration, before anything else reads it.
A paste and nothing more: the value goes in as the text it is, with no quoting, no escaping and no idea of where in the statement it landed. That is the whole of what this does, and it is why the values belong in the deployment rather than in a request - a placeholder is not a parameter, and a value that came from outside the deployment would be an injection with the migrator holding the door.
The syntax is ${name}, fixed like the V, R and __ of the naming rule. \${name} is that text and not a placeholder, for the file that has to store one.
Substitution happens before the header directives are read and before the transaction-control check runs, so what those checks see is what the server will see - a value carrying a COMMIT is refused rather than smuggled past them. It happens in one pass, so a value that itself contains ${...} is left standing as the text it is: one file, one round of substitution, and no value can reach back for another.