Popularity
4.9
Stable
Activity
0.0
Stable
14
14
6

Monthly Downloads: 88
Programming language: Elixir
License: LISENSE.md

ecto_paging alternatives and similar packages

Based on the "ORM and Datamapping" category.
Alternatively, view ecto_paging alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of ecto_paging or a related project?

Add another 'ORM and Datamapping' Package

README

Ecto.Paging

Deps Status Build Status Coverage Status

This module provides a easy way to apply cursor-based pagination to your Ecto Queries.

Usage:

  1. Add macro to your repo

     defmodule MyRepo do
        use Ecto.Repo, otp_app: :my_app
        use Ecto.Paging.Repo # This string adds `paginate/2` and `page/3` methods.
      end
    
  2. Paginate!

     query = from p in Ecto.Paging.Schema
    
     {res, next_paging} = query
     |> Ecto.Paging.TestRepo.page(%Ecto.Paging{limit: 150})
    

Limitations:

  • Right now it works only with schemas that have :inserted_at field with auto-generated value.
  • You need to be careful with order-by's in your queries, since this feature is not tested yet.
  • It doesn't construct has_more and size counts in paginate struct (TODO: add this helpers).
  • When both starting_after and ending_before is set, only starting_after is used.

Installation

  1. Add ecto_paging to your list of dependencies in mix.exs:

    def deps do
      [{:ecto_paging, "~> 0.8.4"}]
    end
    
  2. Ensure ecto_paging is started before your application:

     def application do
       [applications: [:ecto_paging]]
     end