forked from sequelize/sequelize
/
query-generator.test.js
31 lines (27 loc) · 1.03 KB
/
query-generator.test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
'use strict';
const Support = require('../../support'),
DataTypes = require('sequelize/lib/data-types'),
expectsql = Support.expectsql,
current = Support.sequelize,
sql = current.dialect.queryGenerator;
if (current.dialect.name === 'oracle') {
describe('createTable', () => {
const FooUser = current.define('user', {
intCol: {
type: DataTypes.INTEGER.UNSIGNED,
allowNull: false,
defaultValue: 0
}
},
{
schema: 'foo',
timestamps: false
});
describe('[Oracle Specific] QueryGenerator', () => {
it('checks for values >=0', () => {
expectsql(sql.createTableQuery(FooUser.getTableName(), sql.attributesToSQL(FooUser.rawAttributes), { }), {
default: 'BEGIN EXECUTE IMMEDIATE \'CREATE TABLE "foo"."users" ("id" NUMBER(*,0) GENERATED BY DEFAULT ON NULL AS IDENTITY, "intCol" INTEGER DEFAULT 0 NOT NULL check("intCol" >= 0),PRIMARY KEY ("id"))\'; EXCEPTION WHEN OTHERS THEN IF SQLCODE != -955 THEN RAISE; END IF; END;' });
});
});
});
}