<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="372262" data-post-id="372262">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="rodloboz" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/rodloboz/120/37865_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  rodloboz
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Hi <a class="mention" href="/u/a7mad" rel="nofollow">@A7mad</a> . Creating a read only account is the bullet-proof way to ensure there won’t be any writes and if that’s available I would recommend it.</p>
<p>That being said, Lotus uses a two-layer defense approach:</p>
<ol>
<li>
<p>Rejects known write operations like INSERT, UPDATE, DELETE, etc. This check happens BEFORE the query is executed and will catch write operations even if they’re inside CTEs</p>
</li>
<li>
<p>Database-level read-only transaction guard. In PostgreSQL it uses<br>
<code>SET LOCAL transaction_read_only = on</code> which prevents ANY write operations at the database level, regardless of how they’re structured. In SQLite this layer does nothing.</p>
</li>
</ol> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="372262" data-batch-url="/posts/batch_likers">
                        3
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/lotus-lightweight-sql-query-runner-and-storage-for-phoenix-apps/72229/12">Post #11</a>
	                </div>
	            </div>
              <div id="likers-container-372262" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="372262"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #11"></div>
  </section>
</div>
    <div class="postbit" id="372325" data-post-id="372325">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="rodloboz" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/rodloboz/120/37865_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  rodloboz
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Update: I should clarify that in the latest <code>0.5.0</code> release Lotus actually has enhanced SQLite support and now also supports MySQL!</p>
<p>SQLite: While my previous reply mentioned that the database-level read-only layer “does nothing” in SQLite, that’s not entirely accurate anymore. Lotus now uses <code>PRAGMA query_only = ON</code> for SQLite 3.8.0+ (released in 2013), which provides database-level write prevention similar to PostgreSQL’s <code>transaction_read_only</code>. For older SQLite versions, it falls back to the regex-based validation layer only.</p>
<p>MySQL: Lotus now also supports MySQL with the same two-layer defense approach:</p>
<ol>
<li>Pre-execution validation to reject write operations</li>
<li><code>SET SESSION TRANSACTION READ ONLY</code> for database-level write prevention</li>
</ol>
<p>So the complete picture is:</p>
<ul>
<li>PostgreSQL: SET LOCAL transaction_read_only = on</li>
<li>MySQL: SET SESSION TRANSACTION READ ONLY</li>
<li>SQLite 3.8.0+: PRAGMA query_only = ON</li>
<li>SQLite &lt; 3.8.0: Regex validation only</li>
</ul> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="372325" data-batch-url="/posts/batch_likers">
                        3
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/lotus-lightweight-sql-query-runner-and-storage-for-phoenix-apps/72229/13">Post #12</a>
	                </div>
	            </div>
              <div id="likers-container-372325" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="372325"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #12"></div>
  </section>
</div>
    <div class="postbit" id="372398" data-post-id="372398">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="Desty" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/Desty/120/6097_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  Desty
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>This looks fantastic! I love the autocomplete and table explorer thingy for building queries. Perhaps a more fine-grained column visibility could be added to <code>table_visibility</code>, for example in the demo I could imagine wanting the <code>hashed_password</code> field to be silently omitted (or its contents elided, which seems safe since it’s all read-only).</p>
<p>Such an excellent tool for admin/debugging/analysis.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="372398" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/lotus-lightweight-sql-query-runner-and-storage-for-phoenix-apps/72229/14">Post #13</a>
	                </div>
	            </div>
              <div id="likers-container-372398" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="372398"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #13"></div>
  </section>
</div>
    <div class="postbit" id="372399" data-post-id="372399">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="rodloboz" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/rodloboz/120/37865_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  rodloboz
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Thanks for the feedback!</p>
<p>Yes, I have it in the roadmap to be able to configure which fields you want omitted. Currently you can only deny entire tables in the config, but I want to have more fine-grained visibility control like you suggested. I have some ideas on also giving the ability to decide what to do with those columns, wether to hide them entirely, error if they are in a query or hide their content.</p>
<p>I’m currently working on bringing variables configuration and variable substitution in the web editor and will likely tackle caching next and then column visibility.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="372399" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/lotus-lightweight-sql-query-runner-and-storage-for-phoenix-apps/72229/15">Post #14</a>
	                </div>
	            </div>
              <div id="likers-container-372399" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="372399"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #14"></div>
  </section>
