Skip to content

Instantly share code, notes, and snippets.

defmodule Olivetree.ReleaseTasks do
@start_apps [
:crypto,
:ssl,
:postgrex,
:ecto
]
def olivetree, do: Application.get_application(__MODULE__)
@mazz
mazz / .env
Created November 10, 2018 04:57
HOST=localhost
DATABASE_URL=ecto://nevermind:nevermind@olivetree-db/olivetree_prod?pool_size=15
PORT=5000
POSTGRES_USER=nevermind
POSTGRES_PASSWORD=nevermind
POSTGRES_DB=olivetree_prod
POSTGRES_HOST=postgres
@mazz
mazz / docker-compose.yml
Last active June 9, 2020 14:36
phoenix project with traefik
# https://docs.docker.com/compose/compose-file/
version: '3.7'
services:
app_name:
build: .
depends_on:
- postgres
environment:
DATABASE_URL: ecto://app_name:app_name@postgres/app_name
HOSTNAME: localhost
#
# Sphinx configuration file sample
#
# WARNING! While this sample file mentions all available options,
# it contains (very) short helper descriptions only. Please refer to
# doc/sphinx.html for details.
#
#############################################################################
## data source definition
Ecto.Query.from(fer in Transfer,
join: tn in Transaction,
where: fer.transaction_id == tn.id,
order_by: tn.absolute_id,
select: %{title: tn.basename, localizedTitle: fer.localizedname, uuid: tn.uuid, languageId: fer.language_id})
|> Repo.all
@mazz
mazz / stuff.ex
Created February 20, 2019 22:24
Phoenix.Template.UndefinedError
Phoenix.Template.UndefinedError at GET /
Could not render "app.html" for WordApi.LayoutView, please define a matching clause for render/2 or define a template at "lib/faithful_word_api/templates/layout". No templates were compiled for this module. Assigns:
%{__phx_template_not_found__: WordApi.LayoutView, conn: %Plug.Conn{adapter: {Plug.Cowboy.Conn, :...}, assigns: %{layout: {WordApi.LayoutView, "app.html"}}, before_send: [#Function<0.116269836/1 in Plug.CSRFProtection.call/2>, #Function<2.65282597/1 in Phoenix.Controller.fetch_flash/2>, #Function<0.58261320/1 in Plug.Session.before_send/2>, #Function<1.112466771/1 in Plug.Logger.call/2>, #Function<0.66982185/1 in Phoenix.LiveReloader.before_send_inject_reloader/2>], body_params: %{}, cookies: %{"cookieconsent_status" => "dismiss"}, halted: false, host: "localhost", method: "GET", owner: #PID<0.736.0>, params: %{}, path_info: [], path_params: %{}, port: 4000, private: %{WordApi.Router => {[], %{}}, :phoenix_action => :index, :phoenix_controller => WordApi.Pa
routes chunk:
```
# ---- Pipelines ----
pipeline :browser do
plug :accepts, ["html"]
plug :fetch_session
plug :fetch_flash
plug :protect_from_forgery
plug :put_secure_browser_headers
@mazz
mazz / ecto_postgres_fulltext_search_querying_example.ex
Created April 16, 2019 01:31 — forked from pmarreck/ecto_postgres_fulltext_search_querying_example.ex
How to set up postgres fulltext search triggers, index, and tsvector column on Elixir/Phoenix, with Ecto querying, including ranking and sorting by rank
defmodule YourAppName.Search do
# ...
@doc """
Queries listings.
"""
def query_listings(query, current_user) do
default_scope = from l in Listing, where: l.draft == false or l.user_id == ^current_user.id, order_by: [desc: l.updated_at], limit: 50
id = _try_integer(query)
@mazz
mazz / query.ex
Created April 23, 2019 00:53
line 18 and line 19 assignment does not impact outer scope established on line 1 and line 2
direction = :asc
sorting = :track_number
# direction = :desc
# sorting = :presented_at
media_category = Ecto.Query.from(playlist in Playlist,
where: playlist.uuid == ^playlist_uuid,
select: playlist.media_category)
|> Repo.one
|> IO.inspect
# ** (Ecto.Query.CompileError) Tuples can only be used in comparisons with literal tuples of the same size
def search(query_string, offset \\ 0, limit \\ 0,
media_category,
playlist_uuid,
channel_uuid,
published_after
) do
conditions = false