diff --git a/dev/.documenter-siteinfo.json b/dev/.documenter-siteinfo.json
index 75b663c..c723201 100644
--- a/dev/.documenter-siteinfo.json
+++ b/dev/.documenter-siteinfo.json
@@ -1 +1 @@
-{"documenter":{"julia_version":"1.7.3","generation_timestamp":"2024-10-03T08:14:22","documenter_version":"1.7.0"}}
\ No newline at end of file
+{"documenter":{"julia_version":"1.7.3","generation_timestamp":"2024-10-03T09:19:42","documenter_version":"1.7.0"}}
\ No newline at end of file
diff --git a/dev/API/callbacks.html b/dev/API/callbacks.html
index 2e05967..5b04a68 100644
--- a/dev/API/callbacks.html
+++ b/dev/API/callbacks.html
@@ -1,2 +1,2 @@
 <!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Callbacks · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</title><meta name="title" content="Callbacks · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta property="og:title" content="Callbacks · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta property="twitter:title" content="Callbacks · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta name="description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><meta property="og:description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><meta property="twitter:description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.050/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.8/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../search_index.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-mocha.css" data-theme-name="catppuccin-mocha"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-macchiato.css" data-theme-name="catppuccin-macchiato"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-frappe.css" data-theme-name="catppuccin-frappe"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-latte.css" data-theme-name="catppuccin-latte"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><div class="docs-package-name"><span class="docs-autofit"><a href="../index.html">SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</a></span></div><button class="docs-search-query input is-rounded is-small is-clickable my-2 mx-auto py-1 px-2" id="documenter-search-query">Search docs (Ctrl + /)</button><ul class="docs-menu"><li><a class="tocitem" href="../index.html">Home</a></li><li><span class="tocitem">SearchLight API</span><ul><li class="is-active"><a class="tocitem" href="callbacks.html">Callbacks</a></li><li><a class="tocitem" href="configuration.html">Configuration</a></li><li><a class="tocitem" href="exceptions.html">Exceptions</a></li><li><a class="tocitem" href="filetemplates.html">FileTemplates</a></li><li><a class="tocitem" href="generator.html">Generator</a></li><li><a class="tocitem" href="migrations.html">Migrations</a></li><li><a class="tocitem" href="modeltypes.html">ModelTypes</a></li><li><a class="tocitem" href="querybuilder.html">QueryBuilder</a></li><li><a class="tocitem" href="relationships.html">Relationships</a></li><li><a class="tocitem" href="searchlight.html">SearchLight</a></li><li><a class="tocitem" href="serializer.html">Serializer</a></li><li><input class="collapse-toggle" id="menuitem-2-12" type="checkbox"/><label class="tocitem" for="menuitem-2-12"><span class="docs-label">Serializers</span><i class="docs-chevron"></i></label><ul class="collapsed"><li><a class="tocitem" href="serializers/json.html">JsonSerializer</a></li></ul></li><li><a class="tocitem" href="transactions.html">Transactions</a></li><li><a class="tocitem" href="validation.html">Validation</a></li></ul></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><a class="docs-sidebar-button docs-navbar-link fa-solid fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">SearchLight API</a></li><li class="is-active"><a href="callbacks.html">Callbacks</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href="callbacks.html">Callbacks</a></li></ul></nav><div class="docs-right"><a class="docs-navbar-link" href="https://github.com/GenieFramework/SearchLight.jl" title="View the repository on GitHub"><span class="docs-icon fa-brands"></span><span class="docs-label is-hidden-touch">GitHub</span></a><a class="docs-navbar-link" href="https://github.com/GenieFramework/SearchLight.jl/blob/master/docs/src/API/callbacks.md" title="Edit source on GitHub"><span class="docs-icon fa-solid"></span></a><a class="docs-settings-button docs-navbar-link fa-solid fa-gear" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-article-toggle-button fa-solid fa-chevron-up" id="documenter-article-toggle-button" href="javascript:;" title="Collapse all docstrings"></a></div></header><article class="content" id="documenter-page"><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Callbacks.on_exception" href="#SearchLight.Callbacks.on_exception"><code>SearchLight.Callbacks.on_exception</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><p>Automatically invoked callback when a model exception is triggered internally (ex type conversion exception)</p><ul><li>accepts (model &lt;: AbstractModel, ex::TypeConversionException)</li><li>returns model &lt;: AbstractModel</li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Callbacks.jl#L31-L36">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Callbacks.on_find" href="#SearchLight.Callbacks.on_find"><code>SearchLight.Callbacks.on_find</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><p>Automatically invoked when model data is retrieved from the DB (on <code>find</code> methods). It will be invoked for each field in the model</p><ul><li>accepts (model &lt;: AbstractModel, field_name::Symbol, value::Any)</li><li>returns model &lt;: AbstractModel</li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Callbacks.jl#L40-L46">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Callbacks.after_find" href="#SearchLight.Callbacks.after_find"><code>SearchLight.Callbacks.after_find</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><p>Automatically invoked after the object is retrieved from the DB</p><ul><li>accepts (model &lt;: AbstractModel)</li><li>return model &lt;: AbstractModel</li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Callbacks.jl#L50-L55">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Callbacks.on_save" href="#SearchLight.Callbacks.on_save"><code>SearchLight.Callbacks.on_save</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><p>Automatically invoked when the object is being peristed to the DB</p><ul><li>accepts (model &lt;: AbstractModel, field_name::Symbol, value::Any)</li><li>returns model &lt;: AbstractModel</li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Callbacks.jl#L59-L64">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Callbacks.before_save" href="#SearchLight.Callbacks.before_save"><code>SearchLight.Callbacks.before_save</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><p>Automatically invoked before the object is being peristed to the DB</p><ul><li>accepts (model &lt;: AbstractModel)</li><li>returns model &lt;: AbstractModel</li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Callbacks.jl#L68-L73">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Callbacks.after_save" href="#SearchLight.Callbacks.after_save"><code>SearchLight.Callbacks.after_save</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><p>Automatically invoked after the object is being peristed to the DB</p><ul><li>accepts (model &lt;: AbstractModel)</li><li>returns model &lt;: AbstractModel</li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Callbacks.jl#L77-L82">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../index.html">« Home</a><a class="docs-footer-nextpage" href="configuration.html">Configuration »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.7.0 on <span class="colophon-date" title="Thursday 3 October 2024 08:14">Thursday 3 October 2024</span>. Using Julia version 1.7.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
+<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Callbacks · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</title><meta name="title" content="Callbacks · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta property="og:title" content="Callbacks · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta property="twitter:title" content="Callbacks · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta name="description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><meta property="og:description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><meta property="twitter:description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.050/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.8/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../search_index.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-mocha.css" data-theme-name="catppuccin-mocha"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-macchiato.css" data-theme-name="catppuccin-macchiato"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-frappe.css" data-theme-name="catppuccin-frappe"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-latte.css" data-theme-name="catppuccin-latte"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><div class="docs-package-name"><span class="docs-autofit"><a href="../index.html">SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</a></span></div><button class="docs-search-query input is-rounded is-small is-clickable my-2 mx-auto py-1 px-2" id="documenter-search-query">Search docs (Ctrl + /)</button><ul class="docs-menu"><li><a class="tocitem" href="../index.html">Home</a></li><li><span class="tocitem">SearchLight API</span><ul><li class="is-active"><a class="tocitem" href="callbacks.html">Callbacks</a></li><li><a class="tocitem" href="configuration.html">Configuration</a></li><li><a class="tocitem" href="exceptions.html">Exceptions</a></li><li><a class="tocitem" href="filetemplates.html">FileTemplates</a></li><li><a class="tocitem" href="generator.html">Generator</a></li><li><a class="tocitem" href="migrations.html">Migrations</a></li><li><a class="tocitem" href="modeltypes.html">ModelTypes</a></li><li><a class="tocitem" href="querybuilder.html">QueryBuilder</a></li><li><a class="tocitem" href="relationships.html">Relationships</a></li><li><a class="tocitem" href="searchlight.html">SearchLight</a></li><li><a class="tocitem" href="serializer.html">Serializer</a></li><li><input class="collapse-toggle" id="menuitem-2-12" type="checkbox"/><label class="tocitem" for="menuitem-2-12"><span class="docs-label">Serializers</span><i class="docs-chevron"></i></label><ul class="collapsed"><li><a class="tocitem" href="serializers/json.html">JsonSerializer</a></li></ul></li><li><a class="tocitem" href="transactions.html">Transactions</a></li><li><a class="tocitem" href="validation.html">Validation</a></li></ul></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><a class="docs-sidebar-button docs-navbar-link fa-solid fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">SearchLight API</a></li><li class="is-active"><a href="callbacks.html">Callbacks</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href="callbacks.html">Callbacks</a></li></ul></nav><div class="docs-right"><a class="docs-navbar-link" href="https://github.com/GenieFramework/SearchLight.jl" title="View the repository on GitHub"><span class="docs-icon fa-brands"></span><span class="docs-label is-hidden-touch">GitHub</span></a><a class="docs-navbar-link" href="https://github.com/GenieFramework/SearchLight.jl/blob/master/docs/src/API/callbacks.md" title="Edit source on GitHub"><span class="docs-icon fa-solid"></span></a><a class="docs-settings-button docs-navbar-link fa-solid fa-gear" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-article-toggle-button fa-solid fa-chevron-up" id="documenter-article-toggle-button" href="javascript:;" title="Collapse all docstrings"></a></div></header><article class="content" id="documenter-page"><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Callbacks.on_exception" href="#SearchLight.Callbacks.on_exception"><code>SearchLight.Callbacks.on_exception</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><p>Automatically invoked callback when a model exception is triggered internally (ex type conversion exception)</p><ul><li>accepts (model &lt;: AbstractModel, ex::TypeConversionException)</li><li>returns model &lt;: AbstractModel</li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Callbacks.jl#L31-L36">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Callbacks.on_find" href="#SearchLight.Callbacks.on_find"><code>SearchLight.Callbacks.on_find</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><p>Automatically invoked when model data is retrieved from the DB (on <code>find</code> methods). It will be invoked for each field in the model</p><ul><li>accepts (model &lt;: AbstractModel, field_name::Symbol, value::Any)</li><li>returns model &lt;: AbstractModel</li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Callbacks.jl#L40-L46">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Callbacks.after_find" href="#SearchLight.Callbacks.after_find"><code>SearchLight.Callbacks.after_find</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><p>Automatically invoked after the object is retrieved from the DB</p><ul><li>accepts (model &lt;: AbstractModel)</li><li>return model &lt;: AbstractModel</li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Callbacks.jl#L50-L55">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Callbacks.on_save" href="#SearchLight.Callbacks.on_save"><code>SearchLight.Callbacks.on_save</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><p>Automatically invoked when the object is being peristed to the DB</p><ul><li>accepts (model &lt;: AbstractModel, field_name::Symbol, value::Any)</li><li>returns model &lt;: AbstractModel</li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Callbacks.jl#L59-L64">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Callbacks.before_save" href="#SearchLight.Callbacks.before_save"><code>SearchLight.Callbacks.before_save</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><p>Automatically invoked before the object is being peristed to the DB</p><ul><li>accepts (model &lt;: AbstractModel)</li><li>returns model &lt;: AbstractModel</li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Callbacks.jl#L68-L73">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Callbacks.after_save" href="#SearchLight.Callbacks.after_save"><code>SearchLight.Callbacks.after_save</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><p>Automatically invoked after the object is being peristed to the DB</p><ul><li>accepts (model &lt;: AbstractModel)</li><li>returns model &lt;: AbstractModel</li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Callbacks.jl#L77-L82">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../index.html">« Home</a><a class="docs-footer-nextpage" href="configuration.html">Configuration »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.7.0 on <span class="colophon-date" title="Thursday 3 October 2024 09:19">Thursday 3 October 2024</span>. Using Julia version 1.7.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/dev/API/configuration.html b/dev/API/configuration.html
index 26f4a35..46e45b3 100644
--- a/dev/API/configuration.html
+++ b/dev/API/configuration.html
@@ -1,10 +1,10 @@
 <!DOCTYPE html>
 <html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Configuration · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</title><meta name="title" content="Configuration · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta property="og:title" content="Configuration · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta property="twitter:title" content="Configuration · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta name="description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><meta property="og:description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><meta property="twitter:description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.050/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.8/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../search_index.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-mocha.css" data-theme-name="catppuccin-mocha"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-macchiato.css" data-theme-name="catppuccin-macchiato"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-frappe.css" data-theme-name="catppuccin-frappe"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-latte.css" data-theme-name="catppuccin-latte"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><div class="docs-package-name"><span class="docs-autofit"><a href="../index.html">SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</a></span></div><button class="docs-search-query input is-rounded is-small is-clickable my-2 mx-auto py-1 px-2" id="documenter-search-query">Search docs (Ctrl + /)</button><ul class="docs-menu"><li><a class="tocitem" href="../index.html">Home</a></li><li><span class="tocitem">SearchLight API</span><ul><li><a class="tocitem" href="callbacks.html">Callbacks</a></li><li class="is-active"><a class="tocitem" href="configuration.html">Configuration</a></li><li><a class="tocitem" href="exceptions.html">Exceptions</a></li><li><a class="tocitem" href="filetemplates.html">FileTemplates</a></li><li><a class="tocitem" href="generator.html">Generator</a></li><li><a class="tocitem" href="migrations.html">Migrations</a></li><li><a class="tocitem" href="modeltypes.html">ModelTypes</a></li><li><a class="tocitem" href="querybuilder.html">QueryBuilder</a></li><li><a class="tocitem" href="relationships.html">Relationships</a></li><li><a class="tocitem" href="searchlight.html">SearchLight</a></li><li><a class="tocitem" href="serializer.html">Serializer</a></li><li><input class="collapse-toggle" id="menuitem-2-12" type="checkbox"/><label class="tocitem" for="menuitem-2-12"><span class="docs-label">Serializers</span><i class="docs-chevron"></i></label><ul class="collapsed"><li><a class="tocitem" href="serializers/json.html">JsonSerializer</a></li></ul></li><li><a class="tocitem" href="transactions.html">Transactions</a></li><li><a class="tocitem" href="validation.html">Validation</a></li></ul></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><a class="docs-sidebar-button docs-navbar-link fa-solid fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">SearchLight API</a></li><li class="is-active"><a href="configuration.html">Configuration</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href="configuration.html">Configuration</a></li></ul></nav><div class="docs-right"><a class="docs-navbar-link" href="https://github.com/GenieFramework/SearchLight.jl" title="View the repository on GitHub"><span class="docs-icon fa-brands"></span><span class="docs-label is-hidden-touch">GitHub</span></a><a class="docs-navbar-link" href="https://github.com/GenieFramework/SearchLight.jl/blob/master/docs/src/API/configuration.md" title="Edit source on GitHub"><span class="docs-icon fa-solid"></span></a><a class="docs-settings-button docs-navbar-link fa-solid fa-gear" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-article-toggle-button fa-solid fa-chevron-up" id="documenter-article-toggle-button" href="javascript:;" title="Collapse all docstrings"></a></div></header><article class="content" id="documenter-page"><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Configuration.env" href="#SearchLight.Configuration.env"><code>SearchLight.Configuration.env</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">env() :: String</code></pre><p>Returns the current environment.</p><p><strong>Examples</strong></p><pre><code class="language-julia hljs">julia&gt; Configuration.env()
-&quot;dev&quot;</code></pre></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Configuration.jl#L18-L28">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Configuration.read_db_connection_data" href="#SearchLight.Configuration.read_db_connection_data"><code>SearchLight.Configuration.read_db_connection_data</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">read_db_connection_data(db_settings_file::String) :: Dict{Any,Any}</code></pre><p>Attempts to read the database configuration file and returns the part corresponding to the current environment as a <code>Dict</code>. Does not check if <code>db_settings_file</code> actually exists so it can throw errors. If the database connection information for the current environment does not exist, it returns an empty <code>Dict</code>.</p><p><strong>Examples</strong></p><pre><code class="language-julia hljs">julia&gt; Configuration.read_db_connection_data(...)
+&quot;dev&quot;</code></pre></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Configuration.jl#L18-L28">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Configuration.read_db_connection_data" href="#SearchLight.Configuration.read_db_connection_data"><code>SearchLight.Configuration.read_db_connection_data</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">read_db_connection_data(db_settings_file::String) :: Dict{Any,Any}</code></pre><p>Attempts to read the database configuration file and returns the part corresponding to the current environment as a <code>Dict</code>. Does not check if <code>db_settings_file</code> actually exists so it can throw errors. If the database connection information for the current environment does not exist, it returns an empty <code>Dict</code>.</p><p><strong>Examples</strong></p><pre><code class="language-julia hljs">julia&gt; Configuration.read_db_connection_data(...)
 Dict{Any,Any} with 6 entries:
   &quot;host&quot;     =&gt; &quot;localhost&quot;
   &quot;password&quot; =&gt; &quot;...&quot;
   &quot;username&quot; =&gt; &quot;...&quot;
   &quot;port&quot;     =&gt; 5432
   &quot;database&quot; =&gt; &quot;...&quot;
