ordabok/src/db/schema.rs

158 lines
3.7 KiB
Rust
Raw Normal View History

2023-01-03 14:16:10 +00:00
// @generated automatically by Diesel CLI.
pub mod sql_types {
#[derive(diesel::sql_types::SqlType)]
#[diesel(postgres_type(name = "agentlanguagerelation"))]
pub struct Agentlanguagerelation;
#[derive(diesel::sql_types::SqlType)]
#[diesel(postgres_type(name = "dictgenre"))]
pub struct Dictgenre;
#[derive(diesel::sql_types::SqlType)]
#[diesel(postgres_type(name = "partofspeech"))]
pub struct Partofspeech;
#[derive(diesel::sql_types::SqlType)]
#[diesel(postgres_type(name = "release"))]
pub struct Release;
#[derive(diesel::sql_types::SqlType)]
#[diesel(postgres_type(name = "wordlearningstatus"))]
pub struct Wordlearningstatus;
2023-01-03 14:16:10 +00:00
#[derive(diesel::sql_types::SqlType)]
#[diesel(postgres_type(name = "wordrelationship"))]
pub struct Wordrelationship;
}
diesel::table! {
use diesel::sql_types::*;
use super::sql_types::Agentlanguagerelation;
langandagents (id) {
id -> Int4,
agent -> Varchar,
language -> Uuid,
2023-01-03 14:16:10 +00:00
relationship -> Agentlanguagerelation,
}
}
diesel::table! {
langtranslatesto (id) {
id -> Int4,
langfrom -> Uuid,
langto -> Uuid,
}
}
2023-01-03 14:16:10 +00:00
diesel::table! {
use diesel::sql_types::*;
use super::sql_types::Release;
use super::sql_types::Dictgenre;
languages (id) {
id -> Uuid,
2023-01-03 14:16:10 +00:00
name -> Varchar,
native -> Nullable<Varchar>,
2023-01-03 15:11:43 +00:00
release -> Release,
2023-01-03 14:16:10 +00:00
genre -> Array<Nullable<Dictgenre>>,
#[sql_name = "abstract"]
abstract_ -> Nullable<Text>,
2023-01-03 15:11:43 +00:00
created -> Timestamp,
2023-01-03 14:16:10 +00:00
description -> Nullable<Text>,
rights -> Nullable<Text>,
license -> Nullable<Text>,
owner -> Varchar,
}
}
diesel::table! {
userfollowlanguage (id) {
id -> Int4,
lang -> Uuid,
userid -> Varchar,
}
}
2023-01-03 14:16:10 +00:00
diesel::table! {
userfollows (id) {
id -> Int4,
follower -> Varchar,
following -> Varchar,
}
}
diesel::table! {
users (id) {
id -> Varchar,
username -> Varchar,
}
}
diesel::table! {
use diesel::sql_types::*;
use super::sql_types::Wordlearningstatus;
wordlearning (id) {
id -> Int4,
word -> Uuid,
userid -> Varchar,
status -> Wordlearningstatus,
}
}
2023-01-03 14:16:10 +00:00
diesel::table! {
use diesel::sql_types::*;
use super::sql_types::Wordrelationship;
wordrelation (id) {
id -> Int4,
wordsource -> Uuid,
wordtarget -> Uuid,
2023-01-03 14:16:10 +00:00
relationship -> Wordrelationship,
}
}
diesel::table! {
use diesel::sql_types::*;
use super::sql_types::Partofspeech;
words (id) {
id -> Uuid,
2023-01-03 14:16:10 +00:00
norm -> Varchar,
native -> Nullable<Varchar>,
lemma -> Nullable<Uuid>,
language -> Uuid,
2023-01-03 14:16:10 +00:00
partofspeech -> Partofspeech,
audio -> Nullable<Varchar>,
video -> Nullable<Varchar>,
image -> Nullable<Varchar>,
description -> Nullable<Text>,
etymology -> Nullable<Text>,
lusage -> Nullable<Text>,
morphology -> Nullable<Text>,
}
}
diesel::joinable!(langandagents -> languages (language));
diesel::joinable!(langandagents -> users (agent));
diesel::joinable!(languages -> users (owner));
diesel::joinable!(userfollowlanguage -> languages (lang));
diesel::joinable!(userfollowlanguage -> users (userid));
diesel::joinable!(wordlearning -> users (userid));
diesel::joinable!(wordlearning -> words (word));
2023-01-03 14:16:10 +00:00
diesel::joinable!(words -> languages (language));
diesel::allow_tables_to_appear_in_same_query!(
langandagents,
langtranslatesto,
2023-01-03 14:16:10 +00:00
languages,
userfollowlanguage,
2023-01-03 14:16:10 +00:00
userfollows,
users,
wordlearning,
2023-01-03 14:16:10 +00:00
wordrelation,
words,
);