connection.ts
1.05 KB
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
32
33
34
35
36
37
38
39
40
41
42
import { expectTypeOf } from "expect-type";
import { QueryTypes, Sequelize, SyncOptions } from 'sequelize';
import { User } from 'models/User';
export const sequelize = new Sequelize('uri');
sequelize.afterBulkSync((options: SyncOptions) => {
console.log('synced');
});
async function test() {
expectTypeOf(
await sequelize.query('SELECT * FROM `test`', { type: QueryTypes.SELECT })
).toEqualTypeOf<unknown[]>();
expectTypeOf(
await sequelize.query('INSERT into test set test=1', { type: QueryTypes.INSERT })
).toEqualTypeOf<[number, number]>();
}
sequelize.transaction<void>(async transaction => {
expectTypeOf(
await sequelize.query('SELECT * FROM `user`', {
retry: {
max: 123,
},
model: User,
transaction,
logging: true,
})
).toEqualTypeOf<User[]>();
});
sequelize.query(
'SELECT * FROM `user` WHERE status = $1',
{ bind: ['active'], type: QueryTypes.SELECT }
);
sequelize.query(
'SELECT * FROM `user` WHERE status = $status',
{ bind: { status: 'active' }, type: QueryTypes.SELECT }
);