1
0
mirror of https://github.com/actix/examples synced 2025-06-26 17:17:42 +02:00

build: nixify

This commit is contained in:
Rob Ede
2025-04-09 23:20:42 +01:00
parent c5ce3c118e
commit f2c51a8713
21 changed files with 237 additions and 101 deletions

View File

@ -1,17 +1,17 @@
[package]
name = "db-diesel-async"
version = "1.0.0"
edition = "2021"
edition.workspace = true
rust-version.workspace = true
[features]
postgres_tests = []
[dependencies]
actix-web.workspace = true
actix-web = { workspace = true }
diesel = { version = "2", default-features = false, features = ["uuid"] }
diesel-async = { version = "0.5", features = ["postgres", "bb8", "async-connection-wrapper"] }
serde.workspace = true
uuid.workspace = true
dotenvy.workspace = true
env_logger.workspace = true
log.workspace = true
dotenvy = { workspace = true }
env_logger = { workspace = true }
log = { workspace = true }
serde = { workspace = true }
uuid = { workspace = true }

View File

@ -10,7 +10,9 @@ Basic integration of [Diesel-async](https://github.com/weiznich/diesel_async) us
# on any OS
docker run -d --restart unless-stopped --name postgresql -e POSTGRES_USER=test-user -e POSTGRES_PASSWORD=password -p 5432:5432 -v postgres_data:/var/lib/postgresql/data postgres:alpine
```
make sure it has successfully started up and is running
```sh
# on any OS
docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Status}}\t{{.Ports}}"
@ -28,6 +30,7 @@ diesel migration run
```
The database will now be created in your PostgreSQL instance.
```sh
docker exec -i postgresql psql -U test-user -c "\l"
```

View File

@ -1,11 +1,9 @@
use diesel::prelude::*;
use diesel_async::{AsyncPgConnection, RunQueryDsl};
use uuid::{NoContext, Timestamp, Uuid};
use crate::models;
use diesel_async::AsyncPgConnection;
use diesel_async::RunQueryDsl;
type DbError = Box<dyn std::error::Error + Send + Sync>;
// /// Run query using Diesel to find item by uid and return it.

View File

@ -1,13 +1,14 @@
#[macro_use]
extern crate diesel;
use std::{env, io};
use actix_web::{error, get, middleware, post, web, App, HttpResponse, HttpServer, Responder};
use diesel_async::{
pooled_connection::{bb8::Pool, AsyncDieselConnectionManager},
AsyncPgConnection,
};
use dotenvy::dotenv;
use std::{env, io};
use uuid::Uuid;
mod actions;

View File

@ -1,7 +1,8 @@
use super::schema::items;
use serde::{Deserialize, Serialize};
use uuid::Uuid;
use super::schema::items;
/// Item details.
#[derive(Debug, Clone, Serialize, Deserialize, Queryable, Selectable, Insertable)]
#[diesel(table_name = items)]