Skip to content

dreamerlzl/zero2prod

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ov

compared to Luke's implementation in details

  • macro error setup
  • less test setup boilerplate
    • macro_rules
    • [sqlx::test]
  • a mix use of sea-orm and sqlx
    • why sqlx with sea-orm? -> psql's create type is not fully supported in sea-orm
  • serde_aux is not needed since config-rs support deserialization of unsigned integers since 0.13.2

run

migration

  • sea_orm's migration must be run under the project dir
# run a new migration
DATABASE_URL=<url> sea-orm-cli migrate

# update ORM struct def
sea-orm-cli generate entity -u <url> -o /path/to/dir  --ignore-tables idempotency,seaql_migrations

# rollback
DATABASE_URL=<url> sea-orm-cli migrate down
  • you may want to refer sea-query when writing migrations
    • raw sql is not compatible across databases

test

  • you need to setup a redis and a psql first; execute scripts/init_redis.sh and scripts/init_db.sh first
  • remember to shut down global VPN/HTTP_PROXY when running mockwire test
  • to show tracing during test, use TEST_LOG=1 cargo test -- -nocapture

About

practice of zero2prod by luca

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages