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

iPaul
page 37 ANTLRInputStream input = new ANTLRInputStream(is); as of ANTLR 4 .8 should be: CharStream stream = CharStreams.fromStream(i...
New
telemachus
Python Testing With Pytest - Chapter 2, warnings for “unregistered custom marks” While running the smoke tests in Chapter 2, I get these...
New
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
Alexandr
Hi everyone! There is an error on the page 71 in the book “Programming machine learning from coding to depp learning” P. Perrotta. You c...
New
conradwt
First, the code resources: Page 237: rumbl_umbrella/apps/rumbl/mix.exs Note: That this file is missing. Page 238: rumbl_umbrella/app...
New
leonW
I ran this command after installing the sample application: $ cards add do something --owner Brian And got a file not found error: Fil...
New
jskubick
I think I might have found a problem involving SwitchCompat, thumbTint, and trackTint. As entered, the SwitchCompat changes color to hol...
New
jgchristopher
“The ProductLive.Index template calls a helper function, live_component/3, that in turn calls on the modal component. ” Excerpt From: Br...
New
brunogirin
When running tox for the first time, I got the following error: ERROR: InterpreterNotFound: python3.10 I realised that I was running ...
New
akraut
The markup used to display the uploaded image results in a Phoenix.LiveView.HTMLTokenizer.ParseError error. lib/pento_web/live/product_l...
New

Other popular topics Top

dasdom
No chair. I have a standing desk. This post was split into a dedicated thread from our thread about chairs :slight_smile:
New
DevotionGeo
I know that -t flag is used along with -i flag for getting an interactive shell. But I cannot digest what the man page for docker run com...
New
gagan7995
API 4 Path: /user/following/ Method: GET Description: Returns the list of all names of people whom the user follows Response [ { ...
New
AstonJ
Saw this on TikTok of all places! :lol: Anyone heard of them before? Lite:
New
AstonJ
We’ve talked about his book briefly here but it is quickly becoming obsolete - so he’s decided to create a series of 7 podcasts, the firs...
New
PragmaticBookshelf
Build efficient applications that exploit the unique benefits of a pure functional language, learning from an engineer who uses Haskell t...
New
New
husaindevelop
Inside our android webview app, we are trying to paste the copied content from another app eg (notes) using navigator.clipboard.readtext ...
New
AstonJ
If you’re getting errors like this: psql: error: connection to server on socket “/tmp/.s.PGSQL.5432” failed: No such file or directory ...
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

Sub Categories: