SQLX
๐งฐ The Rust SQL Toolkit. An async, pure Rust SQL crate featuring compile-time checked queries without a DSL. Supports PostgreSQL, MySQL, and SQLite.
๋ฌ์คํธ ๊ธฐ๋ฐ SQL ํดํท ์คํ์์ค
About
- ๋น๋๊ธฐ(async) ๋ฐฉ์์ ์์ Rust ๊ธฐ๋ฐ SQL Crate๋ก, Rust ๋งคํฌ๋ก๋ฅผ ์ด์ฉํด DSL ์์ด ์ปดํ์ผ ํ์์ SQL ์ฟผ๋ฆฌ ๊ฒ์ฆ ๊ฐ๋ฅ
- ORM์ด ์๋! : ORM ์์ด SQL์ ๊ทธ๋๋ก ํ์ฉํ๊ณ ์ถ์ ํ๋ก์ ํธ์ ์ต์
- .env ํ์ผ์ DATABASE_URL ์ง์ ํด ์์ฝ๊ฒ ์ปดํ์ผ ํ์ ์ฒดํฌ ๊ฐ๋ฅ
Features
- sqlx::Pool์ ์ด์ฉํ ์ปค๋ฅ์ ํ๋ง
- ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๋น๋๊ธฐ Row ์คํธ๋ฆฌ๋ฐ
- ์ปค๋ฅ์ ๋ณ๋ก ์๋ ์ฟผ๋ฆฌ ์ค๋น ๋ฐ ์บ์ฑ
- ์ค๋น๋์ง ์์(Prepared ์๋) ์ฟผ๋ฆฌ๋ ๊ฐ๋จํ ์คํ ๊ฐ๋ฅ, ๊ฒฐ๊ณผ๋ ๋์ผ Row ํ์ ์ผ๋ก ๋ฐํ
- ์ง์ํ๋ DB(MySQL, MariaDB, PostgreSQL)์์ TLS ์ํธํ ์ฐ๊ฒฐ ์ง์
- ๋น๋๊ธฐ PostgreSQL ์๋ฆผ ์ง์ : LISTEN๊ณผ NOTIFY
- ์ธ์ด๋ธํฌ์ธํธ(Savepoint)๋ฅผ ํ์ฉํ ์ค์ฒฉ ํธ๋์ญ์ ์ง์
- ๋ฐํ์์ DB ๋๋ผ์ด๋ฒ๋ฅผ ์ ํ์ ์ผ๋ก ๊ต์ฒด ๊ฐ๋ฅํ AnyPool ์ง์