Ash Framework
The Elixir backend framework for unparalleled productivity. Declarative tools that let you stop wasting time. Use with Phoenix LiveView or build APIs in minutes for your front-end of choice.
JoinAsh Framework
The Elixir backend framework for unparalleled productivity. Declarative tools that let you stop wasting time. Use with Phoenix LiveView or build APIs in minutes for your front-end of choice.
JoinMagic Link login fails due to nil tenant for master user
site_id
is nil
. When I send a Magic Link request for this user, it successfully finds the user and returns a token.
However, the issue occurs when I click on the link — one of the queries throws the following error:
```elixir
[debug] QUERY ERROR source="users" db=0.4ms queue=0.3ms idle=750.5ms
INSERT INTO "users" AS u0 ("id","site_id","confirmed_at","email") VALUES ($1,$2,$3,$4) ON CONFLICT ("email") DO UPDATE SET "email" = EXCLUDED."email", "confirmed_at" = EXCLUDED."confirmed_at" WHERE ((CASE WHEN u0."confirmed_at"::timestamp IS NULL THEN ash_raise_error($5::jsonb) ELSE $6 END)) RETURNING "site_id","confirmed_at","hashed_password","email","id" ["eebf4165-82d2-4c8b-9890-f11808d29c59", nil, ~U[2025-09-05 21:39:04.145886Z], #Ash.CiString<"master@example.com">, "{"input":{"resource":"Elixir.MishkaCms.Accounts.User","confirmation_strategy":"confirm_new_user"},"exception":"AshAuthentication.Errors.CannotConfirmUnconfirmedUser"}", true]...minor QOL improvement
newb question: what's the actual use case of `ash_rate_limiter`?
web
concern, meaning something that belongs to the "plug and phoenix" layer?
Therefore, what does ash have to do with it?
Why wouldn't I just use hammer
, plug it in, and call it a day?...Reactor dynamic steps usage?
Sub domain multi tenancy - have magic links include sub domain
Calculation Heavy Resource with Historian Retrieval

** (Mix) Could not invoke task "igniter.install": 1 error found!--auth-strategy : Unknown option
How to (temporarily) disable data layer entirely
AshPostgres
, and then to "comment out" it and swap with an in-memory (non actually persistent) alternative, e.g. Ash.DataLayer.Ets
(even better if any accidental entry gets deleted in 24hrs).
Use case: I just want to start and deploy a simple static HTML page that requires no logic, nor authentication. In the near future, as I develop features, I want to put them back in. But in the meantime, I want to deploy my app without actually spending $38 per month for a postgres db I would not hit (yes, I'm using fly.io).
If I'm tackling this problem wrong, or if you suggest a better workflow, I'm all ears!...Good way to (atomically?) persist a file when creating a record?
Warning on compare to `nil` in short-circuited query
Ash policies fail when they shouldn't
Reducing some code duplication in Ash enums
How can I sum all the expenses.amount across all categories
Ash policies breakdown not showing help_text
Distinguished if the user was created or if they already existed with a magic link
How to run custom resource extension before validators
Ash.Resource
extension and having some issues I don't know how to solve. This is my simple extension so far:
```ex...Can I aggregate over a calculated field?
Seed Resources with many-to-many relationships
Enum.at(foos, foo_index)
to create the correct references.
I also had to make the relationships on the many-to-many public so that I can create
them.
Anywho, thanks for the help!...Regex validation error
validate match(:code, "^[A-Za-z0-9]+$/")
validate match(:code, "^[A-Za-z0-9]+$/")
Generated attributes on update?
GENERATED ALWAYS
) which can change on updates. generated? true
only appears to affect inserts.
I'm guessing there is a toggle somewhere to handle this maybe? Even if there's just a way to tell an update action, "Hey, definitely get the return value on the update for this one," that would also be perfect. I didn't see any obvious way in the DSLs but... that doesn't mean much, lol....