</div>
    <div class="postbit" id="372400" data-post-id="372400">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="rodloboz" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/rodloboz/120/37865_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  rodloboz
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Here is a screenshot from local development:</p>
<p></p><div class="lightbox-wrapper"><a class="lightbox" href="https://forum.elixirforum.com/uploads/default/original/3X/2/4/241e2006364afab0910147decf22810c103e97d3.jpeg" data-download-href="https://forum.elixirforum.com/uploads/default/241e2006364afab0910147decf22810c103e97d3" title="CleanShot 2025-08-28 at 10.25.25" rel="nofollow"><img src="https://forum.elixirforum.com/uploads/default/original/3X/2/4/241e2006364afab0910147decf22810c103e97d3.jpeg" alt="CleanShot 2025-08-28 at 10.25.25" data-base62-sha1="59vJmtEzguMCt4pAiuuC2G70hof" width="690" height="344" data-dominant-color="F8F8FA"><div class="meta"><svg class="fa d-icon d-icon-far-image svg-icon" aria-hidden="true"><use href="#far-image"></use></svg><span class="filename">CleanShot 2025-08-28 at 10.25.25</span><span class="informations">1200×599 25.7 KB</span><svg class="fa d-icon d-icon-discourse-expand svg-icon" aria-hidden="true"><use href="#discourse-expand"></use></svg></div></a></div><p></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="372400" data-batch-url="/posts/batch_likers">
                        6
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/lotus-lightweight-sql-query-runner-and-storage-for-phoenix-apps/72229/16">Post #15</a>
	                </div>
	            </div>
              <div id="likers-container-372400" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="372400"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #15"></div>
  </section>
</div>
    <div class="postbit" id="372411" data-post-id="372411">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="frankdugan3" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/frankdugan3/120/39210_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  frankdugan3
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Very promising tool, nice work! Lotus definitely could solve some data visibility issues at my workplace.</p>
<p>I gave it a spin, and I have a few thoughts:</p>
<ul>
<li>No keyboard shortcut for running the query (<code>ctrl+enter</code> is typical)</li>
<li>My Postgres database has multiple schemas to implement multitenancy, but only tables in the public schema are displayed</li>
<li>Other items, like custom functions, views, etc. aren’t surfaced in the explorer</li>
<li>Autocompletion doesn’t seem to prioritize column/table names, and it doesn’t clearly indicate the type of the completion</li>
<li>Dark mode would be nice</li>
</ul> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="372411" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/lotus-lightweight-sql-query-runner-and-storage-for-phoenix-apps/72229/17">Post #16</a>
	                </div>
	            </div>
              <div id="likers-container-372411" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="372411"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #16"></div>
  </section>
</div>
    <div class="postbit" id="372415" data-post-id="372415">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="rodloboz" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/rodloboz/120/37865_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  rodloboz
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Hi <a class="mention" href="/u/frankdugan3" rel="nofollow">@frankdugan3</a> ,</p>
<p>Thank you for your feedback.</p>
<p>The keyboard shortcut for running the query will be available in the next version of Lotus web. I already have it working in my current branch</p>
<p>You are right about the schemas. The Lotus backend supports Posgres schemas work but the Web has no way to cycle through them. If you only have a handful of schemas, you could do declare them as <code>data_repos</code> in config:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">config :my_app, MyApp.Repo,
  username: "postgres",
  password: "postgres",
  hostname: "localhost",
  port: 2346,
  database: "my_app"
)

config :my_app, MyApp.Tenant1,
  username: "postgres",
  password: "postgres",
  hostname: "localhost",
  port: 2346,
  database: "my_app",
  parameters: [search_path: "tenant1"]
)

