forked from ObolSquad/trigger-rs
51 lines
1.2 KiB
Rust
51 lines
1.2 KiB
Rust
use sea_orm::Schema;
|
|
use sea_orm_migration::prelude::*;
|
|
|
|
#[derive(DeriveMigrationName)]
|
|
pub struct Migration;
|
|
|
|
#[async_trait::async_trait]
|
|
impl MigrationTrait for Migration {
|
|
async fn up(&self, manager: &SchemaManager) -> Result<(), DbErr> {
|
|
let builder = manager.get_database_backend();
|
|
let schema = Schema::new(builder);
|
|
|
|
tables! {
|
|
(manager, schema)
|
|
account_uid;
|
|
player_basic_info;
|
|
player_world_info;
|
|
player_item_uid;
|
|
quest_collection;
|
|
quest_info;
|
|
archive_data;
|
|
archive_videotape_data;
|
|
hollow_data;
|
|
hollow_info;
|
|
avatar;
|
|
material;
|
|
weapon;
|
|
equipment;
|
|
auto_recovery_data;
|
|
scene_info;
|
|
ramen_data;
|
|
cafe_data;
|
|
}
|
|
|
|
Ok(())
|
|
}
|
|
|
|
async fn down(&self, _manager: &SchemaManager) -> Result<(), DbErr> {
|
|
todo!()
|
|
}
|
|
}
|
|
|
|
macro_rules! tables {
|
|
(($manager:expr, $schema:expr) $($name:ident;)*) => {
|
|
$($manager
|
|
.create_table($schema.create_table_from_entity(entity::$name::Entity))
|
|
.await?;)*
|
|
};
|
|
}
|
|
|
|
use tables;
|