MCPcopy Create free account
hub / github.com/SeaQL/sea-orm / setup

Function setup

tests/common/setup/mod.rs:12–56  ·  view source on GitHub ↗
(base_url: &str, db_name: &str)

Source from the content-addressed store, hash-verified

10};
11
12pub async fn setup(base_url: &str, db_name: &str) -> DatabaseConnection {
13 if cfg!(feature = "sqlx-mysql") {
14 let url = format!("{base_url}/mysql");
15 let db = Database::connect(&url).await.unwrap();
16 let _drop_db_result = db
17 .execute(Statement::from_string(
18 DatabaseBackend::MySql,
19 format!("DROP DATABASE IF EXISTS `{db_name}`;"),
20 ))
21 .await;
22
23 let _create_db_result = db
24 .execute(Statement::from_string(
25 DatabaseBackend::MySql,
26 format!("CREATE DATABASE `{db_name}`;"),
27 ))
28 .await;
29
30 let url = format!("{base_url}/{db_name}");
31 Database::connect(&url).await.unwrap()
32 } else if cfg!(feature = "sqlx-postgres") {
33 let url = format!("{base_url}/postgres");
34 let db = Database::connect(&url).await.unwrap();
35 let _drop_db_result = db
36 .execute(Statement::from_string(
37 DatabaseBackend::Postgres,
38 format!("DROP DATABASE IF EXISTS \"{db_name}\";"),
39 ))
40 .await;
41
42 let _create_db_result = db
43 .execute(Statement::from_string(
44 DatabaseBackend::Postgres,
45 format!("CREATE DATABASE \"{db_name}\";"),
46 ))
47 .await;
48
49 let url = format!("{base_url}/{db_name}");
50 Database::connect(&url).await.unwrap()
51 } else {
52 let mut options: ConnectOptions = base_url.into();
53 options.sqlx_logging(false);
54 Database::connect(options).await.unwrap()
55 }
56}
57
58pub async fn tear_down(base_url: &str, db_name: &str) {
59 if cfg!(feature = "sqlx-mysql") {

Callers 1

newMethod · 0.50

Calls 3

unwrapMethod · 0.80
sqlx_loggingMethod · 0.80
executeMethod · 0.45

Tested by

no test coverage detected