2trc

2trc OP

Hi guys, so I’m following tutorials in the book “Programming Phoenix ≥ 1.4” (yes, I got the latest version cause the older one was just too hard to follow).

Under chapter 4 “Ecto and Changesets” everything works fine until I issue the command mix ecto.gen.migration create_users. The migration code i.e. change function is just empty.

I checked the folders and user.ex is under the folder lib/rumbl/accounts and it looks like this

defmodule Rumbl.Accounts.User do
  use Ecto.Schema
  import Ecto.Changeset
  schema "users" do
    field :name, :string
    field :username, :string
    timestamps()
  end
end

It’s probably a newbie question but after a couple of hours trying and re-trying, I couldn’t figure out the issue.

Help!

First 5 of 5 Posts Switch mode

josevalim

josevalim

Creator of Elixir

Yes, the migration is empty! Ecto doesn’t try to magically figure out the migration from the schema. That’s why the book explicitly asks why you fill this in:

defmodule Rumbl.Repo.Migrations.CreateUsers do
  use Ecto.Migration

  def change do
    create table(:users) do
     add :name, :string
     add :username, :string, null: false
     timestamps()
    end
    create unique_index(:users, [:username]) end
  end
end

You can probably find the exact snippet in the book. :slight_smile:

2trc

2trc OP

Hi @josevalim, I missed that sentence. I was actually tempted to copy/paste from the book but I honestly thought it was auto-generated. My mis-perception came from my background in Python/Django where similar commands do generate the migration code…

I’m just an Elixir newbie learning new stuff. Thanks for helping!

mfrasca

mfrasca

Hi @2trc, are you still experimenting with Elixir? I’m also used (not too much though) to Django (I come from several years on SQLAlchemy, recently moved to Django mostly because of the ease of migrations there), and I’m a bit puzzled with ecto-migrations. I’m trying to document how they work, and help people with my same background grasp the concepts. maybe you want to have a look at my work in progress pull request, and comment.

2trc

2trc OP

Unfortunately not at the moment. I’m spending some time looking into :erlang (Programming Erlang and Designing for Scalability with Erlang/OTP). Going back to the basics

sheltont

sheltont

I hit the same question. haha, got the same answer here.

— All posts loaded —

Where Next? Top

Trending in Questions Top

stjefim
Hello! Suppose you are building workflow (order / task / payment) processing system with the following requirements: Each workflow con...
New
jonnycharles
I’m in search of an Elixir library that offers PDF generation capabilities similar to Ruby’s Prawn. While there have been discussions abo...
New
spammy
I’m looking to build a personal workflow to quickly deploy web applications written in elixir/phoenix, for local consumption (ie not on t...
New
dli
Before I dive in myself, did anyone successfully sprinkle Hologram into their existing LiveView app? Looking for hints regarding: Addi...
New
bottlenecked
Hi all, I wanted to ask how the community is dealing with post-release steps. Today we have Ecto migrations, which make sure that the db...
New
roeland
Kia ora, We have been using elixir-google-api to connect to Google Drive. However, with the updates to Tesla due to CVEs this is now bro...
New
rahultumpala
Hello, I have an Elixir backend that implements a custom protocol over TCP. I want to load test the backend and assess the performance o...
New

Other Trending Topics Top

JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
ausimian
Emily is an Elixir library that runs Nx computations on Apple’s MLX. Install it as the default Nx backend and Nx, defn, Axon, Nx.Serving,...
New
juhalehtonen
There has been a thread to discuss the Stack Overflow Developer Survey on this forum every year since 2018, so here’s yet another one for...
New

We're in Beta

About us Mission Statement