@ignisia/sql 0.2.0 → 0.2.2
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/dist/cjs/column/constants.js +101 -0
- package/dist/cjs/column/index.d.cts +42 -0
- package/dist/cjs/column/index.js +107 -0
- package/dist/cjs/column/types.d.cts +43 -0
- package/dist/cjs/column/types.js +4 -0
- package/dist/cjs/database/alter.d.cts +52 -0
- package/dist/cjs/database/alter.js +93 -0
- package/dist/cjs/database/column.d.cts +24 -0
- package/dist/cjs/database/column.js +37 -0
- package/dist/cjs/database/contract.d.cts +8 -0
- package/dist/cjs/database/contract.js +2 -0
- package/dist/cjs/database/index.d.cts +8 -0
- package/dist/cjs/database/index.js +94 -0
- package/dist/cjs/database/table.d.cts +21 -0
- package/dist/cjs/database/table.js +41 -0
- package/dist/cjs/database/types.d.cts +7 -0
- package/dist/cjs/database/types.js +2 -0
- package/dist/cjs/database/wrapper.d.cts +36 -0
- package/dist/cjs/database/wrapper.js +95 -0
- package/dist/cjs/index---zaMa69.d.cts +103 -0
- package/dist/cjs/index-CwiFQh0I.d.cts +358 -0
- package/dist/cjs/index.d.cts +10 -0
- package/dist/cjs/index.js +30 -0
- package/dist/cjs/migration/index.d.cts +30 -0
- package/dist/cjs/migration/index.js +50 -0
- package/dist/cjs/migration/runner.js +58 -0
- package/dist/cjs/migration/type.d.cts +19 -0
- package/dist/cjs/migration/type.js +2 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/query/builder.d.cts +14 -0
- package/dist/cjs/query/builder.js +71 -0
- package/dist/cjs/query/condition.d.cts +7 -0
- package/dist/cjs/query/condition.js +106 -0
- package/dist/cjs/query/constants.js +64 -0
- package/dist/cjs/query/contract.d.cts +7 -0
- package/dist/cjs/query/contract.js +2 -0
- package/dist/cjs/query/helper.d.cts +7 -0
- package/dist/cjs/query/helper.js +36 -0
- package/dist/cjs/query/index.d.cts +7 -0
- package/dist/cjs/query/index.js +197 -0
- package/dist/cjs/query/join.d.cts +16 -0
- package/dist/cjs/query/join.js +18 -0
- package/dist/cjs/query/sql.d.cts +17 -0
- package/dist/cjs/query/sql.js +104 -0
- package/dist/cjs/query/types.d.cts +7 -0
- package/dist/cjs/query/types.js +2 -0
- package/dist/cjs/query/utilities.d.cts +34 -0
- package/dist/cjs/query/utilities.js +184 -0
- package/dist/cjs/table/constants.js +8 -0
- package/dist/cjs/table/index.d.cts +7 -0
- package/dist/cjs/table/index.js +54 -0
- package/dist/cjs/table/types.d.cts +7 -0
- package/dist/cjs/table/types.js +2 -0
- package/dist/cjs/table/utilities.d.cts +7 -0
- package/dist/cjs/table/utilities.js +55 -0
- package/dist/cjs/types.js +2 -0
- package/dist/cjs/utilities.js +21 -0
- package/dist/esm/column/constants.d.ts +97 -0
- package/dist/{chunk-G3LSCLIQ.js → esm/column/constants.js} +2 -7
- package/dist/{chunk-GY7R637S.js → esm/column/index.js} +3 -10
- package/dist/esm/column/types.js +1 -0
- package/dist/{chunk-V4OMHVJN.js → esm/database/alter.js} +2 -10
- package/dist/{chunk-JF7OSNH4.js → esm/database/column.js} +2 -8
- package/dist/esm/database/contract.js +1 -0
- package/dist/{chunk-UI7U54OT.js → esm/database/index.js} +7 -26
- package/dist/{chunk-OYM2PNYZ.js → esm/database/table.js} +2 -8
- package/dist/esm/database/types.js +1 -0
- package/dist/{chunk-HKTHKQLK.js → esm/database/wrapper.js} +6 -11
- package/dist/esm/index.js +5 -0
- package/dist/{chunk-CIWX3UCZ.js → esm/migration/index.js} +1 -3
- package/dist/esm/migration/runner.d.ts +3 -0
- package/dist/{migration → esm/migration}/runner.js +4 -16
- package/dist/esm/migration/type.js +1 -0
- package/dist/esm/query/builder.js +67 -0
- package/dist/esm/query/condition.js +98 -0
- package/dist/esm/query/constants.d.ts +63 -0
- package/dist/{chunk-62FKD35V.js → esm/query/constants.js} +1 -10
- package/dist/esm/query/contract.js +1 -0
- package/dist/esm/query/helper.js +31 -0
- package/dist/esm/query/index.js +196 -0
- package/dist/{chunk-FYSNJAGD.js → esm/query/join.js} +1 -3
- package/dist/esm/query/sql.js +100 -0
- package/dist/esm/query/types.js +1 -0
- package/dist/esm/query/utilities.js +176 -0
- package/dist/esm/table/constants.d.ts +7 -0
- package/dist/{chunk-GLOHF5CP.js → esm/table/constants.js} +1 -3
- package/dist/{chunk-KVCIOW7L.js → esm/table/index.js} +3 -9
- package/dist/esm/table/types.js +1 -0
- package/dist/{chunk-WVJGTZFI.js → esm/table/utilities.js} +2 -11
- package/dist/esm/types.d.ts +3 -0
- package/dist/esm/types.js +1 -0
- package/dist/esm/utilities.d.ts +4 -0
- package/dist/{chunk-Y7FSRHH3.js → esm/utilities.js} +1 -4
- package/package.json +62 -4
- package/dist/chunk-EIUC7HJS.js +0 -686
- package/dist/column/constants.js +0 -9
- package/dist/column/index.js +0 -8
- package/dist/column/types.js +0 -2
- package/dist/database/alter.js +0 -15
- package/dist/database/column.js +0 -11
- package/dist/database/contract.js +0 -0
- package/dist/database/index.js +0 -19
- package/dist/database/table.js +0 -19
- package/dist/database/types.js +0 -0
- package/dist/database/wrapper.js +0 -9
- package/dist/index.js +0 -32
- package/dist/migration/index.js +0 -6
- package/dist/migration/type.js +0 -0
- package/dist/query/builder.js +0 -16
- package/dist/query/condition.js +0 -24
- package/dist/query/constants.js +0 -20
- package/dist/query/contract.js +0 -0
- package/dist/query/helper.js +0 -18
- package/dist/query/index.js +0 -10
- package/dist/query/join.js +0 -6
- package/dist/query/sql.js +0 -16
- package/dist/query/types.js +0 -0
- package/dist/query/utilities.js +0 -24
- package/dist/table/constants.js +0 -6
- package/dist/table/index.js +0 -14
- package/dist/table/types.js +0 -0
- package/dist/table/utilities.js +0 -15
- package/dist/types.js +0 -0
- package/dist/utilities.js +0 -8
- /package/dist/{column/constants.d.ts → cjs/column/constants.d.cts} +0 -0
- /package/dist/{migration/runner.d.ts → cjs/migration/runner.d.cts} +0 -0
- /package/dist/{query/constants.d.ts → cjs/query/constants.d.cts} +0 -0
- /package/dist/{table/constants.d.ts → cjs/table/constants.d.cts} +0 -0
- /package/dist/{types.d.ts → cjs/types.d.cts} +0 -0
- /package/dist/{utilities.d.ts → cjs/utilities.d.cts} +0 -0
- /package/dist/{column → esm/column}/index.d.ts +0 -0
- /package/dist/{column → esm/column}/types.d.ts +0 -0
- /package/dist/{database → esm/database}/alter.d.ts +0 -0
- /package/dist/{database → esm/database}/column.d.ts +0 -0
- /package/dist/{database → esm/database}/contract.d.ts +0 -0
- /package/dist/{database → esm/database}/index.d.ts +0 -0
- /package/dist/{database → esm/database}/table.d.ts +0 -0
- /package/dist/{database → esm/database}/types.d.ts +0 -0
- /package/dist/{database → esm/database}/wrapper.d.ts +0 -0
- /package/dist/{index-DFrpzXEn.d.ts → esm/index-DFrpzXEn.d.ts} +0 -0
- /package/dist/{index-FMT0YEO7.d.ts → esm/index-FMT0YEO7.d.ts} +0 -0
- /package/dist/{index.d.ts → esm/index.d.ts} +0 -0
- /package/dist/{migration → esm/migration}/index.d.ts +0 -0
- /package/dist/{migration → esm/migration}/type.d.ts +0 -0
- /package/dist/{query → esm/query}/builder.d.ts +0 -0
- /package/dist/{query → esm/query}/condition.d.ts +0 -0
- /package/dist/{query → esm/query}/contract.d.ts +0 -0
- /package/dist/{query → esm/query}/helper.d.ts +0 -0
- /package/dist/{query → esm/query}/index.d.ts +0 -0
- /package/dist/{query → esm/query}/join.d.ts +0 -0
- /package/dist/{query → esm/query}/sql.d.ts +0 -0
- /package/dist/{query → esm/query}/types.d.ts +0 -0
- /package/dist/{query → esm/query}/utilities.d.ts +0 -0
- /package/dist/{table → esm/table}/index.d.ts +0 -0
- /package/dist/{table → esm/table}/types.d.ts +0 -0
- /package/dist/{table → esm/table}/utilities.d.ts +0 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var table = require('../table');
|
|
4
|
+
|
|
5
|
+
async function createTable(tableName, columns, options) {
|
|
6
|
+
const table$1 = table.Table.define({
|
|
7
|
+
name: tableName,
|
|
8
|
+
dialect: this.dialect,
|
|
9
|
+
columns,
|
|
10
|
+
...options
|
|
11
|
+
});
|
|
12
|
+
table$1.client = this.client;
|
|
13
|
+
this.tables[tableName] = table$1;
|
|
14
|
+
if (!this?.client) {
|
|
15
|
+
throw new Error("Database not connected");
|
|
16
|
+
}
|
|
17
|
+
while (this.client.status === "connecting") {
|
|
18
|
+
await new Promise((resolve) => setTimeout(resolve, 100));
|
|
19
|
+
}
|
|
20
|
+
await table$1.create(this.client);
|
|
21
|
+
return this;
|
|
22
|
+
}
|
|
23
|
+
async function renameTable(oldName, newName) {
|
|
24
|
+
await this.client.exec(`ALTER TABLE ${oldName} RENAME TO ${newName};`);
|
|
25
|
+
this.tables[newName] = this.tables[oldName];
|
|
26
|
+
delete this.tables[oldName];
|
|
27
|
+
return this;
|
|
28
|
+
}
|
|
29
|
+
async function dropTable(tableName) {
|
|
30
|
+
if (!this.tables[tableName]) {
|
|
31
|
+
await this.client.exec(`DROP TABLE IF EXISTS ${tableName};`);
|
|
32
|
+
return this;
|
|
33
|
+
}
|
|
34
|
+
await this.tables[tableName].drop(this.client);
|
|
35
|
+
delete this.tables[tableName];
|
|
36
|
+
return this;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
exports.createTable = createTable;
|
|
40
|
+
exports.dropTable = dropTable;
|
|
41
|
+
exports.renameTable = renameTable;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import '../column/index.cjs';
|
|
2
|
+
export { D as DatabaseDefinition, b as DatabaseDialect, g as DatabaseOptions, P as PostgresConfig, S as SqliteConfig } from '../index-CwiFQh0I.cjs';
|
|
3
|
+
import '../table/constants.cjs';
|
|
4
|
+
import '../column/constants.cjs';
|
|
5
|
+
import '../column/types.cjs';
|
|
6
|
+
import '../types.cjs';
|
|
7
|
+
import '../query/constants.cjs';
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { SQL } from 'bun';
|
|
2
|
+
import { Database } from 'bun:sqlite';
|
|
3
|
+
import { Dialect } from '../table/constants.cjs';
|
|
4
|
+
import { b as DatabaseDialect, P as PostgresConfig, S as SqliteConfig } from '../index-CwiFQh0I.cjs';
|
|
5
|
+
import '../column/index.cjs';
|
|
6
|
+
import '../column/constants.cjs';
|
|
7
|
+
import '../column/types.cjs';
|
|
8
|
+
import '../types.cjs';
|
|
9
|
+
import '../query/constants.cjs';
|
|
10
|
+
|
|
11
|
+
declare class DatabasePsql implements DatabaseDialect {
|
|
12
|
+
readonly dialect: typeof Dialect.POSTGRES;
|
|
13
|
+
readonly options: PostgresConfig;
|
|
14
|
+
client: SQL;
|
|
15
|
+
status: 'connecting' | 'connected' | 'disconnected';
|
|
16
|
+
constructor(options: PostgresConfig);
|
|
17
|
+
connect(): Promise<this>;
|
|
18
|
+
disconnect(): Promise<this>;
|
|
19
|
+
exec<T>(sql: string): Promise<T>;
|
|
20
|
+
exec<T>(sql: string, values: any[]): Promise<T>;
|
|
21
|
+
transaction<T, U extends () => Promise<T>>(fn: U): Promise<T>;
|
|
22
|
+
}
|
|
23
|
+
declare class DatabaseSqlite implements DatabaseDialect {
|
|
24
|
+
readonly dialect: typeof Dialect.SQLITE;
|
|
25
|
+
readonly options: SqliteConfig;
|
|
26
|
+
client: Database;
|
|
27
|
+
status: 'connecting' | 'connected' | 'disconnected';
|
|
28
|
+
constructor(options: SqliteConfig);
|
|
29
|
+
connect(): Promise<this>;
|
|
30
|
+
disconnect(): Promise<this>;
|
|
31
|
+
exec<T>(sql: string): Promise<T>;
|
|
32
|
+
exec<T>(sql: string, params: any): Promise<T>;
|
|
33
|
+
transaction<T, U extends () => Promise<T>>(fn: U): Promise<T>;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export { DatabasePsql, DatabaseSqlite };
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var bun = require('bun');
|
|
4
|
+
var bun_sqlite = require('bun:sqlite');
|
|
5
|
+
var constants = require('../table/constants');
|
|
6
|
+
|
|
7
|
+
class DatabasePsql {
|
|
8
|
+
dialect;
|
|
9
|
+
options;
|
|
10
|
+
client;
|
|
11
|
+
status;
|
|
12
|
+
constructor(options) {
|
|
13
|
+
this.dialect = constants.Dialect.POSTGRES;
|
|
14
|
+
this.options = options;
|
|
15
|
+
this.status = "connecting";
|
|
16
|
+
this.client = new bun.SQL({
|
|
17
|
+
...options,
|
|
18
|
+
onconnect: () => {
|
|
19
|
+
this.status = "connected";
|
|
20
|
+
},
|
|
21
|
+
onclose: () => {
|
|
22
|
+
this.status = "disconnected";
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
this.connect();
|
|
26
|
+
}
|
|
27
|
+
async connect() {
|
|
28
|
+
await this.client.connect();
|
|
29
|
+
return this;
|
|
30
|
+
}
|
|
31
|
+
async disconnect() {
|
|
32
|
+
await this.client.close();
|
|
33
|
+
return this;
|
|
34
|
+
}
|
|
35
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
36
|
+
async exec(sql, values) {
|
|
37
|
+
if (!values) {
|
|
38
|
+
return this.client.unsafe(sql);
|
|
39
|
+
}
|
|
40
|
+
return this.client.unsafe(sql, values);
|
|
41
|
+
}
|
|
42
|
+
async transaction(fn) {
|
|
43
|
+
try {
|
|
44
|
+
await this.exec("BEGIN");
|
|
45
|
+
const result = await fn();
|
|
46
|
+
await this.exec("COMMIT");
|
|
47
|
+
return result;
|
|
48
|
+
} catch (err) {
|
|
49
|
+
await this.exec("ROLLBACK");
|
|
50
|
+
throw err;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
class DatabaseSqlite {
|
|
55
|
+
dialect;
|
|
56
|
+
options;
|
|
57
|
+
client;
|
|
58
|
+
status;
|
|
59
|
+
constructor(options) {
|
|
60
|
+
this.dialect = constants.Dialect.SQLITE;
|
|
61
|
+
this.options = options;
|
|
62
|
+
this.status = "connecting";
|
|
63
|
+
this.client = new bun_sqlite.Database(options.filename);
|
|
64
|
+
this.status = "connected";
|
|
65
|
+
}
|
|
66
|
+
async connect() {
|
|
67
|
+
this.client = new bun_sqlite.Database(this.options.filename);
|
|
68
|
+
this.status = "connected";
|
|
69
|
+
return this;
|
|
70
|
+
}
|
|
71
|
+
async disconnect() {
|
|
72
|
+
this.client.close();
|
|
73
|
+
this.status = "disconnected";
|
|
74
|
+
return this;
|
|
75
|
+
}
|
|
76
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
77
|
+
async exec(sql, params) {
|
|
78
|
+
const query = this.client.prepare(sql, params);
|
|
79
|
+
return query.all();
|
|
80
|
+
}
|
|
81
|
+
async transaction(fn) {
|
|
82
|
+
try {
|
|
83
|
+
await this.exec("BEGIN");
|
|
84
|
+
const result = await fn();
|
|
85
|
+
await this.exec("COMMIT");
|
|
86
|
+
return result;
|
|
87
|
+
} catch (err) {
|
|
88
|
+
await this.exec("ROLLBACK");
|
|
89
|
+
throw err;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
exports.DatabasePsql = DatabasePsql;
|
|
95
|
+
exports.DatabaseSqlite = DatabaseSqlite;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { Column } from './column/index.cjs';
|
|
2
|
+
import { T as Table, D as DatabaseDefinition, a as TimestampOptions, M as MergeTimestampParanoid, f as QuerHooks, b as DatabaseDialect, g as DatabaseOptions, d as QueryBuilder, h as QueryRunHooks } from './index-CwiFQh0I.cjs';
|
|
3
|
+
import { QueryHooksType } from './query/constants.cjs';
|
|
4
|
+
import { Dialect } from './table/constants.cjs';
|
|
5
|
+
import { AcceptedColumnTypes } from './column/constants.cjs';
|
|
6
|
+
|
|
7
|
+
interface TableAlterationContract<DbDialect extends Dialect, Tables extends Record<string, Table<string, Record<string, Column>>>, Definition extends Partial<DatabaseDefinition<DbDialect>> = DatabaseDefinition<DbDialect>> {
|
|
8
|
+
createTable<TableName extends string, Columns extends Record<string, Column>, CreatedAt extends string, UpdatedAt extends string, Timestamp extends TimestampOptions<CreatedAt, UpdatedAt> | boolean, Paranoid extends string | boolean, FinalColumns extends MergeTimestampParanoid<Columns, CreatedAt, UpdatedAt, Timestamp, Paranoid>, NewTables extends Tables & {
|
|
9
|
+
[K in TableName]: Table<TableName, FinalColumns, DbDialect, CreatedAt, UpdatedAt, Timestamp, Paranoid>;
|
|
10
|
+
}>(tableName: TableName, columns: Columns, options?: {
|
|
11
|
+
paranoid?: Paranoid;
|
|
12
|
+
timestamp?: Timestamp;
|
|
13
|
+
}): Promise<Database<DbDialect, NewTables, Definition>>;
|
|
14
|
+
renameTable<OldName extends (keyof Tables & string) | (string & {}), NewName extends string, NewTables extends Omit<Tables, OldName> & {
|
|
15
|
+
[K in NewName]: Tables[OldName];
|
|
16
|
+
}>(oldName: OldName, newName: NewName): Promise<Database<DbDialect, NewTables, Omit<Definition, 'tables'> & {
|
|
17
|
+
tables: NewTables;
|
|
18
|
+
}>>;
|
|
19
|
+
dropTable<TableName extends (keyof Tables & string) | (string & {})>(tableName: TableName): Promise<Database<DbDialect, Omit<Tables, TableName>, Definition>>;
|
|
20
|
+
}
|
|
21
|
+
interface ColumnAlterationContract<DbDialect extends Dialect, Tables extends Record<string, Table<string, Record<string, Column>>>, Definition extends Partial<DatabaseDefinition<DbDialect>> = DatabaseDefinition<DbDialect>> {
|
|
22
|
+
addColumn<TableName extends (keyof Tables & string) | (string & {}), ColName extends (keyof Tables[TableName]['columns'] & string) | (string & {}), NewTables extends Omit<Tables, TableName> & {
|
|
23
|
+
[K in TableName]: Table<TableName, Tables[TableName]['columns'] & {
|
|
24
|
+
[K in ColName]: Column;
|
|
25
|
+
}>;
|
|
26
|
+
}>(tableName: TableName, columnName: ColName, column: Column): Promise<Database<DbDialect, NewTables, Definition>>;
|
|
27
|
+
renameColumn<TableName extends (keyof Tables & string) | (string & {}), OldName extends (keyof Tables[TableName]['columns'] & string) | (string & {}), NewName extends (keyof Tables[TableName]['columns'] & string) | (string & {}), NewTables extends Omit<Tables, TableName> & {
|
|
28
|
+
[K in TableName]: Table<TableName, Omit<Tables[TableName]['columns'], OldName> & {
|
|
29
|
+
[K in NewName]: Tables[TableName]['columns'][OldName];
|
|
30
|
+
}>;
|
|
31
|
+
}>(tableName: TableName, oldName: OldName, newName: NewName): Promise<Database<DbDialect, NewTables, Definition>>;
|
|
32
|
+
dropColumn<TableName extends (keyof Tables & string) | (string & {}), ColName extends (keyof Tables[TableName]['columns'] & string) | (string & {}), NewTables extends Omit<Tables, TableName> & {
|
|
33
|
+
[K in TableName]: Table<TableName, Omit<Tables[TableName]['columns'], ColName>>;
|
|
34
|
+
}>(tableName: TableName, columnName: ColName): Promise<Database<DbDialect, NewTables, Definition>>;
|
|
35
|
+
alterColumnType<TableName extends (keyof Tables & string) | (string & {}), ColName extends (keyof Tables[TableName]['columns'] & string) | (string & {}), Type extends Omit<AcceptedColumnTypes, typeof AcceptedColumnTypes.ENUM>, NewTables extends Omit<Tables, TableName> & {
|
|
36
|
+
[K in TableName]: Table<TableName, Omit<Tables[TableName]['columns'], ColName> & {
|
|
37
|
+
[K in ColName]: Tables[TableName]['columns'][ColName] & {
|
|
38
|
+
type: Type;
|
|
39
|
+
};
|
|
40
|
+
}>;
|
|
41
|
+
}>(tableName: TableName, columnName: ColName, newType: Type): Promise<Database<DbDialect, NewTables, Definition>>;
|
|
42
|
+
setColumnDefault<TableName extends (keyof Tables & string) | (string & {}), ColName extends (keyof Tables[TableName]['columns'] & string) | (string & {}), DefaultValue extends string | number | boolean | null, NewTables extends Omit<Tables, TableName> & {
|
|
43
|
+
[K in TableName]: Table<TableName, Omit<Tables[TableName]['columns'], ColName> & {
|
|
44
|
+
[K in ColName]: Omit<Tables[TableName]['columns'][ColName], 'definition'> & {
|
|
45
|
+
definition: Omit<Tables[TableName]['columns'][ColName]['definition'], 'default'> & {
|
|
46
|
+
default: DefaultValue;
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
}>;
|
|
50
|
+
}>(tableName: TableName, columnName: ColName, value: DefaultValue): Promise<Database<DbDialect, NewTables, Definition>>;
|
|
51
|
+
dropColumnDefault<TableName extends (keyof Tables & string) | (string & {}), ColName extends (keyof Tables[TableName]['columns'] & string) | (string & {}), NewTables extends Omit<Tables, TableName> & {
|
|
52
|
+
[K in TableName]: Table<TableName, Omit<Tables[TableName]['columns'], ColName> & {
|
|
53
|
+
[K in ColName]: Omit<Tables[TableName]['columns'][ColName], 'definition'> & {
|
|
54
|
+
definition: Omit<Tables[TableName]['columns'][ColName]['definition'], 'default'> & {
|
|
55
|
+
default: undefined;
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
}>;
|
|
59
|
+
}>(tableName: TableName, columnName: ColName): Promise<Database<DbDialect, NewTables, Definition>>;
|
|
60
|
+
setColumnNotNull<TableName extends (keyof Tables & string) | (string & {}), ColName extends (keyof Tables[TableName]['columns'] & string) | (string & {}), NewTables extends Omit<Tables, TableName> & {
|
|
61
|
+
[K in TableName]: Table<TableName, Omit<Tables[TableName]['columns'], ColName> & {
|
|
62
|
+
[K in ColName]: Omit<Tables[TableName]['columns'][ColName], 'definition'> & {
|
|
63
|
+
definition: Omit<Tables[TableName]['columns'][ColName]['definition'], 'notNull'> & {
|
|
64
|
+
notNull: true;
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
}>;
|
|
68
|
+
}>(tableName: TableName, columnName: ColName): Promise<Database<DbDialect, NewTables, Definition>>;
|
|
69
|
+
dropColumnNotNull<TableName extends (keyof Tables & string) | (string & {}), ColName extends (keyof Tables[TableName]['columns'] & string) | (string & {}), NewTables extends Omit<Tables, TableName> & {
|
|
70
|
+
[K in TableName]: Table<TableName, Omit<Tables[TableName]['columns'], ColName> & {
|
|
71
|
+
[K in ColName]: Omit<Tables[TableName]['columns'][ColName], 'definition'> & {
|
|
72
|
+
definition: Omit<Tables[TableName]['columns'][ColName]['definition'], 'notNull'>;
|
|
73
|
+
};
|
|
74
|
+
}>;
|
|
75
|
+
}>(tableName: TableName, columnName: ColName): Promise<Database<DbDialect, NewTables, Definition>>;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
declare class Database<DbDialect extends Dialect, Tables extends Record<string, Table<string, Record<string, Column>>>, Definition extends Partial<DatabaseDefinition<DbDialect>> = DatabaseDefinition<DbDialect>> {
|
|
79
|
+
readonly hooks: Partial<QuerHooks>;
|
|
80
|
+
readonly dialect: DbDialect;
|
|
81
|
+
readonly defintion: Definition;
|
|
82
|
+
readonly tables: Tables;
|
|
83
|
+
readonly client: DatabaseDialect;
|
|
84
|
+
createTable: TableAlterationContract<DbDialect, Tables, Definition>['createTable'];
|
|
85
|
+
renameTable: TableAlterationContract<DbDialect, Tables, Definition>['renameTable'];
|
|
86
|
+
dropTable: TableAlterationContract<DbDialect, Tables, Definition>['dropTable'];
|
|
87
|
+
addColumn: ColumnAlterationContract<DbDialect, Tables, Definition>['addColumn'];
|
|
88
|
+
renameColumn: ColumnAlterationContract<DbDialect, Tables, Definition>['renameColumn'];
|
|
89
|
+
dropColumn: ColumnAlterationContract<DbDialect, Tables, Definition>['dropColumn'];
|
|
90
|
+
alterColumnType: ColumnAlterationContract<DbDialect, Tables, Definition>['alterColumnType'];
|
|
91
|
+
setColumnDefault: ColumnAlterationContract<DbDialect, Tables, Definition>['setColumnDefault'];
|
|
92
|
+
dropColumnDefault: ColumnAlterationContract<DbDialect, Tables, Definition>['dropColumnDefault'];
|
|
93
|
+
setColumnNotNull: ColumnAlterationContract<DbDialect, Tables, Definition>['setColumnNotNull'];
|
|
94
|
+
dropColumnNotNull: ColumnAlterationContract<DbDialect, Tables, Definition>['dropColumnNotNull'];
|
|
95
|
+
protected constructor(options: DatabaseOptions<DbDialect, Tables>);
|
|
96
|
+
table<TableName extends keyof Tables & string, Table extends Tables[TableName]>(tableName: TableName): QueryBuilder<TableName, Table>;
|
|
97
|
+
addHook(type: QueryHooksType, fn: QueryRunHooks): this;
|
|
98
|
+
removeHook(type: QueryHooksType, fn: QueryRunHooks): this;
|
|
99
|
+
transaction<T, U extends () => Promise<T>>(fn: U): Promise<unknown>;
|
|
100
|
+
static define<DbDialect extends Dialect, Tables extends Record<string, Table<string, Record<string, Column>>>>(options: DatabaseOptions<DbDialect, Tables>): Database<DbDialect, Tables, DatabaseDefinition<DbDialect>>;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
export { type ColumnAlterationContract as C, Database as D, type TableAlterationContract as T };
|