-  &quot;adapter&quot;  =&gt; &quot;PostgreSQL&quot;</code></pre></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Configuration.jl#L32-L50">source</a></section></article><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>load</code>. Check Documenter&#39;s build log for details.</p></div></div><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Configuration.Settings" href="#SearchLight.Configuration.Settings"><code>SearchLight.Configuration.Settings</code></a> — <span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">mutable struct Settings</code></pre><p>App configuration - sets up the app&#39;s defaults. Individual options are overwritten in the corresponding environment file.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Configuration.jl#L98-L102">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="callbacks.html">« Callbacks</a><a class="docs-footer-nextpage" href="exceptions.html">Exceptions »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.7.0 on <span class="colophon-date" title="Thursday 3 October 2024 08:14">Thursday 3 October 2024</span>. Using Julia version 1.7.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
+  &quot;adapter&quot;  =&gt; &quot;PostgreSQL&quot;</code></pre></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Configuration.jl#L32-L50">source</a></section></article><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>load</code>. Check Documenter&#39;s build log for details.</p></div></div><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Configuration.Settings" href="#SearchLight.Configuration.Settings"><code>SearchLight.Configuration.Settings</code></a> — <span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">mutable struct Settings</code></pre><p>App configuration - sets up the app&#39;s defaults. Individual options are overwritten in the corresponding environment file.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Configuration.jl#L98-L102">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="callbacks.html">« Callbacks</a><a class="docs-footer-nextpage" href="exceptions.html">Exceptions »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.7.0 on <span class="colophon-date" title="Thursday 3 October 2024 09:19">Thursday 3 October 2024</span>. Using Julia version 1.7.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/dev/API/exceptions.html b/dev/API/exceptions.html
index 17e444e..a2e4eda 100644
--- a/dev/API/exceptions.html
+++ b/dev/API/exceptions.html
@@ -1,2 +1,2 @@
 <!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Exceptions · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</title><meta name="title" content="Exceptions · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta property="og:title" content="Exceptions · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta property="twitter:title" content="Exceptions · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta name="description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><meta property="og:description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><meta property="twitter:description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.050/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.8/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../search_index.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-mocha.css" data-theme-name="catppuccin-mocha"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-macchiato.css" data-theme-name="catppuccin-macchiato"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-frappe.css" data-theme-name="catppuccin-frappe"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-latte.css" data-theme-name="catppuccin-latte"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><div class="docs-package-name"><span class="docs-autofit"><a href="../index.html">SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</a></span></div><button class="docs-search-query input is-rounded is-small is-clickable my-2 mx-auto py-1 px-2" id="documenter-search-query">Search docs (Ctrl + /)</button><ul class="docs-menu"><li><a class="tocitem" href="../index.html">Home</a></li><li><span class="tocitem">SearchLight API</span><ul><li><a class="tocitem" href="callbacks.html">Callbacks</a></li><li><a class="tocitem" href="configuration.html">Configuration</a></li><li class="is-active"><a class="tocitem" href="exceptions.html">Exceptions</a></li><li><a class="tocitem" href="filetemplates.html">FileTemplates</a></li><li><a class="tocitem" href="generator.html">Generator</a></li><li><a class="tocitem" href="migrations.html">Migrations</a></li><li><a class="tocitem" href="modeltypes.html">ModelTypes</a></li><li><a class="tocitem" href="querybuilder.html">QueryBuilder</a></li><li><a class="tocitem" href="relationships.html">Relationships</a></li><li><a class="tocitem" href="searchlight.html">SearchLight</a></li><li><a class="tocitem" href="serializer.html">Serializer</a></li><li><input class="collapse-toggle" id="menuitem-2-12" type="checkbox"/><label class="tocitem" for="menuitem-2-12"><span class="docs-label">Serializers</span><i class="docs-chevron"></i></label><ul class="collapsed"><li><a class="tocitem" href="serializers/json.html">JsonSerializer</a></li></ul></li><li><a class="tocitem" href="transactions.html">Transactions</a></li><li><a class="tocitem" href="validation.html">Validation</a></li></ul></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><a class="docs-sidebar-button docs-navbar-link fa-solid fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">SearchLight API</a></li><li class="is-active"><a href="exceptions.html">Exceptions</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href="exceptions.html">Exceptions</a></li></ul></nav><div class="docs-right"><a class="docs-navbar-link" href="https://github.com/GenieFramework/SearchLight.jl" title="View the repository on GitHub"><span class="docs-icon fa-brands"></span><span class="docs-label is-hidden-touch">GitHub</span></a><a class="docs-navbar-link" href="https://github.com/GenieFramework/SearchLight.jl/blob/master/docs/src/API/exceptions.md" title="Edit source on GitHub"><span class="docs-icon fa-solid"></span></a><a class="docs-settings-button docs-navbar-link fa-solid fa-gear" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-article-toggle-button fa-solid fa-chevron-up" id="documenter-article-toggle-button" href="javascript:;" title="Collapse all docstrings"></a></div></header><article class="content" id="documenter-page"><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>SearchLightException</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>NotPersistedException</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>MissingDatabaseConfigurationException</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>NotConnectedException</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>UnretrievedModelException</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>InvalidModelException</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>TypeConversionException</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>MissingConversionMethodException</code>. Check Documenter&#39;s build log for details.</p></div></div></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="configuration.html">« Configuration</a><a class="docs-footer-nextpage" href="filetemplates.html">FileTemplates »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.7.0 on <span class="colophon-date" title="Thursday 3 October 2024 08:14">Thursday 3 October 2024</span>. Using Julia version 1.7.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
+<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Exceptions · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</title><meta name="title" content="Exceptions · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta property="og:title" content="Exceptions · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta property="twitter:title" content="Exceptions · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta name="description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><meta property="og:description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><meta property="twitter:description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.050/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.8/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../search_index.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-mocha.css" data-theme-name="catppuccin-mocha"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-macchiato.css" data-theme-name="catppuccin-macchiato"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-frappe.css" data-theme-name="catppuccin-frappe"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-latte.css" data-theme-name="catppuccin-latte"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><div class="docs-package-name"><span class="docs-autofit"><a href="../index.html">SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</a></span></div><button class="docs-search-query input is-rounded is-small is-clickable my-2 mx-auto py-1 px-2" id="documenter-search-query">Search docs (Ctrl + /)</button><ul class="docs-menu"><li><a class="tocitem" href="../index.html">Home</a></li><li><span class="tocitem">SearchLight API</span><ul><li><a class="tocitem" href="callbacks.html">Callbacks</a></li><li><a class="tocitem" href="configuration.html">Configuration</a></li><li class="is-active"><a class="tocitem" href="exceptions.html">Exceptions</a></li><li><a class="tocitem" href="filetemplates.html">FileTemplates</a></li><li><a class="tocitem" href="generator.html">Generator</a></li><li><a class="tocitem" href="migrations.html">Migrations</a></li><li><a class="tocitem" href="modeltypes.html">ModelTypes</a></li><li><a class="tocitem" href="querybuilder.html">QueryBuilder</a></li><li><a class="tocitem" href="relationships.html">Relationships</a></li><li><a class="tocitem" href="searchlight.html">SearchLight</a></li><li><a class="tocitem" href="serializer.html">Serializer</a></li><li><input class="collapse-toggle" id="menuitem-2-12" type="checkbox"/><label class="tocitem" for="menuitem-2-12"><span class="docs-label">Serializers</span><i class="docs-chevron"></i></label><ul class="collapsed"><li><a class="tocitem" href="serializers/json.html">JsonSerializer</a></li></ul></li><li><a class="tocitem" href="transactions.html">Transactions</a></li><li><a class="tocitem" href="validation.html">Validation</a></li></ul></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><a class="docs-sidebar-button docs-navbar-link fa-solid fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">SearchLight API</a></li><li class="is-active"><a href="exceptions.html">Exceptions</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href="exceptions.html">Exceptions</a></li></ul></nav><div class="docs-right"><a class="docs-navbar-link" href="https://github.com/GenieFramework/SearchLight.jl" title="View the repository on GitHub"><span class="docs-icon fa-brands"></span><span class="docs-label is-hidden-touch">GitHub</span></a><a class="docs-navbar-link" href="https://github.com/GenieFramework/SearchLight.jl/blob/master/docs/src/API/exceptions.md" title="Edit source on GitHub"><span class="docs-icon fa-solid"></span></a><a class="docs-settings-button docs-navbar-link fa-solid fa-gear" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-article-toggle-button fa-solid fa-chevron-up" id="documenter-article-toggle-button" href="javascript:;" title="Collapse all docstrings"></a></div></header><article class="content" id="documenter-page"><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>SearchLightException</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>NotPersistedException</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>MissingDatabaseConfigurationException</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>NotConnectedException</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>UnretrievedModelException</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>InvalidModelException</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>TypeConversionException</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>MissingConversionMethodException</code>. Check Documenter&#39;s build log for details.</p></div></div></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="configuration.html">« Configuration</a><a class="docs-footer-nextpage" href="filetemplates.html">FileTemplates »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.7.0 on <span class="colophon-date" title="Thursday 3 October 2024 09:19">Thursday 3 October 2024</span>. Using Julia version 1.7.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/dev/API/filetemplates.html b/dev/API/filetemplates.html
index c404229..31b1a66 100644
--- a/dev/API/filetemplates.html
+++ b/dev/API/filetemplates.html
@@ -1,2 +1,2 @@
 <!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>FileTemplates · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</title><meta name="title" content="FileTemplates · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta property="og:title" content="FileTemplates · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta property="twitter:title" content="FileTemplates · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta name="description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><meta property="og:description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><meta property="twitter:description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.050/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.8/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../search_index.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-mocha.css" data-theme-name="catppuccin-mocha"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-macchiato.css" data-theme-name="catppuccin-macchiato"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-frappe.css" data-theme-name="catppuccin-frappe"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-latte.css" data-theme-name="catppuccin-latte"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><div class="docs-package-name"><span class="docs-autofit"><a href="../index.html">SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</a></span></div><button class="docs-search-query input is-rounded is-small is-clickable my-2 mx-auto py-1 px-2" id="documenter-search-query">Search docs (Ctrl + /)</button><ul class="docs-menu"><li><a class="tocitem" href="../index.html">Home</a></li><li><span class="tocitem">SearchLight API</span><ul><li><a class="tocitem" href="callbacks.html">Callbacks</a></li><li><a class="tocitem" href="configuration.html">Configuration</a></li><li><a class="tocitem" href="exceptions.html">Exceptions</a></li><li class="is-active"><a class="tocitem" href="filetemplates.html">FileTemplates</a></li><li><a class="tocitem" href="generator.html">Generator</a></li><li><a class="tocitem" href="migrations.html">Migrations</a></li><li><a class="tocitem" href="modeltypes.html">ModelTypes</a></li><li><a class="tocitem" href="querybuilder.html">QueryBuilder</a></li><li><a class="tocitem" href="relationships.html">Relationships</a></li><li><a class="tocitem" href="searchlight.html">SearchLight</a></li><li><a class="tocitem" href="serializer.html">Serializer</a></li><li><input class="collapse-toggle" id="menuitem-2-12" type="checkbox"/><label class="tocitem" for="menuitem-2-12"><span class="docs-label">Serializers</span><i class="docs-chevron"></i></label><ul class="collapsed"><li><a class="tocitem" href="serializers/json.html">JsonSerializer</a></li></ul></li><li><a class="tocitem" href="transactions.html">Transactions</a></li><li><a class="tocitem" href="validation.html">Validation</a></li></ul></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><a class="docs-sidebar-button docs-navbar-link fa-solid fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">SearchLight API</a></li><li class="is-active"><a href="filetemplates.html">FileTemplates</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href="filetemplates.html">FileTemplates</a></li></ul></nav><div class="docs-right"><a class="docs-navbar-link" href="https://github.com/GenieFramework/SearchLight.jl" title="View the repository on GitHub"><span class="docs-icon fa-brands"></span><span class="docs-label is-hidden-touch">GitHub</span></a><a class="docs-navbar-link" href="https://github.com/GenieFramework/SearchLight.jl/blob/master/docs/src/API/filetemplates.md" title="Edit source on GitHub"><span class="docs-icon fa-solid"></span></a><a class="docs-settings-button docs-navbar-link fa-solid fa-gear" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-article-toggle-button fa-solid fa-chevron-up" id="documenter-article-toggle-button" href="javascript:;" title="Collapse all docstrings"></a></div></header><article class="content" id="documenter-page"><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Generator.FileTemplates.new_table_migration" href="#SearchLight.Generator.FileTemplates.new_table_migration"><code>SearchLight.Generator.FileTemplates.new_table_migration</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">new_database_migration(module_name::String) :: String</code></pre><p>Default content for a new SearchLight migration.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/FileTemplates.jl#L10-L14">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Generator.FileTemplates.new_relationship_table_migration" href="#SearchLight.Generator.FileTemplates.new_relationship_table_migration"><code>SearchLight.Generator.FileTemplates.new_relationship_table_migration</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">new_relationship_table_migration(module_name::String) :: String</code></pre><p>Default content for a new SearchLight migration.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/FileTemplates.jl#L47-L51">source</a></section></article><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>newmigration</code>. Check Documenter&#39;s build log for details.</p></div></div><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Generator.FileTemplates.newmodel" href="#SearchLight.Generator.FileTemplates.newmodel"><code>SearchLight.Generator.FileTemplates.newmodel</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">newmodel(model_name::String, resource_name::String = model_name) :: String</code></pre><p>Default content for a new SearchLight model.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/FileTemplates.jl#L97-L101">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Generator.FileTemplates.newvalidator" href="#SearchLight.Generator.FileTemplates.newvalidator"><code>SearchLight.Generator.FileTemplates.newvalidator</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">newvalidator(validator_name::String) :: String</code></pre><p>Default content for a new SearchLight validator.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/FileTemplates.jl#L120-L124">source</a></section></article><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>adapter_default_config</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>newconfig</code>. Check Documenter&#39;s build log for details.</p></div></div><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Generator.FileTemplates.newtest" href="#SearchLight.Generator.FileTemplates.newtest"><code>SearchLight.Generator.FileTemplates.newtest</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">newtest(resource_name::String) :: String</code></pre><p>Default content for a new test file.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/FileTemplates.jl#L172-L176">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="exceptions.html">« Exceptions</a><a class="docs-footer-nextpage" href="generator.html">Generator »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.7.0 on <span class="colophon-date" title="Thursday 3 October 2024 08:14">Thursday 3 October 2024</span>. Using Julia version 1.7.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
+<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>FileTemplates · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</title><meta name="title" content="FileTemplates · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta property="og:title" content="FileTemplates · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta property="twitter:title" content="FileTemplates · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta name="description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><meta property="og:description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><meta property="twitter:description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.050/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.8/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../search_index.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-mocha.css" data-theme-name="catppuccin-mocha"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-macchiato.css" data-theme-name="catppuccin-macchiato"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-frappe.css" data-theme-name="catppuccin-frappe"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-latte.css" data-theme-name="catppuccin-latte"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><div class="docs-package-name"><span class="docs-autofit"><a href="../index.html">SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</a></span></div><button class="docs-search-query input is-rounded is-small is-clickable my-2 mx-auto py-1 px-2" id="documenter-search-query">Search docs (Ctrl + /)</button><ul class="docs-menu"><li><a class="tocitem" href="../index.html">Home</a></li><li><span class="tocitem">SearchLight API</span><ul><li><a class="tocitem" href="callbacks.html">Callbacks</a></li><li><a class="tocitem" href="configuration.html">Configuration</a></li><li><a class="tocitem" href="exceptions.html">Exceptions</a></li><li class="is-active"><a class="tocitem" href="filetemplates.html">FileTemplates</a></li><li><a class="tocitem" href="generator.html">Generator</a></li><li><a class="tocitem" href="migrations.html">Migrations</a></li><li><a class="tocitem" href="modeltypes.html">ModelTypes</a></li><li><a class="tocitem" href="querybuilder.html">QueryBuilder</a></li><li><a class="tocitem" href="relationships.html">Relationships</a></li><li><a class="tocitem" href="searchlight.html">SearchLight</a></li><li><a class="tocitem" href="serializer.html">Serializer</a></li><li><input class="collapse-toggle" id="menuitem-2-12" type="checkbox"/><label class="tocitem" for="menuitem-2-12"><span class="docs-label">Serializers</span><i class="docs-chevron"></i></label><ul class="collapsed"><li><a class="tocitem" href="serializers/json.html">JsonSerializer</a></li></ul></li><li><a class="tocitem" href="transactions.html">Transactions</a></li><li><a class="tocitem" href="validation.html">Validation</a></li></ul></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><a class="docs-sidebar-button docs-navbar-link fa-solid fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">SearchLight API</a></li><li class="is-active"><a href="filetemplates.html">FileTemplates</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href="filetemplates.html">FileTemplates</a></li></ul></nav><div class="docs-right"><a class="docs-navbar-link" href="https://github.com/GenieFramework/SearchLight.jl" title="View the repository on GitHub"><span class="docs-icon fa-brands"></span><span class="docs-label is-hidden-touch">GitHub</span></a><a class="docs-navbar-link" href="https://github.com/GenieFramework/SearchLight.jl/blob/master/docs/src/API/filetemplates.md" title="Edit source on GitHub"><span class="docs-icon fa-solid"></span></a><a class="docs-settings-button docs-navbar-link fa-solid fa-gear" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-article-toggle-button fa-solid fa-chevron-up" id="documenter-article-toggle-button" href="javascript:;" title="Collapse all docstrings"></a></div></header><article class="content" id="documenter-page"><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Generator.FileTemplates.new_table_migration" href="#SearchLight.Generator.FileTemplates.new_table_migration"><code>SearchLight.Generator.FileTemplates.new_table_migration</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">new_database_migration(module_name::String) :: String</code></pre><p>Default content for a new SearchLight migration.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/FileTemplates.jl#L10-L14">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Generator.FileTemplates.new_relationship_table_migration" href="#SearchLight.Generator.FileTemplates.new_relationship_table_migration"><code>SearchLight.Generator.FileTemplates.new_relationship_table_migration</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">new_relationship_table_migration(module_name::String) :: String</code></pre><p>Default content for a new SearchLight migration.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/FileTemplates.jl#L47-L51">source</a></section></article><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>newmigration</code>. Check Documenter&#39;s build log for details.</p></div></div><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Generator.FileTemplates.newmodel" href="#SearchLight.Generator.FileTemplates.newmodel"><code>SearchLight.Generator.FileTemplates.newmodel</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">newmodel(model_name::String, resource_name::String = model_name) :: String</code></pre><p>Default content for a new SearchLight model.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/FileTemplates.jl#L97-L101">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Generator.FileTemplates.newvalidator" href="#SearchLight.Generator.FileTemplates.newvalidator"><code>SearchLight.Generator.FileTemplates.newvalidator</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">newvalidator(validator_name::String) :: String</code></pre><p>Default content for a new SearchLight validator.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/FileTemplates.jl#L120-L124">source</a></section></article><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>adapter_default_config</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>newconfig</code>. Check Documenter&#39;s build log for details.</p></div></div><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Generator.FileTemplates.newtest" href="#SearchLight.Generator.FileTemplates.newtest"><code>SearchLight.Generator.FileTemplates.newtest</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">newtest(resource_name::String) :: String</code></pre><p>Default content for a new test file.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/FileTemplates.jl#L172-L176">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="exceptions.html">« Exceptions</a><a class="docs-footer-nextpage" href="generator.html">Generator »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.7.0 on <span class="colophon-date" title="Thursday 3 October 2024 09:19">Thursday 3 October 2024</span>. Using Julia version 1.7.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/dev/API/generator.html b/dev/API/generator.html
index f646216..d2d5e94 100644
--- a/dev/API/generator.html
+++ b/dev/API/generator.html
@@ -1,2 +1,2 @@
 <!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Generator · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</title><meta name="title" content="Generator · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta property="og:title" content="Generator · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta property="twitter:title" content="Generator · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta name="description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><meta property="og:description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><meta property="twitter:description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.050/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.8/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../search_index.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-mocha.css" data-theme-name="catppuccin-mocha"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-macchiato.css" data-theme-name="catppuccin-macchiato"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-frappe.css" data-theme-name="catppuccin-frappe"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-latte.css" data-theme-name="catppuccin-latte"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><div class="docs-package-name"><span class="docs-autofit"><a href="../index.html">SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</a></span></div><button class="docs-search-query input is-rounded is-small is-clickable my-2 mx-auto py-1 px-2" id="documenter-search-query">Search docs (Ctrl + /)</button><ul class="docs-menu"><li><a class="tocitem" href="../index.html">Home</a></li><li><span class="tocitem">SearchLight API</span><ul><li><a class="tocitem" href="callbacks.html">Callbacks</a></li><li><a class="tocitem" href="configuration.html">Configuration</a></li><li><a class="tocitem" href="exceptions.html">Exceptions</a></li><li><a class="tocitem" href="filetemplates.html">FileTemplates</a></li><li class="is-active"><a class="tocitem" href="generator.html">Generator</a></li><li><a class="tocitem" href="migrations.html">Migrations</a></li><li><a class="tocitem" href="modeltypes.html">ModelTypes</a></li><li><a class="tocitem" href="querybuilder.html">QueryBuilder</a></li><li><a class="tocitem" href="relationships.html">Relationships</a></li><li><a class="tocitem" href="searchlight.html">SearchLight</a></li><li><a class="tocitem" href="serializer.html">Serializer</a></li><li><input class="collapse-toggle" id="menuitem-2-12" type="checkbox"/><label class="tocitem" for="menuitem-2-12"><span class="docs-label">Serializers</span><i class="docs-chevron"></i></label><ul class="collapsed"><li><a class="tocitem" href="serializers/json.html">JsonSerializer</a></li></ul></li><li><a class="tocitem" href="transactions.html">Transactions</a></li><li><a class="tocitem" href="validation.html">Validation</a></li></ul></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><a class="docs-sidebar-button docs-navbar-link fa-solid fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">SearchLight API</a></li><li class="is-active"><a href="generator.html">Generator</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href="generator.html">Generator</a></li></ul></nav><div class="docs-right"><a class="docs-navbar-link" href="https://github.com/GenieFramework/SearchLight.jl" title="View the repository on GitHub"><span class="docs-icon fa-brands"></span><span class="docs-label is-hidden-touch">GitHub</span></a><a class="docs-navbar-link" href="https://github.com/GenieFramework/SearchLight.jl/blob/master/docs/src/API/generator.md" title="Edit source on GitHub"><span class="docs-icon fa-solid"></span></a><a class="docs-settings-button docs-navbar-link fa-solid fa-gear" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-article-toggle-button fa-solid fa-chevron-up" id="documenter-article-toggle-button" href="javascript:;" title="Collapse all docstrings"></a></div></header><article class="content" id="documenter-page"><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Generator.newmodel" href="#SearchLight.Generator.newmodel"><code>SearchLight.Generator.newmodel</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">newmodel(name::Union{String,Symbol}; path::Union{String,Nothing} = nothing, pluralize::Bool = true) :: Nothing</code></pre><p>Generates a new SearchLight model file and persists it to the resources folder.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Generator.jl#L13-L17">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Generator.newresource" href="#SearchLight.Generator.newresource"><code>SearchLight.Generator.newresource</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">newresource(resource_name::Union{String,Symbol}) :: Nothing</code></pre><p>Generates all the files associated with a new resource and persists them to the resources folder.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Generator.jl#L31-L35">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Generator.new_table_migration" href="#SearchLight.Generator.new_table_migration"><code>SearchLight.Generator.new_table_migration</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">new_table_migration(migration_name::Union{String,Symbol}; pluralize::Bool = true) :: Nothing</code></pre><p>Cretes the migration script for a new table.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Generator.jl#L65-L69">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Generator.newmigration" href="#SearchLight.Generator.newmigration"><code>SearchLight.Generator.newmigration</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">newmigration(migration_name::Union{String,Symbol}) :: Nothing</code></pre><p>Creates a new migration script.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Generator.jl#L83-L87">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Generator.setup_resource_path" href="#SearchLight.Generator.setup_resource_path"><code>SearchLight.Generator.setup_resource_path</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">setup_resource_path(resource_name::String) :: String</code></pre><p>Computes and creates the directories structure needed to persist a new resource.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Generator.jl#L97-L101">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Generator.write_resource_file" href="#SearchLight.Generator.write_resource_file"><code>SearchLight.Generator.write_resource_file</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">write_resource_file(resource_path::String, file_name::String, resource_name::String) :: Bool</code></pre><p>Generates all resouce files and persists them to disk.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Generator.jl#L116-L120">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Generator.newconfig" href="#SearchLight.Generator.newconfig"><code>SearchLight.Generator.newconfig</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">newconfig(path::String = SearchLight.DB_PATH; filename = SearchLight.SEARCHLIGHT_DB_CONFIG_FILE_NAME) :: Nothing</code></pre><p>Creates a new configuration file.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Generator.jl#L164-L168">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Generator.resource_does_not_exist" href="#SearchLight.Generator.resource_does_not_exist"><code>SearchLight.Generator.resource_does_not_exist</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">resource_does_not_exist(resource_path::String, file_name::String) :: Bool</code></pre><p>Checks if a given resource <strong>does not exist</strong> at <code>resource_path</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Generator.jl#L182-L186">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Generator.model_file_name" href="#SearchLight.Generator.model_file_name"><code>SearchLight.Generator.model_file_name</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">model_file_name(resource_name::Union{String,Symbol}) :: String</code></pre><p>Generates the file name for the model corresponding to <code>resource_name</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Generator.jl#L198-L202">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Generator.validator_file_name" href="#SearchLight.Generator.validator_file_name"><code>SearchLight.Generator.validator_file_name</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">validator_file_name(resource_name::Union{String,Symbol}) :: String</code></pre><p>Generates the file name for the validator corresponding to <code>resource_name</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Generator.jl#L208-L212">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="filetemplates.html">« FileTemplates</a><a class="docs-footer-nextpage" href="migrations.html">Migrations »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.7.0 on <span class="colophon-date" title="Thursday 3 October 2024 08:14">Thursday 3 October 2024</span>. Using Julia version 1.7.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
