SlowburnAZ

SlowburnAZ

Ash Framework: Chapter 1

I’m trying to reset the database and reseed… at some point shortly after the “Defining A Read Action” where you add the “primary? true”, I get the following error when trying to reseed with “mix seed”:

** (Ash.Error.Invalid)
Invalid Error

* Tunez.Music.Artist.read had no matching bulk strategy that could be used.

Requested strategies: [:stream]

Could not use `:stream`: could not stream the query
Could not use `:atomic_batches`: Not in requested strategies
Could not use `:atomic`: Not in requested strategies



Non stream reason:

Action Tunez.Music.Artist.read does not support streaming with one of [:keyset].

There are two ways to handle this.

1.) Use the `allow_stream_with` or `stream_with` options to control what strategies are allowed.
2.) Enable the respective required pagination type on the action read, for example:

    # allow keyset
    pagination keyset?: true, required?: false

    # allow offset
    pagination offset?: true, required?: false

    # allow both
    pagination offset?: true, keyset?: true, required?: false



  (ash 3.5.24) lib/ash/error/invalid/no_matching_bulk_strategy.ex:4: Ash.Error.Invalid.NoMatchingBulkStrategy.exception/1
  (ash 3.5.24) lib/ash/actions/destroy/bulk.ex:184: Ash.Actions.Destroy.Bulk.run/6
  (ash 3.5.24) lib/ash.ex:3421: Ash.bulk_destroy!/4
  priv/repo/seeds/01-artists.exs:16: (file)
  (elixir 1.18.4) src/elixir_compiler.erl:77: :elixir_compiler.dispatch/4
  (elixir 1.18.4) src/elixir_compiler.erl:52: :elixir_compiler.compile/4
  (elixir 1.18.4) src/elixir_compiler.erl:39: :elixir_compiler.maybe_fast_compile/2
  (elixir 1.18.4) src/elixir_lexical.erl:13: :elixir_lexical.run/3
  (elixir 1.18.4) src/elixir_compiler.erl:17: :elixir_compiler.quoted/3
  (elixir 1.18.4) lib/module/parallel_checker.ex:120: Module.ParallelChecker.verify/1
  (elixir 1.18.4) lib/code.ex:1525: Code.require_file/2
  (mix 1.18.4) lib/mix/tasks/run.ex:148: Mix.Tasks.Run.run/5
  (mix 1.18.4) lib/mix/tasks/run.ex:87: Mix.Tasks.Run.run/1
  (mix 1.18.4) lib/mix/task.ex:495: anonymous fn/3 in Mix.Task.run_task/5
  (mix 1.18.4) lib/mix/task.ex:561: Mix.Task.run_alias/6
  (mix 1.18.4) lib/mix/cli.ex:107: Mix.CLI.run_task/2
  /usr/bin/mix:2: (file)
  (elixir 1.18.4) src/elixir_compiler.erl:77: :elixir_compiler.dispatch/4
  (elixir 1.18.4) src/elixir_compiler.erl:52: :elixir_compiler.compile/4
    (ash 3.5.24) lib/ash.ex:3441: Ash.bulk_destroy!/4
    priv/repo/seeds/01-artists.exs:16: (file)
    (elixir 1.18.4) lib/code.ex:1525: Code.require_file/2
    (mix 1.18.4) lib/mix/tasks/run.ex:148: Mix.Tasks.Run.run/5
    (mix 1.18.4) lib/mix/tasks/run.ex:87: Mix.Tasks.Run.run/1
    (mix 1.18.4) lib/mix/task.ex:495: anonymous fn/3 in Mix.Task.run_task/5
    (mix 1.18.4) lib/mix/task.ex:561: Mix.Task.run_alias/6
    (mix 1.18.4) lib/mix/cli.ex:107: Mix.CLI.run_task/2
    /usr/bin/mix:2: (file)

Any suggestions on how to get around this?

First Post!

snitz70

snitz70

in the priv/repo/seeds/01-artists.exs file, I had to remove the strategy: :stream for the the ASH.bulk_destroy line. This will make it default to :atomic. According to the docs, Atomic bulk destroys are used when the subject of the bulk destroy is a query, which this is.

Where Next?

Popular Pragmatic Bookshelf topics Top

brianokken
Many tasks_proj/tests directories exist in chapters 2, 3, 5 that have tests that use the custom markers smoke and get, which are not decl...
New
AndyDavis3416
@noelrappin Running the webpack dev server, I receive the following warning: ERROR in tsconfig.json TS18003: No inputs were found in c...
New
brunogirin
When I run the coverage example to report on missing lines, I get: pytest --cov=cards --report=term-missing ch7 ERROR: usage: pytest [op...
New
brunogirin
When installing Cards as an editable package, I get the following error: ERROR: File “setup.py” not found. Directory cannot be installe...
New
brunogirin
When trying to run tox in parallel as explained on page 151, I got the following error: tox: error: argument -p/–parallel: expected one...
New
s2k
Hi all, currently I wonder how the Tailwind colours work (or don’t work). For example, in app/views/layouts/application.html.erb I have...
New
tkhobbes
After some hassle, I was able to finally run bin/setup, now I have started the rails server but I get this error message right when I vis...
New
ggerico
I got this error when executing the plot files on macOS Ventura 13.0.1 with Python 3.10.8 and matplotlib 3.6.1: programming_ML/code/03_...
New
gorkaio
root_layout: {PentoWeb.LayoutView, :root}, This results in the following following error: no “root” html template defined for PentoWeb...
New
dachristenson
@mfazio23 Android Studio will not accept anything I do when trying to use the Transformations class, as described on pp. 140-141. Googl...
New

Other popular topics Top

AstonJ
We have a thread about the keyboards we have, but what about nice keyboards we come across that we want? If you have seen any that look n...
New
AstonJ
I’ve been hearing quite a lot of comments relating to the sound of a keyboard, with one of the most desirable of these called ‘thock’, he...
New
PragmaticBookshelf
Learn different ways of writing concurrent code in Elixir and increase your application's performance, without sacrificing scalability or...
New
Help
I am trying to crate a game for the Nintendo switch, I wanted to use Java as I am comfortable with that programming language. Can you use...
New
PragmaticBookshelf
Author Spotlight Rebecca Skinner @RebeccaSkinner Welcome to our latest author spotlight, where we sit down with Rebecca Skinner, auth...
New
New
PragmaticBookshelf
Programming Ruby is the most complete book on Ruby, covering both the language itself and the standard library as well as commonly used t...
New
NewsBot
Node.js v22.14.0 has been released. Link: Release 2025-02-11, Version 22.14.0 'Jod' (LTS), @aduh95 · nodejs/node · GitHub
New
Fl4m3Ph03n1x
Background Lately I am in a quest to find a good quality TTS ai generation tool to run locally in order to create audio for some videos I...
New
mindriot
Ok, well here are some thoughts and opinions on some of the ergonomic keyboards I have, I guess like mini review of each that I use enoug...
New

Sub Categories: