Nicole Tietz-Sokolskaya
3acafda0d3
and templates. Tihs also adds an ADR for using Tailwind. Add a pile of dependencies setup orm, add admin tool admin tool does random pass if none provided add tons of css stuff finish up web skeleton
69 lines
2.1 KiB
Rust
69 lines
2.1 KiB
Rust
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> {
|
|
manager
|
|
.create_table(
|
|
Table::create()
|
|
.table(User::Table)
|
|
.if_not_exists()
|
|
.col(
|
|
ColumnDef::new(User::Id)
|
|
.integer()
|
|
.not_null()
|
|
.auto_increment()
|
|
.primary_key(),
|
|
)
|
|
.col(ColumnDef::new(User::FullName).string_len(100).not_null())
|
|
.col(
|
|
ColumnDef::new(User::Email)
|
|
.string_len(100)
|
|
.unique()
|
|
.not_null(),
|
|
)
|
|
.col(
|
|
ColumnDef::new(User::Username)
|
|
.string_len(32)
|
|
.unique()
|
|
.not_null(),
|
|
)
|
|
.col(ColumnDef::new(User::PasswordHash).string().not_null())
|
|
.col(
|
|
ColumnDef::new(User::Created)
|
|
.date_time()
|
|
.default(Expr::current_timestamp())
|
|
.not_null(),
|
|
)
|
|
.col(
|
|
ColumnDef::new(User::Updated)
|
|
.date_time()
|
|
.default(Expr::current_timestamp())
|
|
.not_null(),
|
|
)
|
|
.to_owned(),
|
|
)
|
|
.await
|
|
}
|
|
|
|
async fn down(&self, manager: &SchemaManager) -> Result<(), DbErr> {
|
|
manager
|
|
.drop_table(Table::drop().table(User::Table).to_owned())
|
|
.await
|
|
}
|
|
}
|
|
|
|
#[derive(DeriveIden)]
|
|
enum User {
|
|
Table,
|
|
Id,
|
|
FullName,
|
|
Email,
|
|
Username,
|
|
PasswordHash,
|
|
Created,
|
|
Updated,
|
|
}
|