db就这样了

This commit is contained in:
shenjack 2024-07-20 01:24:01 +08:00
parent 8820ec7f69
commit f961c56a7b
Signed by: shenjack
GPG Key ID: 7B1134A979775551
5 changed files with 37 additions and 8 deletions

View File

@ -1,6 +1,6 @@
use sea_orm::{EnumIter, Iterable}; use sea_orm::{EnumIter, Iterable};
use sea_orm_migration::prelude::extension::postgres::Type; use sea_orm_migration::prelude::extension::postgres::Type;
use sea_orm_migration::{manager, prelude::*}; use sea_orm_migration::prelude::*;
#[derive(DeriveMigrationName)] #[derive(DeriveMigrationName)]
pub struct Migration; pub struct Migration;

View File

@ -13,7 +13,12 @@ impl MigrationTrait for Migration {
Table::create() Table::create()
.table(LongData::Table) .table(LongData::Table)
.if_not_exists() .if_not_exists()
.col(ColumnDef::new(LongData::SaveId).integer().not_null().primary_key()) .col(
ColumnDef::new(LongData::SaveId)
.integer()
.not_null()
.primary_key(),
)
.col(ColumnDef::new(LongData::Len).string().not_null()) .col(ColumnDef::new(LongData::Len).string().not_null())
.col(ColumnDef::new(LongData::Text).string().not_null()) .col(ColumnDef::new(LongData::Text).string().not_null())
.foreign_key( .foreign_key(

View File

@ -12,6 +12,21 @@ pub struct Model {
} }
#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)] #[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]
pub enum Relation {} pub enum Relation {
#[sea_orm(
belongs_to = "super::main_data::Entity",
from = "Column::SaveId",
to = "super::main_data::Column::SaveId",
on_update = "Cascade",
on_delete = "Cascade"
)]
MainData,
}
impl Related<super::main_data::Entity> for Entity {
fn to() -> RelationDef {
Relation::MainData.def()
}
}
impl ActiveModelBehavior for ActiveModel {} impl ActiveModelBehavior for ActiveModel {}

View File

@ -1,6 +1,6 @@
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.12.15 //! `SeaORM` Entity. Generated by sea-orm-codegen 0.12.15
use super::sea_orm_active_enums::SaveTypeEnum; use super::sea_orm_active_enums::SaveType;
use sea_orm::entity::prelude::*; use sea_orm::entity::prelude::*;
#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq)] #[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq)]
@ -8,13 +8,22 @@ use sea_orm::entity::prelude::*;
pub struct Model { pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub save_id: i32, pub save_id: i32,
pub save_type: SaveTypeEnum, pub save_type: SaveType,
pub blake_hash: String, pub blake_hash: String,
pub len: i32, pub len: i32,
pub short_data: Option<String>, pub short_data: Option<String>,
} }
#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)] #[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]
pub enum Relation {} pub enum Relation {
#[sea_orm(has_many = "super::long_data::Entity")]
LongData,
}
impl Related<super::long_data::Entity> for Entity {
fn to() -> RelationDef {
Relation::LongData.def()
}
}
impl ActiveModelBehavior for ActiveModel {} impl ActiveModelBehavior for ActiveModel {}

View File

@ -3,8 +3,8 @@
use sea_orm::entity::prelude::*; use sea_orm::entity::prelude::*;
#[derive(Debug, Clone, PartialEq, Eq, EnumIter, DeriveActiveEnum)] #[derive(Debug, Clone, PartialEq, Eq, EnumIter, DeriveActiveEnum)]
#[sea_orm(rs_type = "String", db_type = "Enum", enum_name = "save_type_enum")] #[sea_orm(rs_type = "String", db_type = "Enum", enum_name = "save_type")]
pub enum SaveTypeEnum { pub enum SaveType {
#[sea_orm(string_value = "none")] #[sea_orm(string_value = "none")]
None, None,
#[sea_orm(string_value = "save")] #[sea_orm(string_value = "save")]