@vankyle/storage-kysely 0.2.8 → 0.3.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/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/migrations/0001_init.d.ts +3 -3
- package/dist/migrations/0001_init.d.ts.map +1 -1
- package/dist/migrations/0001_init.js +146 -140
- package/dist/migrations/0001_init.js.map +1 -1
- package/dist/migrations/index.d.ts +6 -1
- package/dist/migrations/index.d.ts.map +1 -1
- package/dist/migrations/index.js +12 -1
- package/dist/migrations/index.js.map +1 -1
- package/dist/migrations/sql-generator.d.ts +4 -0
- package/dist/migrations/sql-generator.d.ts.map +1 -0
- package/dist/migrations/sql-generator.js +76 -0
- package/dist/migrations/sql-generator.js.map +1 -0
- package/dist/migrations/types.d.ts +12 -0
- package/dist/migrations/types.d.ts.map +1 -0
- package/dist/migrations/types.js +21 -0
- package/dist/migrations/types.js.map +1 -0
- package/package.json +4 -4
package/dist/index.d.ts
CHANGED
|
@@ -2,4 +2,6 @@ export { KyselyMetadataStore } from "./metadata/index";
|
|
|
2
2
|
export { KyselyUploadSessionStore, KyselyBlobStore, KyselyFileStore, } from "./metadata/stores/index";
|
|
3
3
|
export type { StorageDatabase, UploadSessionsTable, UploadedPartsTable, BlobsTable, BlobReferencesTable, FilesTable, FileVersionsTable, } from "./schema/index";
|
|
4
4
|
export * as migrations from "./migrations/index";
|
|
5
|
+
export { createMigrations, createMigrationProvider, generateMigrationSql, generateAllMigrationSql, } from "./migrations/index";
|
|
6
|
+
export type { DatabaseType } from "./migrations/index";
|
|
5
7
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EACL,wBAAwB,EACxB,eAAe,EACf,eAAe,GAChB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,UAAU,EACV,mBAAmB,EACnB,UAAU,EACV,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,UAAU,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EACL,wBAAwB,EACxB,eAAe,EACf,eAAe,GAChB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,UAAU,EACV,mBAAmB,EACnB,UAAU,EACV,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,UAAU,MAAM,oBAAoB,CAAC;AACjD,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { KyselyMetadataStore } from "./metadata/index";
|
|
2
2
|
export { KyselyUploadSessionStore, KyselyBlobStore, KyselyFileStore, } from "./metadata/stores/index";
|
|
3
3
|
export * as migrations from "./migrations/index";
|
|
4
|
+
export { createMigrations, createMigrationProvider, generateMigrationSql, generateAllMigrationSql, } from "./migrations/index";
|
|
4
5
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EACL,wBAAwB,EACxB,eAAe,EACf,eAAe,GAChB,MAAM,yBAAyB,CAAC;AAUjC,OAAO,KAAK,UAAU,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EACL,wBAAwB,EACxB,eAAe,EACf,eAAe,GAChB,MAAM,yBAAyB,CAAC;AAUjC,OAAO,KAAK,UAAU,MAAM,oBAAoB,CAAC;AACjD,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
export declare function
|
|
1
|
+
import type { Migration } from "kysely";
|
|
2
|
+
import type { DatabaseType } from "./types";
|
|
3
|
+
export declare function createMigration0001(dbType: DatabaseType): Migration;
|
|
4
4
|
//# sourceMappingURL=0001_init.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"0001_init.d.ts","sourceRoot":"","sources":["../../src/migrations/0001_init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"0001_init.d.ts","sourceRoot":"","sources":["../../src/migrations/0001_init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG5C,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,CAiLnE"}
|
|
@@ -1,143 +1,149 @@
|
|
|
1
1
|
import { sql } from "kysely";
|
|
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
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
2
|
+
import { getColumnTypes } from "./types";
|
|
3
|
+
export function createMigration0001(dbType) {
|
|
4
|
+
const t = getColumnTypes(dbType);
|
|
5
|
+
return {
|
|
6
|
+
async up(db) {
|
|
7
|
+
await db.schema
|
|
8
|
+
.createTable("upload_sessions")
|
|
9
|
+
.addColumn("id", t.uuid, (col) => col.primaryKey())
|
|
10
|
+
.addColumn("provider", t.varchar(32), (col) => col.notNull())
|
|
11
|
+
.addColumn("bucket", t.varchar(255), (col) => col.notNull())
|
|
12
|
+
.addColumn("object_key", t.varchar(1024), (col) => col.notNull())
|
|
13
|
+
.addColumn("mode", t.varchar(16), (col) => col.notNull())
|
|
14
|
+
.addColumn("status", t.varchar(16), (col) => col.notNull())
|
|
15
|
+
.addColumn("file_name", t.varchar(512))
|
|
16
|
+
.addColumn("mime_type", t.varchar(255))
|
|
17
|
+
.addColumn("expected_size", t.bigint)
|
|
18
|
+
.addColumn("expected_sha256", t.varchar(64))
|
|
19
|
+
.addColumn("provider_upload_id", t.varchar(512))
|
|
20
|
+
.addColumn("provider_session_data", t.text)
|
|
21
|
+
.addColumn("created_by", t.varchar(255))
|
|
22
|
+
.addColumn("owner_id", t.varchar(255))
|
|
23
|
+
.addColumn("metadata", t.text)
|
|
24
|
+
.addColumn("created_at", t.timestamp, (col) => col.notNull().defaultTo(sql `CURRENT_TIMESTAMP`))
|
|
25
|
+
.addColumn("updated_at", t.timestamp, (col) => col.notNull().defaultTo(sql `CURRENT_TIMESTAMP`))
|
|
26
|
+
.addColumn("expires_at", t.timestamp)
|
|
27
|
+
.addColumn("completed_at", t.timestamp)
|
|
28
|
+
.addColumn("aborted_at", t.timestamp)
|
|
29
|
+
.execute();
|
|
30
|
+
await db.schema
|
|
31
|
+
.createIndex("idx_upload_sessions_status")
|
|
32
|
+
.on("upload_sessions")
|
|
33
|
+
.column("status")
|
|
34
|
+
.execute();
|
|
35
|
+
await db.schema
|
|
36
|
+
.createTable("uploaded_parts")
|
|
37
|
+
.addColumn("id", t.uuid, (col) => col.primaryKey())
|
|
38
|
+
.addColumn("session_id", t.uuid, (col) => col.notNull())
|
|
39
|
+
.addColumn("part_number", t.integer, (col) => col.notNull())
|
|
40
|
+
.addColumn("size", t.bigint, (col) => col.notNull())
|
|
41
|
+
.addColumn("etag", t.varchar(255))
|
|
42
|
+
.addColumn("checksum_sha256", t.varchar(64))
|
|
43
|
+
.addColumn("provider_part_id", t.varchar(512))
|
|
44
|
+
.addColumn("provider_part_data", t.text)
|
|
45
|
+
.addColumn("uploaded_at", t.timestamp, (col) => col.notNull().defaultTo(sql `CURRENT_TIMESTAMP`))
|
|
46
|
+
.execute();
|
|
47
|
+
await db.schema
|
|
48
|
+
.createIndex("idx_uploaded_parts_session")
|
|
49
|
+
.on("uploaded_parts")
|
|
50
|
+
.columns(["session_id", "part_number"])
|
|
51
|
+
.unique()
|
|
52
|
+
.execute();
|
|
53
|
+
await db.schema
|
|
54
|
+
.createTable("blobs")
|
|
55
|
+
.addColumn("id", t.uuid, (col) => col.primaryKey())
|
|
56
|
+
.addColumn("provider", t.varchar(32), (col) => col.notNull())
|
|
57
|
+
.addColumn("bucket", t.varchar(255), (col) => col.notNull())
|
|
58
|
+
.addColumn("object_key", t.varchar(1024), (col) => col.notNull())
|
|
59
|
+
.addColumn("size", t.bigint, (col) => col.notNull())
|
|
60
|
+
.addColumn("mime_type", t.varchar(255))
|
|
61
|
+
.addColumn("sha256", t.varchar(64))
|
|
62
|
+
.addColumn("etag", t.varchar(255))
|
|
63
|
+
.addColumn("storage_class", t.varchar(32))
|
|
64
|
+
.addColumn("status", t.varchar(16), (col) => col.notNull())
|
|
65
|
+
.addColumn("created_at", t.timestamp, (col) => col.notNull().defaultTo(sql `CURRENT_TIMESTAMP`))
|
|
66
|
+
.addColumn("updated_at", t.timestamp, (col) => col.notNull().defaultTo(sql `CURRENT_TIMESTAMP`))
|
|
67
|
+
.addColumn("deleted_at", t.timestamp)
|
|
68
|
+
.addColumn("metadata", t.text)
|
|
69
|
+
.execute();
|
|
70
|
+
await db.schema
|
|
71
|
+
.createIndex("idx_blobs_sha256")
|
|
72
|
+
.on("blobs")
|
|
73
|
+
.column("sha256")
|
|
74
|
+
.execute();
|
|
75
|
+
await db.schema
|
|
76
|
+
.createIndex("idx_blobs_locator")
|
|
77
|
+
.on("blobs")
|
|
78
|
+
.columns(["provider", "bucket", "object_key"])
|
|
79
|
+
.unique()
|
|
80
|
+
.execute();
|
|
81
|
+
await db.schema
|
|
82
|
+
.createTable("blob_references")
|
|
83
|
+
.addColumn("id", t.uuid, (col) => col.primaryKey())
|
|
84
|
+
.addColumn("blob_id", t.uuid, (col) => col.notNull())
|
|
85
|
+
.addColumn("ref_type", t.varchar(64), (col) => col.notNull())
|
|
86
|
+
.addColumn("ref_id", t.uuid, (col) => col.notNull())
|
|
87
|
+
.addColumn("created_at", t.timestamp, (col) => col.notNull().defaultTo(sql `CURRENT_TIMESTAMP`))
|
|
88
|
+
.execute();
|
|
89
|
+
await db.schema
|
|
90
|
+
.createIndex("idx_blob_references_blob")
|
|
91
|
+
.on("blob_references")
|
|
92
|
+
.column("blob_id")
|
|
93
|
+
.execute();
|
|
94
|
+
await db.schema
|
|
95
|
+
.createTable("files")
|
|
96
|
+
.addColumn("id", t.uuid, (col) => col.primaryKey())
|
|
97
|
+
.addColumn("owner_id", t.varchar(255))
|
|
98
|
+
.addColumn("display_name", t.varchar(512), (col) => col.notNull())
|
|
99
|
+
.addColumn("mime_type", t.varchar(255))
|
|
100
|
+
.addColumn("current_version_id", t.uuid)
|
|
101
|
+
.addColumn("size", t.bigint)
|
|
102
|
+
.addColumn("parent_id", t.uuid)
|
|
103
|
+
.addColumn("status", t.varchar(16), (col) => col.notNull())
|
|
104
|
+
.addColumn("created_at", t.timestamp, (col) => col.notNull().defaultTo(sql `CURRENT_TIMESTAMP`))
|
|
105
|
+
.addColumn("updated_at", t.timestamp, (col) => col.notNull().defaultTo(sql `CURRENT_TIMESTAMP`))
|
|
106
|
+
.addColumn("deleted_at", t.timestamp)
|
|
107
|
+
.addColumn("metadata", t.text)
|
|
108
|
+
.execute();
|
|
109
|
+
await db.schema
|
|
110
|
+
.createIndex("idx_files_owner")
|
|
111
|
+
.on("files")
|
|
112
|
+
.column("owner_id")
|
|
113
|
+
.execute();
|
|
114
|
+
await db.schema
|
|
115
|
+
.createIndex("idx_files_parent")
|
|
116
|
+
.on("files")
|
|
117
|
+
.column("parent_id")
|
|
118
|
+
.execute();
|
|
119
|
+
await db.schema
|
|
120
|
+
.createTable("file_versions")
|
|
121
|
+
.addColumn("id", t.uuid, (col) => col.primaryKey())
|
|
122
|
+
.addColumn("file_id", t.uuid, (col) => col.notNull())
|
|
123
|
+
.addColumn("blob_id", t.uuid, (col) => col.notNull())
|
|
124
|
+
.addColumn("version", t.integer, (col) => col.notNull())
|
|
125
|
+
.addColumn("size", t.bigint, (col) => col.notNull())
|
|
126
|
+
.addColumn("mime_type", t.varchar(255))
|
|
127
|
+
.addColumn("sha256", t.varchar(64))
|
|
128
|
+
.addColumn("created_at", t.timestamp, (col) => col.notNull().defaultTo(sql `CURRENT_TIMESTAMP`))
|
|
129
|
+
.addColumn("created_by", t.varchar(255))
|
|
130
|
+
.addColumn("metadata", t.text)
|
|
131
|
+
.execute();
|
|
132
|
+
await db.schema
|
|
133
|
+
.createIndex("idx_file_versions_file")
|
|
134
|
+
.on("file_versions")
|
|
135
|
+
.columns(["file_id", "version"])
|
|
136
|
+
.unique()
|
|
137
|
+
.execute();
|
|
138
|
+
},
|
|
139
|
+
async down(db) {
|
|
140
|
+
await db.schema.dropTable("file_versions").ifExists().execute();
|
|
141
|
+
await db.schema.dropTable("files").ifExists().execute();
|
|
142
|
+
await db.schema.dropTable("blob_references").ifExists().execute();
|
|
143
|
+
await db.schema.dropTable("blobs").ifExists().execute();
|
|
144
|
+
await db.schema.dropTable("uploaded_parts").ifExists().execute();
|
|
145
|
+
await db.schema.dropTable("upload_sessions").ifExists().execute();
|
|
146
|
+
},
|
|
147
|
+
};
|
|
142
148
|
}
|
|
143
149
|
//# sourceMappingURL=0001_init.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"0001_init.js","sourceRoot":"","sources":["../../src/migrations/0001_init.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAE7B,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"0001_init.js","sourceRoot":"","sources":["../../src/migrations/0001_init.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
import type { Migration, MigrationProvider } from "kysely";
|
|
2
|
+
import type { DatabaseType } from "./types";
|
|
3
|
+
export declare function createMigrations(dbType: DatabaseType): Record<string, Migration>;
|
|
4
|
+
export declare function createMigrationProvider(dbType: DatabaseType): MigrationProvider;
|
|
5
|
+
export { generateMigrationSql, generateAllMigrationSql } from "./sql-generator";
|
|
6
|
+
export type { DatabaseType } from "./types";
|
|
2
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/migrations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/migrations/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG5C,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAIhF;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,YAAY,GAAG,iBAAiB,CAI/E;AAED,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAChF,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC"}
|
package/dist/migrations/index.js
CHANGED
|
@@ -1,2 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
import { createMigration0001 } from "./0001_init";
|
|
2
|
+
export function createMigrations(dbType) {
|
|
3
|
+
return {
|
|
4
|
+
"0001_init": createMigration0001(dbType),
|
|
5
|
+
};
|
|
6
|
+
}
|
|
7
|
+
export function createMigrationProvider(dbType) {
|
|
8
|
+
return {
|
|
9
|
+
getMigrations: () => Promise.resolve(createMigrations(dbType)),
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
export { generateMigrationSql, generateAllMigrationSql } from "./sql-generator";
|
|
2
13
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/migrations/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/migrations/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,UAAU,gBAAgB,CAAC,MAAoB;IACnD,OAAO;QACL,WAAW,EAAE,mBAAmB,CAAC,MAAM,CAAC;KACzC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAAoB;IAC1D,OAAO;QACL,aAAa,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;KAC/D,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { DatabaseType } from "./types";
|
|
2
|
+
export declare function generateMigrationSql(migrationKey: string, dbType: DatabaseType): Promise<string>;
|
|
3
|
+
export declare function generateAllMigrationSql(dbType: DatabaseType): Promise<Record<string, string>>;
|
|
4
|
+
//# sourceMappingURL=sql-generator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql-generator.d.ts","sourceRoot":"","sources":["../../src/migrations/sql-generator.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAwD5C,wBAAsB,oBAAoB,CACxC,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,MAAM,CAAC,CAgBjB;AAED,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAMjC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { Kysely, SqliteAdapter, SqliteIntrospector, SqliteQueryCompiler, PostgresAdapter, PostgresIntrospector, PostgresQueryCompiler, } from "kysely";
|
|
2
|
+
import { createMigrations } from "./index";
|
|
3
|
+
class SqlCollector {
|
|
4
|
+
statements = [];
|
|
5
|
+
}
|
|
6
|
+
class CollectingConnection {
|
|
7
|
+
collector;
|
|
8
|
+
constructor(collector) {
|
|
9
|
+
this.collector = collector;
|
|
10
|
+
}
|
|
11
|
+
async executeQuery(compiledQuery) {
|
|
12
|
+
this.collector.statements.push(compiledQuery.sql);
|
|
13
|
+
return { rows: [] };
|
|
14
|
+
}
|
|
15
|
+
async *streamQuery() {
|
|
16
|
+
// no-op — SQL generation never streams
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
class CollectingDriver {
|
|
20
|
+
collector;
|
|
21
|
+
constructor(collector) {
|
|
22
|
+
this.collector = collector;
|
|
23
|
+
}
|
|
24
|
+
async init() { }
|
|
25
|
+
async acquireConnection() {
|
|
26
|
+
return new CollectingConnection(this.collector);
|
|
27
|
+
}
|
|
28
|
+
async beginTransaction() { }
|
|
29
|
+
async commitTransaction() { }
|
|
30
|
+
async rollbackTransaction() { }
|
|
31
|
+
async releaseConnection() { }
|
|
32
|
+
async destroy() { }
|
|
33
|
+
}
|
|
34
|
+
function makeCollectingDialect(dbType, collector) {
|
|
35
|
+
const driver = new CollectingDriver(collector);
|
|
36
|
+
if (dbType === "sqlite") {
|
|
37
|
+
return {
|
|
38
|
+
createDriver: () => driver,
|
|
39
|
+
createQueryCompiler: () => new SqliteQueryCompiler(),
|
|
40
|
+
createAdapter: () => new SqliteAdapter(),
|
|
41
|
+
createIntrospector: (db) => new SqliteIntrospector(db),
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
return {
|
|
45
|
+
createDriver: () => driver,
|
|
46
|
+
createQueryCompiler: () => new PostgresQueryCompiler(),
|
|
47
|
+
createAdapter: () => new PostgresAdapter(),
|
|
48
|
+
createIntrospector: (db) => new PostgresIntrospector(db),
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
export async function generateMigrationSql(migrationKey, dbType) {
|
|
52
|
+
const collector = new SqlCollector();
|
|
53
|
+
const db = new Kysely({
|
|
54
|
+
dialect: makeCollectingDialect(dbType, collector),
|
|
55
|
+
});
|
|
56
|
+
try {
|
|
57
|
+
const migrations = createMigrations(dbType);
|
|
58
|
+
const migration = migrations[migrationKey];
|
|
59
|
+
if (!migration) {
|
|
60
|
+
throw new Error(`Unknown migration key: '${migrationKey}'`);
|
|
61
|
+
}
|
|
62
|
+
await migration.up(db);
|
|
63
|
+
return collector.statements.join(";\n\n") + ";";
|
|
64
|
+
}
|
|
65
|
+
finally {
|
|
66
|
+
await db.destroy();
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
export async function generateAllMigrationSql(dbType) {
|
|
70
|
+
const result = {};
|
|
71
|
+
for (const key of Object.keys(createMigrations(dbType))) {
|
|
72
|
+
result[key] = await generateMigrationSql(key, dbType);
|
|
73
|
+
}
|
|
74
|
+
return result;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=sql-generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql-generator.js","sourceRoot":"","sources":["../../src/migrations/sql-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ColumnDataType } from "kysely";
|
|
2
|
+
export type DatabaseType = "postgres" | "sqlite";
|
|
3
|
+
export interface ColumnTypeMap {
|
|
4
|
+
uuid: ColumnDataType;
|
|
5
|
+
bigint: ColumnDataType;
|
|
6
|
+
timestamp: ColumnDataType;
|
|
7
|
+
varchar(n: number): ColumnDataType;
|
|
8
|
+
text: ColumnDataType;
|
|
9
|
+
integer: ColumnDataType;
|
|
10
|
+
}
|
|
11
|
+
export declare function getColumnTypes(dbType: DatabaseType): ColumnTypeMap;
|
|
12
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/migrations/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAE7C,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEjD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,cAAc,CAAC;IAC1B,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;IACnC,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,cAAc,CAAC;CACzB;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,aAAa,CAmBlE"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export function getColumnTypes(dbType) {
|
|
2
|
+
if (dbType === "sqlite") {
|
|
3
|
+
return {
|
|
4
|
+
uuid: "text",
|
|
5
|
+
bigint: "integer",
|
|
6
|
+
timestamp: "text",
|
|
7
|
+
varchar: () => "text",
|
|
8
|
+
text: "text",
|
|
9
|
+
integer: "integer",
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
return {
|
|
13
|
+
uuid: "varchar(36)",
|
|
14
|
+
bigint: "bigint",
|
|
15
|
+
timestamp: "timestamp",
|
|
16
|
+
varchar: (n) => `varchar(${n})`,
|
|
17
|
+
text: "text",
|
|
18
|
+
integer: "integer",
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/migrations/types.ts"],"names":[],"mappings":"AAaA,MAAM,UAAU,cAAc,CAAC,MAAoB;IACjD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,MAAM;YACjB,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM;YACrB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,SAAS;SACnB,CAAC;IACJ,CAAC;IACD,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,WAAW;QACtB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,GAAqB;QACjD,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,SAAS;KACnB,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vankyle/storage-kysely",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Kysely-based SQL metadata store for vankyle-storage.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -31,9 +31,9 @@
|
|
|
31
31
|
"homepage": "https://github.com/Vankyle-Hub/storage-ts",
|
|
32
32
|
"packageManager": "pnpm@10.28.2",
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@vankyle/storage-core": "0.
|
|
35
|
-
"@vankyle/storage-shared": "0.
|
|
36
|
-
"kysely": "^0.28.
|
|
34
|
+
"@vankyle/storage-core": "0.3.0",
|
|
35
|
+
"@vankyle/storage-shared": "0.3.0",
|
|
36
|
+
"kysely": "^0.28.14"
|
|
37
37
|
},
|
|
38
38
|
"publishConfig": {
|
|
39
39
|
"access": "public"
|