mirror of
https://github.com/knex/knex.git
synced 2026-01-03 10:38:37 +00:00
0.4.0 release
This commit is contained in:
parent
56d78d7172
commit
b8dd337334
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,5 +1,4 @@
|
||||
raw
|
||||
*.sw?
|
||||
.DS_Store
|
||||
node_modules
|
||||
.sublime-build
|
||||
node_modules
|
||||
@ -1,3 +1,2 @@
|
||||
docs/
|
||||
index.html
|
||||
.sublime-build
|
||||
index.html
|
||||
@ -7,9 +7,8 @@ using this database.</p></div></div><div class="code"><div class="wrapper"><span
|
||||
<span class="kd">var</span> <span class="nx">baseSchemaGrammar</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">'../base/schemagrammar'</span><span class="p">).</span><span class="nx">BaseSchemaGrammar</span><span class="p">;</span>
|
||||
<span class="kd">var</span> <span class="nx">Helpers</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">'../../lib/helpers'</span><span class="p">).</span><span class="nx">Helpers</span><span class="p">;</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Constructor for the MySQLClient.</p></div></div><div class="code"><div class="wrapper"><span class="nx">exports</span><span class="p">.</span><span class="nx">Client</span> <span class="o">=</span> <span class="nx">ServerBase</span><span class="p">.</span><span class="nx">extend</span><span class="p">({</span>
|
||||
|
||||
<span class="nx">dialect</span><span class="o">:</span> <span class="s1">'mysql'</span><span class="p">,</span>
|
||||
|
||||
<span class="nx">runQuery</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="nx">sql</span><span class="p">,</span> <span class="nx">bindings</span><span class="p">,</span> <span class="nx">builder</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="nx">dialect</span><span class="o">:</span> <span class="s1">'mysql'</span><span class="p">,</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Runs the query on the specified connection, providing the bindings
|
||||
and any other necessary prep work.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">runQuery</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="nx">sql</span><span class="p">,</span> <span class="nx">bindings</span><span class="p">,</span> <span class="nx">builder</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="nx">connection</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">'No database connection exists for the query'</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">options</span><span class="p">)</span> <span class="nx">sql</span> <span class="o">=</span> <span class="nx">_</span><span class="p">.</span><span class="nx">extend</span><span class="p">({</span><span class="nx">sql</span><span class="o">:</span> <span class="nx">sql</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">options</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">_source</span> <span class="o">===</span> <span class="s1">'SchemaBuilder'</span><span class="p">)</span> <span class="p">{</span>
|
||||
|
||||
@ -7,9 +7,8 @@ using this database.</p></div></div><div class="code"><div class="wrapper"><span
|
||||
<span class="kd">var</span> <span class="nx">baseSchemaGrammar</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">'../base/schemagrammar'</span><span class="p">).</span><span class="nx">BaseSchemaGrammar</span><span class="p">;</span>
|
||||
<span class="kd">var</span> <span class="nx">Helpers</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">'../../lib/helpers'</span><span class="p">).</span><span class="nx">Helpers</span><span class="p">;</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Constructor for the PostgreSQL Client</p></div></div><div class="code"><div class="wrapper"><span class="nx">exports</span><span class="p">.</span><span class="nx">Client</span> <span class="o">=</span> <span class="nx">ServerBase</span><span class="p">.</span><span class="nx">extend</span><span class="p">({</span>
|
||||
|
||||
<span class="nx">dialect</span><span class="o">:</span> <span class="s1">'postgresql'</span><span class="p">,</span>
|
||||
|
||||
<span class="nx">runQuery</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="nx">sql</span><span class="p">,</span> <span class="nx">bindings</span><span class="p">,</span> <span class="nx">builder</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="nx">dialect</span><span class="o">:</span> <span class="s1">'postgresql'</span><span class="p">,</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Runs the query on the specified connection, providing the bindings
|
||||
and any other necessary prep work.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">runQuery</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="nx">sql</span><span class="p">,</span> <span class="nx">bindings</span><span class="p">,</span> <span class="nx">builder</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="nx">connection</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">'No database connection exists for the query'</span><span class="p">);</span>
|
||||
<span class="kd">var</span> <span class="nx">questionCount</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
|
||||
<span class="nx">sql</span> <span class="o">=</span> <span class="nx">sql</span><span class="p">.</span><span class="nx">replace</span><span class="p">(</span><span class="sr">/\?/g</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
|
||||
|
||||
@ -9,9 +9,8 @@ using this database.</p></div></div><div class="code"><div class="wrapper"><span
|
||||
<span class="kd">var</span> <span class="nx">SchemaInterface</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">'../../lib/schemainterface'</span><span class="p">).</span><span class="nx">SchemaInterface</span><span class="p">;</span>
|
||||
<span class="kd">var</span> <span class="nx">Helpers</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">'../../lib/helpers'</span><span class="p">).</span><span class="nx">Helpers</span><span class="p">;</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Constructor for the SQLite3Client.</p></div></div><div class="code"><div class="wrapper"><span class="kd">var</span> <span class="nx">SQLite3Client</span> <span class="o">=</span> <span class="nx">exports</span><span class="p">.</span><span class="nx">Client</span> <span class="o">=</span> <span class="nx">ServerBase</span><span class="p">.</span><span class="nx">extend</span><span class="p">({</span>
|
||||
|
||||
<span class="nx">dialect</span><span class="o">:</span> <span class="s1">'sqlite3'</span><span class="p">,</span>
|
||||
|
||||
<span class="nx">runQuery</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="nx">sql</span><span class="p">,</span> <span class="nx">bindings</span><span class="p">,</span> <span class="nx">builder</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="nx">dialect</span><span class="o">:</span> <span class="s1">'sqlite3'</span><span class="p">,</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Runs the query on the specified connection, providing the bindings
|
||||
and any other necessary prep work.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">runQuery</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="nx">sql</span><span class="p">,</span> <span class="nx">bindings</span><span class="p">,</span> <span class="nx">builder</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="nx">connection</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">'No database connection exists for the query'</span><span class="p">);</span>
|
||||
<span class="k">if</span> <span class="p">(</span><span class="nx">sql</span> <span class="o">===</span> <span class="s1">'__rename_column__'</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">ddl</span><span class="p">(</span><span class="nx">connection</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="nx">builder</span><span class="p">);</span>
|
||||
|
||||
@ -1,10 +1,8 @@
|
||||
<!DOCTYPE html><html lang="en"><head><title>lib/migrate</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="lib/migrate"><meta name="groc-project-path" content="lib/migrate.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">lib/migrate.js</div></div><div id="document"><div class="segment"><div class="comments"><div class="wrapper"><h2 id="migrate-wip">Migrate (WIP)</h2></div></div></div><div class="segment"><div class="code"><div class="wrapper"><span class="kd">var</span> <span class="nx">fs</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">'fs'</span><span class="p">);</span>
|
||||
<span class="kd">var</span> <span class="nx">path</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">'path'</span><span class="p">);</span>
|
||||
|
||||
<span class="kd">var</span> <span class="nx">_</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">'underscore'</span><span class="p">);</span>
|
||||
<span class="kd">var</span> <span class="nx">_str</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">'underscore.string'</span><span class="p">);</span>
|
||||
<span class="kd">var</span> <span class="nx">mkdirp</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">'mkdirp'</span><span class="p">);</span>
|
||||
<span class="kd">var</span> <span class="nx">when</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">'when'</span><span class="p">);</span>
|
||||
<span class="kd">var</span> <span class="nx">_</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">'underscore'</span><span class="p">);</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>var _str = require('underscore.string');
|
||||
var mkdirp = require('mkdirp');</p></div></div><div class="code"><div class="wrapper"><span class="kd">var</span> <span class="nx">when</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">'when'</span><span class="p">);</span>
|
||||
<span class="kd">var</span> <span class="nx">nodefn</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">'when/node/function'</span><span class="p">);</span>
|
||||
<span class="kd">var</span> <span class="nx">sequence</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">'when/sequence'</span><span class="p">);</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>The new migration we're performing.
|
||||
Takes a <code>config</code> object, which has the name
|
||||
|
||||
15
package.json
15
package.json
@ -1,12 +1,13 @@
|
||||
{
|
||||
"name": "knex",
|
||||
"version": "0.2.6",
|
||||
"version": "0.4.0",
|
||||
"description": "A query builder for Postgres, MySQL and SQLite3, designed to be flexible, portable, and fun to use.",
|
||||
"main": "knex.js",
|
||||
"directories": {
|
||||
"test": "test"
|
||||
},
|
||||
"devDependencies": {
|
||||
"mocha": "~1.12.0",
|
||||
"objectdump": "~0.3.0",
|
||||
"mysql": "~2.0.0-alpha7",
|
||||
"pg": "~2.3.1",
|
||||
@ -14,12 +15,11 @@
|
||||
"node-uuid": "~1.4.0",
|
||||
"grunt": "~0.4.1",
|
||||
"grunt-release": "~0.5.1",
|
||||
"sinon": "~1.7.3",
|
||||
"chai": "~1.7.2",
|
||||
"mocha-as-promised": "~1.4.0",
|
||||
"sinon-chai": "~2.4.0",
|
||||
"mocha": "~1.12.1",
|
||||
"chai-as-promised": "~3.3.1"
|
||||
"chai": "~1.7.2",
|
||||
"chai-as-promised": "~3.3.1",
|
||||
"sinon": "~1.7.3",
|
||||
"sinon-chai": "~2.4.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"when": "~2.3.0",
|
||||
@ -27,8 +27,7 @@
|
||||
"generic-pool-redux": "~0.1.0"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "mocha -R spec test/index.js",
|
||||
"doc": "groc -o docs --verbose lib/*.js lib/**/*.js clients/*.js clients/**/*.js knex.js"
|
||||
"test": "mocha -R spec test/index.js"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
|
||||
@ -128,9 +128,11 @@ exports.setLib = function(context) {
|
||||
|
||||
var parseResultDates = function(newData, localData) {
|
||||
_.each([newData, localData], function(item) {
|
||||
_.each(item, function(row, i) {
|
||||
item[i] = _.omit(row, 'created_at', 'updated_at');
|
||||
});
|
||||
if (_.isObject(item)) {
|
||||
_.each(item, function(row, i) {
|
||||
item[i] = _.omit(row, 'created_at', 'updated_at');
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
@ -86,8 +86,8 @@ module.exports = {
|
||||
email: 'test@example.com',
|
||||
logins: 1,
|
||||
about: 'Lorem ipsum Dolore labore incididunt enim.',
|
||||
created_at: 1379091525647,
|
||||
updated_at: 1379091525647,
|
||||
created_at: 1379108549602,
|
||||
updated_at: 1379108549602,
|
||||
phone: null,
|
||||
details: 'Lorem ipsum Minim nostrud Excepteur consectetur enim ut qui sint in veniam in nulla anim do cillum sunt voluptate Duis non incididunt.'
|
||||
},{
|
||||
@ -97,8 +97,8 @@ module.exports = {
|
||||
email: 'test2@example.com',
|
||||
logins: 1,
|
||||
about: 'Lorem ipsum Dolore labore incididunt enim.',
|
||||
created_at: 1379091525648,
|
||||
updated_at: 1379091525648,
|
||||
created_at: 1379108549604,
|
||||
updated_at: 1379108549604,
|
||||
phone: null,
|
||||
details: 'Lorem ipsum Minim nostrud Excepteur consectetur enim ut qui sint in veniam in nulla anim do cillum sunt voluptate Duis non incididunt.'
|
||||
},{
|
||||
@ -108,8 +108,8 @@ module.exports = {
|
||||
email: 'test3@example.com',
|
||||
logins: 2,
|
||||
about: 'Lorem ipsum Dolore labore incididunt enim.',
|
||||
created_at: 1379091525648,
|
||||
updated_at: 1379091525648,
|
||||
created_at: 1379108549604,
|
||||
updated_at: 1379108549604,
|
||||
phone: null,
|
||||
details: ''
|
||||
}]
|
||||
@ -268,8 +268,8 @@ module.exports = {
|
||||
email: 'test@example.com',
|
||||
logins: 1,
|
||||
about: 'Lorem ipsum Dolore labore incididunt enim.',
|
||||
created_at: 1379091525647,
|
||||
updated_at: 1379091525647,
|
||||
created_at: 1379108549602,
|
||||
updated_at: 1379108549602,
|
||||
phone: null,
|
||||
details: 'Lorem ipsum Minim nostrud Excepteur consectetur enim ut qui sint in veniam in nulla anim do cillum sunt voluptate Duis non incididunt.'
|
||||
},{
|
||||
@ -279,8 +279,8 @@ module.exports = {
|
||||
email: 'test2@example.com',
|
||||
logins: 1,
|
||||
about: 'Lorem ipsum Dolore labore incididunt enim.',
|
||||
created_at: 1379091525648,
|
||||
updated_at: 1379091525648,
|
||||
created_at: 1379108549604,
|
||||
updated_at: 1379108549604,
|
||||
phone: null,
|
||||
details: 'Lorem ipsum Minim nostrud Excepteur consectetur enim ut qui sint in veniam in nulla anim do cillum sunt voluptate Duis non incididunt.'
|
||||
},{
|
||||
@ -290,8 +290,8 @@ module.exports = {
|
||||
email: 'test3@example.com',
|
||||
logins: 2,
|
||||
about: 'Lorem ipsum Dolore labore incididunt enim.',
|
||||
created_at: 1379091525648,
|
||||
updated_at: 1379091525648,
|
||||
created_at: 1379108549604,
|
||||
updated_at: 1379108549604,
|
||||
phone: null,
|
||||
details: ''
|
||||
},{
|
||||
@ -301,8 +301,8 @@ module.exports = {
|
||||
email: 'test4@example.com',
|
||||
logins: 2,
|
||||
about: 'Lorem ipsum Dolore labore incididunt enim.',
|
||||
created_at: 1379091525650,
|
||||
updated_at: 1379091525650,
|
||||
created_at: 1379108549606,
|
||||
updated_at: 1379108549606,
|
||||
phone: null,
|
||||
details: null
|
||||
},{
|
||||
@ -312,8 +312,8 @@ module.exports = {
|
||||
email: 'test5@example.com',
|
||||
logins: 2,
|
||||
about: 'Lorem ipsum Dolore labore incididunt enim.',
|
||||
created_at: 1379091525650,
|
||||
updated_at: 1379091525650,
|
||||
created_at: 1379108549606,
|
||||
updated_at: 1379108549606,
|
||||
phone: null,
|
||||
details: null
|
||||
},{
|
||||
@ -323,8 +323,8 @@ module.exports = {
|
||||
email: 'test6@example.com',
|
||||
logins: 2,
|
||||
about: 'Lorem ipsum Dolore labore incididunt enim.',
|
||||
created_at: 1379091525652,
|
||||
updated_at: 1379091525652,
|
||||
created_at: 1379108549608,
|
||||
updated_at: 1379108549608,
|
||||
phone: null,
|
||||
details: null
|
||||
}]
|
||||
@ -519,8 +519,8 @@ module.exports = {
|
||||
email: 'test@example.com',
|
||||
logins: 1,
|
||||
about: 'Lorem ipsum Dolore labore incididunt enim.',
|
||||
created_at: 1379091525647,
|
||||
updated_at: 1379091525647,
|
||||
created_at: 1379108549602,
|
||||
updated_at: 1379108549602,
|
||||
phone: null,
|
||||
account_id: 1,
|
||||
details: 'Lorem ipsum Minim nostrud Excepteur consectetur enim ut qui sint in veniam in nulla anim do cillum sunt voluptate Duis non incididunt.',
|
||||
@ -533,8 +533,8 @@ module.exports = {
|
||||
email: 'test2@example.com',
|
||||
logins: 1,
|
||||
about: 'Lorem ipsum Dolore labore incididunt enim.',
|
||||
created_at: 1379091525648,
|
||||
updated_at: 1379091525648,
|
||||
created_at: 1379108549604,
|
||||
updated_at: 1379108549604,
|
||||
phone: null,
|
||||
account_id: 2,
|
||||
details: 'Lorem ipsum Minim nostrud Excepteur consectetur enim ut qui sint in veniam in nulla anim do cillum sunt voluptate Duis non incididunt.',
|
||||
@ -547,8 +547,8 @@ module.exports = {
|
||||
email: 'test3@example.com',
|
||||
logins: 2,
|
||||
about: 'Lorem ipsum Dolore labore incididunt enim.',
|
||||
created_at: 1379091525648,
|
||||
updated_at: 1379091525648,
|
||||
created_at: 1379108549604,
|
||||
updated_at: 1379108549604,
|
||||
phone: null,
|
||||
account_id: 3,
|
||||
details: '',
|
||||
@ -561,8 +561,8 @@ module.exports = {
|
||||
email: 'test4@example.com',
|
||||
logins: 2,
|
||||
about: 'Lorem ipsum Dolore labore incididunt enim.',
|
||||
created_at: 1379091525650,
|
||||
updated_at: 1379091525650,
|
||||
created_at: 1379108549606,
|
||||
updated_at: 1379108549606,
|
||||
phone: null,
|
||||
account_id: null,
|
||||
details: null,
|
||||
@ -575,8 +575,8 @@ module.exports = {
|
||||
email: 'test5@example.com',
|
||||
logins: 2,
|
||||
about: 'Lorem ipsum Dolore labore incididunt enim.',
|
||||
created_at: 1379091525650,
|
||||
updated_at: 1379091525650,
|
||||
created_at: 1379108549606,
|
||||
updated_at: 1379108549606,
|
||||
phone: null,
|
||||
account_id: null,
|
||||
details: null,
|
||||
@ -589,8 +589,8 @@ module.exports = {
|
||||
email: 'test6@example.com',
|
||||
logins: 2,
|
||||
about: 'Lorem ipsum Dolore labore incididunt enim.',
|
||||
created_at: 1379091525652,
|
||||
updated_at: 1379091525652,
|
||||
created_at: 1379108549608,
|
||||
updated_at: 1379108549608,
|
||||
phone: null,
|
||||
account_id: null,
|
||||
details: null,
|
||||
|
||||
@ -289,7 +289,7 @@ describe('Builder', function () {
|
||||
|
||||
it('takes a second argument to set the isReturning, using the returning method', function() {
|
||||
expect(builder.flags.returning).to.be.empty;
|
||||
builder.insert('insert', 'user_id');
|
||||
builder.insert({'insert': 'val'}, 'user_id');
|
||||
expect(builder.flags.returning).to.equal('user_id');
|
||||
});
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user