datasources 0.1.57

Async datasource interfaces, middleware, registry, and test doubles
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
use super::statement_naming::StatementNaming;

pub fn constraint_name_of(entity: &str, naming: &StatementNaming, parts: &[&str]) -> String {
    if naming.is_verbatim(entity) {
        let mut bits = vec![entity.to_string()];
        bits.extend(parts.iter().map(|p| (*p).to_string()));
        bits.join("_")
    } else {
        let mut bits = vec![naming.physical_stem(entity)];
        bits.extend(parts.iter().map(|p| (*p).to_string()));
        naming.letter(&naming.convert(&bits.join("_"), naming.constraint_name_casing))
    }
}