mirror of
https://github.com/actix/examples
synced 2025-06-26 17:17:42 +02:00
build: nixify
This commit is contained in:
@ -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 }
|
||||
|
@ -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"
|
||||
```
|
||||
|
@ -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.
|
||||
|
@ -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;
|
||||
|
@ -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)]
|
||||
|
Reference in New Issue
Block a user