Packages
phx_new
1.4.4
1.8.9
1.8.8
1.8.7
1.8.6
1.8.5
1.8.4
1.8.3
1.8.2
1.8.1
1.8.0
1.8.0-rc.4
1.8.0-rc.3
1.8.0-rc.2
1.8.0-rc.1
1.8.0-rc.0
1.7.24
1.7.23
1.7.22
1.7.21
1.7.20
1.7.19
1.7.18
1.7.17
1.7.16
1.7.15
1.7.14
1.7.13
1.7.12
1.7.11
1.7.10
1.7.9
1.7.8
1.7.7
1.7.6
1.7.5
1.7.4
1.7.3
1.7.2
1.7.1
1.7.0
1.7.0-rc.3
1.7.0-rc.2
1.7.0-rc.1
1.7.0-rc.0
1.6.17
1.6.16
1.6.15
1.6.14
1.6.13
1.6.12
1.6.11
1.6.10
1.6.9
1.6.8
1.6.7
1.6.6
1.6.5
1.6.4
1.6.3
1.6.2
1.6.1
1.6.0
1.6.0-rc.1
1.6.0-rc.0
1.5.15
1.5.14
1.5.13
1.5.12
1.5.11
1.5.10
1.5.9
1.5.8
1.5.7
1.5.6
1.5.5
1.5.4
1.5.3
1.5.2
1.5.1
1.5.0
1.5.0-rc.0
1.4.18
1.4.17
1.4.16
1.4.15
1.4.14
1.4.13
1.4.12
1.4.11
1.4.10
1.4.9
1.4.8
1.4.7
1.4.6
1.4.5
1.4.4
1.4.3
1.4.2
1.4.1
1.4.0
1.4.0-rc.3
1.4.0-rc.2
1.4.0-rc.1
1.4.0-rc.0
1.4.0-dev.0
1.3.5
Phoenix framework project generator. Provides a `mix phx.new` task to bootstrap a new Elixir application with Phoenix dependencies.
Current section
Files
Jump to
Current section
Files
lib/mix/tasks/phx.new.ecto.ex
defmodule Mix.Tasks.Phx.New.Ecto do
@moduledoc """
Creates a new Ecto project within an umbrella project.
This task is intended to create a bare Ecto project without
web integration, which serves as a core application of your
domain for web applications and your greater umbrella
platform to integrate with.
It expects the name of the project as an argument.
$ cd my_umbrella/apps
$ mix phx.new.ecto APP [--module MODULE] [--app APP]
A project at the given APP directory will be created. The
application name and module name will be retrieved
from the application name, unless `--module` or `--app` is given.
## Options
* `--app` - the name of the OTP application
* `--module` - the name of the base module in
the generated skeleton
* `--database` - specify the database adapter for Ecto. One of:
* `postgres` (https://github.com/elixir-ecto/postgrex)
* `mysql` (https://github.com/xerions/mariaex)
* `mssql` (https://github.com/findmypast-oss/mssqlex)
Please check the driver docs, between parentheses, for more information
and requirements. Defaults to "postgres".
* `--binary-id` - use `binary_id` as primary key type
in Ecto schemas
## Examples
mix phx.new.ecto hello_ecto
Is equivalent to:
mix phx.new.ecto hello_ecto --module HelloEcto
"""
@shortdoc "Creates a new Ecto project within an umbrella project"
use Mix.Task
import Phx.New.Generator
def run([]) do
Mix.Tasks.Help.run(["phx.new.ecto"])
end
def run([path | _] = args) do
unless in_umbrella?(path) do
Mix.raise "The ecto task can only be run within an umbrella's apps directory"
end
Mix.Tasks.Phx.New.run(args ++ ["--no-webpack", "--ecto"], Phx.New.Ecto, :app_path)
end
end