mirror of
https://github.com/knex/knex.git
synced 2025-07-29 11:50:41 +00:00
87 lines
2.5 KiB
JavaScript
87 lines
2.5 KiB
JavaScript
/*global d*/
|
|
|
|
'use strict';
|
|
|
|
module.exports = function(knex) {
|
|
describe('Deletes', function() {
|
|
it('should handle deletes', function() {
|
|
return knex('accounts')
|
|
.where('id', 1)
|
|
.del()
|
|
.testSql(function(tester) {
|
|
tester('mysql', 'delete from `accounts` where `id` = ?', [1], 1);
|
|
tester('pg', 'delete from "accounts" where "id" = ?', [1], 1);
|
|
tester(
|
|
'pg-redshift',
|
|
'delete from "accounts" where "id" = ?',
|
|
[1],
|
|
1
|
|
);
|
|
tester('sqlite3', 'delete from `accounts` where `id` = ?', [1], 1);
|
|
tester('oracledb', 'delete from "accounts" where "id" = ?', [1], 1);
|
|
tester(
|
|
'mssql',
|
|
'delete from [accounts] where [id] = ?;select @@rowcount',
|
|
[1],
|
|
1
|
|
);
|
|
});
|
|
});
|
|
|
|
it('should allow returning for deletes in postgresql and mssql', function() {
|
|
return knex('accounts')
|
|
.where('id', 2)
|
|
.del('*')
|
|
.testSql(function(tester) {
|
|
tester('mysql', 'delete from `accounts` where `id` = ?', [2], 1);
|
|
tester(
|
|
'pg',
|
|
'delete from "accounts" where "id" = ? returning *',
|
|
[2],
|
|
[
|
|
{
|
|
id: '2',
|
|
first_name: 'Test',
|
|
last_name: 'User',
|
|
email: 'test2@example.com',
|
|
logins: 1,
|
|
balance: 0,
|
|
about: 'Lorem ipsum Dolore labore incididunt enim.',
|
|
created_at: d,
|
|
updated_at: d,
|
|
phone: null,
|
|
},
|
|
]
|
|
);
|
|
tester(
|
|
'pg-redshift',
|
|
'delete from "accounts" where "id" = ?',
|
|
[2],
|
|
1
|
|
);
|
|
tester('sqlite3', 'delete from `accounts` where `id` = ?', [2], 1);
|
|
tester('oracledb', 'delete from "accounts" where "id" = ?', [2], 1);
|
|
tester(
|
|
'mssql',
|
|
'delete from [accounts] output deleted.* where [id] = ?',
|
|
[2],
|
|
[
|
|
{
|
|
id: '2',
|
|
first_name: 'Test',
|
|
last_name: 'User',
|
|
email: 'test2@example.com',
|
|
logins: 1,
|
|
balance: 0,
|
|
about: 'Lorem ipsum Dolore labore incididunt enim.',
|
|
created_at: d,
|
|
updated_at: d,
|
|
phone: null,
|
|
},
|
|
]
|
|
);
|
|
});
|
|
});
|
|
});
|
|
};
|