0.4.0 release

This commit is contained in:
Tim Griesser 2013-09-13 17:21:20 -04:00
parent 56d78d7172
commit b8dd337334
10 changed files with 53 additions and 59 deletions

3
.gitignore vendored
View File

@ -1,5 +1,4 @@
raw
*.sw?
.DS_Store
node_modules
.sublime-build
node_modules

View File

@ -1,3 +1,2 @@
docs/
index.html
.sublime-build
index.html

View File

@ -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">&#39;../base/schemagrammar&#39;</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">&#39;../../lib/helpers&#39;</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">&#39;mysql&#39;</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">&#39;mysql&#39;</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">&#39;No database connection exists for the query&#39;</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">&#39;SchemaBuilder&#39;</span><span class="p">)</span> <span class="p">{</span>

View File

@ -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">&#39;../base/schemagrammar&#39;</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">&#39;../../lib/helpers&#39;</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">&#39;postgresql&#39;</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">&#39;postgresql&#39;</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">&#39;No database connection exists for the query&#39;</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>

View File

@ -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">&#39;../../lib/schemainterface&#39;</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">&#39;../../lib/helpers&#39;</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">&#39;sqlite3&#39;</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">&#39;sqlite3&#39;</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">&#39;No database connection exists for the query&#39;</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">&#39;__rename_column__&#39;</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>

View File

@ -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">&#39;fs&#39;</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">&#39;path&#39;</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">&#39;underscore&#39;</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">&#39;underscore.string&#39;</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">&#39;mkdirp&#39;</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">&#39;when&#39;</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">&#39;underscore&#39;</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">&#39;when&#39;</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">&#39;when/node/function&#39;</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">&#39;when/sequence&#39;</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

View File

@ -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",

View File

@ -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');
});
}
});
};

View File

@ -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,

View File

@ -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');
});