
Elixir+Phoenix Framework를 Mac에 설치하고 Hello World 페이지와 DB 생성 및 마이그레이션까지
무엇번 달인지 모르겠지만, 작업 로그가 뭔가 도움이 된다면.
를 참고로 하고 있습니다.
Elixir + PhoenixFramework 설치 컨트롤러/보기/라우팅을 만들고 Hello World보기 데이터베이스 설정 및 스키마 작성 (이주)
OS X El Capitan (10.11.4 베타) Homebrew 설치됨 DB는 SQLite를 사용합니다. Rails 사용 경험이 있습니다
Homebrew를 최신 상태로 유지합니다.
Elixir를 설치합니다.
Erlang도 설치됩니다.
Hex를 설치합니다.
Hex는 Rails의 rake와 같습니다.
Phoenix Framework를 설치합니다.
(2016/4 현재 : 아래에서 항상 최신 버전이되는 것 같습니다)
자산 컴파일에 brunch.io를 사용하는 경우 node.js를 설치합니다.
mix phoenix.new에서 애플리케이션을 만듭니다.
app_name 부분을 적절하게 응용 프로그램 이름으로 바꿉니다.
(소문자 영숫자 및 밑줄만 사용할 수 있는 것 같습니다)
이번에는 SQLite를 사용하지만,
같은 옵션으로 데이터베이스를 변경할 수 있습니다.
기본적으로 PostgreSQL을 사용하는 것 같습니다.
기타 옵션은
에서 참조할 수 있습니다.
그러면 localhost : 4000에서 서버가 시작됩니다.

지금까지 설치가 끝납니다.
그런 다음 정적 페이지에서 Hello World를 볼 때까지 수행합니다.
/hello
아래에서 Hello World를 표시하는 것이 목표입니다.
MVC에서 View와 Controller를 만듭니다.
/web/controllers/hello_controller.ex
라는 이름의 Controller 파일을 만들고,
합니다.
/web/views/hello_view.ex
라는 이름으로 View 파일을 만들고,
hello_view.ex
합니다.
/web/templates/hello/index.html.eex
라는 이름의 템플릿 파일을 만들고,
합니다.
.eex 파일은 Rails의 ERB와 같은 것 같습니다.
마지막으로 라우팅을 구성하고 볼 수 있도록 합니다.
web/router.ex
중간 정도
되어 있는 부분을
로/hello 아래에서 HelloController를 사용하도록 설정합니다.
자동 재로드되므로 서버를 이미 시작한 경우 localhost : 4000에서 이렇게 표시됩니다.

도중에 오류가 발생하고 멈추면 다시
로 시작합니다.
마지막으로 DB 스키마를 작성해 보겠습니다.
제목과 내용이 있는 페이지를 작성하기로 결정합니다.
먼저 데이터베이스를 만듭니다.
그런 다음 마이그레이션을 수행합니다.
에서 마이그레이션 파일을 만들 때,
등으로 표시되어 작성되므로,
priv/repo/migrations/20160423080515_create_pages.exs
을 다음과 같이 편집합니다.
그리고 마이그레이션 실행.
Rails와 거의 같은 감각입니다.
이상입니다.
를 참고로 하고 있습니다.
목표와 전제
목표
전제
설치
준비
Homebrew를 최신 상태로 유지합니다.
brew update
Elixir 및 Hex 설치
Elixir를 설치합니다.
Erlang도 설치됩니다.
brew install elixir
Hex를 설치합니다.
Hex는 Rails의 rake와 같습니다.
mix local.hex
Phoenix Framework 설치
Phoenix Framework를 설치합니다.
(2016/4 현재 : 아래에서 항상 최신 버전이되는 것 같습니다)
mix archive.install https://github.com/phoenixframework/archives/raw/master/phoenix_new.ez
노드 설치
자산 컴파일에 brunch.io를 사용하는 경우 node.js를 설치합니다.
brew install node
애플리케이션 만들기
mix phoenix.new에서 애플리케이션을 만듭니다.
app_name 부분을 적절하게 응용 프로그램 이름으로 바꿉니다.
(소문자 영숫자 및 밑줄만 사용할 수 있는 것 같습니다)
mix phoenix.new app_name --database sqlite
이번에는 SQLite를 사용하지만,
--database mysql
같은 옵션으로 데이터베이스를 변경할 수 있습니다.
기본적으로 PostgreSQL을 사용하는 것 같습니다.
기타 옵션은
mix phoenix.new --help
에서 참조할 수 있습니다.
서버 시작
cd app_name
mix phoenix.server
그러면 localhost : 4000에서 서버가 시작됩니다.

지금까지 설치가 끝납니다.
정적 페이지 만들기
그런 다음 정적 페이지에서 Hello World를 볼 때까지 수행합니다.
/hello
아래에서 Hello World를 표시하는 것이 목표입니다.
MVC에서 View와 Controller를 만듭니다.
컨트롤러 작성
/web/controllers/hello_controller.ex
라는 이름의 Controller 파일을 만들고,
defmodule AppName.HelloController do
use AppName.Web, :controller
def index(conn, _params) do
render conn, "index.html"
end
end
합니다.
View 만들기
/web/views/hello_view.ex
라는 이름으로 View 파일을 만들고,
hello_view.ex
defmodule HelloPhoenix.HelloView do
use HelloPhoenix.Web, :view
end
합니다.
템플릿 만들기
/web/templates/hello/index.html.eex
라는 이름의 템플릿 파일을 만들고,
<div class="jumbotron">
<h2>Hello World!</h2>
</div>
합니다.
.eex 파일은 Rails의 ERB와 같은 것 같습니다.
라우팅 설정
마지막으로 라우팅을 구성하고 볼 수 있도록 합니다.
web/router.ex
중간 정도
scope "/", AppName do
pipe_through :browser # Use the default browser stack
get "/", PageController, :index
end
되어 있는 부분을
scope "/", AppName do
pipe_through :browser # Use the default browser stack
get "/", PageController, :index
get "/hello", HelloController, :index
end
로/hello 아래에서 HelloController를 사용하도록 설정합니다.
시작해보기
자동 재로드되므로 서버를 이미 시작한 경우 localhost : 4000에서 이렇게 표시됩니다.

도중에 오류가 발생하고 멈추면 다시
mix phoenix.server
로 시작합니다.
DB 사용 (마이그레이션)
마지막으로 DB 스키마를 작성해 보겠습니다.
제목과 내용이 있는 페이지를 작성하기로 결정합니다.
데이터베이스 작성
먼저 데이터베이스를 만듭니다.
mix ecto.create
마이그레이션
그런 다음 마이그레이션을 수행합니다.
mix ecto.gen.migration create_pages
에서 마이그레이션 파일을 만들 때,
* creating priv/repo/migrations
* creating priv/repo/migrations/20160423080515_create_pages.exs
등으로 표시되어 작성되므로,
priv/repo/migrations/20160423080515_create_pages.exs
을 다음과 같이 편집합니다.
defmodule AppName.Repo.Migrations.CreatePages do
use Ecto.Migration
def change do
create table(:pages) do
add :title, :string
add :body, :string
timestamps
end
end
end
그리고 마이그레이션 실행.
mix ecto.migrate
Rails와 거의 같은 감각입니다.
이상입니다.