* update diesel to 2.1.0 and diesel-async to 0.3.0 (issue #2882) * get rid of deprecated RawValue type alias usage, explicitly import diesel types instead of using wildcard import * Update diesel-derive-enum and diesel-derive-newtype libraries * Revert manual changes to schema.rs * Update to newer diesel-cli image in CI, run fix-clippy before schema comparison, update schema to one generated with diesel-cli 2.1.0 and clippyfixed * Remove wildcard import lint, fix diesel schema pipeline --------- Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
This commit is contained in:
parent
af03dcfeac
commit
24323e17b2
5 changed files with 340 additions and 231 deletions
|
@ -79,8 +79,8 @@ pipeline:
|
|||
-D clippy::style -D clippy::correctness -D clippy::suspicious
|
||||
-D clippy::dbg_macro -D clippy::inefficient_to_string
|
||||
-D clippy::items-after-statements -D clippy::implicit_clone
|
||||
-D clippy::wildcard_imports -D clippy::cast_lossless
|
||||
-D clippy::manual_string_new -D clippy::redundant_closure_for_method_calls
|
||||
-D clippy::cast_lossless -D clippy::manual_string_new
|
||||
-D clippy::redundant_closure_for_method_calls
|
||||
-D clippy::unused_self
|
||||
-A clippy::uninlined_format_args
|
||||
-D clippy::get_first
|
||||
|
@ -111,7 +111,7 @@ pipeline:
|
|||
# platform: linux/amd64
|
||||
|
||||
check_diesel_schema:
|
||||
image: jameshiew/diesel-cli
|
||||
image: willsquire/diesel-cli
|
||||
environment:
|
||||
CARGO_HOME: .cargo
|
||||
DATABASE_URL: postgres://lemmy:password@database:5432/lemmy
|
||||
|
|
516
Cargo.lock
generated
516
Cargo.lock
generated
File diff suppressed because it is too large
Load diff
10
Cargo.toml
10
Cargo.toml
|
@ -60,9 +60,9 @@ lemmy_db_views = { version = "=0.17.1", path = "./crates/db_views" }
|
|||
lemmy_db_views_actor = { version = "=0.17.1", path = "./crates/db_views_actor" }
|
||||
lemmy_db_views_moderator = { version = "=0.17.1", path = "./crates/db_views_moderator" }
|
||||
activitypub_federation = { version = "0.4.0", default-features = false, features = ["actix-web"] }
|
||||
diesel = "2.0.2"
|
||||
diesel_migrations = "2.0.0"
|
||||
diesel-async = "0.1.1"
|
||||
diesel = "2.1.0"
|
||||
diesel_migrations = "2.1.0"
|
||||
diesel-async = "0.3.0"
|
||||
serde = { version = "1.0.147", features = ["derive"] }
|
||||
serde_with = "1.14.0"
|
||||
actix-web = { version = "4.2.1", default-features = false, features = ["macros", "rustls"] }
|
||||
|
@ -93,8 +93,8 @@ tokio = "1.21.2"
|
|||
sha2 = "0.10.6"
|
||||
regex = "1.6.0"
|
||||
once_cell = "1.15.0"
|
||||
diesel-derive-newtype = "2.0.0-rc.0"
|
||||
diesel-derive-enum = {version = "2.0.1", features = ["postgres"] }
|
||||
diesel-derive-newtype = "2.0.0"
|
||||
diesel-derive-enum = {version = "2.1.0", features = ["postgres"] }
|
||||
strum = "0.24.1"
|
||||
strum_macros = "0.24.3"
|
||||
itertools = "0.10.5"
|
||||
|
|
|
@ -65,7 +65,7 @@ diesel::table! {
|
|||
}
|
||||
|
||||
diesel::table! {
|
||||
use diesel::sql_types::*;
|
||||
use diesel::sql_types::{Bool, Int4, Nullable, Text, Timestamp, Varchar};
|
||||
use diesel_ltree::sql_types::Ltree;
|
||||
|
||||
comment (id) {
|
||||
|
@ -77,6 +77,7 @@ diesel::table! {
|
|||
published -> Timestamp,
|
||||
updated -> Nullable<Timestamp>,
|
||||
deleted -> Bool,
|
||||
#[max_length = 255]
|
||||
ap_id -> Varchar,
|
||||
local -> Bool,
|
||||
path -> Ltree,
|
||||
|
@ -144,7 +145,9 @@ diesel::table! {
|
|||
diesel::table! {
|
||||
community (id) {
|
||||
id -> Int4,
|
||||
#[max_length = 255]
|
||||
name -> Varchar,
|
||||
#[max_length = 255]
|
||||
title -> Varchar,
|
||||
description -> Nullable<Text>,
|
||||
removed -> Bool,
|
||||
|
@ -152,6 +155,7 @@ diesel::table! {
|
|||
updated -> Nullable<Timestamp>,
|
||||
deleted -> Bool,
|
||||
nsfw -> Bool,
|
||||
#[max_length = 255]
|
||||
actor_id -> Varchar,
|
||||
local -> Bool,
|
||||
private_key -> Nullable<Text>,
|
||||
|
@ -159,13 +163,18 @@ diesel::table! {
|
|||
last_refreshed_at -> Timestamp,
|
||||
icon -> Nullable<Text>,
|
||||
banner -> Nullable<Text>,
|
||||
#[max_length = 255]
|
||||
followers_url -> Varchar,
|
||||
#[max_length = 255]
|
||||
inbox_url -> Varchar,
|
||||
#[max_length = 255]
|
||||
shared_inbox_url -> Nullable<Varchar>,
|
||||
hidden -> Bool,
|
||||
posting_restricted_to_mods -> Bool,
|
||||
instance_id -> Int4,
|
||||
#[max_length = 255]
|
||||
moderators_url -> Nullable<Varchar>,
|
||||
#[max_length = 255]
|
||||
featured_url -> Nullable<Varchar>,
|
||||
}
|
||||
}
|
||||
|
@ -235,6 +244,7 @@ diesel::table! {
|
|||
custom_emoji (id) {
|
||||
id -> Int4,
|
||||
local_site_id -> Int4,
|
||||
#[max_length = 128]
|
||||
shortcode -> Varchar,
|
||||
image_url -> Text,
|
||||
alt_text -> Text,
|
||||
|
@ -248,6 +258,7 @@ diesel::table! {
|
|||
custom_emoji_keyword (id) {
|
||||
id -> Int4,
|
||||
custom_emoji_id -> Int4,
|
||||
#[max_length = 128]
|
||||
keyword -> Varchar,
|
||||
}
|
||||
}
|
||||
|
@ -283,10 +294,13 @@ diesel::table! {
|
|||
diesel::table! {
|
||||
instance (id) {
|
||||
id -> Int4,
|
||||
#[max_length = 255]
|
||||
domain -> Varchar,
|
||||
published -> Timestamp,
|
||||
updated -> Nullable<Timestamp>,
|
||||
#[max_length = 255]
|
||||
software -> Nullable<Varchar>,
|
||||
#[max_length = 255]
|
||||
version -> Nullable<Varchar>,
|
||||
}
|
||||
}
|
||||
|
@ -294,13 +308,14 @@ diesel::table! {
|
|||
diesel::table! {
|
||||
language (id) {
|
||||
id -> Int4,
|
||||
#[max_length = 3]
|
||||
code -> Varchar,
|
||||
name -> Text,
|
||||
}
|
||||
}
|
||||
|
||||
diesel::table! {
|
||||
use diesel::sql_types::*;
|
||||
use diesel::sql_types::{Bool, Int4, Nullable, Text, Timestamp, Varchar};
|
||||
use super::sql_types::ListingTypeEnum;
|
||||
use super::sql_types::RegistrationModeEnum;
|
||||
|
||||
|
@ -325,6 +340,7 @@ diesel::table! {
|
|||
federation_debug -> Bool,
|
||||
federation_worker_count -> Int4,
|
||||
captcha_enabled -> Bool,
|
||||
#[max_length = 255]
|
||||
captcha_difficulty -> Varchar,
|
||||
published -> Timestamp,
|
||||
updated -> Nullable<Timestamp>,
|
||||
|
@ -355,7 +371,7 @@ diesel::table! {
|
|||
}
|
||||
|
||||
diesel::table! {
|
||||
use diesel::sql_types::*;
|
||||
use diesel::sql_types::{Bool, Int4, Nullable, Text, Timestamp, Varchar};
|
||||
use super::sql_types::SortTypeEnum;
|
||||
use super::sql_types::ListingTypeEnum;
|
||||
|
||||
|
@ -365,9 +381,11 @@ diesel::table! {
|
|||
password_encrypted -> Text,
|
||||
email -> Nullable<Text>,
|
||||
show_nsfw -> Bool,
|
||||
#[max_length = 20]
|
||||
theme -> Varchar,
|
||||
default_sort_type -> SortTypeEnum,
|
||||
default_listing_type -> ListingTypeEnum,
|
||||
#[max_length = 20]
|
||||
interface_language -> Varchar,
|
||||
show_avatars -> Bool,
|
||||
send_notifications_to_email -> Bool,
|
||||
|
@ -525,12 +543,15 @@ diesel::table! {
|
|||
diesel::table! {
|
||||
person (id) {
|
||||
id -> Int4,
|
||||
#[max_length = 255]
|
||||
name -> Varchar,
|
||||
#[max_length = 255]
|
||||
display_name -> Nullable<Varchar>,
|
||||
avatar -> Nullable<Text>,
|
||||
banned -> Bool,
|
||||
published -> Timestamp,
|
||||
updated -> Nullable<Timestamp>,
|
||||
#[max_length = 255]
|
||||
actor_id -> Varchar,
|
||||
bio -> Nullable<Text>,
|
||||
local -> Bool,
|
||||
|
@ -539,7 +560,9 @@ diesel::table! {
|
|||
last_refreshed_at -> Timestamp,
|
||||
banner -> Nullable<Text>,
|
||||
deleted -> Bool,
|
||||
#[max_length = 255]
|
||||
inbox_url -> Varchar,
|
||||
#[max_length = 255]
|
||||
shared_inbox_url -> Nullable<Varchar>,
|
||||
matrix_user_id -> Nullable<Text>,
|
||||
admin -> Bool,
|
||||
|
@ -610,6 +633,7 @@ diesel::table! {
|
|||
diesel::table! {
|
||||
post (id) {
|
||||
id -> Int4,
|
||||
#[max_length = 200]
|
||||
name -> Varchar,
|
||||
url -> Nullable<Text>,
|
||||
body -> Nullable<Text>,
|
||||
|
@ -624,6 +648,7 @@ diesel::table! {
|
|||
embed_title -> Nullable<Text>,
|
||||
embed_description -> Nullable<Text>,
|
||||
thumbnail_url -> Nullable<Text>,
|
||||
#[max_length = 255]
|
||||
ap_id -> Varchar,
|
||||
local -> Bool,
|
||||
embed_video_url -> Nullable<Text>,
|
||||
|
@ -673,6 +698,7 @@ diesel::table! {
|
|||
id -> Int4,
|
||||
creator_id -> Int4,
|
||||
post_id -> Int4,
|
||||
#[max_length = 200]
|
||||
original_post_name -> Varchar,
|
||||
original_post_url -> Nullable<Text>,
|
||||
original_post_body -> Nullable<Text>,
|
||||
|
@ -703,6 +729,7 @@ diesel::table! {
|
|||
read -> Bool,
|
||||
published -> Timestamp,
|
||||
updated -> Nullable<Timestamp>,
|
||||
#[max_length = 255]
|
||||
ap_id -> Varchar,
|
||||
local -> Bool,
|
||||
}
|
||||
|
@ -743,15 +770,19 @@ diesel::table! {
|
|||
diesel::table! {
|
||||
site (id) {
|
||||
id -> Int4,
|
||||
#[max_length = 20]
|
||||
name -> Varchar,
|
||||
sidebar -> Nullable<Text>,
|
||||
published -> Timestamp,
|
||||
updated -> Nullable<Timestamp>,
|
||||
icon -> Nullable<Text>,
|
||||
banner -> Nullable<Text>,
|
||||
#[max_length = 150]
|
||||
description -> Nullable<Varchar>,
|
||||
#[max_length = 255]
|
||||
actor_id -> Varchar,
|
||||
last_refreshed_at -> Timestamp,
|
||||
#[max_length = 255]
|
||||
inbox_url -> Varchar,
|
||||
private_key -> Nullable<Text>,
|
||||
public_key -> Text,
|
||||
|
|
|
@ -229,7 +229,7 @@ impl<DB: Backend> FromSql<Text, DB> for DbUrl
|
|||
where
|
||||
String: FromSql<Text, DB>,
|
||||
{
|
||||
fn from_sql(value: diesel::backend::RawValue<'_, DB>) -> diesel::deserialize::Result<Self> {
|
||||
fn from_sql(value: DB::RawValue<'_>) -> diesel::deserialize::Result<Self> {
|
||||
let str = String::from_sql(value)?;
|
||||
Ok(DbUrl(Box::new(Url::parse(&str)?)))
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue