migration/
m20220920_000002_create_group_info_table.rs1use sea_orm_migration::prelude::*;
2
3#[derive(DeriveMigrationName)]
4pub struct Migration;
5
6#[async_trait::async_trait]
7impl MigrationTrait for Migration {
8 async fn up(&self, manager: &SchemaManager) -> Result<(), DbErr> {
9 manager
10 .create_table(
11 Table::create()
12 .table(GroupInfo::Table)
13 .if_not_exists()
14 .col(
15 ColumnDef::new(GroupInfo::Id)
16 .integer()
17 .not_null()
18 .primary_key(),
19 )
20 .col(ColumnDef::new(GroupInfo::Index).integer().not_null())
21 .col(ColumnDef::new(GroupInfo::Epoch).integer().not_null())
22 .col(ColumnDef::new(GroupInfo::Size).integer().not_null())
23 .col(ColumnDef::new(GroupInfo::Threshold).integer().not_null())
24 .col(ColumnDef::new(GroupInfo::State).integer().not_null())
25 .col(ColumnDef::new(GroupInfo::PublicKey).blob(BlobSize::Medium))
26 .col(ColumnDef::new(GroupInfo::Members).text().not_null())
27 .col(ColumnDef::new(GroupInfo::Committers).text())
28 .col(ColumnDef::new(GroupInfo::Share).blob(BlobSize::Medium))
29 .col(ColumnDef::new(GroupInfo::DkgStatus).integer().not_null())
30 .col(
31 ColumnDef::new(GroupInfo::SelfMemberIndex)
32 .integer()
33 .not_null(),
34 )
35 .col(
36 ColumnDef::new(GroupInfo::DkgStartBlockHeight)
37 .integer()
38 .not_null(),
39 )
40 .col(ColumnDef::new(GroupInfo::CreateAt).date_time().not_null())
41 .col(ColumnDef::new(GroupInfo::UpdateAt).date_time().not_null())
42 .to_owned(),
43 )
44 .await
45 }
46
47 async fn down(&self, manager: &SchemaManager) -> Result<(), DbErr> {
48 manager
49 .drop_table(Table::drop().table(GroupInfo::Table).to_owned())
50 .await
51 }
52}
53
54#[derive(Iden)]
55pub enum GroupInfo {
56 Table,
57 Id,
58 Index,
59 Epoch,
60 Size,
61 Threshold,
62 State,
63 PublicKey,
64 Members,
65 Committers,
66 Share,
67 DkgStatus,
68 SelfMemberIndex,
69 DkgStartBlockHeight,
70 CreateAt,
71 UpdateAt,
72}