tea_orm/queries/
create_random_database_from_template.rs1use crate::queries::query_create_database_from_template;
2use anyhow::Result;
3use names::Generator;
4use names::Name;
5use sea_orm::DatabaseConnection;
6use std::fmt::Display;
7
8const TEST_DATABASE_BASENAME: &'static str = "test-database";
9
10pub async fn query_create_random_database_from_template<T>(
13 db_connection: &DatabaseConnection,
14 template_name: &T,
15) -> Result<String>
16where
17 T: Display,
18{
19 let db_name = random_db_name();
20
21 query_create_database_from_template(&db_connection, &db_name, template_name).await?;
22
23 Ok(db_name)
24}
25
26fn random_db_name() -> String {
27 let mut generator = Generator::with_naming(Name::Numbered);
28 let db_name = generator
29 .next()
30 .expect("Expect generating a name should always succeed");
31
32 format!("{}--{}", TEST_DATABASE_BASENAME, db_name,)
33}