mix
elixir의 통합 관리자 cli
mix guide
mix내에 있는 hex는 패키지 관리자임
https://hex.pm/packages
에서 패키지 검색
Packages manager
mix help
: 도움말
mix deps.get
: 종속성 설치
mix hex.outdated
: 업데이트가 필요한 패키지 확인
mix deps.update --all
: 패키지 전부 업데이트
mix app.tree
: 패키지 종속성 트리 보기
Phoenix
mix phx.routes $APP_NAME
app에 대한 routes 보기
mix phx.gen.schema
ex) mix phx.gen.schema Chat.Room rooms name:text topic:text
ecto 스키마, 마이그레이션 생성
$APP_NAME/lib/$APP_NAME/{Context}
에
mix phx.gen.auth(https://hexdocs.pm/phoenix/Mix.Tasks.Phx.Gen.Auth.html)
인증 추가
ex) mix phx.gen.auth Accounts User users
Accounts context에 User 스키마를 users 데이터베이스에 만든다는 의미이다.
Ecto
mix ecto.migrate
mix ecto.migrations
전체 migration 내역 보기
mix ecto.rollback
ecto migrate 되돌리기
mix ecto.get.migration
migration 생성
ex)
Ecto #notnull 추가
mix ecto.dump
ecto migration 기반의 확인 용도의 sql 파일 생성
Ash
mix ash.gen.resource
리소스를 만들고 도메인 리소스에 추가한다
ex)
mix ash.gen.resource MyApp.Chat.Room --extend postgres
MyApp.Chat.Room 리소스를 생성 후 MyApp.Chat 도메인에 리소스를 연결한다.
mix ash.codegen
ecto migration 생성.
그 후 mix setup(mix ash.migrate)을 적용된다.