Вам нужно запустить mix ecto.create
, поскольку сейчас нет базы данных для переноса. После этого вы можете запустить mix ecto.migrate
, и он выполнит миграцию. Чтобы увидеть список всех команд микширования, используйте mix help
. Вот список текущих доступных задач экто:
mix ecto # Prints Ecto help information
mix ecto.create # Creates the repository storage
mix ecto.drop # Drops the repository storage
mix ecto.dump # Dumps the repository database structure
mix ecto.gen.migration # Generates a new migration for the repo
mix ecto.gen.repo # Generates a new repository
mix ecto.load # Loads previously dumped database structure
mix ecto.migrate # Runs the repository migrations
mix ecto.migrations # Displays the repository migration status
mix ecto.rollback # Rolls back the repository migrations
Если вы используете postgresql, вы можете смело предположить, что термин repository storage
означает database
, если вышеприведенное неясно.
Если mix ecto.create
не удается, это означает, что postgresql не запущен или не установлен.
Чтобы проверить, работает ли он, попробуйте:
ps auxwww | grep postgres
и вы должны увидеть что-то вроде:
username 952 0.0 0.0 2656344 388 ?? S 19Apr18 0:47.05 /Applications/Postgres.app/Contents/Versions/9.6/bin/postgres -D /Users/username/Library/Application Support/Postgres/var-9.6
Если вы этого не сделаете (увидите что-то похожее на вышеприведенное), вам нужно будет запустить его или установить (если у вас его нет).
В MacOS я очень рекомендую PostgresApp от Heroku (https://postgresapp.com/) вместо homebrew или system postgresql.
Если вы дадите мне в комментарии информацию о том, на какой ОС вы работаете, если вышеперечисленное не работает, и я обновлю свой ответ инструкциями для вас.