+<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Generator · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</title><meta name="title" content="Generator · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta property="og:title" content="Generator · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta property="twitter:title" content="Generator · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta name="description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><meta property="og:description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><meta property="twitter:description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.050/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.8/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../search_index.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-mocha.css" data-theme-name="catppuccin-mocha"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-macchiato.css" data-theme-name="catppuccin-macchiato"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-frappe.css" data-theme-name="catppuccin-frappe"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-latte.css" data-theme-name="catppuccin-latte"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><div class="docs-package-name"><span class="docs-autofit"><a href="../index.html">SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</a></span></div><button class="docs-search-query input is-rounded is-small is-clickable my-2 mx-auto py-1 px-2" id="documenter-search-query">Search docs (Ctrl + /)</button><ul class="docs-menu"><li><a class="tocitem" href="../index.html">Home</a></li><li><span class="tocitem">SearchLight API</span><ul><li><a class="tocitem" href="callbacks.html">Callbacks</a></li><li><a class="tocitem" href="configuration.html">Configuration</a></li><li><a class="tocitem" href="exceptions.html">Exceptions</a></li><li><a class="tocitem" href="filetemplates.html">FileTemplates</a></li><li class="is-active"><a class="tocitem" href="generator.html">Generator</a></li><li><a class="tocitem" href="migrations.html">Migrations</a></li><li><a class="tocitem" href="modeltypes.html">ModelTypes</a></li><li><a class="tocitem" href="querybuilder.html">QueryBuilder</a></li><li><a class="tocitem" href="relationships.html">Relationships</a></li><li><a class="tocitem" href="searchlight.html">SearchLight</a></li><li><a class="tocitem" href="serializer.html">Serializer</a></li><li><input class="collapse-toggle" id="menuitem-2-12" type="checkbox"/><label class="tocitem" for="menuitem-2-12"><span class="docs-label">Serializers</span><i class="docs-chevron"></i></label><ul class="collapsed"><li><a class="tocitem" href="serializers/json.html">JsonSerializer</a></li></ul></li><li><a class="tocitem" href="transactions.html">Transactions</a></li><li><a class="tocitem" href="validation.html">Validation</a></li></ul></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><a class="docs-sidebar-button docs-navbar-link fa-solid fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">SearchLight API</a></li><li class="is-active"><a href="generator.html">Generator</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href="generator.html">Generator</a></li></ul></nav><div class="docs-right"><a class="docs-navbar-link" href="https://github.com/GenieFramework/SearchLight.jl" title="View the repository on GitHub"><span class="docs-icon fa-brands"></span><span class="docs-label is-hidden-touch">GitHub</span></a><a class="docs-navbar-link" href="https://github.com/GenieFramework/SearchLight.jl/blob/master/docs/src/API/generator.md" title="Edit source on GitHub"><span class="docs-icon fa-solid"></span></a><a class="docs-settings-button docs-navbar-link fa-solid fa-gear" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-article-toggle-button fa-solid fa-chevron-up" id="documenter-article-toggle-button" href="javascript:;" title="Collapse all docstrings"></a></div></header><article class="content" id="documenter-page"><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Generator.newmodel" href="#SearchLight.Generator.newmodel"><code>SearchLight.Generator.newmodel</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">newmodel(name::Union{String,Symbol}; path::Union{String,Nothing} = nothing, pluralize::Bool = true) :: Nothing</code></pre><p>Generates a new SearchLight model file and persists it to the resources folder.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Generator.jl#L13-L17">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Generator.newresource" href="#SearchLight.Generator.newresource"><code>SearchLight.Generator.newresource</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">newresource(resource_name::Union{String,Symbol}) :: Nothing</code></pre><p>Generates all the files associated with a new resource and persists them to the resources folder.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Generator.jl#L31-L35">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Generator.new_table_migration" href="#SearchLight.Generator.new_table_migration"><code>SearchLight.Generator.new_table_migration</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">new_table_migration(migration_name::Union{String,Symbol}; pluralize::Bool = true) :: Nothing</code></pre><p>Cretes the migration script for a new table.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Generator.jl#L65-L69">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Generator.newmigration" href="#SearchLight.Generator.newmigration"><code>SearchLight.Generator.newmigration</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">newmigration(migration_name::Union{String,Symbol}) :: Nothing</code></pre><p>Creates a new migration script.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Generator.jl#L83-L87">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Generator.setup_resource_path" href="#SearchLight.Generator.setup_resource_path"><code>SearchLight.Generator.setup_resource_path</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">setup_resource_path(resource_name::String) :: String</code></pre><p>Computes and creates the directories structure needed to persist a new resource.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Generator.jl#L97-L101">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Generator.write_resource_file" href="#SearchLight.Generator.write_resource_file"><code>SearchLight.Generator.write_resource_file</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">write_resource_file(resource_path::String, file_name::String, resource_name::String) :: Bool</code></pre><p>Generates all resouce files and persists them to disk.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Generator.jl#L116-L120">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Generator.newconfig" href="#SearchLight.Generator.newconfig"><code>SearchLight.Generator.newconfig</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">newconfig(path::String = SearchLight.DB_PATH; filename = SearchLight.SEARCHLIGHT_DB_CONFIG_FILE_NAME) :: Nothing</code></pre><p>Creates a new configuration file.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Generator.jl#L164-L168">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Generator.resource_does_not_exist" href="#SearchLight.Generator.resource_does_not_exist"><code>SearchLight.Generator.resource_does_not_exist</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">resource_does_not_exist(resource_path::String, file_name::String) :: Bool</code></pre><p>Checks if a given resource <strong>does not exist</strong> at <code>resource_path</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Generator.jl#L182-L186">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Generator.model_file_name" href="#SearchLight.Generator.model_file_name"><code>SearchLight.Generator.model_file_name</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">model_file_name(resource_name::Union{String,Symbol}) :: String</code></pre><p>Generates the file name for the model corresponding to <code>resource_name</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Generator.jl#L198-L202">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Generator.validator_file_name" href="#SearchLight.Generator.validator_file_name"><code>SearchLight.Generator.validator_file_name</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">validator_file_name(resource_name::Union{String,Symbol}) :: String</code></pre><p>Generates the file name for the validator corresponding to <code>resource_name</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Generator.jl#L208-L212">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="filetemplates.html">« FileTemplates</a><a class="docs-footer-nextpage" href="migrations.html">Migrations »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.7.0 on <span class="colophon-date" title="Thursday 3 October 2024 09:19">Thursday 3 October 2024</span>. Using Julia version 1.7.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/dev/API/migrations.html b/dev/API/migrations.html
index 3f21c3b..a6de6bc 100644
--- a/dev/API/migrations.html
+++ b/dev/API/migrations.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Migrations · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</title><meta name="title" content="Migrations · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta property="og:title" content="Migrations · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta property="twitter:title" content="Migrations · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta name="description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><meta property="og:description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><meta property="twitter:description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.050/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.8/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../search_index.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-mocha.css" data-theme-name="catppuccin-mocha"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-macchiato.css" data-theme-name="catppuccin-macchiato"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-frappe.css" data-theme-name="catppuccin-frappe"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-latte.css" data-theme-name="catppuccin-latte"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><div class="docs-package-name"><span class="docs-autofit"><a href="../index.html">SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</a></span></div><button class="docs-search-query input is-rounded is-small is-clickable my-2 mx-auto py-1 px-2" id="documenter-search-query">Search docs (Ctrl + /)</button><ul class="docs-menu"><li><a class="tocitem" href="../index.html">Home</a></li><li><span class="tocitem">SearchLight API</span><ul><li><a class="tocitem" href="callbacks.html">Callbacks</a></li><li><a class="tocitem" href="configuration.html">Configuration</a></li><li><a class="tocitem" href="exceptions.html">Exceptions</a></li><li><a class="tocitem" href="filetemplates.html">FileTemplates</a></li><li><a class="tocitem" href="generator.html">Generator</a></li><li class="is-active"><a class="tocitem" href="migrations.html">Migrations</a></li><li><a class="tocitem" href="modeltypes.html">ModelTypes</a></li><li><a class="tocitem" href="querybuilder.html">QueryBuilder</a></li><li><a class="tocitem" href="relationships.html">Relationships</a></li><li><a class="tocitem" href="searchlight.html">SearchLight</a></li><li><a class="tocitem" href="serializer.html">Serializer</a></li><li><input class="collapse-toggle" id="menuitem-2-12" type="checkbox"/><label class="tocitem" for="menuitem-2-12"><span class="docs-label">Serializers</span><i class="docs-chevron"></i></label><ul class="collapsed"><li><a class="tocitem" href="serializers/json.html">JsonSerializer</a></li></ul></li><li><a class="tocitem" href="transactions.html">Transactions</a></li><li><a class="tocitem" href="validation.html">Validation</a></li></ul></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><a class="docs-sidebar-button docs-navbar-link fa-solid fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">SearchLight API</a></li><li class="is-active"><a href="migrations.html">Migrations</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href="migrations.html">Migrations</a></li></ul></nav><div class="docs-right"><a class="docs-navbar-link" href="https://github.com/GenieFramework/SearchLight.jl" title="View the repository on GitHub"><span class="docs-icon fa-brands"></span><span class="docs-label is-hidden-touch">GitHub</span></a><a class="docs-navbar-link" href="https://github.com/GenieFramework/SearchLight.jl/blob/master/docs/src/API/migrations.md" title="Edit source on GitHub"><span class="docs-icon fa-solid"></span></a><a class="docs-settings-button docs-navbar-link fa-solid fa-gear" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-article-toggle-button fa-solid fa-chevron-up" id="documenter-article-toggle-button" href="javascript:;" title="Collapse all docstrings"></a></div></header><article class="content" id="documenter-page"><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>DatabaseMigration</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>IrreversibleMigrationException</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>ExistingMigrationException</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>MigrationNotFoundException</code>. Check Documenter&#39;s build log for details.</p></div></div><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.new_table" href="#SearchLight.Migration.new_table"><code>SearchLight.Migration.new_table</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">newtable(migration_name::String, resource::String) :: String</code></pre><p>Creates a new default migration file and persists it to disk in the configured migrations folder.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Migration.jl#L38-L42">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.newtable" href="#SearchLight.Migration.newtable"><code>SearchLight.Migration.newtable</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">newtable(migration_name::String, resource::String) :: String</code></pre><p>Creates a new default migration file and persists it to disk in the configured migrations folder.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Migration.jl#L38-L42">source</a></section></article><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>relationship_table_name</code>. Check Documenter&#39;s build log for details.</p></div></div><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="new" href="#new"><code>new</code></a> — <span class="docstring-category">Keyword</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">new</code></pre><p>Special function available to inner constructors which created a new object of the type. See the manual section on <a href="@ref man-inner-constructor-methods">Inner Constructor Methods</a> for more information.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaLang/julia/blob/742b9abb4dd4621b667ec5bb3434b8b3602f96fd/base/docs/basedocs.jl#L1164-L1171">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.migration_hash" href="#SearchLight.Migration.migration_hash"><code>SearchLight.Migration.migration_hash</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">migration_hash() :: String</code></pre><p>Computes a unique hash for a migration identifier.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Migration.jl#L119-L123">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.migration_file_name" href="#SearchLight.Migration.migration_file_name"><code>SearchLight.Migration.migration_file_name</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">migration_file_name(migration_name::String) :: String
-migration_file_name(cmd_args::Dict{String,Any}, config::Configuration.Settings) :: String</code></pre><p>Computes the name of a new migration file.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Migration.jl#L131-L136">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.migration_module_name" href="#SearchLight.Migration.migration_module_name"><code>SearchLight.Migration.migration_module_name</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">migration_module_name(underscored_migration_name::String) :: String</code></pre><p>Computes the name of the module of the migration based on the input from the user (migration name).</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Migration.jl#L145-L149">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.last_up" href="#SearchLight.Migration.last_up"><code>SearchLight.Migration.last_up</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">last_up(; force = false) :: Nothing</code></pre><p>Migrates up the last migration. If <code>force</code> is <code>true</code>, the migration will be executed even if it&#39;s already up.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Migration.jl#L155-L159">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.lastup" href="#SearchLight.Migration.lastup"><code>SearchLight.Migration.lastup</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">last_up(; force = false) :: Nothing</code></pre><p>Migrates up the last migration. If <code>force</code> is <code>true</code>, the migration will be executed even if it&#39;s already up.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Migration.jl#L155-L159">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.last_down" href="#SearchLight.Migration.last_down"><code>SearchLight.Migration.last_down</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">last_down() :: Nothing</code></pre><p>Migrates down the last migration. If <code>force</code> is <code>true</code>, the migration will be executed even if it&#39;s already down.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Migration.jl#L167-L171">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.lastdown" href="#SearchLight.Migration.lastdown"><code>SearchLight.Migration.lastdown</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">last_down() :: Nothing</code></pre><p>Migrates down the last migration. If <code>force</code> is <code>true</code>, the migration will be executed even if it&#39;s already down.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Migration.jl#L167-L171">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.up" href="#SearchLight.Migration.up"><code>SearchLight.Migration.up</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">up(migration_module_name::String; force::Bool = false) :: Nothing
-up_by_module_name(migration_module_name::String; force::Bool = false) :: Nothing</code></pre><p>Runs up the migration corresponding to <code>migration_module_name</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Migration.jl#L179-L184">source</a></section></article><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>up_by_module_name</code>. Check Documenter&#39;s build log for details.</p></div></div><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.down" href="#SearchLight.Migration.down"><code>SearchLight.Migration.down</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">down(migration_module_name::String; force::Bool = false) :: Nothing
-down_by_module_name(migration_module_name::String; force::Bool = false) :: Nothing</code></pre><p>Runs down the migration corresponding to <code>migration_module_name</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Migration.jl#L196-L201">source</a></section></article><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>down_by_module_name</code>. Check Documenter&#39;s build log for details.</p></div></div><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.migration_by_module_name" href="#SearchLight.Migration.migration_by_module_name"><code>SearchLight.Migration.migration_by_module_name</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">migration_by_module_name(migration_module_name::String) :: Union{Nothing,DatabaseMigration}</code></pre><p>Computes the migration that corresponds to <code>migration_module_name</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Migration.jl#L213-L217">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.all_migrations" href="#SearchLight.Migration.all_migrations"><code>SearchLight.Migration.all_migrations</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">all_migrations() :: Tuple{Vector{String},Dict{String,DatabaseMigration}}</code></pre><p>Returns the list of all the migrations.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Migration.jl#L232-L236">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.all" href="#SearchLight.Migration.all"><code>SearchLight.Migration.all</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">all_migrations() :: Tuple{Vector{String},Dict{String,DatabaseMigration}}</code></pre><p>Returns the list of all the migrations.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Migration.jl#L232-L236">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.last_migration" href="#SearchLight.Migration.last_migration"><code>SearchLight.Migration.last_migration</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">last_migration() :: DatabaseMigration</code></pre><p>Returns the last created migration.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Migration.jl#L260-L264">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.last" href="#SearchLight.Migration.last"><code>SearchLight.Migration.last</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">last_migration() :: DatabaseMigration</code></pre><p>Returns the last created migration.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Migration.jl#L260-L264">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.run_migration" href="#SearchLight.Migration.run_migration"><code>SearchLight.Migration.run_migration</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">run_migration(migration::DatabaseMigration, direction::Symbol; force = false) :: Nothing</code></pre><p>Runs <code>migration</code> in up or down, per <code>directon</code>. If <code>force</code> is true, the migration is run regardless of its current status (already <code>up</code> or <code>down</code>).</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Migration.jl#L273-L277">source</a></section><section><div><pre><code class="language-julia hljs">run_migration(migration_name::AbstractString, direction::Symbol; force = false) :: Nothing</code></pre><p>Runs the migration corresponding to <code>migration_name</code> in <code>direction</code>. If <code>force</code> is true, the migration is run regardless of its current status (already <code>up</code> or <code>down</code>).</p><p>##Arguments</p><ul><li><code>migration_name::AbstractString</code>: The migration module name.</li><li><code>direction::Symbol</code>: The direction of the migration. Must be <code>:up</code> or <code>:down</code>.</li><li><code>force::Bool</code>: If <code>true</code>, the migration is run regardless of its current status (already <code>up</code> or `down).</li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Migration.jl#L317-L327">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.store_migration_status" href="#SearchLight.Migration.store_migration_status"><code>SearchLight.Migration.store_migration_status</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">store_migration_status(migration::DatabaseMigration, direction::Symbol) :: Nothing</code></pre><p>Persists the <code>direction</code> of the <code>migration</code> into the database.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Migration.jl#L336-L340">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.upped_migrations" href="#SearchLight.Migration.upped_migrations"><code>SearchLight.Migration.upped_migrations</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">upped_migrations() :: Vector{String}</code></pre><p>List of all migrations that are <code>up</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Migration.jl#L358-L362">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.downed_migrations" href="#SearchLight.Migration.downed_migrations"><code>SearchLight.Migration.downed_migrations</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">downed_migrations() :: Vector{String}</code></pre><p>List of all migrations that are <code>down</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Migration.jl#L374-L378">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.status" href="#SearchLight.Migration.status"><code>SearchLight.Migration.status</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">status() :: Nothing</code></pre><p>Prints a table that displays the <code>direction</code> of each migration.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Migration.jl#L385-L389">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.all_with_status" href="#SearchLight.Migration.all_with_status"><code>SearchLight.Migration.all_with_status</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">all_with_status() :: Tuple{Vector{String},Dict{String,Dict{Symbol,Any}}}</code></pre><p>Returns a list of all the migrations and their status.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Migration.jl#L406-L410">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.all_down!!" href="#SearchLight.Migration.all_down!!"><code>SearchLight.Migration.all_down!!</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">all_down!!() :: Nothing</code></pre><p>Runs all migrations <code>down</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Migration.jl#L430-L434">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.all_up!!" href="#SearchLight.Migration.all_up!!"><code>SearchLight.Migration.all_up!!</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">all_up!!() :: Nothing</code></pre><p>Runs all migrations <code>up</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Migration.jl#L458-L462">source</a></section></article><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>create_table</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>column</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>columns</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>column_id</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>add_index</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>add_indexes</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>add_column</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>add_columns</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>drop_table</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>remove_column</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>remove_columns</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>remove_index</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>remove_indexes</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>remove_indices</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>create_sequence</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>constraint</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>nextval</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>column_id_sequence</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>remove_sequence</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>drop_sequence</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>create_migrations_table</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>init</code>. Check Documenter&#39;s build log for details.</p></div></div></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="generator.html">« Generator</a><a class="docs-footer-nextpage" href="modeltypes.html">ModelTypes »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.7.0 on <span class="colophon-date" title="Thursday 3 October 2024 08:14">Thursday 3 October 2024</span>. Using Julia version 1.7.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
+<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Migrations · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</title><meta name="title" content="Migrations · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta property="og:title" content="Migrations · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta property="twitter:title" content="Migrations · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta name="description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><meta property="og:description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><meta property="twitter:description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.050/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.8/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../search_index.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-mocha.css" data-theme-name="catppuccin-mocha"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-macchiato.css" data-theme-name="catppuccin-macchiato"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-frappe.css" data-theme-name="catppuccin-frappe"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-latte.css" data-theme-name="catppuccin-latte"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><div class="docs-package-name"><span class="docs-autofit"><a href="../index.html">SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</a></span></div><button class="docs-search-query input is-rounded is-small is-clickable my-2 mx-auto py-1 px-2" id="documenter-search-query">Search docs (Ctrl + /)</button><ul class="docs-menu"><li><a class="tocitem" href="../index.html">Home</a></li><li><span class="tocitem">SearchLight API</span><ul><li><a class="tocitem" href="callbacks.html">Callbacks</a></li><li><a class="tocitem" href="configuration.html">Configuration</a></li><li><a class="tocitem" href="exceptions.html">Exceptions</a></li><li><a class="tocitem" href="filetemplates.html">FileTemplates</a></li><li><a class="tocitem" href="generator.html">Generator</a></li><li class="is-active"><a class="tocitem" href="migrations.html">Migrations</a></li><li><a class="tocitem" href="modeltypes.html">ModelTypes</a></li><li><a class="tocitem" href="querybuilder.html">QueryBuilder</a></li><li><a class="tocitem" href="relationships.html">Relationships</a></li><li><a class="tocitem" href="searchlight.html">SearchLight</a></li><li><a class="tocitem" href="serializer.html">Serializer</a></li><li><input class="collapse-toggle" id="menuitem-2-12" type="checkbox"/><label class="tocitem" for="menuitem-2-12"><span class="docs-label">Serializers</span><i class="docs-chevron"></i></label><ul class="collapsed"><li><a class="tocitem" href="serializers/json.html">JsonSerializer</a></li></ul></li><li><a class="tocitem" href="transactions.html">Transactions</a></li><li><a class="tocitem" href="validation.html">Validation</a></li></ul></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><a class="docs-sidebar-button docs-navbar-link fa-solid fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">SearchLight API</a></li><li class="is-active"><a href="migrations.html">Migrations</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href="migrations.html">Migrations</a></li></ul></nav><div class="docs-right"><a class="docs-navbar-link" href="https://github.com/GenieFramework/SearchLight.jl" title="View the repository on GitHub"><span class="docs-icon fa-brands"></span><span class="docs-label is-hidden-touch">GitHub</span></a><a class="docs-navbar-link" href="https://github.com/GenieFramework/SearchLight.jl/blob/master/docs/src/API/migrations.md" title="Edit source on GitHub"><span class="docs-icon fa-solid"></span></a><a class="docs-settings-button docs-navbar-link fa-solid fa-gear" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-article-toggle-button fa-solid fa-chevron-up" id="documenter-article-toggle-button" href="javascript:;" title="Collapse all docstrings"></a></div></header><article class="content" id="documenter-page"><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>DatabaseMigration</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>IrreversibleMigrationException</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>ExistingMigrationException</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>MigrationNotFoundException</code>. Check Documenter&#39;s build log for details.</p></div></div><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.new_table" href="#SearchLight.Migration.new_table"><code>SearchLight.Migration.new_table</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">newtable(migration_name::String, resource::String) :: String</code></pre><p>Creates a new default migration file and persists it to disk in the configured migrations folder.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Migration.jl#L38-L42">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.newtable" href="#SearchLight.Migration.newtable"><code>SearchLight.Migration.newtable</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">newtable(migration_name::String, resource::String) :: String</code></pre><p>Creates a new default migration file and persists it to disk in the configured migrations folder.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Migration.jl#L38-L42">source</a></section></article><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>relationship_table_name</code>. Check Documenter&#39;s build log for details.</p></div></div><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="new" href="#new"><code>new</code></a> — <span class="docstring-category">Keyword</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">new</code></pre><p>Special function available to inner constructors which created a new object of the type. See the manual section on <a href="@ref man-inner-constructor-methods">Inner Constructor Methods</a> for more information.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaLang/julia/blob/742b9abb4dd4621b667ec5bb3434b8b3602f96fd/base/docs/basedocs.jl#L1164-L1171">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.migration_hash" href="#SearchLight.Migration.migration_hash"><code>SearchLight.Migration.migration_hash</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">migration_hash() :: String</code></pre><p>Computes a unique hash for a migration identifier.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Migration.jl#L119-L123">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.migration_file_name" href="#SearchLight.Migration.migration_file_name"><code>SearchLight.Migration.migration_file_name</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">migration_file_name(migration_name::String) :: String
+migration_file_name(cmd_args::Dict{String,Any}, config::Configuration.Settings) :: String</code></pre><p>Computes the name of a new migration file.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Migration.jl#L131-L136">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.migration_module_name" href="#SearchLight.Migration.migration_module_name"><code>SearchLight.Migration.migration_module_name</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">migration_module_name(underscored_migration_name::String) :: String</code></pre><p>Computes the name of the module of the migration based on the input from the user (migration name).</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Migration.jl#L145-L149">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.last_up" href="#SearchLight.Migration.last_up"><code>SearchLight.Migration.last_up</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">last_up(; force = false) :: Nothing</code></pre><p>Migrates up the last migration. If <code>force</code> is <code>true</code>, the migration will be executed even if it&#39;s already up.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Migration.jl#L155-L159">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.lastup" href="#SearchLight.Migration.lastup"><code>SearchLight.Migration.lastup</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">last_up(; force = false) :: Nothing</code></pre><p>Migrates up the last migration. If <code>force</code> is <code>true</code>, the migration will be executed even if it&#39;s already up.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Migration.jl#L155-L159">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.last_down" href="#SearchLight.Migration.last_down"><code>SearchLight.Migration.last_down</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">last_down() :: Nothing</code></pre><p>Migrates down the last migration. If <code>force</code> is <code>true</code>, the migration will be executed even if it&#39;s already down.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Migration.jl#L167-L171">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.lastdown" href="#SearchLight.Migration.lastdown"><code>SearchLight.Migration.lastdown</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">last_down() :: Nothing</code></pre><p>Migrates down the last migration. If <code>force</code> is <code>true</code>, the migration will be executed even if it&#39;s already down.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Migration.jl#L167-L171">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.up" href="#SearchLight.Migration.up"><code>SearchLight.Migration.up</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">up(migration_module_name::String; force::Bool = false) :: Nothing
+up_by_module_name(migration_module_name::String; force::Bool = false) :: Nothing</code></pre><p>Runs up the migration corresponding to <code>migration_module_name</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Migration.jl#L179-L184">source</a></section></article><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>up_by_module_name</code>. Check Documenter&#39;s build log for details.</p></div></div><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.down" href="#SearchLight.Migration.down"><code>SearchLight.Migration.down</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">down(migration_module_name::String; force::Bool = false) :: Nothing
+down_by_module_name(migration_module_name::String; force::Bool = false) :: Nothing</code></pre><p>Runs down the migration corresponding to <code>migration_module_name</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Migration.jl#L196-L201">source</a></section></article><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>down_by_module_name</code>. Check Documenter&#39;s build log for details.</p></div></div><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.migration_by_module_name" href="#SearchLight.Migration.migration_by_module_name"><code>SearchLight.Migration.migration_by_module_name</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">migration_by_module_name(migration_module_name::String) :: Union{Nothing,DatabaseMigration}</code></pre><p>Computes the migration that corresponds to <code>migration_module_name</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Migration.jl#L213-L217">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.all_migrations" href="#SearchLight.Migration.all_migrations"><code>SearchLight.Migration.all_migrations</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">all_migrations() :: Tuple{Vector{String},Dict{String,DatabaseMigration}}</code></pre><p>Returns the list of all the migrations.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Migration.jl#L232-L236">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.all" href="#SearchLight.Migration.all"><code>SearchLight.Migration.all</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">all_migrations() :: Tuple{Vector{String},Dict{String,DatabaseMigration}}</code></pre><p>Returns the list of all the migrations.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Migration.jl#L232-L236">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.last_migration" href="#SearchLight.Migration.last_migration"><code>SearchLight.Migration.last_migration</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">last_migration() :: DatabaseMigration</code></pre><p>Returns the last created migration.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Migration.jl#L260-L264">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.last" href="#SearchLight.Migration.last"><code>SearchLight.Migration.last</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">last_migration() :: DatabaseMigration</code></pre><p>Returns the last created migration.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Migration.jl#L260-L264">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.run_migration" href="#SearchLight.Migration.run_migration"><code>SearchLight.Migration.run_migration</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">run_migration(migration::DatabaseMigration, direction::Symbol; force = false) :: Nothing</code></pre><p>Runs <code>migration</code> in up or down, per <code>directon</code>. If <code>force</code> is true, the migration is run regardless of its current status (already <code>up</code> or <code>down</code>).</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Migration.jl#L273-L277">source</a></section><section><div><pre><code class="language-julia hljs">run_migration(migration_name::AbstractString, direction::Symbol; force = false) :: Nothing</code></pre><p>Runs the migration corresponding to <code>migration_name</code> in <code>direction</code>. If <code>force</code> is true, the migration is run regardless of its current status (already <code>up</code> or <code>down</code>).</p><p>##Arguments</p><ul><li><code>migration_name::AbstractString</code>: The migration module name.</li><li><code>direction::Symbol</code>: The direction of the migration. Must be <code>:up</code> or <code>:down</code>.</li><li><code>force::Bool</code>: If <code>true</code>, the migration is run regardless of its current status (already <code>up</code> or `down).</li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Migration.jl#L317-L327">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.store_migration_status" href="#SearchLight.Migration.store_migration_status"><code>SearchLight.Migration.store_migration_status</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">store_migration_status(migration::DatabaseMigration, direction::Symbol) :: Nothing</code></pre><p>Persists the <code>direction</code> of the <code>migration</code> into the database.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Migration.jl#L336-L340">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.upped_migrations" href="#SearchLight.Migration.upped_migrations"><code>SearchLight.Migration.upped_migrations</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">upped_migrations() :: Vector{String}</code></pre><p>List of all migrations that are <code>up</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Migration.jl#L358-L362">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.downed_migrations" href="#SearchLight.Migration.downed_migrations"><code>SearchLight.Migration.downed_migrations</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">downed_migrations() :: Vector{String}</code></pre><p>List of all migrations that are <code>down</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Migration.jl#L374-L378">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.status" href="#SearchLight.Migration.status"><code>SearchLight.Migration.status</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">status() :: Nothing</code></pre><p>Prints a table that displays the <code>direction</code> of each migration.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Migration.jl#L385-L389">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.all_with_status" href="#SearchLight.Migration.all_with_status"><code>SearchLight.Migration.all_with_status</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">all_with_status() :: Tuple{Vector{String},Dict{String,Dict{Symbol,Any}}}</code></pre><p>Returns a list of all the migrations and their status.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Migration.jl#L406-L410">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.all_down!!" href="#SearchLight.Migration.all_down!!"><code>SearchLight.Migration.all_down!!</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">all_down!!() :: Nothing</code></pre><p>Runs all migrations <code>down</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Migration.jl#L430-L434">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Migration.all_up!!" href="#SearchLight.Migration.all_up!!"><code>SearchLight.Migration.all_up!!</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">all_up!!() :: Nothing</code></pre><p>Runs all migrations <code>up</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Migration.jl#L458-L462">source</a></section></article><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>create_table</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>column</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>columns</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>column_id</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>add_index</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>add_indexes</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>add_column</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>add_columns</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>drop_table</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>remove_column</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>remove_columns</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>remove_index</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>remove_indexes</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>remove_indices</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>create_sequence</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>constraint</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>nextval</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>column_id_sequence</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>remove_sequence</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>drop_sequence</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>create_migrations_table</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>init</code>. Check Documenter&#39;s build log for details.</p></div></div></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="generator.html">« Generator</a><a class="docs-footer-nextpage" href="modeltypes.html">ModelTypes »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.7.0 on <span class="colophon-date" title="Thursday 3 October 2024 09:19">Thursday 3 October 2024</span>. Using Julia version 1.7.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/dev/API/modeltypes.html b/dev/API/modeltypes.html
index 7285508..f8d449f 100644
--- a/dev/API/modeltypes.html
+++ b/dev/API/modeltypes.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>ModelTypes · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</title><meta name="title" content="ModelTypes · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta property="og:title" content="ModelTypes · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta property="twitter:title" content="ModelTypes · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta name="description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><meta property="og:description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><meta property="twitter:description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.050/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.8/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../search_index.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-mocha.css" data-theme-name="catppuccin-mocha"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-macchiato.css" data-theme-name="catppuccin-macchiato"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-frappe.css" data-theme-name="catppuccin-frappe"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-latte.css" data-theme-name="catppuccin-latte"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><div class="docs-package-name"><span class="docs-autofit"><a href="../index.html">SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</a></span></div><button class="docs-search-query input is-rounded is-small is-clickable my-2 mx-auto py-1 px-2" id="documenter-search-query">Search docs (Ctrl + /)</button><ul class="docs-menu"><li><a class="tocitem" href="../index.html">Home</a></li><li><span class="tocitem">SearchLight API</span><ul><li><a class="tocitem" href="callbacks.html">Callbacks</a></li><li><a class="tocitem" href="configuration.html">Configuration</a></li><li><a class="tocitem" href="exceptions.html">Exceptions</a></li><li><a class="tocitem" href="filetemplates.html">FileTemplates</a></li><li><a class="tocitem" href="generator.html">Generator</a></li><li><a class="tocitem" href="migrations.html">Migrations</a></li><li class="is-active"><a class="tocitem" href="modeltypes.html">ModelTypes</a></li><li><a class="tocitem" href="querybuilder.html">QueryBuilder</a></li><li><a class="tocitem" href="relationships.html">Relationships</a></li><li><a class="tocitem" href="searchlight.html">SearchLight</a></li><li><a class="tocitem" href="serializer.html">Serializer</a></li><li><input class="collapse-toggle" id="menuitem-2-12" type="checkbox"/><label class="tocitem" for="menuitem-2-12"><span class="docs-label">Serializers</span><i class="docs-chevron"></i></label><ul class="collapsed"><li><a class="tocitem" href="serializers/json.html">JsonSerializer</a></li></ul></li><li><a class="tocitem" href="transactions.html">Transactions</a></li><li><a class="tocitem" href="validation.html">Validation</a></li></ul></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><a class="docs-sidebar-button docs-navbar-link fa-solid fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">SearchLight API</a></li><li class="is-active"><a href="modeltypes.html">ModelTypes</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href="modeltypes.html">ModelTypes</a></li></ul></nav><div class="docs-right"><a class="docs-navbar-link" href="https://github.com/GenieFramework/SearchLight.jl" title="View the repository on GitHub"><span class="docs-icon fa-brands"></span><span class="docs-label is-hidden-touch">GitHub</span></a><a class="docs-navbar-link" href="https://github.com/GenieFramework/SearchLight.jl/blob/master/docs/src/API/modeltypes.md" title="Edit source on GitHub"><span class="docs-icon fa-solid"></span></a><a class="docs-settings-button docs-navbar-link fa-solid fa-gear" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-article-toggle-button fa-solid fa-chevron-up" id="documenter-article-toggle-button" href="javascript:;" title="Collapse all docstrings"></a></div></header><article class="content" id="documenter-page"><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>DbId</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>SQLType</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>AbstractModel</code>. Check Documenter&#39;s build log for details.</p></div></div><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.SQLInput" href="#SearchLight.SQLInput"><code>SearchLight.SQLInput</code></a> — <span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><p>Provides safe input into SQL queries and operations related to that.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/model_types.jl#L109-L111">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.SQLColumn" href="#SearchLight.SQLColumn"><code>SearchLight.SQLColumn</code></a> — <span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><p>Represents a SQL column when building SQL queries.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/model_types.jl#L170-L172">source</a></section></article><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>SQLColumns</code>. Check Documenter&#39;s build log for details.</p></div></div><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.SQLLogicOperator" href="#SearchLight.SQLLogicOperator"><code>SearchLight.SQLLogicOperator</code></a> — <span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><p>Represents the logic operators (OR, AND) as part of SQL queries.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/model_types.jl#L247-L249">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.SQLWhere" href="#SearchLight.SQLWhere"><code>SearchLight.SQLWhere</code></a> — <span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><p>Provides functionality for building and manipulating SQL <code>WHERE</code> conditions.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/model_types.jl#L264-L266">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.SQLWhereExpression" href="#SearchLight.SQLWhereExpression"><code>SearchLight.SQLWhereExpression</code></a> — <span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">SQLWhereExpression(sql_expression::String, values::T)
+<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>ModelTypes · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</title><meta name="title" content="ModelTypes · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta property="og:title" content="ModelTypes · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta property="twitter:title" content="ModelTypes · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta name="description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><meta property="og:description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><meta property="twitter:description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.050/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.8/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../search_index.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-mocha.css" data-theme-name="catppuccin-mocha"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-macchiato.css" data-theme-name="catppuccin-macchiato"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-frappe.css" data-theme-name="catppuccin-frappe"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-latte.css" data-theme-name="catppuccin-latte"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><div class="docs-package-name"><span class="docs-autofit"><a href="../index.html">SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</a></span></div><button class="docs-search-query input is-rounded is-small is-clickable my-2 mx-auto py-1 px-2" id="documenter-search-query">Search docs (Ctrl + /)</button><ul class="docs-menu"><li><a class="tocitem" href="../index.html">Home</a></li><li><span class="tocitem">SearchLight API</span><ul><li><a class="tocitem" href="callbacks.html">Callbacks</a></li><li><a class="tocitem" href="configuration.html">Configuration</a></li><li><a class="tocitem" href="exceptions.html">Exceptions</a></li><li><a class="tocitem" href="filetemplates.html">FileTemplates</a></li><li><a class="tocitem" href="generator.html">Generator</a></li><li><a class="tocitem" href="migrations.html">Migrations</a></li><li class="is-active"><a class="tocitem" href="modeltypes.html">ModelTypes</a></li><li><a class="tocitem" href="querybuilder.html">QueryBuilder</a></li><li><a class="tocitem" href="relationships.html">Relationships</a></li><li><a class="tocitem" href="searchlight.html">SearchLight</a></li><li><a class="tocitem" href="serializer.html">Serializer</a></li><li><input class="collapse-toggle" id="menuitem-2-12" type="checkbox"/><label class="tocitem" for="menuitem-2-12"><span class="docs-label">Serializers</span><i class="docs-chevron"></i></label><ul class="collapsed"><li><a class="tocitem" href="serializers/json.html">JsonSerializer</a></li></ul></li><li><a class="tocitem" href="transactions.html">Transactions</a></li><li><a class="tocitem" href="validation.html">Validation</a></li></ul></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><a class="docs-sidebar-button docs-navbar-link fa-solid fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">SearchLight API</a></li><li class="is-active"><a href="modeltypes.html">ModelTypes</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href="modeltypes.html">ModelTypes</a></li></ul></nav><div class="docs-right"><a class="docs-navbar-link" href="https://github.com/GenieFramework/SearchLight.jl" title="View the repository on GitHub"><span class="docs-icon fa-brands"></span><span class="docs-label is-hidden-touch">GitHub</span></a><a class="docs-navbar-link" href="https://github.com/GenieFramework/SearchLight.jl/blob/master/docs/src/API/modeltypes.md" title="Edit source on GitHub"><span class="docs-icon fa-solid"></span></a><a class="docs-settings-button docs-navbar-link fa-solid fa-gear" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-article-toggle-button fa-solid fa-chevron-up" id="documenter-article-toggle-button" href="javascript:;" title="Collapse all docstrings"></a></div></header><article class="content" id="documenter-page"><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>DbId</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>SQLType</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>AbstractModel</code>. Check Documenter&#39;s build log for details.</p></div></div><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.SQLInput" href="#SearchLight.SQLInput"><code>SearchLight.SQLInput</code></a> — <span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><p>Provides safe input into SQL queries and operations related to that.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/model_types.jl#L109-L111">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.SQLColumn" href="#SearchLight.SQLColumn"><code>SearchLight.SQLColumn</code></a> — <span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><p>Represents a SQL column when building SQL queries.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/model_types.jl#L170-L172">source</a></section></article><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>SQLColumns</code>. Check Documenter&#39;s build log for details.</p></div></div><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.SQLLogicOperator" href="#SearchLight.SQLLogicOperator"><code>SearchLight.SQLLogicOperator</code></a> — <span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><p>Represents the logic operators (OR, AND) as part of SQL queries.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/model_types.jl#L247-L249">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.SQLWhere" href="#SearchLight.SQLWhere"><code>SearchLight.SQLWhere</code></a> — <span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><p>Provides functionality for building and manipulating SQL <code>WHERE</code> conditions.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/model_types.jl#L264-L266">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.SQLWhereExpression" href="#SearchLight.SQLWhereExpression"><code>SearchLight.SQLWhereExpression</code></a> — <span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">SQLWhereExpression(sql_expression::String, values::T)
 SQLWhereExpression(sql_expression::String[, values::Vector{T}])</code></pre><p>Constructs an instance of SQLWhereExpression, replacing the <code>?</code> placeholders inside <code>sql_expression</code> with properly quoted values.</p><p><strong>Examples:</strong></p><pre><code class="language-julia hljs">julia&gt; SQLWhereExpression(&quot;slug LIKE ?&quot;, &quot;%julia%&quot;)
 
 SearchLight.SQLWhereExpression
