rake-db 2.1.17 → 2.2.0

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 CHANGED
@@ -1,5 +1,23 @@
1
1
  # rake-db
2
2
 
3
+ ## 2.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 3f25b4d: Rename all model words to table words, because all models here are not models in OOP meaning
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [3f25b4d]
12
+ - pqb@0.8.0
13
+
14
+ ## 2.1.18
15
+
16
+ ### Patch Changes
17
+
18
+ - Updated dependencies
19
+ - pqb@0.7.13
20
+
3
21
  ## 2.1.17
4
22
 
5
23
  ### Patch Changes
package/dist/index.d.ts CHANGED
@@ -1,55 +1,32 @@
1
1
  import * as pqb from 'pqb';
2
- import { NoPrimaryKeyOption, QueryLogOptions, MaybeArray, AdapterOptions, EmptyObject, RawExpression, ColumnType, ForeignKey, SingleColumnIndexOptions, ColumnTypes, raw, ColumnsShape, IndexColumnOptions, IndexOptions, TransactionAdapter, QueryLogObject, QueryResultRow, QueryInput, TypeParsers, QueryResult, QueryArraysResult, ForeignKeyOptions, TextColumn } from 'pqb';
3
-
4
- declare type MigrationConfig = {
5
- migrationsPath: string;
6
- migrationsTable: string;
7
- requireTs(path: string): void;
8
- noPrimaryKey?: NoPrimaryKeyOption;
9
- } & QueryLogOptions;
10
-
11
- declare const createDb: (arg: MaybeArray<AdapterOptions>, config: MigrationConfig) => Promise<void>;
12
- declare const dropDb: (arg: MaybeArray<AdapterOptions>) => Promise<void>;
13
- declare const resetDb: (arg: MaybeArray<AdapterOptions>, config: MigrationConfig) => Promise<void>;
14
-
15
- declare const generate: (config: MigrationConfig, args: string[]) => Promise<void>;
16
-
17
- declare const migrate: (options: MaybeArray<AdapterOptions>, config: MigrationConfig, args?: string[]) => Promise<void>;
18
- declare const rollback: (options: MaybeArray<AdapterOptions>, config: MigrationConfig, args?: string[]) => Promise<void>;
2
+ import { EmptyObject, RawExpression, ColumnType, ColumnTypes, raw, ColumnsShape, TransactionAdapter, QueryLogObject, QueryResultRow, QueryInput, TypeParsers, QueryResult, QueryArraysResult, MaybeArray, IndexColumnOptions, IndexOptions, ForeignKeyOptions, TextColumn, NoPrimaryKeyOption, TableData, SingleColumnIndexOptions, QueryLogOptions, AdapterOptions } from 'pqb';
19
3
 
20
4
  declare function add(item: ColumnType, options?: {
21
5
  dropMode?: DropMode;
22
- }): ChangeItem;
6
+ }): RakeDbAst.ChangeTableItem.Column;
23
7
  declare function add(emptyObject: EmptyObject): EmptyObject;
24
8
  declare function add(items: Record<string, ColumnType>, options?: {
25
9
  dropMode?: DropMode;
26
- }): Record<string, ChangeItem>;
10
+ }): Record<string, RakeDbAst.ChangeTableItem.Column>;
11
+ declare type Change = RakeDbAst.ChangeTableItem.Change & ChangeOptions;
27
12
  declare type ChangeOptions = {
28
13
  usingUp?: RawExpression;
29
14
  usingDown?: RawExpression;
30
15
  };
31
- declare type ChangeArg = ColumnType | ['default', unknown | RawExpression] | ['nullable', boolean] | ['comment', string | null] | ['compression', string] | ['primaryKey', boolean] | ['foreignKey', ForeignKey<string, string[]>] | ['index', Omit<SingleColumnIndexOptions, 'column'>];
32
16
  declare type TableChangeMethods = typeof tableChangeMethods;
33
17
  declare const tableChangeMethods: {
34
18
  raw: (sql: string, values?: false | Record<string, unknown> | undefined) => RawExpression<ColumnType<unknown, pqb.Operators, unknown>>;
35
19
  add: typeof add;
36
20
  drop: typeof add;
37
- change(from: ChangeArg, to: ChangeArg, options?: ChangeOptions): ChangeItem;
38
- default(value: unknown | RawExpression): ChangeArg;
39
- nullable(): ChangeArg;
40
- nonNullable(): ChangeArg;
41
- comment(name: string | null): ChangeArg;
42
- rename(name: string): ChangeItem;
21
+ change(from: ColumnType | Change, to: ColumnType | Change, options?: ChangeOptions): Change;
22
+ default(value: unknown | RawExpression): Change;
23
+ nullable(): Change;
24
+ nonNullable(): Change;
25
+ comment(comment: string | null): Change;
26
+ rename(name: string): RakeDbAst.ChangeTableItem.Rename;
43
27
  };
