mirror of
https://github.com/mozilla-services/syncstorage-rs.git
synced 2026-05-06 04:36:28 +02:00
refactor: tokenserver-mysql models/pool/migrations -> db
Issue STOR-405
This commit is contained in:
parent
831e89347b
commit
992b190861
20
Cargo.lock
generated
20
Cargo.lock
generated
@ -3706,6 +3706,7 @@ dependencies = [
|
||||
"tokenserver-common",
|
||||
"tokenserver-db-common",
|
||||
"tokenserver-db-postgres",
|
||||
"tokenserver-mysql",
|
||||
"tokenserver-settings",
|
||||
"tokio",
|
||||
"url",
|
||||
@ -3749,6 +3750,25 @@ dependencies = [
|
||||
"tokio",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tokenserver-mysql"
|
||||
version = "0.21.1"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"deadpool",
|
||||
"diesel",
|
||||
"diesel-async",
|
||||
"diesel_logger",
|
||||
"diesel_migrations",
|
||||
"http 1.3.1",
|
||||
"syncserver-common",
|
||||
"syncserver-db-common",
|
||||
"tokenserver-common",
|
||||
"tokenserver-db-common",
|
||||
"tokenserver-settings",
|
||||
"tokio",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tokenserver-settings"
|
||||
version = "0.21.1"
|
||||
|
||||
@ -15,7 +15,7 @@ members = [
|
||||
"tokenserver-settings",
|
||||
"syncserver",
|
||||
"tokenserver-db-postgres",
|
||||
"tokenserver-db-common", "syncstorage-postgres",
|
||||
"tokenserver-db-common", "syncstorage-postgres", "tokenserver-mysql",
|
||||
]
|
||||
default-members = ["syncserver"]
|
||||
|
||||
|
||||
@ -17,6 +17,7 @@ syncserver-common = { path = "../syncserver-common" }
|
||||
syncserver-db-common = { path = "../syncserver-db-common" }
|
||||
tokenserver-common = { path = "../tokenserver-common" }
|
||||
tokenserver-db-common = { path = "../tokenserver-db-common" }
|
||||
tokenserver-mysql = { path = "../tokenserver-mysql", optional = true }
|
||||
tokenserver-db-postgres = { path = "../tokenserver-db-postgres", optional = true }
|
||||
tokenserver-settings = { path = "../tokenserver-settings" }
|
||||
tokio = { workspace = true, features = ["macros", "sync"] }
|
||||
@ -28,4 +29,5 @@ env_logger.workspace = true
|
||||
syncserver-settings = { path = "../syncserver-settings" }
|
||||
|
||||
[features]
|
||||
mysql = ['tokenserver-mysql']
|
||||
postgres = ['tokenserver-db-postgres']
|
||||
|
||||
@ -1,16 +1,9 @@
|
||||
extern crate diesel;
|
||||
extern crate diesel_migrations;
|
||||
|
||||
pub mod mock;
|
||||
mod models;
|
||||
mod pool;
|
||||
|
||||
use url::Url;
|
||||
|
||||
pub use models::TokenserverDb;
|
||||
pub use pool::TokenserverPool;
|
||||
use syncserver_common::Metrics;
|
||||
pub use tokenserver_db_common::{params, results, Db, DbError, DbPool};
|
||||
pub use tokenserver_db_common::{Db, DbError, DbPool};
|
||||
use tokenserver_settings::Settings;
|
||||
|
||||
pub fn pool_from_settings(
|
||||
@ -21,7 +14,8 @@ pub fn pool_from_settings(
|
||||
let url = Url::parse(&settings.database_url)
|
||||
.map_err(|e| DbError::internal(format!("Invalid SYNC_TOKENSERVER__DATABASE_URL: {e}")))?;
|
||||
Ok(match url.scheme() {
|
||||
"mysql" => Box::new(crate::pool::TokenserverPool::new(
|
||||
#[cfg(feature = "mysql")]
|
||||
"mysql" => Box::new(tokenserver_mysql::TokenserverPool::new(
|
||||
settings,
|
||||
metrics,
|
||||
use_test_transactions,
|
||||
|
||||
22
tokenserver-mysql/Cargo.toml
Normal file
22
tokenserver-mysql/Cargo.toml
Normal file
@ -0,0 +1,22 @@
|
||||
[package]
|
||||
name = "tokenserver-mysql"
|
||||
version.workspace = true
|
||||
authors.workspace = true
|
||||
edition.workspace = true
|
||||
rust-version.workspace = true
|
||||
license.workspace = true
|
||||
|
||||
[dependencies]
|
||||
async-trait.workspace = true
|
||||
deadpool.workspace = true
|
||||
diesel.workspace = true
|
||||
diesel-async.workspace = true
|
||||
diesel_logger.workspace = true
|
||||
diesel_migrations.workspace = true
|
||||
http.workspace = true
|
||||
syncserver-common = { path = "../syncserver-common" }
|
||||
syncserver-db-common = { path = "../syncserver-db-common" }
|
||||
tokenserver-common = { path = "../tokenserver-common" }
|
||||
tokenserver-db-common = { path = "../tokenserver-db-common" }
|
||||
tokenserver-settings = { path = "../tokenserver-settings" }
|
||||
tokio = { workspace = true, features = ["macros", "sync"] }
|
||||
1
tokenserver-mysql/src/db/mod.rs
Normal file
1
tokenserver-mysql/src/db/mod.rs
Normal file
@ -0,0 +1 @@
|
||||
mod db_impl;
|
||||
5
tokenserver-mysql/src/lib.rs
Normal file
5
tokenserver-mysql/src/lib.rs
Normal file
@ -0,0 +1,5 @@
|
||||
mod db;
|
||||
mod pool;
|
||||
|
||||
pub use db::TokenserverDb;
|
||||
pub use pool::TokenserverPool;
|
||||
Loading…
x
Reference in New Issue
Block a user