@@ -37,7 +37,7 @@
 | sql_expression | question LIKE &#39;what is the question?&#39;  |
 +----------------+----------------------------------------+
 |         values |                                        |
-+----------------+----------------------------------------+</code></pre></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/model_types.jl#L297-L345">source</a></section></article><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>SQLWhereEntity</code>. Check Documenter&#39;s build log for details.</p></div></div><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.SQLLimit" href="#SearchLight.SQLLimit"><code>SearchLight.SQLLimit</code></a> — <span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><p>Wrapper around SQL <code>limit</code> operator.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/model_types.jl#L413-L415">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.SQLOrder" href="#SearchLight.SQLOrder"><code>SearchLight.SQLOrder</code></a> — <span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><p>Wrapper around SQL <code>order</code> operator.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/model_types.jl#L441-L443">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.SQLQuery" href="#SearchLight.SQLQuery"><code>SearchLight.SQLQuery</code></a> — <span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">SQLQuery( columns = SQLColumn[],
++----------------+----------------------------------------+</code></pre></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/model_types.jl#L297-L345">source</a></section></article><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>SQLWhereEntity</code>. Check Documenter&#39;s build log for details.</p></div></div><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.SQLLimit" href="#SearchLight.SQLLimit"><code>SearchLight.SQLLimit</code></a> — <span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><p>Wrapper around SQL <code>limit</code> operator.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/model_types.jl#L413-L415">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.SQLOrder" href="#SearchLight.SQLOrder"><code>SearchLight.SQLOrder</code></a> — <span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><p>Wrapper around SQL <code>order</code> operator.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/model_types.jl#L441-L443">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.SQLQuery" href="#SearchLight.SQLQuery"><code>SearchLight.SQLQuery</code></a> — <span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">SQLQuery( columns = SQLColumn[],
           where   = SQLWhereEntity[],
           limit   = SQLLimit(&quot;ALL&quot;),
           offset  = 0,
