chore(ci): test multi-tenant example

This commit is contained in:
Austin Bonander 2025-02-27 17:00:37 -08:00
parent 46878e8c0b
commit 1b0c64a9e9
7 changed files with 54 additions and 32 deletions

View File

@ -22,12 +22,12 @@ jobs:
key: sqlx-cli
- run: >
cargo build
-p sqlx-cli
--bin sqlx
--release
--no-default-features
--features mysql,postgres,sqlite
cargo build
-p sqlx-cli
--bin sqlx
--release
--no-default-features
--features mysql,postgres,sqlite
- uses: actions/upload-artifact@v4
with:
@ -98,7 +98,7 @@ jobs:
name: sqlx-cli
path: /home/runner/.local/bin
- run: |
- run: |
ls -R /home/runner/.local/bin
chmod +x $HOME/.local/bin/sqlx
echo $HOME/.local/bin >> $GITHUB_PATH
@ -175,6 +175,20 @@ jobs:
DATABASE_URL: postgres://postgres:password@localhost:5432/mockable-todos
run: cargo run -p sqlx-example-postgres-mockable-todos
- name: Multi-Tenant (Setup)
working-directory: examples/postgres/multi-tenant
env:
DATABASE_URL: postgres://postgres:password@localhost:5432/mockable-todos
run: |
(cd accounts && sqlx db setup)
(cd payments && sqlx migrate run)
sqlx migrate run
- name: Mockable TODOs (Run)
env:
DATABASE_URL: postgres://postgres:password@localhost:5432/mockable-todos
run: cargo run -p sqlx-example-postgres-mockable-todos
- name: TODOs (Setup)
working-directory: examples/postgres/todos
env:

32
Cargo.lock generated
View File

@ -515,22 +515,6 @@ dependencies = [
"syn 2.0.96",
]
[[package]]
name = "axum-multi-tenant"
version = "0.8.3"
dependencies = [
"accounts",
"axum 0.8.1",
"color-eyre",
"dotenvy",
"payments",
"rand",
"rust_decimal",
"sqlx",
"tokio",
"tracing-subscriber",
]
[[package]]
name = "backoff"
version = "0.4.0"
@ -3991,6 +3975,22 @@ dependencies = [
"tokio",
]
[[package]]
name = "sqlx-example-postgres-multi-tenant"
version = "0.8.3"
dependencies = [
"accounts",
"axum 0.8.1",
"color-eyre",
"dotenvy",
"payments",
"rand",
"rust_decimal",
"sqlx",
"tokio",
"tracing-subscriber",
]
[[package]]
name = "sqlx-example-postgres-todos"
version = "0.1.0"

View File

@ -11,14 +11,14 @@ members = [
"sqlx-postgres",
"sqlx-sqlite",
"examples/mysql/todos",
"examples/postgres/multi-tenant",
"examples/postgres/axum-social-with-tests",
"examples/postgres/chat",
"examples/postgres/files",
"examples/postgres/json",
"examples/postgres/listen",
"examples/postgres/todos",
"examples/postgres/mockable-todos",
"examples/postgres/multi-tenant",
"examples/postgres/todos",
"examples/postgres/transaction",
"examples/sqlite/todos",
]

View File

@ -1,5 +1,5 @@
[package]
name = "axum-multi-tenant"
name = "sqlx-example-postgres-multi-tenant"
version.workspace = true
license.workspace = true
edition.workspace = true
@ -9,9 +9,6 @@ categories.workspace = true
authors.workspace = true
[dependencies]
accounts = { path = "accounts" }
payments = { path = "payments" }
tokio = { version = "1", features = ["rt-multi-thread", "macros"] }
sqlx = { path = "../../..", version = "0.8.3", features = ["runtime-tokio", "postgres"] }
@ -26,5 +23,13 @@ rust_decimal = "1.36.0"
rand = "0.8.5"
[dependencies.accounts]
package = "sqlx-example-postgres-multi-tenant-accounts"
path = "accounts"
[dependencies.payments]
package = "sqlx-example-postgres-multi-tenant-accounts"
path = "payments"
[lints]
workspace = true

View File

@ -1,5 +1,5 @@
[package]
name = "accounts"
name = "sqlx-example-postgres-multi-tenant-accounts"
version = "0.1.0"
edition = "2021"

View File

@ -1,5 +1,5 @@
[package]
name = "payments"
name = "sqlx-example-postgres-multi-tenant-payments"
version = "0.1.0"
edition = "2021"

View File

@ -45,7 +45,10 @@ async fn main() -> eyre::Result<()> {
txn.commit().await?;
println!("created account ID: {}, email: {user_email:?}, password: {user_password:?}", account_id.0);
println!(
"created account ID: {}, email: {user_email:?}, password: {user_password:?}",
account_id.0
);
// POST /session
// Log the user in.