pub const TEMPORARY_PREFIX: &str = "_rustyroad_new_";
pub const DELETION_PREFIX: &str = "_rustyroad_del_";
pub fn versioned_schema(schema: &str, version: &str) -> String {
format!("{schema}_{version}")
}
pub fn temporary_name(column: &str) -> String {
format!("{TEMPORARY_PREFIX}{column}")
}
pub fn deletion_name(column: &str) -> String {
format!("{DELETION_PREFIX}{column}")
}
pub fn is_internal(name: &str) -> bool {
name.starts_with(TEMPORARY_PREFIX) || name.starts_with(DELETION_PREFIX)
}
pub fn logical_name(name: &str) -> &str {
name.strip_prefix(TEMPORARY_PREFIX)
.or_else(|| name.strip_prefix(DELETION_PREFIX))
.unwrap_or(name)
}