Commit graph

117 commits

Author SHA1 Message Date
Yuri Astrakhan
a824e8468c
Cleanup format arguments (#2650)
Inlined format args make code more readable, and code more compact.

I ran this clippy command to fix most cases, and then cleaned up a few trailing commas and uncaught edge cases.

```
cargo clippy --bins --examples  --benches --tests --lib --workspace --fix -- -A clippy::all -W clippy::uninlined_format_args
```
2023-07-31 13:27:04 -07:00
Joakim Malmberg
8cad54cc9f
Add postgres chat exmaple (#2577)
Co-authored-by: Stephen <webmaster@scd31.com>
2023-07-24 16:09:06 -07:00
Austin Bonander
dcb58b0e2c
0.7.0 release (#2575)
* WIP preparing 0.7.0 release

* fix: re-enable examples

* fix doctests in `sqlx-core`

* cherry-pick CHANGELOG entry for 0.6.3

* add actions workflow for examples

* fix(cli): close connection after running migrations

* fix examples

* fix(sqlite): fix parsing of URLs via `Any`

* fix(example): don't let Postgres `listen` example run forever

* fix Postgres `transaction` example
2023-07-03 14:37:37 -07:00
Austin Bonander
b5312c3b6f Break drivers out into separate crates, clean up some technical debt (#2039)
* WIP rt refactors

* refactor: break drivers out into separate crates

also cleans up significant technical debt
2023-02-21 13:25:25 -08:00
Austin Bonander
b6cddcd014
prepare 0.6.2 release (#2092) 2022-09-14 15:23:06 -07:00
Austin Bonander
cb52c7c62b chore: prep 0.6.1 release 2022-08-02 19:16:32 -07:00
Austin Bonander
054f61980a
feat: implement testing utilities (#2001) 2022-08-02 14:38:12 -07:00
Austin Bonander
a2eceec33b
chore: replace dotenv with dotenvy (#2003)
* chore: replace `dotenv` with `dotenvy`

The former appears to be unmaintained and the latter is a drop-in replacement.

* chore: fix all warnings
2022-07-28 14:33:44 -07:00
Marco Neumann
05d64fb722
fix: agree one a single default runtime for the whole workspace (#1988)
This fixes `cargo check --workspace` and rust-analyzer.

Also see <https://github.com/launchbadge/sqlx/discussions/1956>.
2022-07-28 13:15:40 -07:00
Joey McKenzie
d6c4eff81a
Add example with external query files (#1967)
* feat(examples): add files example for postgres

* fix(examples): add missing deps
2022-07-13 14:45:34 -07:00
Paolo Barbolini
b934f82440
Bump remanining dependencies (#1807)
Co-authored-by: Austin Bonander <austin@launchbadge.com>
2022-04-15 14:34:48 -07:00
Paolo Barbolini
fc9c9be5e8
Update to edition 2021 (#1808)
* Update to edition 2021

* Fix running tests
2022-04-15 12:52:00 -07:00
Matthias Hörmann
fd4d219c66
fix and extend postgres transaction example (#1636) 2022-02-16 19:05:31 -08:00
Rafael Epplée
e77219f7c7
Add docs for fetch_all, example for postgres transactions (#1255)
* reference fetch_all() in query macros

* add example for using transactions in postgres
2021-08-16 16:33:42 -07:00
Jonas Platte
901f858fbc
sqlx-data.json removal prep work (#1184)
* macros: Reduce I/O

by doing all .env and environment variable reading inside a Lazy initializer.

* Use the default runtime and TLS backend for all examples

Before, rust-analyzer was always hitting the
"only one runtime can be enabled" compile_error in sqlx-rt.
2021-05-21 17:33:56 -07:00
Jonas Platte
c5d43db312
Upgrade async runtime dependencies
Co-authored-by: Josh Toft <joshtoft@gmail.com>
Co-authored-by: Philip A Reimer <antreimer@gmail.com>
2021-01-20 21:50:45 -08:00
Jonas Platte
a1d562f04b
Remove the Done trait 2021-01-12 14:37:44 +01:00
Mike Cronce
ff05ad9a10 examples/mysql/todos/Cargo.toml: Add runtime feature 2020-12-19 07:17:55 +00:00
Matt Paul
33521d6b74 Add docker-compose and .env 2020-12-19 05:31:21 +00:00
Matt Paul
b5504b27cd Update readme 2020-12-19 05:31:21 +00:00
Matt Paul
0b45dd9e3f Write test 2020-12-19 05:31:21 +00:00
Matt Paul
a5cede500e Implement TodoRepo trait 2020-12-19 05:31:21 +00:00
Matt Paul
bc4c3bc066 Extract postgres todo repo struct 2020-12-19 05:31:21 +00:00
Matt Paul
6f363cf4ea Make mockable-todos example compile 2020-12-19 05:31:21 +00:00
Matt Paul
7510316eb6 Make todos example compile 2020-12-19 05:31:21 +00:00
Matt Paul
da178405b9 Copy 'todos' example directory as starting point 2020-12-19 05:31:21 +00:00
Raphaël Thériault
04f68632b4 JSON+macros example using overrides 2020-11-12 07:21:54 -08:00
Austin Bonander
685d70ba62 refactor(examples): use select pg_notify in postgres/listen
Signed-off-by: Austin Bonander <austin@launchbadge.com>
2020-07-28 03:21:19 -07:00
Ryan Leckey
4857d051e1 chore: update listener example 2020-07-27 02:22:59 -07:00
Ryan Leckey
d04d612368 Remove realworld example.
I'd prefer to have one but I'd rather not have one then one that doesn't compile.

Ideally someone could take up maintaining a realworld example outside of SQLx. Until GATs though we
should keep this to one database. Looking back, most of the reason this is so hard to migrate to 0.4 is
because of how generic the bounds are.
2020-07-27 02:22:31 -07:00
Ryan Leckey
f66025b460 remove examples/postgres/todo-api as there is now a similar example in actix/examples 2020-07-27 02:12:11 -07:00
Ryan Leckey
96b76dc737 update todo examples to 0.4 and use migrations
* update tests/x.py

 * add examples/x.py
2020-07-18 05:43:16 -07:00
Ryan Leckey
fc682fa991 fix: adjust pool usage in tests and examples 2020-07-12 04:42:48 -07:00
Ryan Leckey
f0e79979dd fix: remove XQueryAs imports (gone in 0.4) 2020-06-27 06:02:14 -07:00
rage311
a0d1106f90 Added quotes to listen/unlisten channel names to honor case sensitivity and be consistent with 'listen_all()' 2020-06-05 19:50:44 -07:00
Ryan Leckey
9d2a0141cb
feat: introduce IntoArguments, query_with, query_as_with, and query_scalar_with 2020-05-30 17:51:55 -07:00
Austin Bonander
6b248e0d5f get offline macros working with todos example 2020-05-30 16:02:37 -07:00
PumpkinSeed
19edb73ffc Add meaningful errors 2020-05-15 12:45:32 -07:00
Milan Zivkovic
a034df87c4 fix issue with project name 2020-04-30 21:16:45 -07:00
Milan Zivkovic
3edf84ae3d Todo API example using Actix-web and SQLx with PostgreSQL database 2020-04-30 21:16:45 -07:00
Samani G. Gikandi
841d9a7f45 Changes PKs in realworld postgres to SERIAL
`GENERATED` was added in Postgres 12 and we test as far back as 9
2020-04-17 12:42:22 -07:00
Samani G. Gikandi
9fb523d4e8 Runs rustfmt across realworld 2020-04-17 12:42:22 -07:00
Samani G. Gikandi
8138a26b61 Finishes realworld example implementation
* Adds tables for  storing articles, tags, favorites, and comments.
* Implements all remaining web APIs (articles, tags, profiles, etc)

* Refactors `Provide` traits into
* `ProvideAuthn` is used to store/retrieve user info
* `ProvideData` is used to retrieve application data
* ` Provide` traits are now implemented on Connections instead of Pools
* Introduces `Db` trait that encapsulates DB connections

* Cleans up endpoint functions
2020-04-17 12:42:22 -07:00
Samani G. Gikandi
7038dd8ab2 Refactors realworld example with multi DB support
**General**

* Moves `examples/postgres/realworld` to `examples/realworld`
* The app is now architected to support multiple DBs
* Adds feature flags for `sqlite` and `postgres` to allow user to choose
  which backend to use

    *NOTE* Currently it is not possible to compile with `postgres` and `sqlite`
      enabled as we are using the `query!` and `query_as!` macros and they
      seem to get unhappy.

* Adds CLI flags for picking the DB backend to use at runtime
* Adds schema file and implementation for SQLite for `/api/user` routes
* Adds stub routes and trait for articles and Articles entity

**Changes**

* We now use i32 instead of i64 as the user_id to get around some quirks
  w/ the SQLite driver.
* Reimplements existing route handlers w/ an error handling shim so we can use
  Try inside the biz logic
* *FIX* Adds a `user` key to the register user body to conform w/ realworld's
  API specs

APIs were functionally tested using realworld's API test script
  (https://github.com/gothinkster/realworld/tree/master/api#authentication)
2020-04-17 12:42:22 -07:00
Reid Swan
42ff560577 Adds new Github Action to build examples 2020-04-02 15:36:12 +02:00
Jon Pacheco
38e630d107 Add comment regarding booleans in MySQL 2020-03-31 20:35:34 +01:00
Jon Pacheco
89c9b059e6 Fix formatting in SQLite example 2020-03-31 20:35:34 +01:00
Jon Pacheco
8d454c48d0 Use != 0 instead of > 0 2020-03-31 20:35:34 +01:00
Jon Pacheco
f4e4836fa6 Clone TODOs example for MySQL 2020-03-31 20:35:34 +01:00
Jon Pacheco
79a5e5e1d5 Clone TODOs example for SQLite
Differences to Postgres version:
- Minor changes to schema
- Add TODO: "RETURNING" isn't supported, so retrieve ID separately
2020-03-31 20:35:34 +01:00