Skip to content

Instantly share code, notes, and snippets.

View wttj-tech's full-sized avatar

WTTJ Tech wttj-tech

View GitHub Profile
defmodule WttjApi.Accounts.User do
use Ecto.Schema
schema “users” do
field(:title, :string)
field(:gender, :string)
end
end
defmodule WttjApi.Accounts.User do
use Ecto.Schema
import Ecto.Changeset
def create_changeset(user, attrs \\ %{}) do
user
|> cast(attrs, [:title, :gender])
|> migrate_title_to_gender()
end
defmodule WttjApiWeb.Api.UserView do
use WttjApiWeb, :view
def render("user.json", %{user: user}) do
%{
gender: user.gender,
title: user.title
}
end
end
defmodule Mix.Tasks.Tmp.BackfillGender do
use Mix.Task
import Ecto.Query
@shortdoc "Backfill gender with title data in users table"
def run(_) do
sql_query = ~S"""
UPDATE users SET
gender = mapping.gender
FROM (VALUES
config :module_name, :atom,
host: System.get_env("MODULE_HOST", "localhost"),
port: String.to_integer(System.get_env("MODULE_PORT", "8126")),
defmodule User do
use Ecto.Schema
use EctoAnon.Schema
anon_schema [
:name,
:email
]
schema "users" do
user = Repo.get(User, id)
%User{name: "jane", age: 24, email: "[email protected]"}
EctoAnon.run(user, Repo)
{:ok, %User{name: "redacted", age: 24, email: "redacted"}}
defmodule User do
use Ecto.Schema
use EctoAnon.Schema
anon_schema [
:lastname,
:email,
:followers,
:favorite_quote,
:quotes,
Repo.get(User, id)
|> EctoAnon.run(Repo, cascade: true)
{:ok,
%User{
email: "redacted",
firstname: "Emilie",
last_sign_in_at: ~U[2018-01-01 00:00:00Z],
lastname: "redacted",
favorite_quote: %Quote{
@wttj-tech
wttj-tech / observability_noise_reduction_crash_report.log
Created September 13, 2023 09:03
observability_noise_reduction_crash_report.log
=CRASH REPORT==== 14-May-2019::10:00:59.621479 ===
crasher:
initial call: erl_eval:'-expr/5-fun-3-'/0
pid: <0.78.0>
registered_name: []
exception error: pang
in function shell:apply_fun/3 (shell.erl, line 907)
ancestors: [<0.76.0>]
message_queue_len: 0
messages: []