44
- declare type ChangeItem = [
45
- action: 'add' | 'drop',
46
- item: ColumnType,
47
- options?: {
48
- dropMode?: DropMode;
49
- }
50
- ] | [action: 'change', from: ChangeArg, to: ChangeArg, options?: ChangeOptions] | ['rename', string];
51
28
  declare type TableChanger = MigrationColumnTypes & TableChangeMethods;
52
- declare type TableChangeData = Record<string, ChangeItem | EmptyObject>;
29
+ declare type TableChangeData = Record<string, RakeDbAst.ChangeTableItem.Column | RakeDbAst.ChangeTableItem.Rename | Change | EmptyObject>;
53
30
 
54
31
  declare type DropMode = 'CASCADE' | 'RESTRICT';
55
32
  declare type TableOptions = {
@@ -69,10 +46,6 @@ declare type ChangeTableOptions = {
69
46
  comment?: string | [string, string] | null;
70
47
  };
71
48
  declare type ChangeTableCallback = (t: TableChanger) => TableChangeData;
72
- declare type ColumnIndex = {
73
- columns: IndexColumnOptions[];
74
- options: IndexOptions;
75
- };
76
49
  declare type ColumnComment = {
77
50
  column: string;
78
51
  comment: string | null;
@@ -89,9 +62,9 @@ declare type ExtensionOptions = {
89
62
  };
90
63
  declare class Migration extends TransactionAdapter {
91
64
  up: boolean;
92
- options: MigrationConfig;
65
+ options: RakeDbConfig;
93
66
  log?: QueryLogObject;
94
- constructor(tx: TransactionAdapter, up: boolean, options: MigrationConfig);
67
+ constructor(tx: TransactionAdapter, up: boolean, options: RakeDbConfig);
95
68
  query<T extends QueryResultRow = any>(query: QueryInput, types?: TypeParsers, log?: QueryLogObject | undefined): Promise<QueryResult<T>>;
96
69
  arrays<R extends any[] = any[]>(query: QueryInput, types?: TypeParsers, log?: QueryLogObject | undefined): Promise<QueryArraysResult<R>>;
97
70
  createTable(tableName: string, options: TableOptions, fn: ColumnsShapeCallback): Promise<void>;
@@ -118,23 +91,115 @@ declare class Migration extends TransactionAdapter {
118
91
  name?: string;
119
92
  }): Promise<void>;
120
93
  renameColumn(tableName: string, from: string, to: string): Promise<void>;
121
- createSchema(schemaName: string): Promise<QueryResult<any>>;
122
- dropSchema(schemaName: string): Promise<QueryResult<any>>;
94
+ createSchema(schemaName: string): Promise<void>;
95
+ dropSchema(schemaName: string): Promise<void>;
123
96
  createExtension(name: string, options?: ExtensionOptions & {
124
97
  ifNotExists?: boolean;
125
- }): Promise<QueryResult<any>>;
98
+ }): Promise<void>;
126
99
  dropExtension(name: string, options?: {
127
100
  ifExists?: boolean;
128
101
  cascade?: boolean;
129
- }): Promise<QueryResult<any>>;
102
+ }): Promise<void>;
130
103
  tableExists(tableName: string): Promise<boolean>;
131
104
  columnExists(tableName: string, columnName: string): Promise<boolean>;
132
105
  constraintExists(constraintName: string): Promise<boolean>;
133
106
  }
134
107
 
