mirror of
https://github.com/knex/knex.git
synced 2025-11-01 10:19:32 +00:00
documentation updates for 0.4.10 release
This commit is contained in:
parent
b70e787d25
commit
6919c9586d
@ -545,8 +545,8 @@ f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3
|
||||
"type": "heading",
|
||||
"data": {
|
||||
"level": 2,
|
||||
"title": "Knex.js 0.4.9",
|
||||
"slug": "knexjs-049"
|
||||
"title": "Knex.js 0.4.10",
|
||||
"slug": "knexjs-0410"
|
||||
},
|
||||
"depth": 2
|
||||
}
|
||||
|
||||
@ -33,14 +33,17 @@ to keep the interface database agnostic.</p></div></div><div class="code"><div c
|
||||
<span class="p">},</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Compiles the <code>select</code> statement, or nested sub-selects
|
||||
by calling each of the component compilers, trimming out
|
||||
the empties, and returning a generated query string.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">compileSelect</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">qb</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="kd">var</span> <span class="nx">sql</span> <span class="o">=</span> <span class="p">{};</span>
|
||||
<span class="kd">var</span> <span class="nx">sql</span> <span class="o">=</span> <span class="p">[];</span>
|
||||
<span class="k">if</span> <span class="p">(</span><span class="nx">_</span><span class="p">.</span><span class="nx">isEmpty</span><span class="p">(</span><span class="nx">qb</span><span class="p">.</span><span class="nx">columns</span><span class="p">))</span> <span class="nx">qb</span><span class="p">.</span><span class="nx">columns</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'*'</span><span class="p">];</span>
|
||||
<span class="k">for</span> <span class="p">(</span><span class="kd">var</span> <span class="nx">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span> <span class="nx">l</span> <span class="o">=</span> <span class="nx">components</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span> <span class="nx">i</span> <span class="o"><</span> <span class="nx">l</span><span class="p">;</span> <span class="nx">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="kd">var</span> <span class="nx">component</span> <span class="o">=</span> <span class="nx">components</span><span class="p">[</span><span class="nx">i</span><span class="p">];</span>
|
||||
<span class="kd">var</span> <span class="nx">result</span> <span class="o">=</span> <span class="nx">_</span><span class="p">.</span><span class="nx">result</span><span class="p">(</span><span class="nx">qb</span><span class="p">,</span> <span class="nx">component</span><span class="p">);</span>
|
||||
<span class="k">if</span> <span class="p">(</span><span class="nx">result</span> <span class="o">!=</span> <span class="kc">null</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="nx">sql</span><span class="p">[</span><span class="nx">component</span><span class="p">]</span> <span class="o">=</span> <span class="k">this</span><span class="p">[</span><span class="s1">'compile'</span> <span class="o">+</span> <span class="nx">Helpers</span><span class="p">.</span><span class="nx">capitalize</span><span class="p">(</span><span class="nx">component</span><span class="p">)](</span><span class="nx">qb</span><span class="p">,</span> <span class="nx">result</span><span class="p">);</span>
|
||||
<span class="nx">sql</span><span class="p">.</span><span class="nx">push</span><span class="p">(</span><span class="k">this</span><span class="p">[</span><span class="s1">'compile'</span> <span class="o">+</span> <span class="nx">Helpers</span><span class="p">.</span><span class="nx">capitalize</span><span class="p">(</span><span class="nx">component</span><span class="p">)](</span><span class="nx">qb</span><span class="p">,</span> <span class="nx">result</span><span class="p">));</span>
|
||||
<span class="p">}</span>
|
||||
<span class="p">}</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>If there is a transaction, and we have either <code>forUpdate</code> or <code>forShare</code> specified,
|
||||
call the appropriate additions to the select statement.</p></div></div><div class="code"><div class="wrapper"> <span class="k">if</span> <span class="p">(</span><span class="nx">qb</span><span class="p">.</span><span class="nx">transaction</span> <span class="o">&&</span> <span class="nx">qb</span><span class="p">.</span><span class="nx">flags</span><span class="p">.</span><span class="nx">selectMode</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="nx">sql</span><span class="p">.</span><span class="nx">push</span><span class="p">(</span><span class="k">this</span><span class="p">[</span><span class="s1">'compile'</span> <span class="o">+</span> <span class="nx">qb</span><span class="p">.</span><span class="nx">flags</span><span class="p">.</span><span class="nx">selectMode</span><span class="p">](</span><span class="nx">qb</span><span class="p">));</span>
|
||||
<span class="p">}</span>
|
||||
<span class="k">return</span> <span class="nx">_</span><span class="p">.</span><span class="nx">compact</span><span class="p">(</span><span class="nx">sql</span><span class="p">).</span><span class="nx">join</span><span class="p">(</span><span class="s1">' '</span><span class="p">);</span>
|
||||
<span class="p">},</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Compiles an aggregate query.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">compileAggregate</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">qb</span><span class="p">)</span> <span class="p">{</span>
|
||||
@ -180,6 +183,10 @@ query to be used for <code>insert</code> and <code>update</code> without issue.<
|
||||
<span class="k">return</span> <span class="s1">'delete from '</span> <span class="o">+</span> <span class="nx">table</span> <span class="o">+</span> <span class="s1">' '</span> <span class="o">+</span> <span class="nx">where</span><span class="p">;</span>
|
||||
<span class="p">},</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Compiles a <code>truncate</code> query.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">compileTruncate</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">qb</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="k">return</span> <span class="s1">'truncate '</span> <span class="o">+</span> <span class="k">this</span><span class="p">.</span><span class="nx">wrapTable</span><span class="p">(</span><span class="nx">qb</span><span class="p">.</span><span class="nx">table</span><span class="p">);</span>
|
||||
<span class="p">},</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Adds a <code>for update</code> clause to the query, relevant with transactions.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">compileForUpdate</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
|
||||
<span class="k">return</span> <span class="s1">'for update'</span><span class="p">;</span>
|
||||
<span class="p">},</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Adds a <code>for share</code> clause to the query, relevant with transactions.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">compileForShare</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
|
||||
<span class="k">return</span> <span class="s1">'for share'</span><span class="p">;</span>
|
||||
<span class="p">},</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Puts the appropriate wrapper around a value depending on the database
|
||||
engine, unless it's a knex.raw value, in which case it's left alone.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">wrap</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">value</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="kd">var</span> <span class="nx">segments</span><span class="p">;</span>
|
||||
|
||||
@ -49,7 +49,8 @@ then join them all together with select unions to complete the queries.</p></div
|
||||
<span class="nx">sql</span><span class="p">.</span><span class="nx">push</span><span class="p">(</span><span class="s1">'delete from sqlite_sequence where name = '</span> <span class="o">+</span> <span class="nx">table</span><span class="p">);</span>
|
||||
<span class="nx">sql</span><span class="p">.</span><span class="nx">push</span><span class="p">(</span><span class="s1">'delete from '</span> <span class="o">+</span> <span class="nx">table</span><span class="p">);</span>
|
||||
<span class="k">return</span> <span class="nx">sql</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
<span class="p">},</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>For share and for update are not available in sqlite3.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">compileForUpdate</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{},</span>
|
||||
<span class="nx">compileForShare</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{}</span>
|
||||
|
||||
<span class="p">},</span> <span class="nx">baseGrammar</span><span class="p">);</span>
|
||||
|
||||
|
||||
@ -16,29 +16,30 @@ the pool if it doesn't already exist.</p></div></div><div class="code"><div clas
|
||||
<span class="nx">_</span><span class="p">.</span><span class="nx">bindAll</span><span class="p">(</span><span class="k">this</span><span class="p">,</span> <span class="s1">'acquire'</span><span class="p">,</span> <span class="s1">'release'</span><span class="p">);</span>
|
||||
<span class="k">this</span><span class="p">.</span><span class="nx">config</span> <span class="o">=</span> <span class="nx">config</span><span class="p">;</span>
|
||||
<span class="k">this</span><span class="p">.</span><span class="nx">client</span> <span class="o">=</span> <span class="nx">client</span><span class="p">;</span>
|
||||
<span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="nx">config</span> <span class="o">||</span> <span class="o">!</span><span class="nx">client</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="k">throw</span> <span class="k">new</span> <span class="nb">Error</span><span class="p">(</span><span class="s1">'The config and client are required to use the pool module.'</span><span class="p">);</span>
|
||||
<span class="p">}</span>
|
||||
<span class="k">this</span><span class="p">.</span><span class="nx">init</span><span class="p">();</span>
|
||||
<span class="p">};</span>
|
||||
|
||||
<span class="nx">Pool</span><span class="p">.</span><span class="nx">prototype</span> <span class="o">=</span> <span class="p">{</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Some basic defaults for the pool... generally you don't really want to keep
|
||||
mutable objects on the prototype, but in this case we're not supposed to be
|
||||
messing around with them, so it should be alright.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">defaults</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
|
||||
<span class="kd">var</span> <span class="nx">poolInstance</span> <span class="o">=</span> <span class="k">this</span><span class="p">;</span>
|
||||
<span class="nx">Pool</span><span class="p">.</span><span class="nx">prototype</span> <span class="o">=</span> <span class="p">{</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Some basic defaults for the pool...</p></div></div><div class="code"><div class="wrapper"> <span class="nx">defaults</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
|
||||
<span class="kd">var</span> <span class="nx">pool</span> <span class="o">=</span> <span class="k">this</span><span class="p">;</span>
|
||||
<span class="k">return</span> <span class="p">{</span>
|
||||
<span class="nx">min</span><span class="o">:</span> <span class="mi">2</span><span class="p">,</span>
|
||||
<span class="nx">max</span><span class="o">:</span> <span class="mi">10</span><span class="p">,</span>
|
||||
<span class="nx">create</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">callback</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="kd">var</span> <span class="nx">promise</span> <span class="o">=</span> <span class="nx">poolInstance</span><span class="p">.</span><span class="nx">client</span><span class="p">.</span><span class="nx">getRawConnection</span><span class="p">()</span>
|
||||
<span class="kd">var</span> <span class="nx">promise</span> <span class="o">=</span> <span class="nx">pool</span><span class="p">.</span><span class="nx">client</span><span class="p">.</span><span class="nx">getRawConnection</span><span class="p">()</span>
|
||||
<span class="p">.</span><span class="nx">tap</span><span class="p">(</span><span class="kd">function</span><span class="p">(</span><span class="nx">connection</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="nx">connection</span><span class="p">.</span><span class="nx">__cid</span> <span class="o">=</span> <span class="nx">_</span><span class="p">.</span><span class="nx">uniqueId</span><span class="p">(</span><span class="s1">'__cid'</span><span class="p">);</span>
|
||||
<span class="k">if</span> <span class="p">(</span><span class="nx">poolInstance</span><span class="p">.</span><span class="nx">config</span><span class="p">.</span><span class="nx">afterCreate</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="k">return</span> <span class="nx">nodefn</span><span class="p">.</span><span class="nx">call</span><span class="p">(</span><span class="nx">poolInstance</span><span class="p">.</span><span class="nx">config</span><span class="p">.</span><span class="nx">afterCreate</span><span class="p">,</span> <span class="nx">connection</span><span class="p">);</span>
|
||||
<span class="k">if</span> <span class="p">(</span><span class="nx">pool</span><span class="p">.</span><span class="nx">config</span><span class="p">.</span><span class="nx">afterCreate</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="k">return</span> <span class="nx">nodefn</span><span class="p">.</span><span class="nx">call</span><span class="p">(</span><span class="nx">pool</span><span class="p">.</span><span class="nx">config</span><span class="p">.</span><span class="nx">afterCreate</span><span class="p">,</span> <span class="nx">connection</span><span class="p">);</span>
|
||||
<span class="p">}</span>
|
||||
<span class="p">});</span>
|
||||
<span class="k">return</span> <span class="nx">nodefn</span><span class="p">.</span><span class="nx">bindCallback</span><span class="p">(</span><span class="nx">promise</span><span class="p">,</span> <span class="nx">callback</span><span class="p">);</span>
|
||||
<span class="p">},</span>
|
||||
<span class="nx">destroy</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">connection</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="k">if</span> <span class="p">(</span><span class="nx">poolInstance</span><span class="p">.</span><span class="nx">config</span><span class="p">.</span><span class="nx">beforeDestroy</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="k">return</span> <span class="nx">poolInstance</span><span class="p">.</span><span class="nx">config</span><span class="p">.</span><span class="nx">beforeDestroy</span><span class="p">(</span><span class="nx">connection</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
|
||||
<span class="k">if</span> <span class="p">(</span><span class="nx">pool</span><span class="p">.</span><span class="nx">config</span><span class="p">.</span><span class="nx">beforeDestroy</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="k">return</span> <span class="nx">pool</span><span class="p">.</span><span class="nx">config</span><span class="p">.</span><span class="nx">beforeDestroy</span><span class="p">(</span><span class="nx">connection</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
|
||||
<span class="nx">connection</span><span class="p">.</span><span class="nx">end</span><span class="p">();</span>
|
||||
<span class="p">});</span>
|
||||
<span class="p">}</span>
|
||||
@ -57,10 +58,14 @@ options passed into the constructor.</p></div></div><div class="code"><div class
|
||||
<span class="k">this</span><span class="p">.</span><span class="nx">poolInstance</span><span class="p">.</span><span class="nx">release</span><span class="p">(</span><span class="nx">connection</span><span class="p">,</span> <span class="nx">callback</span><span class="p">);</span>
|
||||
<span class="p">},</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Tear down the pool, only necessary if you need it.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">destroy</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">callback</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="kd">var</span> <span class="nx">poolInstance</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">poolInstance</span><span class="p">;</span>
|
||||
<span class="nx">poolInstance</span><span class="p">.</span><span class="nx">drain</span><span class="p">(</span><span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
|
||||
<span class="nx">poolInstance</span><span class="p">.</span><span class="nx">destroyAllNow</span><span class="p">(</span><span class="nx">callback</span><span class="p">);</span>
|
||||
<span class="p">});</span>
|
||||
<span class="k">delete</span> <span class="k">this</span><span class="p">.</span><span class="nx">poolInstance</span><span class="p">;</span>
|
||||
<span class="k">if</span> <span class="p">(</span><span class="nx">poolInstance</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="nx">poolInstance</span><span class="p">.</span><span class="nx">drain</span><span class="p">(</span><span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
|
||||
<span class="nx">poolInstance</span><span class="p">.</span><span class="nx">destroyAllNow</span><span class="p">(</span><span class="nx">callback</span><span class="p">);</span>
|
||||
<span class="p">});</span>
|
||||
<span class="k">delete</span> <span class="k">this</span><span class="p">.</span><span class="nx">poolInstance</span><span class="p">;</span>
|
||||
<span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
|
||||
<span class="nx">callback</span><span class="p">();</span>
|
||||
<span class="p">}</span>
|
||||
<span class="k">return</span> <span class="k">this</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
|
||||
|
||||
@ -8,6 +8,8 @@
|
||||
<span class="k">if</span> <span class="p">(</span><span class="nx">builder</span><span class="p">.</span><span class="nx">type</span> <span class="o">===</span> <span class="s1">'insert'</span><span class="p">)</span> <span class="nx">response</span> <span class="o">=</span> <span class="p">[</span><span class="nx">response</span><span class="p">.</span><span class="nx">insertId</span><span class="p">];</span>
|
||||
<span class="k">if</span> <span class="p">(</span><span class="nx">builder</span><span class="p">.</span><span class="nx">type</span> <span class="o">===</span> <span class="s1">'delete'</span> <span class="o">||</span> <span class="nx">builder</span><span class="p">.</span><span class="nx">type</span> <span class="o">===</span> <span class="s1">'update'</span><span class="p">)</span> <span class="nx">response</span> <span class="o">=</span> <span class="nx">response</span><span class="p">.</span><span class="nx">affectedRows</span><span class="p">;</span>
|
||||
<span class="k">return</span> <span class="nx">response</span><span class="p">;</span>
|
||||
<span class="p">},</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Adds a <code>for share</code> clause to the query, relevant with transactions.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">compileForShare</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
|
||||
<span class="k">return</span> <span class="s1">'lock in share mode'</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
|
||||
<span class="p">},</span> <span class="nx">baseGrammar</span><span class="p">);</span></div></div></div></div></body></html>
|
||||
@ -16,8 +16,8 @@
|
||||
<span class="kd">var</span> <span class="nx">sql</span> <span class="o">=</span> <span class="nx">baseSchemaGrammar</span><span class="p">.</span><span class="nx">compileCreateTable</span><span class="p">.</span><span class="nx">call</span><span class="p">(</span><span class="k">this</span><span class="p">,</span> <span class="nx">builder</span><span class="p">,</span> <span class="nx">command</span><span class="p">);</span>
|
||||
<span class="kd">var</span> <span class="nx">conn</span> <span class="o">=</span> <span class="nx">builder</span><span class="p">.</span><span class="nx">client</span><span class="p">.</span><span class="nx">connectionSettings</span><span class="p">;</span>
|
||||
|
||||
<span class="k">if</span> <span class="p">(</span><span class="nx">conn</span><span class="p">.</span><span class="nx">charset</span><span class="p">)</span> <span class="nx">sql</span> <span class="o">+=</span> <span class="s1">' default character set '</span> <span class="o">+</span> <span class="nx">conn</span><span class="p">.</span><span class="nx">charset</span><span class="p">;</span>
|
||||
<span class="k">if</span> <span class="p">(</span><span class="nx">conn</span><span class="p">.</span><span class="nx">collation</span><span class="p">)</span> <span class="nx">sql</span> <span class="o">+=</span> <span class="s1">' collate '</span> <span class="o">+</span> <span class="nx">conn</span><span class="p">.</span><span class="nx">collation</span><span class="p">;</span>
|
||||
<span class="k">if</span> <span class="p">(</span><span class="nx">builder</span><span class="p">.</span><span class="nx">flags</span><span class="p">.</span><span class="nx">charset</span> <span class="o">||</span> <span class="nx">conn</span><span class="p">.</span><span class="nx">charset</span><span class="p">)</span> <span class="nx">sql</span> <span class="o">+=</span> <span class="s1">' default character set '</span> <span class="o">+</span> <span class="p">(</span><span class="nx">builder</span><span class="p">.</span><span class="nx">flags</span><span class="p">.</span><span class="nx">charset</span> <span class="o">||</span> <span class="nx">conn</span><span class="p">.</span><span class="nx">charset</span><span class="p">);</span>
|
||||
<span class="k">if</span> <span class="p">(</span><span class="nx">builder</span><span class="p">.</span><span class="nx">flags</span><span class="p">.</span><span class="nx">collation</span> <span class="o">||</span> <span class="nx">conn</span><span class="p">.</span><span class="nx">collation</span><span class="p">)</span> <span class="nx">sql</span> <span class="o">+=</span> <span class="s1">' collate '</span> <span class="o">+</span> <span class="p">(</span><span class="nx">builder</span><span class="p">.</span><span class="nx">flags</span><span class="p">.</span><span class="nx">collation</span> <span class="o">||</span> <span class="nx">conn</span><span class="p">.</span><span class="nx">collation</span><span class="p">);</span>
|
||||
<span class="k">if</span> <span class="p">(</span><span class="nx">builder</span><span class="p">.</span><span class="nx">flags</span><span class="p">.</span><span class="nx">engine</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="nx">sql</span> <span class="o">+=</span> <span class="s1">' engine = '</span> <span class="o">+</span> <span class="nx">builder</span><span class="p">.</span><span class="nx">flags</span><span class="p">.</span><span class="nx">engine</span><span class="p">;</span>
|
||||
<span class="p">}</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Checks if the table is commented</p></div></div><div class="code"><div class="wrapper"> <span class="kd">var</span> <span class="nx">isCommented</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">getCommandByName</span><span class="p">(</span><span class="nx">builder</span><span class="p">,</span> <span class="s1">'comment'</span><span class="p">);</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>TODO: Handle max comment length.</p></div></div><div class="code"><div class="wrapper"> <span class="kd">var</span> <span class="nx">maxTableCommentLength</span> <span class="o">=</span> <span class="mi">60</span><span class="p">;</span>
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
<!DOCTYPE html><html lang="en"><head><title>knex</title></head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0"><meta name="groc-relative-root" content=""><meta name="groc-document-path" content="knex"><meta name="groc-project-path" content="knex.js"><link rel="stylesheet" type="text/css" media="all" href="assets/style.css"><script type="text/javascript" src="assets/behavior.js"></script><body><div id="meta"><div class="file-path">knex.js</div></div><div id="document"><div class="segment"><div class="comments"><div class="wrapper"><h2 id="knexjs-049">Knex.js 0.4.9</h2></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><pre><code>(c) 2013 Tim Griesser
|
||||
<!DOCTYPE html><html lang="en"><head><title>knex</title></head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0"><meta name="groc-relative-root" content=""><meta name="groc-document-path" content="knex"><meta name="groc-project-path" content="knex.js"><link rel="stylesheet" type="text/css" media="all" href="assets/style.css"><script type="text/javascript" src="assets/behavior.js"></script><body><div id="meta"><div class="file-path">knex.js</div></div><div id="document"><div class="segment"><div class="comments"><div class="wrapper"><h2 id="knexjs-0410">Knex.js 0.4.10</h2></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><pre><code>(c) 2013 Tim Griesser
|
||||
Knex may be freely distributed under the MIT license.
|
||||
For details and documentation:
|
||||
http://knexjs.org
|
||||
@ -52,7 +52,7 @@ rather than wait on an async load of a client library.</p></div></div><div class
|
||||
<span class="p">};</span>
|
||||
<span class="p">});</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Method to run a new <code>Raw</code> query on the current client.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">knex</span><span class="p">.</span><span class="nx">raw</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">sql</span><span class="p">,</span> <span class="nx">bindings</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="k">return</span> <span class="k">new</span> <span class="nx">Raw</span><span class="p">(</span><span class="nx">knex</span><span class="p">).</span><span class="nx">query</span><span class="p">(</span><span class="nx">sql</span><span class="p">,</span> <span class="nx">bindings</span><span class="p">);</span>
|
||||
<span class="p">};</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Keep a reference to the current client.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">knex</span><span class="p">.</span><span class="nx">client</span> <span class="o">=</span> <span class="nx">client</span><span class="p">;</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Keep in sync with package.json</p></div></div><div class="code"><div class="wrapper"> <span class="nx">knex</span><span class="p">.</span><span class="nx">VERSION</span> <span class="o">=</span> <span class="s1">'0.4.9'</span><span class="p">;</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Runs a new transaction, taking a container and returning a promise
|
||||
<span class="p">};</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Keep a reference to the current client.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">knex</span><span class="p">.</span><span class="nx">client</span> <span class="o">=</span> <span class="nx">client</span><span class="p">;</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Keep in sync with package.json</p></div></div><div class="code"><div class="wrapper"> <span class="nx">knex</span><span class="p">.</span><span class="nx">VERSION</span> <span class="o">=</span> <span class="s1">'0.4.10'</span><span class="p">;</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Runs a new transaction, taking a container and returning a promise
|
||||
for when the transaction is resolved.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">knex</span><span class="p">.</span><span class="nx">transaction</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">container</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="k">return</span> <span class="k">new</span> <span class="nx">Transaction</span><span class="p">(</span><span class="nx">knex</span><span class="p">).</span><span class="nx">run</span><span class="p">(</span><span class="nx">container</span><span class="p">);</span>
|
||||
<span class="p">};</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Return the new <code>Knex</code> instance.</p></div></div><div class="code"><div class="wrapper"> <span class="k">return</span> <span class="nx">knex</span><span class="p">;</span>
|
||||
|
||||
@ -69,8 +69,15 @@ and have it come out fine.</p></div></div><div class="code"><div class="wrapper"
|
||||
the currently running transaction</p></div></div><div class="code"><div class="wrapper"> <span class="nx">transacting</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">t</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="k">if</span> <span class="p">(</span><span class="nx">t</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="k">if</span> <span class="p">(</span><span class="k">this</span><span class="p">.</span><span class="nx">transaction</span><span class="p">)</span> <span class="k">throw</span> <span class="k">new</span> <span class="nb">Error</span><span class="p">(</span><span class="s1">'A transaction has already been set for the current query chain'</span><span class="p">);</span>
|
||||
<span class="kd">var</span> <span class="nx">flags</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">flags</span><span class="p">;</span>
|
||||
<span class="k">this</span><span class="p">.</span><span class="nx">transaction</span> <span class="o">=</span> <span class="nx">t</span><span class="p">;</span>
|
||||
<span class="k">this</span><span class="p">.</span><span class="nx">usingConnection</span> <span class="o">=</span> <span class="nx">t</span><span class="p">.</span><span class="nx">connection</span><span class="p">;</span>
|
||||
<span class="k">this</span><span class="p">.</span><span class="nx">usingConnection</span> <span class="o">=</span> <span class="nx">t</span><span class="p">.</span><span class="nx">connection</span><span class="p">;</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Add "forUpdate" and "forShare" here, since these are only relevant
|
||||
within the context of a transaction.</p></div></div><div class="code"><div class="wrapper"> <span class="k">this</span><span class="p">.</span><span class="nx">forUpdate</span> <span class="o">=</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
|
||||
<span class="nx">flags</span><span class="p">.</span><span class="nx">selectMode</span> <span class="o">=</span> <span class="s1">'ForUpdate'</span><span class="p">;</span>
|
||||
<span class="p">};</span>
|
||||
<span class="k">this</span><span class="p">.</span><span class="nx">forShare</span> <span class="o">=</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
|
||||
<span class="nx">flags</span><span class="p">.</span><span class="nx">selectMode</span> <span class="o">=</span> <span class="s1">'ForShare'</span><span class="p">;</span>
|
||||
<span class="p">};</span>
|
||||
<span class="p">}</span>
|
||||
<span class="k">return</span> <span class="k">this</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
|
||||
@ -43,6 +43,14 @@
|
||||
<span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="k">this</span><span class="p">.</span><span class="nx">creating</span><span class="p">())</span> <span class="k">throw</span> <span class="k">new</span> <span class="nb">Error</span><span class="p">(</span><span class="s1">'The `engine` modifier may only be used while creating a table.'</span><span class="p">);</span>
|
||||
<span class="k">this</span><span class="p">.</span><span class="nx">flags</span><span class="p">.</span><span class="nx">engine</span> <span class="o">=</span> <span class="nx">name</span><span class="p">;</span>
|
||||
<span class="k">return</span> <span class="k">this</span><span class="p">;</span>
|
||||
<span class="p">},</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Sets the character set for the table in MySql</p></div></div><div class="code"><div class="wrapper"> <span class="nx">charset</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">charset</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="k">this</span><span class="p">.</span><span class="nx">creating</span><span class="p">())</span> <span class="k">throw</span> <span class="k">new</span> <span class="nb">Error</span><span class="p">(</span><span class="s1">'The `engine` modifier may only be used while creating a table.'</span><span class="p">);</span>
|
||||
<span class="k">this</span><span class="p">.</span><span class="nx">flags</span><span class="p">.</span><span class="nx">charset</span> <span class="o">=</span> <span class="nx">charset</span><span class="p">;</span>
|
||||
<span class="k">return</span> <span class="k">this</span><span class="p">;</span>
|
||||
<span class="p">},</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Sets the collation for the table in MySql</p></div></div><div class="code"><div class="wrapper"> <span class="nx">collate</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">collation</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="k">this</span><span class="p">.</span><span class="nx">creating</span><span class="p">())</span> <span class="k">throw</span> <span class="k">new</span> <span class="nb">Error</span><span class="p">(</span><span class="s1">'The `engine` modifier may only be used while creating a table.'</span><span class="p">);</span>
|
||||
<span class="k">this</span><span class="p">.</span><span class="nx">flags</span><span class="p">.</span><span class="nx">collation</span> <span class="o">=</span> <span class="nx">collation</span><span class="p">;</span>
|
||||
<span class="k">return</span> <span class="k">this</span><span class="p">;</span>
|
||||
<span class="p">},</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Adds a comment to the current table being created.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">comment</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">comment</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="k">return</span> <span class="k">this</span><span class="p">.</span><span class="nx">_addCommand</span><span class="p">(</span><span class="s1">'comment'</span><span class="p">,</span> <span class="p">{</span><span class="nx">comment</span><span class="o">:</span> <span class="nx">comment</span><span class="p">});</span>
|
||||
<span class="p">},</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Indicate that the given columns should be dropped.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">dropColumn</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">columns</span><span class="p">)</span> <span class="p">{</span>
|
||||
|
||||
71
index.html
71
index.html
@ -185,7 +185,7 @@
|
||||
<div id="sidebar" class="interface">
|
||||
|
||||
<a class="toc_title" href="#">
|
||||
Knex.js <span class="version">(0.4.9)</span>
|
||||
Knex.js <span class="version">(0.4.10)</span>
|
||||
</a>
|
||||
<ul class="toc_section">
|
||||
<li>» <a href="https://github.com/tgriesser/knex">GitHub Repository</a></li>
|
||||
@ -228,6 +228,8 @@
|
||||
<li>– <a href="#Builder-update">update</a></li>
|
||||
<li>– <a href="#Builder-del">del / delete</a></li>
|
||||
<li>– <a href="#Builder-transacting">transacting</a></li>
|
||||
<li> – <a href="#Builder-forUpdate">forUpdate</a></li>
|
||||
<li> – <a href="#Builder-forShare">forShare</a></li>
|
||||
<li>– <a href="#Builder-count">count</a></li>
|
||||
<li>– <a href="#Builder-min">min</a></li>
|
||||
<li>– <a href="#Builder-max">max</a></li>
|
||||
@ -259,6 +261,8 @@
|
||||
<li>– <a href="#Schema-hasTable">hasTable</a></li>
|
||||
<li>– <a href="#Schema-dropTableIfExists">dropTableIfExists</a></li>
|
||||
<li>– <a href="#Schema-table">table</a></li>
|
||||
<li>– <a href="#Schema-charset">charset</a></li>
|
||||
<li>– <a href="#Schema-collate">collate</a></li>
|
||||
<li><b><a href="#Schema-Building">Schema Building:</a></b></li>
|
||||
<li>– <a href="#Schema-dropColumn">dropColumn</a></li>
|
||||
<li>– <a href="#Schema-dropColumns">dropColumns</a></li>
|
||||
@ -280,6 +284,9 @@
|
||||
<li>– <a href="#Schema-json">json</a></li>
|
||||
<li>– <a href="#Schema-uuid">uuid</a></li>
|
||||
<li>– <a href="#Schema-comment">comment</a></li>
|
||||
<li>– <a href="#Schema-engine">engine</a></li>
|
||||
<li>– <a href="#Schema-charset">charset</a></li>
|
||||
<li>– <a href="#Schema-collate">collate</a></li>
|
||||
<li>– <a href="#Schema-specificType">specificType</a></li>
|
||||
<li><a href="#Chainable"><b>Chainable:</b></li>
|
||||
<li>– <a href="#Chainable-index">index</a></li>
|
||||
@ -353,7 +360,7 @@
|
||||
</p>
|
||||
|
||||
|
||||
<h2>Latest Release: 0.4.9 - <span class="small"><a href="#changelog">Change Log</a></span></h2>
|
||||
<h2>Latest Release: 0.4.10 - <span class="small"><a href="#changelog">Change Log</a></span></h2>
|
||||
|
||||
<p>
|
||||
Current Develop —
|
||||
@ -478,7 +485,7 @@ knex('table').where('id', 1).select().then(...
|
||||
</p>
|
||||
|
||||
<p id="Builder-select">
|
||||
<b class="header">select</b><code>.select([*columns])</code>
|
||||
<b class="header">select</b><code>.select([*columns])</code> <span class="alias">Alias: <b>into</b></span>
|
||||
<br />
|
||||
Creates a <tt>select</tt> query, taking an optional array of <b>columns</b> for the query, eventually
|
||||
defaulting to <tt>*</tt> if none are specified when the query is built. The response of a select call will
|
||||
@ -846,6 +853,20 @@ knex.transaction(function(t) {
|
||||
});
|
||||
</pre>
|
||||
|
||||
<p id="Builder-forUpdate">
|
||||
<b class="header">forUpdate</b><code>.transacting(t).forUpdate()</code>
|
||||
<br />
|
||||
Dynamically added after a <a href="#Builder-transacting">transaction</a> is specified,
|
||||
the <tt>forUpdate</tt> adds a <tt>FOR UPDATE</tt> in PostgreSQL and MySQL during a select statement.
|
||||
</p>
|
||||
|
||||
<p id="Builder-forShare">
|
||||
<b class="header">forShare</b><code>.transacting(t).forShare()</code>
|
||||
<br />
|
||||
Dynamically added after a <a href="#Builder-transacting">transaction</a> is specified,
|
||||
the <tt>forShare</tt> adds a <tt>FOR SHARE</tt> in PostgreSQL and a <tt>LOCK IN SHARE MODE</tt>
|
||||
for MySQL during a select statement.
|
||||
</p>
|
||||
|
||||
<p id="Builder-count">
|
||||
<b class="header">count</b><code>.count(column)</code>
|
||||
@ -1076,6 +1097,12 @@ knex.schema.table('users', function (table) {
|
||||
});
|
||||
</pre>
|
||||
|
||||
<p id="Schema-dropTableIfExists">
|
||||
<b class="header">dropTableIfExists</b><code>knex.schema.dropTableIfExists(tableName)</code>
|
||||
<br />
|
||||
Drops a table conditionally if the table exists, specified by <tt>tableName</tt>.
|
||||
</p>
|
||||
|
||||
<h3 id="Schema-Building">Schema Building:</h3>
|
||||
|
||||
<p id="Schema-dropColumn">
|
||||
@ -1202,19 +1229,33 @@ knex.schema.table('users', function (table) {
|
||||
<tt>char(36)</tt> in other databases.
|
||||
</p>
|
||||
|
||||
<p id="Schema-engine">
|
||||
<b class="header">engine</b><code>table.engine(val)</code>
|
||||
<br />
|
||||
Sets the engine for the database, only available within a <tt>createTable</tt> call, and only
|
||||
applicable to MySQL.
|
||||
</p>
|
||||
|
||||
<p id="Schema-comment">
|
||||
<b class="header">comment</b><code>table.comment(value)</code>
|
||||
<br />
|
||||
Sets the comment for a table.
|
||||
</p>
|
||||
|
||||
<p id="Schema-engine">
|
||||
<b class="header">engine</b><code>table.engine(val)</code>
|
||||
<br />
|
||||
Sets the engine for the database table, only available within a <tt>createTable</tt> call, and only
|
||||
applicable to MySQL.
|
||||
</p>
|
||||
|
||||
<p id="Schema-charset">
|
||||
<b class="header">charset</b><code>table.charset(val)</code>
|
||||
<br />
|
||||
Sets the charset for the database table, only available within a <tt>createTable</tt> call, and only
|
||||
applicable to MySQL.
|
||||
</p>
|
||||
|
||||
<p id="Schema-collate">
|
||||
<b class="header">collate</b><code>table.collate(val)</code>
|
||||
<br />
|
||||
Sets the collation for the database table, only available within a <tt>createTable</tt> call, and only
|
||||
applicable to MySQL.
|
||||
</p>
|
||||
|
||||
<p id="Schema-specificType">
|
||||
<b class="header">specificType</b><code>table.specificType(column, value)</code>
|
||||
<br />
|
||||
@ -1362,6 +1403,16 @@ knex.raw('select * from users where id = 1').then(function(resp) {
|
||||
|
||||
<h2 id="changelog">Change Log</h2>
|
||||
|
||||
<p>
|
||||
<b class="header">0.4.10</b> — <small><i>Oct 14, 2013</i></small> — <a href="https://github.com/tgriesser/knex/compare/0.4.9...0.5.0">Diff</a><br />
|
||||
<ul>
|
||||
<li>Added <a href="#Builder-forUpdate">forUpdate</a> and <a href="#Builder-forShare">forShare</a> for select modes in transactions. (#84)</li>
|
||||
<li>Fix bug where current query chain type is not copied on <a href="#Builder-clone">clone</a>. (#90)</li>
|
||||
<li>Charset and collate are now added as methods on the schema builder. (#89)</li>
|
||||
<li>Internal pool fixes. (#90)</li>
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<b class="header">0.4.9</b> — <small><i>Oct 7, 2013</i></small> — <a href="https://github.com/tgriesser/knex/compare/0.4.8...0.4.9">Diff</a><br />
|
||||
<ul>
|
||||
|
||||
4
knex.js
4
knex.js
@ -1,4 +1,4 @@
|
||||
// Knex.js 0.4.9
|
||||
// Knex.js 0.4.10
|
||||
// --------------
|
||||
|
||||
// (c) 2013 Tim Griesser
|
||||
@ -91,7 +91,7 @@ define(function(require, exports, module) {
|
||||
knex.client = client;
|
||||
|
||||
// Keep in sync with package.json
|
||||
knex.VERSION = '0.4.9';
|
||||
knex.VERSION = '0.4.10';
|
||||
|
||||
// Runs a new transaction, taking a container and returning a promise
|
||||
// for when the transaction is resolved.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user