You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
After setting up SqlFmt in your application you can use the SqlFmt functions in order to format queries. Here are a
couple examples of queries with having parameters inline and with passing in the parameters separately:
iex(1)>{:ok,formatted_sql}=SqlFmt.format_query("select * from businesses where id in ('c6f5c5f1-a1fc-4c9a-91f7-6aa40f1e233d', 'f339d4ce-96b6-4440-a541-28a0fb611139');"){:ok,"SELECT\n *\nFROM\n businesses\nWHERE\n id IN (\n 'c6f5c5f1-a1fc-4c9a-91f7-6aa40f1e233d',\n 'f339d4ce-96b6-4440-a541-28a0fb611139'\n );"}iex(2)>IO.puts(formatted_sql)SELECT*FROMbusinessesWHEREidIN('c6f5c5f1-a1fc-4c9a-91f7-6aa40f1e233d','f339d4ce-96b6-4440-a541-28a0fb611139');:ok
iex(1)>{:ok,formatted_sql}=SqlFmt.format_query_with_params("select * from help where help.\"col\" in $1;",["'asdf'"]){:ok,"SELECT\n *\nFROM\n help\nWHERE\n help.\"col\" IN 'asdf';"}iex(2)>IO.puts(formatted_sql)SELECT*FROMhelpWHEREhelp."col"IN'asdf';:ok
Be sure to checkout the HexDocs as you can also provide formatting options to the functions to tailor the output to your
liking.
Mix Formatter
SqlFmt also provides you with the ~SQL sigil that can be used to format SQL via Mix Formatter plugin. To set up the
Mix Formatter plugin, simply install this package and add update your .formatter.exs file as follows:
With this configuration, the SqlFmt Mix Format plugin will now format all ~SQL sigils and all files ending in .sql.
This can be particularly useful in Ecto migrations where you have large execute statements and you want to make sure
that your code is readable. Check out the SqlFmt.MixFormatter module docs for more information.
Supporting SqlFmt
If you rely on this library help you debug your Ecto/SQL queries, it would much appreciated if you can give back
to the project in order to help ensure its continued development.