@@ -68,4 +68,4 @@
 |         |  Union{SearchLight.SQLWhere,SearchLight.SQLWhereExpression}[ |
 |         |                               SearchLight.SQLWhereExpression |
 |   where |                                                 +========... |
-+---------+--------------------------------------------------------------+</code></pre></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/model_types.jl#L588-L628">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.SQLRaw" href="#SearchLight.SQLRaw"><code>SearchLight.SQLRaw</code></a> — <span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><p>Wrapper around a raw SQL query part.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/model_types.jl#L91-L93">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.SQLJoin" href="#SearchLight.SQLJoin"><code>SearchLight.SQLJoin</code></a> — <span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><p>Builds and manipulates SQL <code>join</code> expressions.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/model_types.jl#L538-L540">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.SQLOn" href="#SearchLight.SQLOn"><code>SearchLight.SQLOn</code></a> — <span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><p>Represents the <code>ON</code> operator used in SQL <code>JOIN</code></p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/model_types.jl#L480-L482">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.SQLJoinType" href="#SearchLight.SQLJoinType"><code>SearchLight.SQLJoinType</code></a> — <span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><p>Wrapper around the various types of SQL <code>join</code> (<code>left</code>, <code>right</code>, <code>inner</code>, etc).</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/model_types.jl#L511-L513">source</a></section></article><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>SQLHaving</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>@sql_str</code>. Check Documenter&#39;s build log for details.</p></div></div></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="migrations.html">« Migrations</a><a class="docs-footer-nextpage" href="querybuilder.html">QueryBuilder »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.7.0 on <span class="colophon-date" title="Thursday 3 October 2024 08:14">Thursday 3 October 2024</span>. Using Julia version 1.7.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
++---------+--------------------------------------------------------------+</code></pre></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/model_types.jl#L588-L628">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.SQLRaw" href="#SearchLight.SQLRaw"><code>SearchLight.SQLRaw</code></a> — <span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><p>Wrapper around a raw SQL query part.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/model_types.jl#L91-L93">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.SQLJoin" href="#SearchLight.SQLJoin"><code>SearchLight.SQLJoin</code></a> — <span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><p>Builds and manipulates SQL <code>join</code> expressions.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/model_types.jl#L538-L540">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.SQLOn" href="#SearchLight.SQLOn"><code>SearchLight.SQLOn</code></a> — <span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><p>Represents the <code>ON</code> operator used in SQL <code>JOIN</code></p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/model_types.jl#L480-L482">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.SQLJoinType" href="#SearchLight.SQLJoinType"><code>SearchLight.SQLJoinType</code></a> — <span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><p>Wrapper around the various types of SQL <code>join</code> (<code>left</code>, <code>right</code>, <code>inner</code>, etc).</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/model_types.jl#L511-L513">source</a></section></article><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>SQLHaving</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>@sql_str</code>. Check Documenter&#39;s build log for details.</p></div></div></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="migrations.html">« Migrations</a><a class="docs-footer-nextpage" href="querybuilder.html">QueryBuilder »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.7.0 on <span class="colophon-date" title="Thursday 3 October 2024 09:19">Thursday 3 October 2024</span>. Using Julia version 1.7.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/dev/API/querybuilder.html b/dev/API/querybuilder.html
index a22181f..099f1f8 100644
--- a/dev/API/querybuilder.html
+++ b/dev/API/querybuilder.html
@@ -77,7 +77,7 @@
      │ Int64  Int64
 ─────┼──────────────
    1 │     1      0
-   2 │     2      0</code></pre></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaData/DataFrames.jl/blob/v1.7.0/src/dataframe/dataframe.jl#L1-L177">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.find" href="#SearchLight.find"><code>SearchLight.find</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">find(m::Type{T}, q::SQLQuery, j::Union{Nothing,Vector{SQLJoin}} = nothing)::Vector{T} where {T&lt;:AbstractModel}</code></pre><p><strong>Examples</strong></p><pre><code class="language-julia hljs"></code></pre></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/SearchLight.jl#L83-L90">source</a></section><section><div><pre><code class="language-julia hljs">find(m::Type{T}, w::SQLWhereEntity; order = SQLOrder(pk(m)))::Vector{T} where {T&lt;:AbstractModel}</code></pre><p>Return a vector of <code>AbstractModel</code> given Model instance where <code>query</code> and <code>order</code> by</p><p><strong>Examples</strong></p><pre><code class="language-julia hljs">julia&gt; using Dates, Stats
+   2 │     2      0</code></pre></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaData/DataFrames.jl/blob/v1.7.0/src/dataframe/dataframe.jl#L1-L177">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.find" href="#SearchLight.find"><code>SearchLight.find</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">find(m::Type{T}, q::SQLQuery, j::Union{Nothing,Vector{SQLJoin}} = nothing)::Vector{T} where {T&lt;:AbstractModel}</code></pre><p><strong>Examples</strong></p><pre><code class="language-julia hljs"></code></pre></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/SearchLight.jl#L83-L90">source</a></section><section><div><pre><code class="language-julia hljs">find(m::Type{T}, w::SQLWhereEntity; order = SQLOrder(pk(m)))::Vector{T} where {T&lt;:AbstractModel}</code></pre><p>Return a vector of <code>AbstractModel</code> given Model instance where <code>query</code> and <code>order</code> by</p><p><strong>Examples</strong></p><pre><code class="language-julia hljs">julia&gt; using Dates, Stats
 
 julia&gt; startdate = Dates.Date(&quot;2021-11-25&quot;)
 2021-11-25
@@ -112,7 +112,7 @@
 | region::String       | eu-central                           |
 | request_count::Int64 | 1                                    |
 | status::Int64        | 200                                  |
-| year::Int64          | 2021                                 |</code></pre></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/SearchLight.jl#L95-L139">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="Base.first" href="#Base.first"><code>Base.first</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">first(coll)</code></pre><p>Get the first element of an iterable collection. Return the start point of an <a href="@ref"><code>AbstractRange</code></a> even if it is empty.</p><p>See also: <a href="@ref"><code>only</code></a>, <a href="@ref"><code>firstindex</code></a>, <a href="querybuilder.html#Base.last"><code>last</code></a>.</p><p><strong>Examples</strong></p><pre><code class="language-julia-repl hljs">julia&gt; first(2:2:10)
+| year::Int64          | 2021                                 |</code></pre></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/SearchLight.jl#L95-L139">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="Base.first" href="#Base.first"><code>Base.first</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">first(coll)</code></pre><p>Get the first element of an iterable collection. Return the start point of an <a href="@ref"><code>AbstractRange</code></a> even if it is empty.</p><p>See also: <a href="@ref"><code>only</code></a>, <a href="@ref"><code>firstindex</code></a>, <a href="querybuilder.html#Base.last"><code>last</code></a>.</p><p><strong>Examples</strong></p><pre><code class="language-julia-repl hljs">julia&gt; first(2:2:10)
 2
 
 julia&gt; first([1; 2; 3; 4])
@@ -152,4 +152,4 @@
 &quot;0&quot;
 
 julia&gt; last(&quot;∀ϵ≠0: ϵ²&gt;0&quot;, 3)
-&quot;²&gt;0&quot;</code></pre></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaLang/julia/blob/742b9abb4dd4621b667ec5bb3434b8b3602f96fd/base/strings/basic.jl#L651-L667">source</a></section><section><div><pre><code class="language-julia hljs">last(node.children::NodeChildren) -&gt; Node</code></pre><p>Returns the last child of the <code>node :: Node</code>, or throws an error if the node has no children.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaDocs/MarkdownAST.jl/blob/v0.1.2/src/node.jl#L260-L265">source</a></section><section><div><pre><code class="language-julia hljs">last(q::Deque)</code></pre><p>Returns the last element of the deque <code>q</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaCollections/DataStructures.jl/blob/v0.18.20/src/deque.jl#L100-L104">source</a></section><section><div><pre><code class="language-julia hljs">last(D::CircularDeque)</code></pre><p>Get the item from the back of the queue.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaCollections/DataStructures.jl/blob/v0.18.20/src/circ_deque.jl#L45-L49">source</a></section><section><div><pre><code class="language-julia hljs">last(sc)</code></pre><p>Argument <code>sc</code> is a SortedDict, SortedMultiDict or SortedSet. This function returns the last item (a <code>k=&gt;v</code> pair for SortedDict and SortedMultiDict or a key for SortedSet) according to the sorted order in the container. Thus, <code>last(sc)</code> is equivalent to <code>deref((sc,lastindex(sc)))</code>. It is an error to call this function on an empty container. Time: O(log <em>n</em>)</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaCollections/DataStructures.jl/blob/v0.18.20/src/sorted_dict.jl#L359-L368">source</a></section><section><div><pre><code class="language-julia hljs">last(sc)</code></pre><p>Argument <code>sc</code> is a SortedDict, SortedMultiDict or SortedSet. This function returns the last item (a <code>k=&gt;v</code> pair for SortedDict and SortedMultiDict or a key for SortedSet) according to the sorted order in the container. Thus, <code>last(sc)</code> is equivalent to <code>deref((sc,lastindex(sc)))</code>. It is an error to call this function on an empty container. Time: O(log <em>n</em>)</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaCollections/DataStructures.jl/blob/v0.18.20/src/sorted_multi_dict.jl#L207-L216">source</a></section><section><div><pre><code class="language-julia hljs">last(sc)</code></pre><p>Argument <code>sc</code> is a SortedDict, SortedMultiDict or SortedSet. This function returns the last item (a <code>k=&gt;v</code> pair for SortedDict and SortedMultiDict or a key for SortedSet) according to the sorted order in the container. Thus, <code>last(sc)</code> is equivalent to <code>deref((sc,lastindex(sc)))</code>. It is an error to call this function on an empty container. Time: O(log <em>n</em>)</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaCollections/DataStructures.jl/blob/v0.18.20/src/sorted_set.jl#L155-L164">source</a></section><section><div><pre><code class="language-julia hljs">last(cb::CircularBuffer)</code></pre><p>Get the last element of CircularBuffer.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaCollections/DataStructures.jl/blob/v0.18.20/src/circular_buffer.jl#L199-L203">source</a></section><section><div><pre><code class="language-julia hljs">last(df::AbstractDataFrame)</code></pre><p>Get the last row of <code>df</code> as a <code>DataFrameRow</code>.</p><p>Metadata: this function preserves table-level and column-level <code>:note</code>-style metadata.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaData/DataFrames.jl/blob/v1.7.0/src/abstractdataframe/abstractdataframe.jl#L576-L582">source</a></section><section><div><pre><code class="language-julia hljs">last(df::AbstractDataFrame, n::Integer; view::Bool=false)</code></pre><p>Get a data frame with the <code>n</code> last rows of <code>df</code>. Get all rows if <code>n</code> is greater than the number of rows in <code>df</code>. Error if <code>n</code> is negative.</p><p>If <code>view=false</code> a freshly allocated <code>DataFrame</code> is returned. If <code>view=true</code> then a <code>SubDataFrame</code> view into <code>df</code> is returned.</p><p>Metadata: this function preserves table-level and column-level <code>:note</code>-style metadata.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaData/DataFrames.jl/blob/v1.7.0/src/abstractdataframe/abstractdataframe.jl#L585-L596">source</a></section><section><div><pre><code class="language-julia hljs">last(interval::AbstractInterval{T}) -&gt; Union{T,Nothing}</code></pre><p>The value of the upper endpoint. When the upper endpoint is unbounded <code>nothing</code> will be returned.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/invenia/Intervals.jl/blob/v1.10.0/src/docstrings.jl#L110-L115">source</a></section></article><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>SearchLight.count</code>. Check Documenter&#39;s build log for details.</p></div></div><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.sql" href="#SearchLight.sql"><code>SearchLight.sql</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/SearchLight.jl#L1041-L1043">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="modeltypes.html">« ModelTypes</a><a class="docs-footer-nextpage" href="relationships.html">Relationships »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.7.0 on <span class="colophon-date" title="Thursday 3 October 2024 08:14">Thursday 3 October 2024</span>. Using Julia version 1.7.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
+&quot;²&gt;0&quot;</code></pre></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaLang/julia/blob/742b9abb4dd4621b667ec5bb3434b8b3602f96fd/base/strings/basic.jl#L651-L667">source</a></section><section><div><pre><code class="language-julia hljs">last(node.children::NodeChildren) -&gt; Node</code></pre><p>Returns the last child of the <code>node :: Node</code>, or throws an error if the node has no children.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaDocs/MarkdownAST.jl/blob/v0.1.2/src/node.jl#L260-L265">source</a></section><section><div><pre><code class="language-julia hljs">last(q::Deque)</code></pre><p>Returns the last element of the deque <code>q</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaCollections/DataStructures.jl/blob/v0.18.20/src/deque.jl#L100-L104">source</a></section><section><div><pre><code class="language-julia hljs">last(D::CircularDeque)</code></pre><p>Get the item from the back of the queue.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaCollections/DataStructures.jl/blob/v0.18.20/src/circ_deque.jl#L45-L49">source</a></section><section><div><pre><code class="language-julia hljs">last(sc)</code></pre><p>Argument <code>sc</code> is a SortedDict, SortedMultiDict or SortedSet. This function returns the last item (a <code>k=&gt;v</code> pair for SortedDict and SortedMultiDict or a key for SortedSet) according to the sorted order in the container. Thus, <code>last(sc)</code> is equivalent to <code>deref((sc,lastindex(sc)))</code>. It is an error to call this function on an empty container. Time: O(log <em>n</em>)</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaCollections/DataStructures.jl/blob/v0.18.20/src/sorted_dict.jl#L359-L368">source</a></section><section><div><pre><code class="language-julia hljs">last(sc)</code></pre><p>Argument <code>sc</code> is a SortedDict, SortedMultiDict or SortedSet. This function returns the last item (a <code>k=&gt;v</code> pair for SortedDict and SortedMultiDict or a key for SortedSet) according to the sorted order in the container. Thus, <code>last(sc)</code> is equivalent to <code>deref((sc,lastindex(sc)))</code>. It is an error to call this function on an empty container. Time: O(log <em>n</em>)</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaCollections/DataStructures.jl/blob/v0.18.20/src/sorted_multi_dict.jl#L207-L216">source</a></section><section><div><pre><code class="language-julia hljs">last(sc)</code></pre><p>Argument <code>sc</code> is a SortedDict, SortedMultiDict or SortedSet. This function returns the last item (a <code>k=&gt;v</code> pair for SortedDict and SortedMultiDict or a key for SortedSet) according to the sorted order in the container. Thus, <code>last(sc)</code> is equivalent to <code>deref((sc,lastindex(sc)))</code>. It is an error to call this function on an empty container. Time: O(log <em>n</em>)</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaCollections/DataStructures.jl/blob/v0.18.20/src/sorted_set.jl#L155-L164">source</a></section><section><div><pre><code class="language-julia hljs">last(cb::CircularBuffer)</code></pre><p>Get the last element of CircularBuffer.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaCollections/DataStructures.jl/blob/v0.18.20/src/circular_buffer.jl#L199-L203">source</a></section><section><div><pre><code class="language-julia hljs">last(df::AbstractDataFrame)</code></pre><p>Get the last row of <code>df</code> as a <code>DataFrameRow</code>.</p><p>Metadata: this function preserves table-level and column-level <code>:note</code>-style metadata.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaData/DataFrames.jl/blob/v1.7.0/src/abstractdataframe/abstractdataframe.jl#L576-L582">source</a></section><section><div><pre><code class="language-julia hljs">last(df::AbstractDataFrame, n::Integer; view::Bool=false)</code></pre><p>Get a data frame with the <code>n</code> last rows of <code>df</code>. Get all rows if <code>n</code> is greater than the number of rows in <code>df</code>. Error if <code>n</code> is negative.</p><p>If <code>view=false</code> a freshly allocated <code>DataFrame</code> is returned. If <code>view=true</code> then a <code>SubDataFrame</code> view into <code>df</code> is returned.</p><p>Metadata: this function preserves table-level and column-level <code>:note</code>-style metadata.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaData/DataFrames.jl/blob/v1.7.0/src/abstractdataframe/abstractdataframe.jl#L585-L596">source</a></section><section><div><pre><code class="language-julia hljs">last(interval::AbstractInterval{T}) -&gt; Union{T,Nothing}</code></pre><p>The value of the upper endpoint. When the upper endpoint is unbounded <code>nothing</code> will be returned.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/invenia/Intervals.jl/blob/v1.10.0/src/docstrings.jl#L110-L115">source</a></section></article><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>SearchLight.count</code>. Check Documenter&#39;s build log for details.</p></div></div><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.sql" href="#SearchLight.sql"><code>SearchLight.sql</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/SearchLight.jl#L1041-L1043">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="modeltypes.html">« ModelTypes</a><a class="docs-footer-nextpage" href="relationships.html">Relationships »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.7.0 on <span class="colophon-date" title="Thursday 3 October 2024 09:19">Thursday 3 October 2024</span>. Using Julia version 1.7.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/dev/API/relationships.html b/dev/API/relationships.html
index eebb764..c691cfa 100644
--- a/dev/API/relationships.html
+++ b/dev/API/relationships.html
@@ -15,4 +15,4 @@
 
 julia&gt; Relationship!(user, role)
 
-julia&gt; isrelated(role, permission)</code></pre></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Relationships.jl#L46-L71">source</a></section></article><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>related</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>isrelated</code>. Check Documenter&#39;s build log for details.</p></div></div></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="querybuilder.html">« QueryBuilder</a><a class="docs-footer-nextpage" href="searchlight.html">SearchLight »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.7.0 on <span class="colophon-date" title="Thursday 3 October 2024 08:14">Thursday 3 October 2024</span>. Using Julia version 1.7.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
+julia&gt; isrelated(role, permission)</code></pre></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Relationships.jl#L46-L71">source</a></section></article><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>related</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>isrelated</code>. Check Documenter&#39;s build log for details.</p></div></div></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="querybuilder.html">« QueryBuilder</a><a class="docs-footer-nextpage" href="searchlight.html">SearchLight »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.7.0 on <span class="colophon-date" title="Thursday 3 October 2024 09:19">Thursday 3 October 2024</span>. Using Julia version 1.7.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/dev/API/searchlight.html b/dev/API/searchlight.html
index 516f3a1..62ce27b 100644
--- a/dev/API/searchlight.html
+++ b/dev/API/searchlight.html
@@ -70,11 +70,11 @@
 
 julia&gt; SearchLight.updatewith!(user, Dict(&quot;name&quot; =&gt; &quot;John Doe&quot;, &quot;email&quot; =&gt; &quot;foo@bar.com&quot;))
 
-julia&gt; save!(user)</code></pre></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/SearchLight.jl#L277-L290">source</a></section></article><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>convertmethod</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>booltypes</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>autoconvert</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>updatewith!!</code>. Check Documenter&#39;s build log for details.</p></div></div><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.updatewith" href="#SearchLight.updatewith"><code>SearchLight.updatewith</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">updatewith!(m::T, w::T)::T where {T&lt;:AbstractModel}</code></pre><p>Update the model <code>m</code> with the values from <code>w</code> and return the updated model.</p><p><strong>Examples</strong></p><pre><code class="language-julia hljs">julia&gt; using UserApp.User
+julia&gt; save!(user)</code></pre></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/SearchLight.jl#L277-L290">source</a></section></article><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>convertmethod</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>booltypes</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>autoconvert</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>updatewith!!</code>. Check Documenter&#39;s build log for details.</p></div></div><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.updatewith" href="#SearchLight.updatewith"><code>SearchLight.updatewith</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">updatewith!(m::T, w::T)::T where {T&lt;:AbstractModel}</code></pre><p>Update the model <code>m</code> with the values from <code>w</code> and return the updated model.</p><p><strong>Examples</strong></p><pre><code class="language-julia hljs">julia&gt; using UserApp.User
 
 julia&gt; SearchLight.updatewith!(user, Dict(&quot;name&quot; =&gt; &quot;John Doe&quot;, &quot;email&quot; =&gt; &quot;foo@bar.com&quot;))
 
-julia&gt; save!(user)</code></pre></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/SearchLight.jl#L277-L290">source</a></section></article><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>createwith</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>updateby_or_create</code>. Check Documenter&#39;s build log for details.</p></div></div><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.update_or_create" href="#SearchLight.update_or_create"><code>SearchLight.update_or_create</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">update_or_create(m::T; ignore = Symbol[], skip_update = false, filters...)::T where {T&lt;:AbstractModel}</code></pre><p><strong>Examples</strong></p><pre><code class="language-julia hljs">julia&gt;</code></pre></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/SearchLight.jl#L401-L409">source</a></section></article><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>findone_or_create</code>. Check Documenter&#39;s build log for details.</p></div></div><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.to_models" href="#SearchLight.to_models"><code>SearchLight.to_models</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">to_models(m::Type{T}, df::DataFrames.DataFrame)::Vector{T} where {T&lt;:AbstractModel}</code></pre><p>Return an array of type <code>Model</code></p><p><strong>Examples</strong></p><pre><code class="language-julia hljs">julia&gt; DataFrame(Stat, SQLWhereExpression(&quot;date &gt;= ? AND date &lt;= ?&quot;, startdate, enddate), order=[&quot;stats.date&quot;])
+julia&gt; save!(user)</code></pre></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/SearchLight.jl#L277-L290">source</a></section></article><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>createwith</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>updateby_or_create</code>. Check Documenter&#39;s build log for details.</p></div></div><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.update_or_create" href="#SearchLight.update_or_create"><code>SearchLight.update_or_create</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">update_or_create(m::T; ignore = Symbol[], skip_update = false, filters...)::T where {T&lt;:AbstractModel}</code></pre><p><strong>Examples</strong></p><pre><code class="language-julia hljs">julia&gt;</code></pre></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/SearchLight.jl#L401-L409">source</a></section></article><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>findone_or_create</code>. Check Documenter&#39;s build log for details.</p></div></div><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.to_models" href="#SearchLight.to_models"><code>SearchLight.to_models</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">to_models(m::Type{T}, df::DataFrames.DataFrame)::Vector{T} where {T&lt;:AbstractModel}</code></pre><p>Return an array of type <code>Model</code></p><p><strong>Examples</strong></p><pre><code class="language-julia hljs">julia&gt; DataFrame(Stat, SQLWhereExpression(&quot;date &gt;= ? AND date &lt;= ?&quot;, startdate, enddate), order=[&quot;stats.date&quot;])
 8160×9 DataFrame
   Row │ stats_id  stats_package_uuid                 stats_package_name   stats_status  stats_region  stats_date  stats_request_count  stats_year  stats_month
       │ Int64     String                             String               Int64         String        String      Int64                Int64       String
@@ -114,8 +114,8 @@
 | region::String       | eu-central                           |
 | request_count::Int64 | 1                                    |
 | status::Int64        | 200                                  |
-| year::Int64          | 2021                                 |</code></pre></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/SearchLight.jl#L438-L487">source</a></section></article><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>to_model</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>to_model!!</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>to_select_part</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>to_from_part</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>to_where_part</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>to_order_part</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>to_group_part</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>to_limit_part</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>to_offset_part</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>to_having_part</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>to_join_part</code>. Check Documenter&#39;s build log for details.</p></div></div><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.columns_from_joins" href="#SearchLight.columns_from_joins"><code>SearchLight.columns_from_joins</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><p>columns<em>from</em>joins(joins::Vector{SQLJoin})::Vector{SQLColumn}</p><p>Extracts columns from joins param and adds to be used for the SELECT part</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/SearchLight.jl#L668-L672">source</a></section></article><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>column_data_to_column_name</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>prepare_column_name</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>columns_names_by_table</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>dataframes_by_table</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>to_find_sql</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>to_fetch_sql</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>to_store_sql</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>to_sqlinput</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>delete_all</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>deleteall</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>delete</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>query</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>clone</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>columns</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>ispersisted</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>column_field_name</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>persistable_fields</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>settable_fields</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>table</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>pk</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>primary_key_name</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>strip_table_name</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>is_fully_qualified</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>from_fully_qualified</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>strip_module_name</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>to_fully_qualified</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>to_sql_column_names</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>to_sql_column_name</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>to_fully_qualified_sql_column_names</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>fo_fully_qualified_sql_column_name</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>from_literal_column_name</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>to_dict</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>to_string_dict</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>enclosure</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>update_query_part</code>. Check Documenter&#39;s build log for details.</p></div></div><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.escape_column_name" href="#SearchLight.escape_column_name"><code>SearchLight.escape_column_name</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">escape_column_name(c::SQLColumn) :: SQLColumn
-escape_column_name(s::String)</code></pre><p>Sanitizes input to be use as column names in SQL queries.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/model_types.jl#L223-L228">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.escape_value" href="#SearchLight.escape_value"><code>SearchLight.escape_value</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">escape_value(i::SQLInput)</code></pre><p>Sanitizes input to be used as values in SQL queries.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/model_types.jl#L148-L152">source</a></section></article><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>index_name</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>sql</code>. Check Documenter&#39;s build log for details.</p></div></div><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.add_quotes" href="#SearchLight.add_quotes"><code>SearchLight.add_quotes</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">add_quotes(str::String) :: String</code></pre><p>Adds quotes around <code>str</code> and escapes any previously existing quotes.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/SearchLight.jl#L1056-L1060">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.strip_quotes" href="#SearchLight.strip_quotes"><code>SearchLight.strip_quotes</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">strip_quotes(str::String) :: String</code></pre><p>Unquotes <code>str</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/SearchLight.jl#L1073-L1077">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.isquoted" href="#SearchLight.isquoted"><code>SearchLight.isquoted</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">isquoted(str::String) :: Bool</code></pre><p>Checks weather or not <code>str</code> is quoted.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/SearchLight.jl#L1083-L1087">source</a></section></article><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>expand_nullable</code>. Check Documenter&#39;s build log for details.</p></div></div><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="Core.NamedTuple" href="#Core.NamedTuple"><code>Core.NamedTuple</code></a> — <span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">NamedTuple</code></pre><p><code>NamedTuple</code>s are, as their name suggests, named <a href="@ref"><code>Tuple</code></a>s. That is, they&#39;re a tuple-like collection of values, where each entry has a unique name, represented as a <a href="@ref"><code>Symbol</code></a>. Like <code>Tuple</code>s, <code>NamedTuple</code>s are immutable; neither the names nor the values can be modified in place after construction.</p><p>Accessing the value associated with a name in a named tuple can be done using field access syntax, e.g. <code>x.a</code>, or using <a href="@ref"><code>getindex</code></a>, e.g. <code>x[:a]</code> or <code>x[(:a, :b)]</code>. A tuple of the names can be obtained using <a href="@ref"><code>keys</code></a>, and a tuple of the values can be obtained using <a href="@ref"><code>values</code></a>.</p><div class="admonition is-info"><header class="admonition-header">Note</header><div class="admonition-body"><p>Iteration over <code>NamedTuple</code>s produces the <em>values</em> without the names. (See example below.) To iterate over the name-value pairs, use the <a href="@ref"><code>pairs</code></a> function.</p></div></div><p>The <a href="@ref"><code>@NamedTuple</code></a> macro can be used for conveniently declaring <code>NamedTuple</code> types.</p><p><strong>Examples</strong></p><pre><code class="language-julia-repl hljs">julia&gt; x = (a=1, b=2)
+| year::Int64          | 2021                                 |</code></pre></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/SearchLight.jl#L438-L487">source</a></section></article><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>to_model</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>to_model!!</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>to_select_part</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>to_from_part</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>to_where_part</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>to_order_part</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>to_group_part</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>to_limit_part</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>to_offset_part</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>to_having_part</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>to_join_part</code>. Check Documenter&#39;s build log for details.</p></div></div><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.columns_from_joins" href="#SearchLight.columns_from_joins"><code>SearchLight.columns_from_joins</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><p>columns<em>from</em>joins(joins::Vector{SQLJoin})::Vector{SQLColumn}</p><p>Extracts columns from joins param and adds to be used for the SELECT part</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/SearchLight.jl#L668-L672">source</a></section></article><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>column_data_to_column_name</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>prepare_column_name</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>columns_names_by_table</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>dataframes_by_table</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>to_find_sql</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>to_fetch_sql</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>to_store_sql</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>to_sqlinput</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>delete_all</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>deleteall</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>delete</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>query</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>clone</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>columns</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>ispersisted</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>column_field_name</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>persistable_fields</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>settable_fields</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>table</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>pk</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>primary_key_name</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>strip_table_name</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>is_fully_qualified</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>from_fully_qualified</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>strip_module_name</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>to_fully_qualified</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>to_sql_column_names</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>to_sql_column_name</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>to_fully_qualified_sql_column_names</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>fo_fully_qualified_sql_column_name</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>from_literal_column_name</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>to_dict</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>to_string_dict</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>enclosure</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>update_query_part</code>. Check Documenter&#39;s build log for details.</p></div></div><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.escape_column_name" href="#SearchLight.escape_column_name"><code>SearchLight.escape_column_name</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">escape_column_name(c::SQLColumn) :: SQLColumn
+escape_column_name(s::String)</code></pre><p>Sanitizes input to be use as column names in SQL queries.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/model_types.jl#L223-L228">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.escape_value" href="#SearchLight.escape_value"><code>SearchLight.escape_value</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">escape_value(i::SQLInput)</code></pre><p>Sanitizes input to be used as values in SQL queries.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/model_types.jl#L148-L152">source</a></section></article><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>index_name</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>sql</code>. Check Documenter&#39;s build log for details.</p></div></div><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.add_quotes" href="#SearchLight.add_quotes"><code>SearchLight.add_quotes</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">add_quotes(str::String) :: String</code></pre><p>Adds quotes around <code>str</code> and escapes any previously existing quotes.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/SearchLight.jl#L1056-L1060">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.strip_quotes" href="#SearchLight.strip_quotes"><code>SearchLight.strip_quotes</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">strip_quotes(str::String) :: String</code></pre><p>Unquotes <code>str</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/SearchLight.jl#L1073-L1077">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.isquoted" href="#SearchLight.isquoted"><code>SearchLight.isquoted</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">isquoted(str::String) :: Bool</code></pre><p>Checks weather or not <code>str</code> is quoted.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/SearchLight.jl#L1083-L1087">source</a></section></article><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>expand_nullable</code>. Check Documenter&#39;s build log for details.</p></div></div><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="Core.NamedTuple" href="#Core.NamedTuple"><code>Core.NamedTuple</code></a> — <span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">NamedTuple</code></pre><p><code>NamedTuple</code>s are, as their name suggests, named <a href="@ref"><code>Tuple</code></a>s. That is, they&#39;re a tuple-like collection of values, where each entry has a unique name, represented as a <a href="@ref"><code>Symbol</code></a>. Like <code>Tuple</code>s, <code>NamedTuple</code>s are immutable; neither the names nor the values can be modified in place after construction.</p><p>Accessing the value associated with a name in a named tuple can be done using field access syntax, e.g. <code>x.a</code>, or using <a href="@ref"><code>getindex</code></a>, e.g. <code>x[:a]</code> or <code>x[(:a, :b)]</code>. A tuple of the names can be obtained using <a href="@ref"><code>keys</code></a>, and a tuple of the values can be obtained using <a href="@ref"><code>values</code></a>.</p><div class="admonition is-info"><header class="admonition-header">Note</header><div class="admonition-body"><p>Iteration over <code>NamedTuple</code>s produces the <em>values</em> without the names. (See example below.) To iterate over the name-value pairs, use the <a href="@ref"><code>pairs</code></a> function.</p></div></div><p>The <a href="@ref"><code>@NamedTuple</code></a> macro can be used for conveniently declaring <code>NamedTuple</code> types.</p><p><strong>Examples</strong></p><pre><code class="language-julia-repl hljs">julia&gt; x = (a=1, b=2)
 (a = 1, b = 2)
 
 julia&gt; x.a
@@ -154,4 +154,4 @@
 (x = 0,)
 
 julia&gt; (; t.x)
-(x = 0,)</code></pre><div class="admonition is-compat"><header class="admonition-header">Julia 1.5</header><div class="admonition-body"><p>Implicit names from identifiers and dot expressions are available as of Julia 1.5.</p></div></div><div class="admonition is-compat"><header class="admonition-header">Julia 1.7</header><div class="admonition-body"><p>Use of <code>getindex</code> methods with multiple <code>Symbol</code>s is available as of Julia 1.7.</p></div></div></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaLang/julia/blob/742b9abb4dd4621b667ec5bb3434b8b3602f96fd/base/namedtuple.jl#L3-L85">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="relationships.html">« Relationships</a><a class="docs-footer-nextpage" href="serializer.html">Serializer »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.7.0 on <span class="colophon-date" title="Thursday 3 October 2024 08:14">Thursday 3 October 2024</span>. Using Julia version 1.7.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
+(x = 0,)</code></pre><div class="admonition is-compat"><header class="admonition-header">Julia 1.5</header><div class="admonition-body"><p>Implicit names from identifiers and dot expressions are available as of Julia 1.5.</p></div></div><div class="admonition is-compat"><header class="admonition-header">Julia 1.7</header><div class="admonition-body"><p>Use of <code>getindex</code> methods with multiple <code>Symbol</code>s is available as of Julia 1.7.</p></div></div></div><a class="docs-sourcelink" target="_blank" href="https://github.com/JuliaLang/julia/blob/742b9abb4dd4621b667ec5bb3434b8b3602f96fd/base/namedtuple.jl#L3-L85">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="relationships.html">« Relationships</a><a class="docs-footer-nextpage" href="serializer.html">Serializer »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.7.0 on <span class="colophon-date" title="Thursday 3 October 2024 09:19">Thursday 3 October 2024</span>. Using Julia version 1.7.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/dev/API/serializer.html b/dev/API/serializer.html
index b3f6b34..d89bfbb 100644
--- a/dev/API/serializer.html
+++ b/dev/API/serializer.html
@@ -1,2 +1,2 @@
 <!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Serializer · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</title><meta name="title" content="Serializer · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta property="og:title" content="Serializer · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta property="twitter:title" content="Serializer · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta name="description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><meta property="og:description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><meta property="twitter:description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.050/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.8/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../search_index.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-mocha.css" data-theme-name="catppuccin-mocha"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-macchiato.css" data-theme-name="catppuccin-macchiato"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-frappe.css" data-theme-name="catppuccin-frappe"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-latte.css" data-theme-name="catppuccin-latte"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><div class="docs-package-name"><span class="docs-autofit"><a href="../index.html">SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</a></span></div><button class="docs-search-query input is-rounded is-small is-clickable my-2 mx-auto py-1 px-2" id="documenter-search-query">Search docs (Ctrl + /)</button><ul class="docs-menu"><li><a class="tocitem" href="../index.html">Home</a></li><li><span class="tocitem">SearchLight API</span><ul><li><a class="tocitem" href="callbacks.html">Callbacks</a></li><li><a class="tocitem" href="configuration.html">Configuration</a></li><li><a class="tocitem" href="exceptions.html">Exceptions</a></li><li><a class="tocitem" href="filetemplates.html">FileTemplates</a></li><li><a class="tocitem" href="generator.html">Generator</a></li><li><a class="tocitem" href="migrations.html">Migrations</a></li><li><a class="tocitem" href="modeltypes.html">ModelTypes</a></li><li><a class="tocitem" href="querybuilder.html">QueryBuilder</a></li><li><a class="tocitem" href="relationships.html">Relationships</a></li><li><a class="tocitem" href="searchlight.html">SearchLight</a></li><li class="is-active"><a class="tocitem" href="serializer.html">Serializer</a></li><li><input class="collapse-toggle" id="menuitem-2-12" type="checkbox"/><label class="tocitem" for="menuitem-2-12"><span class="docs-label">Serializers</span><i class="docs-chevron"></i></label><ul class="collapsed"><li><a class="tocitem" href="serializers/json.html">JsonSerializer</a></li></ul></li><li><a class="tocitem" href="transactions.html">Transactions</a></li><li><a class="tocitem" href="validation.html">Validation</a></li></ul></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><a class="docs-sidebar-button docs-navbar-link fa-solid fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">SearchLight API</a></li><li class="is-active"><a href="serializer.html">Serializer</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href="serializer.html">Serializer</a></li></ul></nav><div class="docs-right"><a class="docs-navbar-link" href="https://github.com/GenieFramework/SearchLight.jl" title="View the repository on GitHub"><span class="docs-icon fa-brands"></span><span class="docs-label is-hidden-touch">GitHub</span></a><a class="docs-navbar-link" href="https://github.com/GenieFramework/SearchLight.jl/blob/master/docs/src/API/serializer.md" title="Edit source on GitHub"><span class="docs-icon fa-solid"></span></a><a class="docs-settings-button docs-navbar-link fa-solid fa-gear" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-article-toggle-button fa-solid fa-chevron-up" id="documenter-article-toggle-button" href="javascript:;" title="Collapse all docstrings"></a></div></header><article class="content" id="documenter-page"><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>serialize</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>deserialize</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>serializables</code>. Check Documenter&#39;s build log for details.</p></div></div></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="searchlight.html">« SearchLight</a><a class="docs-footer-nextpage" href="serializers/json.html">JsonSerializer »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.7.0 on <span class="colophon-date" title="Thursday 3 October 2024 08:14">Thursday 3 October 2024</span>. Using Julia version 1.7.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
+<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Serializer · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</title><meta name="title" content="Serializer · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta property="og:title" content="Serializer · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta property="twitter:title" content="Serializer · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta name="description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><meta property="og:description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><meta property="twitter:description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.050/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.8/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../search_index.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-mocha.css" data-theme-name="catppuccin-mocha"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-macchiato.css" data-theme-name="catppuccin-macchiato"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-frappe.css" data-theme-name="catppuccin-frappe"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-latte.css" data-theme-name="catppuccin-latte"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><div class="docs-package-name"><span class="docs-autofit"><a href="../index.html">SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</a></span></div><button class="docs-search-query input is-rounded is-small is-clickable my-2 mx-auto py-1 px-2" id="documenter-search-query">Search docs (Ctrl + /)</button><ul class="docs-menu"><li><a class="tocitem" href="../index.html">Home</a></li><li><span class="tocitem">SearchLight API</span><ul><li><a class="tocitem" href="callbacks.html">Callbacks</a></li><li><a class="tocitem" href="configuration.html">Configuration</a></li><li><a class="tocitem" href="exceptions.html">Exceptions</a></li><li><a class="tocitem" href="filetemplates.html">FileTemplates</a></li><li><a class="tocitem" href="generator.html">Generator</a></li><li><a class="tocitem" href="migrations.html">Migrations</a></li><li><a class="tocitem" href="modeltypes.html">ModelTypes</a></li><li><a class="tocitem" href="querybuilder.html">QueryBuilder</a></li><li><a class="tocitem" href="relationships.html">Relationships</a></li><li><a class="tocitem" href="searchlight.html">SearchLight</a></li><li class="is-active"><a class="tocitem" href="serializer.html">Serializer</a></li><li><input class="collapse-toggle" id="menuitem-2-12" type="checkbox"/><label class="tocitem" for="menuitem-2-12"><span class="docs-label">Serializers</span><i class="docs-chevron"></i></label><ul class="collapsed"><li><a class="tocitem" href="serializers/json.html">JsonSerializer</a></li></ul></li><li><a class="tocitem" href="transactions.html">Transactions</a></li><li><a class="tocitem" href="validation.html">Validation</a></li></ul></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><a class="docs-sidebar-button docs-navbar-link fa-solid fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">SearchLight API</a></li><li class="is-active"><a href="serializer.html">Serializer</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href="serializer.html">Serializer</a></li></ul></nav><div class="docs-right"><a class="docs-navbar-link" href="https://github.com/GenieFramework/SearchLight.jl" title="View the repository on GitHub"><span class="docs-icon fa-brands"></span><span class="docs-label is-hidden-touch">GitHub</span></a><a class="docs-navbar-link" href="https://github.com/GenieFramework/SearchLight.jl/blob/master/docs/src/API/serializer.md" title="Edit source on GitHub"><span class="docs-icon fa-solid"></span></a><a class="docs-settings-button docs-navbar-link fa-solid fa-gear" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-article-toggle-button fa-solid fa-chevron-up" id="documenter-article-toggle-button" href="javascript:;" title="Collapse all docstrings"></a></div></header><article class="content" id="documenter-page"><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>serialize</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>deserialize</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>serializables</code>. Check Documenter&#39;s build log for details.</p></div></div></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="searchlight.html">« SearchLight</a><a class="docs-footer-nextpage" href="serializers/json.html">JsonSerializer »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.7.0 on <span class="colophon-date" title="Thursday 3 October 2024 09:19">Thursday 3 October 2024</span>. Using Julia version 1.7.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/dev/API/serializers/json.html b/dev/API/serializers/json.html
index c842ba5..ea1ce71 100644
--- a/dev/API/serializers/json.html
+++ b/dev/API/serializers/json.html
@@ -1,2 +1,2 @@
 <!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>JsonSerializer · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</title><meta name="title" content="JsonSerializer · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta property="og:title" content="JsonSerializer · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta property="twitter:title" content="JsonSerializer · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta name="description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><meta property="og:description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><meta property="twitter:description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.050/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.8/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../search_index.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/catppuccin-mocha.css" data-theme-name="catppuccin-mocha"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/catppuccin-macchiato.css" data-theme-name="catppuccin-macchiato"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/catppuccin-frappe.css" data-theme-name="catppuccin-frappe"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/catppuccin-latte.css" data-theme-name="catppuccin-latte"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><div class="docs-package-name"><span class="docs-autofit"><a href="../../index.html">SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</a></span></div><button class="docs-search-query input is-rounded is-small is-clickable my-2 mx-auto py-1 px-2" id="documenter-search-query">Search docs (Ctrl + /)</button><ul class="docs-menu"><li><a class="tocitem" href="../../index.html">Home</a></li><li><span class="tocitem">SearchLight API</span><ul><li><a class="tocitem" href="../callbacks.html">Callbacks</a></li><li><a class="tocitem" href="../configuration.html">Configuration</a></li><li><a class="tocitem" href="../exceptions.html">Exceptions</a></li><li><a class="tocitem" href="../filetemplates.html">FileTemplates</a></li><li><a class="tocitem" href="../generator.html">Generator</a></li><li><a class="tocitem" href="../migrations.html">Migrations</a></li><li><a class="tocitem" href="../modeltypes.html">ModelTypes</a></li><li><a class="tocitem" href="../querybuilder.html">QueryBuilder</a></li><li><a class="tocitem" href="../relationships.html">Relationships</a></li><li><a class="tocitem" href="../searchlight.html">SearchLight</a></li><li><a class="tocitem" href="../serializer.html">Serializer</a></li><li><input class="collapse-toggle" id="menuitem-2-12" type="checkbox" checked/><label class="tocitem" for="menuitem-2-12"><span class="docs-label">Serializers</span><i class="docs-chevron"></i></label><ul class="collapsed"><li class="is-active"><a class="tocitem" href="json.html">JsonSerializer</a></li></ul></li><li><a class="tocitem" href="../transactions.html">Transactions</a></li><li><a class="tocitem" href="../validation.html">Validation</a></li></ul></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><a class="docs-sidebar-button docs-navbar-link fa-solid fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">SearchLight API</a></li><li><a class="is-disabled">Serializers</a></li><li class="is-active"><a href="json.html">JsonSerializer</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href="json.html">JsonSerializer</a></li></ul></nav><div class="docs-right"><a class="docs-navbar-link" href="https://github.com/GenieFramework/SearchLight.jl" title="View the repository on GitHub"><span class="docs-icon fa-brands"></span><span class="docs-label is-hidden-touch">GitHub</span></a><a class="docs-navbar-link" href="https://github.com/GenieFramework/SearchLight.jl/blob/master/docs/src/API/serializers/json.md" title="Edit source on GitHub"><span class="docs-icon fa-solid"></span></a><a class="docs-settings-button docs-navbar-link fa-solid fa-gear" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-article-toggle-button fa-solid fa-chevron-up" id="documenter-article-toggle-button" href="javascript:;" title="Collapse all docstrings"></a></div></header><article class="content" id="documenter-page"><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>SearchLight.Serializer.serialize</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>SearchLight.Serializer.deserialize</code>. Check Documenter&#39;s build log for details.</p></div></div></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../serializer.html">« Serializer</a><a class="docs-footer-nextpage" href="../transactions.html">Transactions »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.7.0 on <span class="colophon-date" title="Thursday 3 October 2024 08:14">Thursday 3 October 2024</span>. Using Julia version 1.7.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
+<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>JsonSerializer · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</title><meta name="title" content="JsonSerializer · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta property="og:title" content="JsonSerializer · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta property="twitter:title" content="JsonSerializer · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta name="description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><meta property="og:description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><meta property="twitter:description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.050/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.8/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../search_index.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/catppuccin-mocha.css" data-theme-name="catppuccin-mocha"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/catppuccin-macchiato.css" data-theme-name="catppuccin-macchiato"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/catppuccin-frappe.css" data-theme-name="catppuccin-frappe"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/catppuccin-latte.css" data-theme-name="catppuccin-latte"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><div class="docs-package-name"><span class="docs-autofit"><a href="../../index.html">SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</a></span></div><button class="docs-search-query input is-rounded is-small is-clickable my-2 mx-auto py-1 px-2" id="documenter-search-query">Search docs (Ctrl + /)</button><ul class="docs-menu"><li><a class="tocitem" href="../../index.html">Home</a></li><li><span class="tocitem">SearchLight API</span><ul><li><a class="tocitem" href="../callbacks.html">Callbacks</a></li><li><a class="tocitem" href="../configuration.html">Configuration</a></li><li><a class="tocitem" href="../exceptions.html">Exceptions</a></li><li><a class="tocitem" href="../filetemplates.html">FileTemplates</a></li><li><a class="tocitem" href="../generator.html">Generator</a></li><li><a class="tocitem" href="../migrations.html">Migrations</a></li><li><a class="tocitem" href="../modeltypes.html">ModelTypes</a></li><li><a class="tocitem" href="../querybuilder.html">QueryBuilder</a></li><li><a class="tocitem" href="../relationships.html">Relationships</a></li><li><a class="tocitem" href="../searchlight.html">SearchLight</a></li><li><a class="tocitem" href="../serializer.html">Serializer</a></li><li><input class="collapse-toggle" id="menuitem-2-12" type="checkbox" checked/><label class="tocitem" for="menuitem-2-12"><span class="docs-label">Serializers</span><i class="docs-chevron"></i></label><ul class="collapsed"><li class="is-active"><a class="tocitem" href="json.html">JsonSerializer</a></li></ul></li><li><a class="tocitem" href="../transactions.html">Transactions</a></li><li><a class="tocitem" href="../validation.html">Validation</a></li></ul></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><a class="docs-sidebar-button docs-navbar-link fa-solid fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">SearchLight API</a></li><li><a class="is-disabled">Serializers</a></li><li class="is-active"><a href="json.html">JsonSerializer</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href="json.html">JsonSerializer</a></li></ul></nav><div class="docs-right"><a class="docs-navbar-link" href="https://github.com/GenieFramework/SearchLight.jl" title="View the repository on GitHub"><span class="docs-icon fa-brands"></span><span class="docs-label is-hidden-touch">GitHub</span></a><a class="docs-navbar-link" href="https://github.com/GenieFramework/SearchLight.jl/blob/master/docs/src/API/serializers/json.md" title="Edit source on GitHub"><span class="docs-icon fa-solid"></span></a><a class="docs-settings-button docs-navbar-link fa-solid fa-gear" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-article-toggle-button fa-solid fa-chevron-up" id="documenter-article-toggle-button" href="javascript:;" title="Collapse all docstrings"></a></div></header><article class="content" id="documenter-page"><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>SearchLight.Serializer.serialize</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>SearchLight.Serializer.deserialize</code>. Check Documenter&#39;s build log for details.</p></div></div></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../serializer.html">« Serializer</a><a class="docs-footer-nextpage" href="../transactions.html">Transactions »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.7.0 on <span class="colophon-date" title="Thursday 3 October 2024 09:19">Thursday 3 October 2024</span>. Using Julia version 1.7.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/dev/API/transactions.html b/dev/API/transactions.html
index 0fe1fad..0be8f64 100644
--- a/dev/API/transactions.html
+++ b/dev/API/transactions.html
@@ -1,2 +1,2 @@
 <!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Transactions · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</title><meta name="title" content="Transactions · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta property="og:title" content="Transactions · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta property="twitter:title" content="Transactions · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta name="description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><meta property="og:description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><meta property="twitter:description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.050/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.8/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../search_index.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-mocha.css" data-theme-name="catppuccin-mocha"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-macchiato.css" data-theme-name="catppuccin-macchiato"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-frappe.css" data-theme-name="catppuccin-frappe"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-latte.css" data-theme-name="catppuccin-latte"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><div class="docs-package-name"><span class="docs-autofit"><a href="../index.html">SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</a></span></div><button class="docs-search-query input is-rounded is-small is-clickable my-2 mx-auto py-1 px-2" id="documenter-search-query">Search docs (Ctrl + /)</button><ul class="docs-menu"><li><a class="tocitem" href="../index.html">Home</a></li><li><span class="tocitem">SearchLight API</span><ul><li><a class="tocitem" href="callbacks.html">Callbacks</a></li><li><a class="tocitem" href="configuration.html">Configuration</a></li><li><a class="tocitem" href="exceptions.html">Exceptions</a></li><li><a class="tocitem" href="filetemplates.html">FileTemplates</a></li><li><a class="tocitem" href="generator.html">Generator</a></li><li><a class="tocitem" href="migrations.html">Migrations</a></li><li><a class="tocitem" href="modeltypes.html">ModelTypes</a></li><li><a class="tocitem" href="querybuilder.html">QueryBuilder</a></li><li><a class="tocitem" href="relationships.html">Relationships</a></li><li><a class="tocitem" href="searchlight.html">SearchLight</a></li><li><a class="tocitem" href="serializer.html">Serializer</a></li><li><input class="collapse-toggle" id="menuitem-2-12" type="checkbox"/><label class="tocitem" for="menuitem-2-12"><span class="docs-label">Serializers</span><i class="docs-chevron"></i></label><ul class="collapsed"><li><a class="tocitem" href="serializers/json.html">JsonSerializer</a></li></ul></li><li class="is-active"><a class="tocitem" href="transactions.html">Transactions</a></li><li><a class="tocitem" href="validation.html">Validation</a></li></ul></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><a class="docs-sidebar-button docs-navbar-link fa-solid fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">SearchLight API</a></li><li class="is-active"><a href="transactions.html">Transactions</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href="transactions.html">Transactions</a></li></ul></nav><div class="docs-right"><a class="docs-navbar-link" href="https://github.com/GenieFramework/SearchLight.jl" title="View the repository on GitHub"><span class="docs-icon fa-brands"></span><span class="docs-label is-hidden-touch">GitHub</span></a><a class="docs-navbar-link" href="https://github.com/GenieFramework/SearchLight.jl/blob/master/docs/src/API/transactions.md" title="Edit source on GitHub"><span class="docs-icon fa-solid"></span></a><a class="docs-settings-button docs-navbar-link fa-solid fa-gear" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-article-toggle-button fa-solid fa-chevron-up" id="documenter-article-toggle-button" href="javascript:;" title="Collapse all docstrings"></a></div></header><article class="content" id="documenter-page"><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>begin_transaction</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>commit_transaction</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>rollback_transaction</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>transaction</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>with_transaction</code>. Check Documenter&#39;s build log for details.</p></div></div></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="serializers/json.html">« JsonSerializer</a><a class="docs-footer-nextpage" href="validation.html">Validation »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.7.0 on <span class="colophon-date" title="Thursday 3 October 2024 08:14">Thursday 3 October 2024</span>. Using Julia version 1.7.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
+<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Transactions · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</title><meta name="title" content="Transactions · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta property="og:title" content="Transactions · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta property="twitter:title" content="Transactions · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta name="description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><meta property="og:description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><meta property="twitter:description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.050/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.8/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../search_index.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-mocha.css" data-theme-name="catppuccin-mocha"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-macchiato.css" data-theme-name="catppuccin-macchiato"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-frappe.css" data-theme-name="catppuccin-frappe"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-latte.css" data-theme-name="catppuccin-latte"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><div class="docs-package-name"><span class="docs-autofit"><a href="../index.html">SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</a></span></div><button class="docs-search-query input is-rounded is-small is-clickable my-2 mx-auto py-1 px-2" id="documenter-search-query">Search docs (Ctrl + /)</button><ul class="docs-menu"><li><a class="tocitem" href="../index.html">Home</a></li><li><span class="tocitem">SearchLight API</span><ul><li><a class="tocitem" href="callbacks.html">Callbacks</a></li><li><a class="tocitem" href="configuration.html">Configuration</a></li><li><a class="tocitem" href="exceptions.html">Exceptions</a></li><li><a class="tocitem" href="filetemplates.html">FileTemplates</a></li><li><a class="tocitem" href="generator.html">Generator</a></li><li><a class="tocitem" href="migrations.html">Migrations</a></li><li><a class="tocitem" href="modeltypes.html">ModelTypes</a></li><li><a class="tocitem" href="querybuilder.html">QueryBuilder</a></li><li><a class="tocitem" href="relationships.html">Relationships</a></li><li><a class="tocitem" href="searchlight.html">SearchLight</a></li><li><a class="tocitem" href="serializer.html">Serializer</a></li><li><input class="collapse-toggle" id="menuitem-2-12" type="checkbox"/><label class="tocitem" for="menuitem-2-12"><span class="docs-label">Serializers</span><i class="docs-chevron"></i></label><ul class="collapsed"><li><a class="tocitem" href="serializers/json.html">JsonSerializer</a></li></ul></li><li class="is-active"><a class="tocitem" href="transactions.html">Transactions</a></li><li><a class="tocitem" href="validation.html">Validation</a></li></ul></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><a class="docs-sidebar-button docs-navbar-link fa-solid fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">SearchLight API</a></li><li class="is-active"><a href="transactions.html">Transactions</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href="transactions.html">Transactions</a></li></ul></nav><div class="docs-right"><a class="docs-navbar-link" href="https://github.com/GenieFramework/SearchLight.jl" title="View the repository on GitHub"><span class="docs-icon fa-brands"></span><span class="docs-label is-hidden-touch">GitHub</span></a><a class="docs-navbar-link" href="https://github.com/GenieFramework/SearchLight.jl/blob/master/docs/src/API/transactions.md" title="Edit source on GitHub"><span class="docs-icon fa-solid"></span></a><a class="docs-settings-button docs-navbar-link fa-solid fa-gear" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-article-toggle-button fa-solid fa-chevron-up" id="documenter-article-toggle-button" href="javascript:;" title="Collapse all docstrings"></a></div></header><article class="content" id="documenter-page"><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>begin_transaction</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>commit_transaction</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>rollback_transaction</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>transaction</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>with_transaction</code>. Check Documenter&#39;s build log for details.</p></div></div></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="serializers/json.html">« JsonSerializer</a><a class="docs-footer-nextpage" href="validation.html">Validation »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.7.0 on <span class="colophon-date" title="Thursday 3 October 2024 09:19">Thursday 3 October 2024</span>. Using Julia version 1.7.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/dev/API/validation.html b/dev/API/validation.html
index 104edf1..c991dab 100644
--- a/dev/API/validation.html
+++ b/dev/API/validation.html
@@ -23,4 +23,4 @@
 julia&gt; ValidationRule(:username, not_empty)
 julia&gt; ValidationRule(:username, is_unique)
 julia&gt; ValidationRule(:age, is_int)
-julia&gt; ValidationRule(:email, not_empty)</code></pre></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Validation.jl#L53-L84">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Validation.ModelValidator" href="#SearchLight.Validation.ModelValidator"><code>SearchLight.Validation.ModelValidator</code></a> — <span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><p>The object that defines the rules and stores the validation errors associated with the fields of a <code>model</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Validation.jl#L95-L97">source</a></section></article><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>validator</code>. Check Documenter&#39;s build log for details.</p></div></div><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Validation.validate" href="#SearchLight.Validation.validate"><code>SearchLight.Validation.validate</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">validate(m::T)::Bool where {T&lt;:AbstractModel}</code></pre><p>Validates <code>m</code>&#39;s data. A <code>bool</code> is return and existing errors are pushed to the validator&#39;s error stack.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/fb0dcb103be4176a7f9f37f8cc55a69a4357ee38/src/Validation.jl#L117-L121">source</a></section></article><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>haserrors</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>haserrorsfor</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>errorsfor</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>errorsmessagesfor</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>errors_to_string</code>. Check Documenter&#39;s build log for details.</p></div></div></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="transactions.html">« Transactions</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.7.0 on <span class="colophon-date" title="Thursday 3 October 2024 08:14">Thursday 3 October 2024</span>. Using Julia version 1.7.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
+julia&gt; ValidationRule(:email, not_empty)</code></pre></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Validation.jl#L53-L84">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Validation.ModelValidator" href="#SearchLight.Validation.ModelValidator"><code>SearchLight.Validation.ModelValidator</code></a> — <span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><p>The object that defines the rules and stores the validation errors associated with the fields of a <code>model</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Validation.jl#L95-L97">source</a></section></article><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>validator</code>. Check Documenter&#39;s build log for details.</p></div></div><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="SearchLight.Validation.validate" href="#SearchLight.Validation.validate"><code>SearchLight.Validation.validate</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">validate(m::T)::Bool where {T&lt;:AbstractModel}</code></pre><p>Validates <code>m</code>&#39;s data. A <code>bool</code> is return and existing errors are pushed to the validator&#39;s error stack.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/GenieFramework/SearchLight.jl/blob/100cea89b6dc3a4a938ad3563872e3bc59cb084e/src/Validation.jl#L117-L121">source</a></section></article><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>haserrors</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>haserrorsfor</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>errorsfor</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>errorsmessagesfor</code>. Check Documenter&#39;s build log for details.</p></div></div><div class="admonition is-warning"><header class="admonition-header">Missing docstring.</header><div class="admonition-body"><p>Missing docstring for <code>errors_to_string</code>. Check Documenter&#39;s build log for details.</p></div></div></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="transactions.html">« Transactions</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.7.0 on <span class="colophon-date" title="Thursday 3 October 2024 09:19">Thursday 3 October 2024</span>. Using Julia version 1.7.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/dev/index.html b/dev/index.html
index 0729b93..cb24168 100644
--- a/dev/index.html
+++ b/dev/index.html
@@ -1,2 +1,2 @@
 <!DOCTYPE html>
-<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Home · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</title><meta name="title" content="Home · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta property="og:title" content="Home · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta property="twitter:title" content="Home · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta name="description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><meta property="og:description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><meta property="twitter:description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><script data-outdated-warner src="assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.050/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.8/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="assets/documenter.js"></script><script src="search_index.js"></script><script src="siteinfo.js"></script><script src="../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="assets/themes/catppuccin-mocha.css" data-theme-name="catppuccin-mocha"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="assets/themes/catppuccin-macchiato.css" data-theme-name="catppuccin-macchiato"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="assets/themes/catppuccin-frappe.css" data-theme-name="catppuccin-frappe"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="assets/themes/catppuccin-latte.css" data-theme-name="catppuccin-latte"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><div class="docs-package-name"><span class="docs-autofit"><a href="index.html">SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</a></span></div><button class="docs-search-query input is-rounded is-small is-clickable my-2 mx-auto py-1 px-2" id="documenter-search-query">Search docs (Ctrl + /)</button><ul class="docs-menu"><li class="is-active"><a class="tocitem" href="index.html">Home</a></li><li><span class="tocitem">SearchLight API</span><ul><li><a class="tocitem" href="API/callbacks.html">Callbacks</a></li><li><a class="tocitem" href="API/configuration.html">Configuration</a></li><li><a class="tocitem" href="API/exceptions.html">Exceptions</a></li><li><a class="tocitem" href="API/filetemplates.html">FileTemplates</a></li><li><a class="tocitem" href="API/generator.html">Generator</a></li><li><a class="tocitem" href="API/migrations.html">Migrations</a></li><li><a class="tocitem" href="API/modeltypes.html">ModelTypes</a></li><li><a class="tocitem" href="API/querybuilder.html">QueryBuilder</a></li><li><a class="tocitem" href="API/relationships.html">Relationships</a></li><li><a class="tocitem" href="API/searchlight.html">SearchLight</a></li><li><a class="tocitem" href="API/serializer.html">Serializer</a></li><li><input class="collapse-toggle" id="menuitem-2-12" type="checkbox"/><label class="tocitem" for="menuitem-2-12"><span class="docs-label">Serializers</span><i class="docs-chevron"></i></label><ul class="collapsed"><li><a class="tocitem" href="API/serializers/json.html">JsonSerializer</a></li></ul></li><li><a class="tocitem" href="API/transactions.html">Transactions</a></li><li><a class="tocitem" href="API/validation.html">Validation</a></li></ul></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><a class="docs-sidebar-button docs-navbar-link fa-solid fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href="index.html">Home</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href="index.html">Home</a></li></ul></nav><div class="docs-right"><a class="docs-navbar-link" href="https://github.com/GenieFramework/SearchLight.jl" title="View the repository on GitHub"><span class="docs-icon fa-brands"></span><span class="docs-label is-hidden-touch">GitHub</span></a><a class="docs-navbar-link" href="https://github.com/GenieFramework/SearchLight.jl/blob/master/docs/src/index.md" title="Edit source on GitHub"><span class="docs-icon fa-solid"></span></a><a class="docs-settings-button docs-navbar-link fa-solid fa-gear" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-article-toggle-button fa-solid fa-chevron-up" id="documenter-article-toggle-button" href="javascript:;" title="Collapse all docstrings"></a></div></header><article class="content" id="documenter-page"><p><img src="https://dl.dropboxusercontent.com/s/sy04ofyyi8es388/searchlight-logo.png" alt="SearchLight Logo"/></p><h1 id="SearchLight-Concise,-secure,-cross-platform-query-builder-and-ORM-for-Julia"><a class="docs-heading-anchor" href="#SearchLight-Concise,-secure,-cross-platform-query-builder-and-ORM-for-Julia">SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</a><a id="SearchLight-Concise,-secure,-cross-platform-query-builder-and-ORM-for-Julia-1"></a><a class="docs-heading-anchor-permalink" href="#SearchLight-Concise,-secure,-cross-platform-query-builder-and-ORM-for-Julia" title="Permalink"></a></h1><p>SearchLight supports SQLite, MySQL/MariaDB and Postgres, offering powerful features like data modelling, query generation, validation, database schema migrations, relationships, data serialisation, and more.</p></article><nav class="docs-footer"><a class="docs-footer-nextpage" href="API/callbacks.html">Callbacks »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.7.0 on <span class="colophon-date" title="Thursday 3 October 2024 08:14">Thursday 3 October 2024</span>. Using Julia version 1.7.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
+<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Home · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</title><meta name="title" content="Home · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta property="og:title" content="Home · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta property="twitter:title" content="Home · SearchLight - Concise, secure, cross-platform query builder and ORM for Julia"/><meta name="description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><meta property="og:description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><meta property="twitter:description" content="Documentation for SearchLight - Concise, secure, cross-platform query builder and ORM for Julia."/><script data-outdated-warner src="assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.050/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.8/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="assets/documenter.js"></script><script src="search_index.js"></script><script src="siteinfo.js"></script><script src="../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="assets/themes/catppuccin-mocha.css" data-theme-name="catppuccin-mocha"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="assets/themes/catppuccin-macchiato.css" data-theme-name="catppuccin-macchiato"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="assets/themes/catppuccin-frappe.css" data-theme-name="catppuccin-frappe"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="assets/themes/catppuccin-latte.css" data-theme-name="catppuccin-latte"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><div class="docs-package-name"><span class="docs-autofit"><a href="index.html">SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</a></span></div><button class="docs-search-query input is-rounded is-small is-clickable my-2 mx-auto py-1 px-2" id="documenter-search-query">Search docs (Ctrl + /)</button><ul class="docs-menu"><li class="is-active"><a class="tocitem" href="index.html">Home</a></li><li><span class="tocitem">SearchLight API</span><ul><li><a class="tocitem" href="API/callbacks.html">Callbacks</a></li><li><a class="tocitem" href="API/configuration.html">Configuration</a></li><li><a class="tocitem" href="API/exceptions.html">Exceptions</a></li><li><a class="tocitem" href="API/filetemplates.html">FileTemplates</a></li><li><a class="tocitem" href="API/generator.html">Generator</a></li><li><a class="tocitem" href="API/migrations.html">Migrations</a></li><li><a class="tocitem" href="API/modeltypes.html">ModelTypes</a></li><li><a class="tocitem" href="API/querybuilder.html">QueryBuilder</a></li><li><a class="tocitem" href="API/relationships.html">Relationships</a></li><li><a class="tocitem" href="API/searchlight.html">SearchLight</a></li><li><a class="tocitem" href="API/serializer.html">Serializer</a></li><li><input class="collapse-toggle" id="menuitem-2-12" type="checkbox"/><label class="tocitem" for="menuitem-2-12"><span class="docs-label">Serializers</span><i class="docs-chevron"></i></label><ul class="collapsed"><li><a class="tocitem" href="API/serializers/json.html">JsonSerializer</a></li></ul></li><li><a class="tocitem" href="API/transactions.html">Transactions</a></li><li><a class="tocitem" href="API/validation.html">Validation</a></li></ul></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><a class="docs-sidebar-button docs-navbar-link fa-solid fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href="index.html">Home</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href="index.html">Home</a></li></ul></nav><div class="docs-right"><a class="docs-navbar-link" href="https://github.com/GenieFramework/SearchLight.jl" title="View the repository on GitHub"><span class="docs-icon fa-brands"></span><span class="docs-label is-hidden-touch">GitHub</span></a><a class="docs-navbar-link" href="https://github.com/GenieFramework/SearchLight.jl/blob/master/docs/src/index.md" title="Edit source on GitHub"><span class="docs-icon fa-solid"></span></a><a class="docs-settings-button docs-navbar-link fa-solid fa-gear" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-article-toggle-button fa-solid fa-chevron-up" id="documenter-article-toggle-button" href="javascript:;" title="Collapse all docstrings"></a></div></header><article class="content" id="documenter-page"><p><img src="https://dl.dropboxusercontent.com/s/sy04ofyyi8es388/searchlight-logo.png" alt="SearchLight Logo"/></p><h1 id="SearchLight-Concise,-secure,-cross-platform-query-builder-and-ORM-for-Julia"><a class="docs-heading-anchor" href="#SearchLight-Concise,-secure,-cross-platform-query-builder-and-ORM-for-Julia">SearchLight - Concise, secure, cross-platform query builder and ORM for Julia</a><a id="SearchLight-Concise,-secure,-cross-platform-query-builder-and-ORM-for-Julia-1"></a><a class="docs-heading-anchor-permalink" href="#SearchLight-Concise,-secure,-cross-platform-query-builder-and-ORM-for-Julia" title="Permalink"></a></h1><p>SearchLight supports SQLite, MySQL/MariaDB and Postgres, offering powerful features like data modelling, query generation, validation, database schema migrations, relationships, data serialisation, and more.</p></article><nav class="docs-footer"><a class="docs-footer-nextpage" href="API/callbacks.html">Callbacks »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.7.0 on <span class="colophon-date" title="Thursday 3 October 2024 09:19">Thursday 3 October 2024</span>. Using Julia version 1.7.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>