orchid-orm 1.5.15 → 1.5.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/dist/bin.js +19 -0
- package/dist/bin.js.map +1 -1
- package/dist/index.js +8 -3
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +8 -3
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -4
- package/src/bin/init.test.ts +2 -0
- package/src/bin/init.ts +21 -0
- package/src/codegen/testUtils.ts +6 -5
- package/src/codegen/updateMainFile.test.ts +35 -20
- package/src/codegen/updateMainFile.ts +8 -2
- package/src/codegen/updateTableFile/changeTable.test.ts +72 -72
- package/src/codegen/updateTableFile/createTable.test.ts +6 -6
- package/src/codegen/updateTableFile/renameTable.test.ts +17 -17
- package/src/codegen/updateTableFile/renameTable.ts +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "orchid-orm",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.17",
|
|
4
4
|
"description": "Postgres ORM",
|
|
5
5
|
"homepage": "https://orchid-orm.netlify.app/guide/orm-setup-and-overview.html",
|
|
6
6
|
"repository": {
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"author": "Roman Kushyn",
|
|
41
41
|
"license": "ISC",
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"pqb": "0.9.
|
|
43
|
+
"pqb": "0.9.11",
|
|
44
44
|
"prompts": "^2.4.2"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
@@ -52,10 +52,10 @@
|
|
|
52
52
|
"@types/prompts": "^2.4.2",
|
|
53
53
|
"dotenv": "^16.0.1",
|
|
54
54
|
"jest": "^28.1.2",
|
|
55
|
-
"orchid-orm-schema-to-zod": "0.2.
|
|
55
|
+
"orchid-orm-schema-to-zod": "0.2.17",
|
|
56
56
|
"pg": "^8.7.3",
|
|
57
57
|
"pg-transactional-tests": "^1.0.7",
|
|
58
|
-
"rake-db": "2.3.
|
|
58
|
+
"rake-db": "2.3.16",
|
|
59
59
|
"rimraf": "^3.0.2",
|
|
60
60
|
"rollup": "^2.79.0",
|
|
61
61
|
"rollup-plugin-dts": "^4.2.2",
|
package/src/bin/init.test.ts
CHANGED
|
@@ -48,6 +48,8 @@ const migrationScriptPath = path.join(dbDirPath, 'dbScripts.ts');
|
|
|
48
48
|
const migrationsPath = path.join(dbDirPath, 'migrations');
|
|
49
49
|
const seedPath = path.join(dbDirPath, 'seed.ts');
|
|
50
50
|
|
|
51
|
+
console.log = jest.fn();
|
|
52
|
+
|
|
51
53
|
describe('initOrchidORM', () => {
|
|
52
54
|
beforeEach(jest.clearAllMocks);
|
|
53
55
|
|
package/src/bin/init.ts
CHANGED
|
@@ -74,6 +74,8 @@ export const initOrchidORM = async (config: InitConfig) => {
|
|
|
74
74
|
await setupMigrationScript(config);
|
|
75
75
|
await createMigrations(config);
|
|
76
76
|
await createSeed();
|
|
77
|
+
|
|
78
|
+
greet();
|
|
77
79
|
};
|
|
78
80
|
|
|
79
81
|
const setupPackageJson = async (config: InitConfig) => {
|
|
@@ -485,3 +487,22 @@ export const seed = async () => {
|
|
|
485
487
|
`,
|
|
486
488
|
);
|
|
487
489
|
};
|
|
490
|
+
|
|
491
|
+
const greet = () => {
|
|
492
|
+
console.log(`
|
|
493
|
+
Thank you for trying Orchid ORM!
|
|
494
|
+
|
|
495
|
+
To finish setup, install dependencies:
|
|
496
|
+
|
|
497
|
+
> npm i
|
|
498
|
+
|
|
499
|
+
Enter the correct database credentials to the .env file,
|
|
500
|
+
then create the database:
|
|
501
|
+
|
|
502
|
+
> npm run db create
|
|
503
|
+
|
|
504
|
+
And run the migrations:
|
|
505
|
+
|
|
506
|
+
> npm run db migrate
|
|
507
|
+
`);
|
|
508
|
+
};
|
package/src/codegen/testUtils.ts
CHANGED
|
@@ -4,13 +4,14 @@ import path from 'path';
|
|
|
4
4
|
import fs from 'fs/promises';
|
|
5
5
|
|
|
6
6
|
export const asMock = (fn: unknown) => fn as jest.Mock;
|
|
7
|
-
export const tablePath = (table: string) =>
|
|
7
|
+
export const tablePath = (table: string) =>
|
|
8
|
+
path.resolve(`tables/${table}.table.ts`);
|
|
8
9
|
|
|
9
10
|
const makeAst = () => {
|
|
10
11
|
const addTable: RakeDbAst.Table = {
|
|
11
12
|
type: 'table',
|
|
12
13
|
action: 'create',
|
|
13
|
-
name: '
|
|
14
|
+
name: 'some',
|
|
14
15
|
shape: {
|
|
15
16
|
id: columnTypes.serial().primaryKey(),
|
|
16
17
|
},
|
|
@@ -26,8 +27,8 @@ const makeAst = () => {
|
|
|
26
27
|
|
|
27
28
|
const renameTable: RakeDbAst.RenameTable = {
|
|
28
29
|
type: 'renameTable',
|
|
29
|
-
from: '
|
|
30
|
-
to: '
|
|
30
|
+
from: 'some',
|
|
31
|
+
to: 'another',
|
|
31
32
|
};
|
|
32
33
|
|
|
33
34
|
const tableData = {
|
|
@@ -37,7 +38,7 @@ const makeAst = () => {
|
|
|
37
38
|
|
|
38
39
|
const changeTable: RakeDbAst.ChangeTable = {
|
|
39
40
|
type: 'changeTable',
|
|
40
|
-
name: '
|
|
41
|
+
name: 'some',
|
|
41
42
|
shape: {},
|
|
42
43
|
add: tableData,
|
|
43
44
|
drop: tableData,
|
|
@@ -31,14 +31,14 @@ describe('updateMainFile', () => {
|
|
|
31
31
|
});
|
|
32
32
|
|
|
33
33
|
testWritten(`import { orchidORM } from 'orchid-orm';
|
|
34
|
-
import {
|
|
34
|
+
import { SomeTable } from './tables/some.table';
|
|
35
35
|
|
|
36
36
|
export const db = orchidORM(
|
|
37
37
|
{
|
|
38
38
|
databaseURL: 'url',
|
|
39
39
|
},
|
|
40
40
|
{
|
|
41
|
-
|
|
41
|
+
some: SomeTable,
|
|
42
42
|
}
|
|
43
43
|
);
|
|
44
44
|
`);
|
|
@@ -55,10 +55,10 @@ export const db = orchidORM({}, {});
|
|
|
55
55
|
|
|
56
56
|
testWritten(`
|
|
57
57
|
import { orchidORM } from 'orchid-orm';
|
|
58
|
-
import {
|
|
58
|
+
import { SomeTable } from './tables/some.table';
|
|
59
59
|
|
|
60
60
|
export const db = orchidORM({}, {
|
|
61
|
-
|
|
61
|
+
some: SomeTable,
|
|
62
62
|
});
|
|
63
63
|
`);
|
|
64
64
|
});
|
|
@@ -74,10 +74,10 @@ export const db = custom({}, {});
|
|
|
74
74
|
|
|
75
75
|
testWritten(`
|
|
76
76
|
import { orchidORM as custom } from 'orchid-orm';
|
|
77
|
-
import {
|
|
77
|
+
import { SomeTable } from './tables/some.table';
|
|
78
78
|
|
|
79
79
|
export const db = custom({}, {
|
|
80
|
-
|
|
80
|
+
some: SomeTable,
|
|
81
81
|
});
|
|
82
82
|
`);
|
|
83
83
|
});
|
|
@@ -97,11 +97,11 @@ export const db = orchidORM({}, {
|
|
|
97
97
|
testWritten(`
|
|
98
98
|
import { orchidORM } from 'orchid-orm';
|
|
99
99
|
import { Some } from './tables/some';
|
|
100
|
-
import {
|
|
100
|
+
import { SomeTable } from './tables/some.table';
|
|
101
101
|
|
|
102
102
|
export const db = orchidORM({}, {
|
|
103
103
|
some: Some,
|
|
104
|
-
|
|
104
|
+
some: SomeTable,
|
|
105
105
|
});
|
|
106
106
|
`);
|
|
107
107
|
});
|
|
@@ -109,10 +109,10 @@ export const db = orchidORM({}, {
|
|
|
109
109
|
it('should handle object list without ending coma', async () => {
|
|
110
110
|
asMock(fs.readFile).mockResolvedValue(`
|
|
111
111
|
import { orchidORM } from 'orchid-orm';
|
|
112
|
-
import {
|
|
112
|
+
import { MyTable } from './tables/my.table';
|
|
113
113
|
|
|
114
114
|
export const db = orchidORM({}, {
|
|
115
|
-
|
|
115
|
+
my: MyTable,
|
|
116
116
|
});
|
|
117
117
|
`);
|
|
118
118
|
|
|
@@ -120,14 +120,29 @@ export const db = orchidORM({}, {
|
|
|
120
120
|
|
|
121
121
|
testWritten(`
|
|
122
122
|
import { orchidORM } from 'orchid-orm';
|
|
123
|
-
import {
|
|
124
|
-
import {
|
|
123
|
+
import { MyTable } from './tables/my.table';
|
|
124
|
+
import { SomeTable } from './tables/some.table';
|
|
125
125
|
|
|
126
126
|
export const db = orchidORM({}, {
|
|
127
|
-
|
|
128
|
-
|
|
127
|
+
my: MyTable,
|
|
128
|
+
some: SomeTable,
|
|
129
|
+
});
|
|
130
|
+
`);
|
|
131
|
+
});
|
|
132
|
+
|
|
133
|
+
it('should not add table if it is already added', async () => {
|
|
134
|
+
asMock(fs.readFile).mockResolvedValue(`
|
|
135
|
+
import { orchidORM } from 'orchid-orm';
|
|
136
|
+
import { SomeTable } from './tables/some.table';
|
|
137
|
+
|
|
138
|
+
export const db = orchidORM({}, {
|
|
139
|
+
some: SomeTable
|
|
129
140
|
});
|
|
130
141
|
`);
|
|
142
|
+
|
|
143
|
+
await updateMainFile(mainFilePath, tablePath, ast.addTable, options);
|
|
144
|
+
|
|
145
|
+
expect(fs.writeFile).not.toBeCalled();
|
|
131
146
|
});
|
|
132
147
|
});
|
|
133
148
|
|
|
@@ -135,10 +150,10 @@ export const db = orchidORM({}, {
|
|
|
135
150
|
it('should remove table', async () => {
|
|
136
151
|
asMock(fs.readFile).mockResolvedValue(`
|
|
137
152
|
import { orchidORM } from 'orchid-orm';
|
|
138
|
-
import {
|
|
153
|
+
import { SomeTable } from './tables/some.table';
|
|
139
154
|
|
|
140
155
|
export const db = orchidORM({}, {
|
|
141
|
-
|
|
156
|
+
some: SomeTable,
|
|
142
157
|
});
|
|
143
158
|
`);
|
|
144
159
|
|
|
@@ -155,7 +170,7 @@ export const db = orchidORM({}, {
|
|
|
155
170
|
it('should remove aliased import', async () => {
|
|
156
171
|
asMock(fs.readFile).mockResolvedValue(`
|
|
157
172
|
import { orchidORM } from 'orchid-orm';
|
|
158
|
-
import {
|
|
173
|
+
import { SomeTable as koko } from './tables/some.table';
|
|
159
174
|
|
|
160
175
|
export const db = orchidORM({}, {
|
|
161
176
|
koko: koko,
|
|
@@ -175,7 +190,7 @@ export const db = orchidORM({}, {
|
|
|
175
190
|
it('should remove short form of key and value', async () => {
|
|
176
191
|
asMock(fs.readFile).mockResolvedValue(`
|
|
177
192
|
import { orchidORM } from 'orchid-orm';
|
|
178
|
-
import {
|
|
193
|
+
import { SomeTable as koko } from './tables/some.table';
|
|
179
194
|
|
|
180
195
|
export const db = orchidORM({}, {
|
|
181
196
|
koko,
|
|
@@ -196,12 +211,12 @@ export const db = orchidORM({}, {
|
|
|
196
211
|
asMock(fs.readFile).mockResolvedValue(`
|
|
197
212
|
import { orchidORM } from 'orchid-orm';
|
|
198
213
|
import { One } from './tables/one';
|
|
199
|
-
import {
|
|
214
|
+
import { SomeTable } from './tables/some.table';
|
|
200
215
|
import { Two } from './tables/two';
|
|
201
216
|
|
|
202
217
|
export const db = orchidORM({}, {
|
|
203
218
|
one,
|
|
204
|
-
|
|
219
|
+
some: SomeTable,
|
|
205
220
|
two,
|
|
206
221
|
});
|
|
207
222
|
`);
|
|
@@ -117,11 +117,17 @@ const createTable = (
|
|
|
117
117
|
ast: RakeDbAst.Table,
|
|
118
118
|
) => {
|
|
119
119
|
const key = toCamelCase(ast.name);
|
|
120
|
-
const value = toPascalCase(ast.name)
|
|
120
|
+
const value = `${toPascalCase(ast.name)}Table`;
|
|
121
121
|
|
|
122
122
|
const changes = new FileChanges(content);
|
|
123
123
|
|
|
124
124
|
const importPath = getImportPath(filePath, tablePath(ast.name));
|
|
125
|
+
|
|
126
|
+
const existing = Array.from(
|
|
127
|
+
ts.import.iterateWithSource(statements, importPath),
|
|
128
|
+
);
|
|
129
|
+
if (existing.length) return;
|
|
130
|
+
|
|
125
131
|
const importPos = ts.import.getEndPos(statements);
|
|
126
132
|
changes.add(
|
|
127
133
|
importPos,
|
|
@@ -147,7 +153,7 @@ const dropTable = (
|
|
|
147
153
|
const changes = new FileChanges(content);
|
|
148
154
|
|
|
149
155
|
const importPath = getImportPath(filePath, tablePath(ast.name));
|
|
150
|
-
const tableClassName = toPascalCase(ast.name)
|
|
156
|
+
const tableClassName = `${toPascalCase(ast.name)}Table`;
|
|
151
157
|
const importNames: string[] = [];
|
|
152
158
|
for (const node of ts.import.iterateWithSource(statements, importPath)) {
|
|
153
159
|
changes.remove(node.pos, node.end);
|
|
@@ -16,7 +16,7 @@ const baseTableName = 'BaseTable';
|
|
|
16
16
|
const params = { baseTablePath, baseTableName, tablePath };
|
|
17
17
|
const t = columnTypes;
|
|
18
18
|
|
|
19
|
-
const testWritten = makeTestWritten(tablePath('
|
|
19
|
+
const testWritten = makeTestWritten(tablePath('some'));
|
|
20
20
|
|
|
21
21
|
const tableData = newTableData();
|
|
22
22
|
|
|
@@ -30,7 +30,7 @@ const change = (
|
|
|
30
30
|
});
|
|
31
31
|
|
|
32
32
|
class Table {
|
|
33
|
-
table = '
|
|
33
|
+
table = 'some';
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
describe('updateTableFile', () => {
|
|
@@ -42,8 +42,8 @@ describe('updateTableFile', () => {
|
|
|
42
42
|
asMock(fs.readFile)
|
|
43
43
|
.mockResolvedValue(`import { BaseTable } from '../baseTable';
|
|
44
44
|
|
|
45
|
-
export class
|
|
46
|
-
table = '
|
|
45
|
+
export class SomeTable extends BaseTable {
|
|
46
|
+
table = 'some';
|
|
47
47
|
columns = this.setColumns((t) => ({}));
|
|
48
48
|
}`);
|
|
49
49
|
|
|
@@ -59,8 +59,8 @@ export class TableTable extends BaseTable {
|
|
|
59
59
|
|
|
60
60
|
testWritten(`import { BaseTable } from '../baseTable';
|
|
61
61
|
|
|
62
|
-
export class
|
|
63
|
-
table = '
|
|
62
|
+
export class SomeTable extends BaseTable {
|
|
63
|
+
table = 'some';
|
|
64
64
|
columns = this.setColumns((t) => ({
|
|
65
65
|
name: t.text(1, 10),
|
|
66
66
|
}));
|
|
@@ -71,8 +71,8 @@ export class TableTable extends BaseTable {
|
|
|
71
71
|
asMock(fs.readFile)
|
|
72
72
|
.mockResolvedValue(`import { BaseTable } from '../baseTable';
|
|
73
73
|
|
|
74
|
-
export class
|
|
75
|
-
table = '
|
|
74
|
+
export class SomeTable extends BaseTable {
|
|
75
|
+
table = 'some';
|
|
76
76
|
columns = this.setColumns((t) => ({
|
|
77
77
|
id: t.serial().primaryKey(),
|
|
78
78
|
}));
|
|
@@ -90,8 +90,8 @@ export class TableTable extends BaseTable {
|
|
|
90
90
|
|
|
91
91
|
testWritten(`import { BaseTable } from '../baseTable';
|
|
92
92
|
|
|
93
|
-
export class
|
|
94
|
-
table = '
|
|
93
|
+
export class SomeTable extends BaseTable {
|
|
94
|
+
table = 'some';
|
|
95
95
|
columns = this.setColumns((t) => ({
|
|
96
96
|
id: t.serial().primaryKey(),
|
|
97
97
|
name: t.text(1, 10),
|
|
@@ -103,8 +103,8 @@ export class TableTable extends BaseTable {
|
|
|
103
103
|
asMock(fs.readFile)
|
|
104
104
|
.mockResolvedValue(`import { BaseTable } from '../baseTable';
|
|
105
105
|
|
|
106
|
-
export class
|
|
107
|
-
table = '
|
|
106
|
+
export class SomeTable extends BaseTable {
|
|
107
|
+
table = 'some';
|
|
108
108
|
columns = this.setColumns((t) => ({
|
|
109
109
|
id: t.serial().primaryKey(),
|
|
110
110
|
}));
|
|
@@ -123,8 +123,8 @@ export class TableTable extends BaseTable {
|
|
|
123
123
|
|
|
124
124
|
testWritten(`import { BaseTable } from '../baseTable';
|
|
125
125
|
|
|
126
|
-
export class
|
|
127
|
-
table = '
|
|
126
|
+
export class SomeTable extends BaseTable {
|
|
127
|
+
table = 'some';
|
|
128
128
|
columns = this.setColumns((t) => ({
|
|
129
129
|
id: t.serial().primaryKey(),
|
|
130
130
|
name: t.text(1, 10),
|
|
@@ -137,8 +137,8 @@ export class TableTable extends BaseTable {
|
|
|
137
137
|
asMock(fs.readFile)
|
|
138
138
|
.mockResolvedValue(`import { BaseTable } from '../baseTable';
|
|
139
139
|
|
|
140
|
-
export class
|
|
141
|
-
table = '
|
|
140
|
+
export class SomeTable extends BaseTable {
|
|
141
|
+
table = 'some';
|
|
142
142
|
columns = this.setColumns((t) => ({
|
|
143
143
|
id: t.serial().primaryKey()
|
|
144
144
|
}));
|
|
@@ -157,8 +157,8 @@ export class TableTable extends BaseTable {
|
|
|
157
157
|
|
|
158
158
|
testWritten(`import { BaseTable } from '../baseTable';
|
|
159
159
|
|
|
160
|
-
export class
|
|
161
|
-
table = '
|
|
160
|
+
export class SomeTable extends BaseTable {
|
|
161
|
+
table = 'some';
|
|
162
162
|
columns = this.setColumns((t) => ({
|
|
163
163
|
id: t.serial().primaryKey(),
|
|
164
164
|
name: t.text(1, 10),
|
|
@@ -171,8 +171,8 @@ export class TableTable extends BaseTable {
|
|
|
171
171
|
asMock(fs.readFile)
|
|
172
172
|
.mockResolvedValue(`import { BaseTable } from '../baseTable';
|
|
173
173
|
|
|
174
|
-
export class
|
|
175
|
-
table = '
|
|
174
|
+
export class SomeTable extends BaseTable {
|
|
175
|
+
table = 'some';
|
|
176
176
|
columns = this.setColumns((t) => ({
|
|
177
177
|
id: t.serial().primaryKey(),
|
|
178
178
|
name: t.text(),
|
|
@@ -192,8 +192,8 @@ export class TableTable extends BaseTable {
|
|
|
192
192
|
|
|
193
193
|
testWritten(`import { BaseTable } from '../baseTable';
|
|
194
194
|
|
|
195
|
-
export class
|
|
196
|
-
table = '
|
|
195
|
+
export class SomeTable extends BaseTable {
|
|
196
|
+
table = 'some';
|
|
197
197
|
columns = this.setColumns((t) => ({
|
|
198
198
|
id: t.serial().primaryKey(),
|
|
199
199
|
active: t.boolean(),
|
|
@@ -205,8 +205,8 @@ export class TableTable extends BaseTable {
|
|
|
205
205
|
asMock(fs.readFile)
|
|
206
206
|
.mockResolvedValue(`import { BaseTable } from '../baseTable';
|
|
207
207
|
|
|
208
|
-
export class
|
|
209
|
-
table = '
|
|
208
|
+
export class SomeTable extends BaseTable {
|
|
209
|
+
table = 'some';
|
|
210
210
|
columns = this.setColumns((t) => ({
|
|
211
211
|
id: t.serial().primaryKey(),
|
|
212
212
|
name: t.text(),
|
|
@@ -225,8 +225,8 @@ export class TableTable extends BaseTable {
|
|
|
225
225
|
|
|
226
226
|
testWritten(`import { BaseTable } from '../baseTable';
|
|
227
227
|
|
|
228
|
-
export class
|
|
229
|
-
table = '
|
|
228
|
+
export class SomeTable extends BaseTable {
|
|
229
|
+
table = 'some';
|
|
230
230
|
columns = this.setColumns((t) => ({
|
|
231
231
|
id: t.serial().primaryKey(),
|
|
232
232
|
}));
|
|
@@ -237,8 +237,8 @@ export class TableTable extends BaseTable {
|
|
|
237
237
|
asMock(fs.readFile)
|
|
238
238
|
.mockResolvedValue(`import { BaseTable } from '../baseTable';
|
|
239
239
|
|
|
240
|
-
export class
|
|
241
|
-
table = '
|
|
240
|
+
export class SomeTable extends BaseTable {
|
|
241
|
+
table = 'some';
|
|
242
242
|
columns = this.setColumns((t) => ({
|
|
243
243
|
name: t.integer(),
|
|
244
244
|
}));
|
|
@@ -263,8 +263,8 @@ export class TableTable extends BaseTable {
|
|
|
263
263
|
|
|
264
264
|
testWritten(`import { BaseTable } from '../baseTable';
|
|
265
265
|
|
|
266
|
-
export class
|
|
267
|
-
table = '
|
|
266
|
+
export class SomeTable extends BaseTable {
|
|
267
|
+
table = 'some';
|
|
268
268
|
columns = this.setColumns((t) => ({
|
|
269
269
|
name: t.text(1, 10),
|
|
270
270
|
}));
|
|
@@ -275,8 +275,8 @@ export class TableTable extends BaseTable {
|
|
|
275
275
|
asMock(fs.readFile)
|
|
276
276
|
.mockResolvedValue(`import { BaseTable } from '../baseTable';
|
|
277
277
|
|
|
278
|
-
export class
|
|
279
|
-
table = '
|
|
278
|
+
export class SomeTable extends BaseTable {
|
|
279
|
+
table = 'some';
|
|
280
280
|
columns = this.setColumns((t) => ({
|
|
281
281
|
changeCollate: t.text().collate('one'),
|
|
282
282
|
addCollate: t.text(),
|
|
@@ -318,8 +318,8 @@ export class TableTable extends BaseTable {
|
|
|
318
318
|
|
|
319
319
|
testWritten(`import { BaseTable } from '../baseTable';
|
|
320
320
|
|
|
321
|
-
export class
|
|
322
|
-
table = '
|
|
321
|
+
export class SomeTable extends BaseTable {
|
|
322
|
+
table = 'some';
|
|
323
323
|
columns = this.setColumns((t) => ({
|
|
324
324
|
changeCollate: t.text().collate('two'),
|
|
325
325
|
addCollate: t.text().collate('two'),
|
|
@@ -341,8 +341,8 @@ export class TableTable extends BaseTable {
|
|
|
341
341
|
describe('primaryKey', () => {
|
|
342
342
|
const result = `import { BaseTable } from '../baseTable';
|
|
343
343
|
|
|
344
|
-
export class
|
|
345
|
-
table = '
|
|
344
|
+
export class SomeTable extends BaseTable {
|
|
345
|
+
table = 'some';
|
|
346
346
|
columns = this.setColumns((t) => ({
|
|
347
347
|
...t.primaryKey(['one', 'two'], { name: 'name' }),
|
|
348
348
|
}));
|
|
@@ -360,8 +360,8 @@ export class TableTable extends BaseTable {
|
|
|
360
360
|
asMock(fs.readFile)
|
|
361
361
|
.mockResolvedValue(`import { BaseTable } from '../baseTable';
|
|
362
362
|
|
|
363
|
-
export class
|
|
364
|
-
table = '
|
|
363
|
+
export class SomeTable extends BaseTable {
|
|
364
|
+
table = 'some';
|
|
365
365
|
columns = this.setColumns((t) => ({
|
|
366
366
|
...t.primaryKey(['foo', 'bar'], { name: 'baz' }),
|
|
367
367
|
}));
|
|
@@ -382,8 +382,8 @@ export class TableTable extends BaseTable {
|
|
|
382
382
|
asMock(fs.readFile)
|
|
383
383
|
.mockResolvedValue(`import { BaseTable } from '../baseTable';
|
|
384
384
|
|
|
385
|
-
export class
|
|
386
|
-
table = '
|
|
385
|
+
export class SomeTable extends BaseTable {
|
|
386
|
+
table = 'some';
|
|
387
387
|
columns = this.setColumns((t) => ({
|
|
388
388
|
}));
|
|
389
389
|
}`);
|
|
@@ -405,8 +405,8 @@ export class TableTable extends BaseTable {
|
|
|
405
405
|
asMock(fs.readFile)
|
|
406
406
|
.mockResolvedValue(`import { BaseTable } from '../baseTable';
|
|
407
407
|
|
|
408
|
-
export class
|
|
409
|
-
table = '
|
|
408
|
+
export class SomeTable extends BaseTable {
|
|
409
|
+
table = 'some';
|
|
410
410
|
columns = this.setColumns((t) => ({
|
|
411
411
|
name: t.text().index({ order: 'one' }).index({ collate: 'en_US' })
|
|
412
412
|
}));
|
|
@@ -428,8 +428,8 @@ export class TableTable extends BaseTable {
|
|
|
428
428
|
|
|
429
429
|
testWritten(`import { BaseTable } from '../baseTable';
|
|
430
430
|
|
|
431
|
-
export class
|
|
432
|
-
table = '
|
|
431
|
+
export class SomeTable extends BaseTable {
|
|
432
|
+
table = 'some';
|
|
433
433
|
columns = this.setColumns((t) => ({
|
|
434
434
|
name: t.text().index({
|
|
435
435
|
order: 'two',
|
|
@@ -444,8 +444,8 @@ export class TableTable extends BaseTable {
|
|
|
444
444
|
asMock(fs.readFile)
|
|
445
445
|
.mockResolvedValue(`import { BaseTable } from '../baseTable';
|
|
446
446
|
|
|
447
|
-
export class
|
|
448
|
-
table = '
|
|
447
|
+
export class SomeTable extends BaseTable {
|
|
448
|
+
table = 'some';
|
|
449
449
|
columns = this.setColumns((t) => ({
|
|
450
450
|
name: t.text(),
|
|
451
451
|
}));
|
|
@@ -467,8 +467,8 @@ export class TableTable extends BaseTable {
|
|
|
467
467
|
|
|
468
468
|
testWritten(`import { BaseTable } from '../baseTable';
|
|
469
469
|
|
|
470
|
-
export class
|
|
471
|
-
table = '
|
|
470
|
+
export class SomeTable extends BaseTable {
|
|
471
|
+
table = 'some';
|
|
472
472
|
columns = this.setColumns((t) => ({
|
|
473
473
|
name: t.text().index({
|
|
474
474
|
order: 'two',
|
|
@@ -481,8 +481,8 @@ export class TableTable extends BaseTable {
|
|
|
481
481
|
|
|
482
482
|
const result = `import { BaseTable } from '../baseTable';
|
|
483
483
|
|
|
484
|
-
export class
|
|
485
|
-
table = '
|
|
484
|
+
export class SomeTable extends BaseTable {
|
|
485
|
+
table = 'some';
|
|
486
486
|
columns = this.setColumns((t) => ({
|
|
487
487
|
...t.index(['6']),
|
|
488
488
|
...t.index(['7', '8']),
|
|
@@ -523,8 +523,8 @@ export class TableTable extends BaseTable {
|
|
|
523
523
|
asMock(fs.readFile)
|
|
524
524
|
.mockResolvedValue(`import { BaseTable } from '../baseTable';
|
|
525
525
|
|
|
526
|
-
export class
|
|
527
|
-
table = '
|
|
526
|
+
export class SomeTable extends BaseTable {
|
|
527
|
+
table = 'some';
|
|
528
528
|
columns = this.setColumns((t) => ({
|
|
529
529
|
...t.index('1'),
|
|
530
530
|
...t.index(['2', '3']),
|
|
@@ -564,8 +564,8 @@ export class TableTable extends BaseTable {
|
|
|
564
564
|
asMock(fs.readFile)
|
|
565
565
|
.mockResolvedValue(`import { BaseTable } from '../baseTable';
|
|
566
566
|
|
|
567
|
-
export class
|
|
568
|
-
table = '
|
|
567
|
+
export class SomeTable extends BaseTable {
|
|
568
|
+
table = 'some';
|
|
569
569
|
columns = this.setColumns((t) => ({
|
|
570
570
|
}));
|
|
571
571
|
}`);
|
|
@@ -587,8 +587,8 @@ export class TableTable extends BaseTable {
|
|
|
587
587
|
asMock(fs.readFile)
|
|
588
588
|
.mockResolvedValue(`import { BaseTable } from '../baseTable';
|
|
589
589
|
|
|
590
|
-
export class
|
|
591
|
-
table = '
|
|
590
|
+
export class SomeTable extends BaseTable {
|
|
591
|
+
table = 'some';
|
|
592
592
|
columns = this.setColumns((t) => ({
|
|
593
593
|
name: t.text().foreignKey('a', 'b').foreignKey('c', 'd')
|
|
594
594
|
}));
|
|
@@ -620,8 +620,8 @@ export class TableTable extends BaseTable {
|
|
|
620
620
|
|
|
621
621
|
testWritten(`import { BaseTable } from '../baseTable';
|
|
622
622
|
|
|
623
|
-
export class
|
|
624
|
-
table = '
|
|
623
|
+
export class SomeTable extends BaseTable {
|
|
624
|
+
table = 'some';
|
|
625
625
|
columns = this.setColumns((t) => ({
|
|
626
626
|
name: t.text().foreignKey('e', 'f').foreignKey('g', 'h'),
|
|
627
627
|
}));
|
|
@@ -632,8 +632,8 @@ export class TableTable extends BaseTable {
|
|
|
632
632
|
asMock(fs.readFile)
|
|
633
633
|
.mockResolvedValue(`import { BaseTable } from '../baseTable';
|
|
634
634
|
|
|
635
|
-
export class
|
|
636
|
-
table = '
|
|
635
|
+
export class SomeTable extends BaseTable {
|
|
636
|
+
table = 'some';
|
|
637
637
|
columns = this.setColumns((t) => ({
|
|
638
638
|
name: t.text(),
|
|
639
639
|
}));
|
|
@@ -660,8 +660,8 @@ export class TableTable extends BaseTable {
|
|
|
660
660
|
|
|
661
661
|
testWritten(`import { BaseTable } from '../baseTable';
|
|
662
662
|
|
|
663
|
-
export class
|
|
664
|
-
table = '
|
|
663
|
+
export class SomeTable extends BaseTable {
|
|
664
|
+
table = 'some';
|
|
665
665
|
columns = this.setColumns((t) => ({
|
|
666
666
|
name: t.text().foreignKey('e', 'f').foreignKey('g', 'h'),
|
|
667
667
|
}));
|
|
@@ -670,12 +670,12 @@ export class TableTable extends BaseTable {
|
|
|
670
670
|
|
|
671
671
|
const result = `import { BaseTable } from '../baseTable';
|
|
672
672
|
|
|
673
|
-
export class
|
|
674
|
-
table = '
|
|
673
|
+
export class SomeTable extends BaseTable {
|
|
674
|
+
table = 'some';
|
|
675
675
|
columns = this.setColumns((t) => ({
|
|
676
676
|
...t.foreignKey(
|
|
677
677
|
['7'],
|
|
678
|
-
'
|
|
678
|
+
'some',
|
|
679
679
|
['8'],
|
|
680
680
|
{
|
|
681
681
|
name: 'first',
|
|
@@ -700,7 +700,7 @@ export class TableTable extends BaseTable {
|
|
|
700
700
|
foreignKeys: [
|
|
701
701
|
{
|
|
702
702
|
columns: ['7'],
|
|
703
|
-
fnOrTable: '
|
|
703
|
+
fnOrTable: 'some',
|
|
704
704
|
foreignColumns: ['8'],
|
|
705
705
|
options: {
|
|
706
706
|
name: 'first',
|
|
@@ -724,8 +724,8 @@ export class TableTable extends BaseTable {
|
|
|
724
724
|
asMock(fs.readFile)
|
|
725
725
|
.mockResolvedValue(`import { BaseTable } from '../baseTable';
|
|
726
726
|
|
|
727
|
-
export class
|
|
728
|
-
table = '
|
|
727
|
+
export class SomeTable extends BaseTable {
|
|
728
|
+
table = 'some';
|
|
729
729
|
columns = this.setColumns((t) => ({
|
|
730
730
|
...t.foreignKey(
|
|
731
731
|
['1'],
|
|
@@ -734,7 +734,7 @@ export class TableTable extends BaseTable {
|
|
|
734
734
|
),
|
|
735
735
|
...t.foreignKey(
|
|
736
736
|
['3', '4'],
|
|
737
|
-
'
|
|
737
|
+
'some',
|
|
738
738
|
['5', '6'],
|
|
739
739
|
{
|
|
740
740
|
name: 'foreignKeyName',
|
|
@@ -761,7 +761,7 @@ export class TableTable extends BaseTable {
|
|
|
761
761
|
},
|
|
762
762
|
{
|
|
763
763
|
columns: ['3', '4'],
|
|
764
|
-
fnOrTable: '
|
|
764
|
+
fnOrTable: 'some',
|
|
765
765
|
foreignColumns: ['5', '6'],
|
|
766
766
|
options: {
|
|
767
767
|
name: 'foreignKeyName',
|
|
@@ -784,8 +784,8 @@ export class TableTable extends BaseTable {
|
|
|
784
784
|
asMock(fs.readFile)
|
|
785
785
|
.mockResolvedValue(`import { BaseTable } from '../baseTable';
|
|
786
786
|
|
|
787
|
-
export class
|
|
788
|
-
table = '
|
|
787
|
+
export class SomeTable extends BaseTable {
|
|
788
|
+
table = 'some';
|
|
789
789
|
columns = this.setColumns((t) => ({
|
|
790
790
|
}));
|
|
791
791
|
}`);
|