108
+ declare type RakeDbAst = RakeDbAst.Table | RakeDbAst.ChangeTable | RakeDbAst.RenameTable | RakeDbAst.Schema | RakeDbAst.Extension;
109
+ declare namespace RakeDbAst {
110
+ type Table = {
111
+ type: 'table';
112
+ action: 'create' | 'drop';
113
+ name: string;
114
+ shape: ColumnsShape;
115
+ noPrimaryKey: NoPrimaryKeyOption;
116
+ dropMode?: DropMode;
117
+ comment?: string;
118
+ } & TableData;
119
+ type ChangeTable = {
120
+ type: 'changeTable';
121
+ name: string;
122
+ comment?: string | null;
123
+ shape: Record<string, ChangeTableItem>;
124
+ add: TableData;
125
+ drop: TableData;
126
+ };
127
+ type ChangeTableItem = ChangeTableItem.Column | ChangeTableItem.Change | ChangeTableItem.Rename;
128
+ namespace ChangeTableItem {
129
+ type Column = {
130
+ type: 'add' | 'drop';
131
+ item: ColumnType;
132
+ dropMode?: DropMode;
133
+ };
134
+ type Change = {
135
+ type: 'change';
136
+ from: ColumnChange;
137
+ to: ColumnChange;
138
+ using?: RawExpression;
139
+ };
140
+ type Rename = {
141
+ type: 'rename';
142
+ name: string;
143
+ };
144
+ }
145
+ type ColumnChange = {
146
+ column?: ColumnType;
147
+ type?: string;
148
+ collate?: string;
149
+ default?: unknown | RawExpression;
150
+ nullable?: boolean;
151
+ comment?: string | null;
152
+ compression?: string;
153
+ primaryKey?: boolean;
154
+ foreignKey?: {
155
+ table: string;
156
+ columns: string[];
157
+ } & ForeignKeyOptions;
158
+ index?: Omit<SingleColumnIndexOptions, 'column'>;
159
+ };
160
+ type RenameTable = {
161
+ type: 'renameTable';
162
+ from: string;
163
+ to: string;
164
+ };
165
+ type Schema = {
166
+ type: 'schema';
167
+ action: 'create' | 'drop';
168
+ name: string;
169
+ };
170
+ type Extension = {
171
+ type: 'extension';
172
+ action: 'create' | 'drop';
173
+ name: string;
174
+ schema?: string;
175
+ version?: string;
176
+ cascade?: boolean;
177
+ ifExists?: boolean;
178
+ ifNotExists?: boolean;
179
+ };
180
+ }
181
+
182
+ declare type RakeDbConfig = {
183
+ migrationsPath: string;
184
+ migrationsTable: string;
185
+ requireTs(path: string): void;
186
+ noPrimaryKey?: NoPrimaryKeyOption;
187
+ appCodeUpdater?: AppCodeUpdater;
188
+ } & QueryLogOptions;
189
+ declare type AppCodeUpdater = (ast: RakeDbAst) => Promise<void>;
190
+
191
+ declare const createDb: (arg: MaybeArray<AdapterOptions>, config: RakeDbConfig) => Promise<void>;
192
+ declare const dropDb: (arg: MaybeArray<AdapterOptions>) => Promise<void>;
193
+ declare const resetDb: (arg: MaybeArray<AdapterOptions>, config: RakeDbConfig) => Promise<void>;
194
+
195
+ declare const generate: (config: RakeDbConfig, args: string[]) => Promise<void>;
196
+
197
+ declare const migrate: (options: MaybeArray<AdapterOptions>, config: RakeDbConfig, args?: string[]) => Promise<void>;
198
+ declare const rollback: (options: MaybeArray<AdapterOptions>, config: RakeDbConfig, args?: string[]) => Promise<void>;
199
+
135
200
  declare type ChangeCallback = (db: Migration, up: boolean) => Promise<void>;
136
201
  declare const change: (fn: ChangeCallback) => void;
137
202
 
138
- declare const rakeDb: (options: MaybeArray<AdapterOptions>, partialConfig?: Partial<MigrationConfig>, args?: string[]) => Promise<void>;
203
+ declare const rakeDb: (options: MaybeArray<AdapterOptions>, partialConfig?: Partial<RakeDbConfig>, args?: string[]) => Promise<void>;
139
204
 
140
- export { ChangeTableCallback, ChangeTableOptions, ColumnComment, ColumnIndex, ColumnsShapeCallback, DropMode, ExtensionOptions, JoinTableOptions, Migration, MigrationColumnTypes, TableOptions, change, createDb, dropDb, generate, migrate, rakeDb, resetDb, rollback };
205
+ export { AppCodeUpdater, ChangeTableCallback, ChangeTableOptions, ColumnComment, ColumnsShapeCallback, DropMode, ExtensionOptions, JoinTableOptions, Migration, MigrationColumnTypes, RakeDbAst, RakeDbConfig, TableOptions, change, createDb, dropDb, generate, migrate, rakeDb, resetDb, rollback };