config :lotus,
  ecto_repo: MyApp.Repo,
  data_repos: %{
    "main" =&gt; MyApp.Repo,
    "tenant1" =&gt; MyApp.Tenant1
  }
</code></pre>
<p>But I suppose this is not very convenient. I will see if I can find a better way to expose the various schemas in the UI.</p>
<blockquote>
<p>Other items, like custom functions, views, etc. aren’t surfaced in the explorer</p>
</blockquote>
<p>Do you have examples of thing you’d like to do?</p>
<p>In the next release autocompletion will give suggestions based on the current schema (the active/selected data source).</p>
<p>Can’t promise to have dark mode soon as I want to prioritise other features first. But I’m certainly not against implementing it.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="372415" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/lotus-lightweight-sql-query-runner-and-storage-for-phoenix-apps/72229/18">Post #17</a>
	                </div>
	            </div>
              <div id="likers-container-372415" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="372415"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #17"></div>
  </section>
</div>
    <div class="postbit" id="372622" data-post-id="372622">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="rodloboz" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/rodloboz/120/37865_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  rodloboz
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><strong>Realase: Lotus 0.7 and LotusWeb 3.1:</strong></p>
<p><strong>Variables system</strong>: Full <code>{{variable}}</code> support in SQL editor with CodeMirror highlighting and automatic widgets in the toolbal</p>
<p><strong>Caching system</strong>: new adapter behaviour + ETS backend with TTLs, cache profiles (<code>:results</code>, <code>:schema</code>, <code>:options</code>) and tag-based invalidation.</p>
<p><strong>OTP</strong>: runs as an OTP application (<code>Lotus.Application</code>, <code>Lotus.Supervisor</code>), with <code>child_spec/1</code> + <code>start_link/1</code> for supervision tree integration.</p>
<p><strong>Performance</strong>: schema queries and metadata resolution are now cached → much faster introspection</p>
<p><strong>Cache models</strong>: cache modes (<code>default</code>, <code>:bypass</code>, <code>:refresh</code>) and built-in profiles with runtime overrides give you control per query</p>
<div class="youtube-onebox lazy-video-container" data-video-id="aE069kqXwj0" data-video-title="Lotus Demo - Variables and Caching" data-video-start-time="" data-provider-name="youtube">
  <a href="https://www.youtube.com/watch?v=aE069kqXwj0" target="_blank" class="video-thumbnail" rel="noopener nofollow ugc">
    <img class="youtube-thumbnail" src="https://img.youtube.com/vi/aE069kqXwj0/maxresdefault.jpg" title="Lotus Demo - Variables and Caching" width="690" height="388">
  </a>
</div>
 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="372622" data-batch-url="/posts/batch_likers">
                        4
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/lotus-lightweight-sql-query-runner-and-storage-for-phoenix-apps/72229/19">Post #18</a>
	                </div>
	            </div>
              <div id="likers-container-372622" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="372622"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #18"></div>
  </section>
</div>
    <div class="postbit" id="372722" data-post-id="372722">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="toreyheinz" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/toreyheinz/120/38987_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  toreyheinz
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Looking forward to checking this out, I recently ported a bunch of queries from Blazer into an internal Elixir app, and created a basic interface for new queries, but this looks much better!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="372722" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/lotus-lightweight-sql-query-runner-and-storage-for-phoenix-apps/72229/20">Post #19</a>
	                </div>
	            </div>
              <div id="likers-container-372722" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="372722"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #19"></div>
  </section>
</div>
    <div class="postbit" id="372723" data-post-id="372723">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="rodloboz" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/rodloboz/120/37865_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  rodloboz
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Yeah Blazer is amazing and I felt we were missing this in the Elixir/Phoenix ecosystem.</p>
<p>Looking forward to your feedback</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="372723" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/lotus-lightweight-sql-query-runner-and-storage-for-phoenix-apps/72229/21">Post #20</a>
	                </div>
	            </div>
              <div id="likers-container-372723" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="372723"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #20"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <a class="load-more-button" data-turbo-stream="true" href="/topics/72229/load_more?page=3">Load more posts (30 remaining)</a>
</div></template></turbo-stream>