/
opt
/
canhelp
/
node_modules
/
drizzle-orm
/
mysql-core
/
/opt/canhelp/node_modules/drizzle-orm/mysql-core
mkdir
upload
Name
Size
Mode
Actions
columns/
-
0755
rm
query-builders/
-
0755
rm
alias.cjs
1214
0644
edit
dl
rm
alias.cjs.map
729
0644
edit
dl
rm
alias.d.cts
335
0644
edit
dl
rm
alias.d.ts
332
0644
edit
dl
rm
alias.js
211
0644
edit
dl
rm
alias.js.map
691
0644
edit
dl
rm
checks.cjs
1710
0644
edit
dl
rm
checks.cjs.map
1388
0644
edit
dl
rm
checks.d.cts
616
0644
edit
dl
rm
checks.d.ts
613
0644
edit
dl
rm
checks.js
618
0644
edit
dl
rm
checks.js.map
1338
0644
edit
dl
rm
db.cjs
9371
0644
edit
dl
rm
db.cjs.map
22572
0644
edit
dl
rm
db.d.cts
10379
0644
edit
dl
rm
db.d.ts
10365
0644
edit
dl
rm
db.js
8097
0644
edit
dl
rm
db.js.map
22606
0644
edit
dl
rm
dialect.cjs
36791
0644
edit
dl
rm
dialect.cjs.map
60932
0644
edit
dl
rm
dialect.d.cts
3901
0644
edit
dl
rm
dialect.d.ts
3888
0644
edit
dl
rm
dialect.js
31903
0644
edit
dl
rm
dialect.js.map
60859
0644
edit
dl
rm
expressions.cjs
2033
0644
edit
dl
rm
expressions.cjs.map
1475
0644
edit
dl
rm
expressions.d.cts
466
0644
edit
dl
rm
expressions.d.ts
463
0644
edit
dl
rm
expressions.js
604
0644
edit
dl
rm
expressions.js.map
1420
0644
edit
dl
rm
foreign-keys.cjs
3023
0644
edit
dl
rm
foreign-keys.cjs.map
5036
0644
edit
dl
rm
foreign-keys.d.cts
2084
0644
edit
dl
rm
foreign-keys.d.ts
2081
0644
edit
dl
rm
foreign-keys.js
1836
0644
edit
dl
rm
foreign-keys.js.map
4989
0644
edit
dl
rm
index.cjs
2862
0644
edit
dl
rm
index.cjs.map
975
0644
edit
dl
rm
index.d.cts
555
0644
edit
dl
rm
index.d.ts
538
0644
edit
dl
rm
index.js
571
0644
edit
dl
rm
index.js.map
829
0644
edit
dl
rm
indexes.cjs
2364
0644
edit
dl
rm
indexes.cjs.map
3871
0644
edit
dl
rm
indexes.d.cts
2142
0644
edit
dl
rm
indexes.d.ts
2138
0644
edit
dl
rm
indexes.js
1181
0644
edit
dl
rm
indexes.js.map
3810
0644
edit
dl
rm
primary-keys.cjs
2173
0644
edit
dl
rm
primary-keys.cjs.map
2688
0644
edit
dl
rm
primary-keys.d.cts
1131
0644
edit
dl
rm
primary-keys.d.ts
1128
0644
edit
dl
rm
primary-keys.js
1018
0644
edit
dl
rm
primary-keys.js.map
2642
0644
edit
dl
rm
schema.cjs
1948
0644
edit
dl
rm
schema.cjs.map
1740
0644
edit
dl
rm
schema.d.cts
842
0644
edit
dl
rm
schema.d.ts
839
0644
edit
dl
rm
schema.js
772
0644
edit
dl
rm
schema.js.map
1700
0644
edit
dl
rm
session.cjs
2858
0644
edit
dl
rm
session.cjs.map
6694
0644
edit
dl
rm
session.d.cts
4243
0644
edit
dl
rm
session.d.ts
4236
0644
edit
dl
rm
session.js
1641
0644
edit
dl
rm
session.js.map
6656
0644
edit
dl
rm
subquery.cjs
784
0644
edit
dl
rm
subquery.cjs.map
1665
0644
edit
dl
rm
subquery.d.cts
1477
0644
edit
dl
rm
subquery.d.ts
1472
0644
edit
dl
rm
subquery.js
36
0644
edit
dl
rm
subquery.js.map
71
0644
edit
dl
rm
table.cjs
3169
0644
edit
dl
rm
table.cjs.map
8683
0644
edit
dl
rm
table.d.cts
4970
0644
edit
dl
rm
table.d.ts
4960
0644
edit
dl
rm
table.js
1877
0644
edit
dl
rm
table.js.map
8627
0644
edit
dl
rm
unique-constraint.cjs
2650
0644
edit
dl
rm
unique-constraint.cjs.map
2717
0644
edit
dl
rm
unique-constraint.d.cts
1018
0644
edit
dl
rm
unique-constraint.d.ts
1015
0644
edit
dl
rm
unique-constraint.js
1337
0644
edit
dl
rm
unique-constraint.js.map
2660
0644
edit
dl
rm
utils.cjs
3829
0644
edit
dl
rm
utils.cjs.map
4580
0644
edit
dl
rm
utils.d.cts
1539
0644
edit
dl
rm
utils.d.ts
1531
0644
edit
dl
rm
utils.js
2335
0644
edit
dl
rm
utils.js.map
4506
0644
edit
dl
rm
view-base.cjs
1286
0644
edit
dl
rm
view-base.cjs.map
793
0644
edit
dl
rm
view-base.d.cts
523
0644
edit
dl
rm
view-base.d.ts
520
0644
edit
dl
rm
view-base.js
224
0644
edit
dl
rm
view-base.js.map
756
0644
edit
dl
rm
view-common.cjs
1170
0644
edit
dl
rm
view-common.cjs.map
258
0644
edit
dl
rm
view-common.d.cts
53
0644
edit
dl
rm
view-common.d.ts
53
0644
edit
dl
rm
view-common.js
132
0644
edit
dl
rm
view-common.js.map
215
0644
edit
dl
rm
view.cjs
4770
0644
edit
dl
rm
view.cjs.map
8939
0644
edit
dl
rm
view.d.cts
3530
0644
edit
dl
rm
view.d.ts
3521
0644
edit
dl
rm
view.js
3309
0644
edit
dl
rm
view.js.map
8897
0644
edit
dl
rm
Edit:
/opt/canhelp/node_modules/drizzle-orm/mysql-core/db.js
(8097B)
import { entityKind } from "../entity.js"; import { SelectionProxyHandler } from "../selection-proxy.js"; import { sql } from "../sql/sql.js"; import { WithSubquery } from "../subquery.js"; import { MySqlCountBuilder } from "./query-builders/count.js"; import { MySqlDeleteBase, MySqlInsertBuilder, MySqlSelectBuilder, MySqlUpdateBuilder, QueryBuilder } from "./query-builders/index.js"; import { RelationalQueryBuilder } from "./query-builders/query.js"; class MySqlDatabase { constructor(dialect, session, schema, mode) { this.dialect = dialect; this.session = session; this.mode = mode; this._ = schema ? { schema: schema.schema, fullSchema: schema.fullSchema, tableNamesMap: schema.tableNamesMap } : { schema: void 0, fullSchema: {}, tableNamesMap: {} }; this.query = {}; if (this._.schema) { for (const [tableName, columns] of Object.entries(this._.schema)) { this.query[tableName] = new RelationalQueryBuilder( schema.fullSchema, this._.schema, this._.tableNamesMap, schema.fullSchema[tableName], columns, dialect, session, this.mode ); } } } static [entityKind] = "MySqlDatabase"; query; /** * Creates a subquery that defines a temporary named result set as a CTE. * * It is useful for breaking down complex queries into simpler parts and for reusing the result set in subsequent parts of the query. * * See docs: {@link https://orm.drizzle.team/docs/select#with-clause} * * @param alias The alias for the subquery. * * Failure to provide an alias will result in a DrizzleTypeError, preventing the subquery from being referenced in other queries. * * @example * * ```ts * // Create a subquery with alias 'sq' and use it in the select query * const sq = db.$with('sq').as(db.select().from(users).where(eq(users.id, 42))); * * const result = await db.with(sq).select().from(sq); * ``` * * To select arbitrary SQL values as fields in a CTE and reference them in other CTEs or in the main query, you need to add aliases to them: * * ```ts * // Select an arbitrary SQL value as a field in a CTE and reference it in the main query * const sq = db.$with('sq').as(db.select({ * name: sql<string>`upper(${users.name})`.as('name'), * }) * .from(users)); * * const result = await db.with(sq).select({ name: sq.name }).from(sq); * ``` */ $with = (alias, selection) => { const self = this; const as = (qb) => { if (typeof qb === "function") { qb = qb(new QueryBuilder(self.dialect)); } return new Proxy( new WithSubquery( qb.getSQL(), selection ?? ("getSelectedFields" in qb ? qb.getSelectedFields() ?? {} : {}), alias, true ), new SelectionProxyHandler({ alias, sqlAliasedBehavior: "alias", sqlBehavior: "error" }) ); }; return { as }; }; $count(source, filters) { return new MySqlCountBuilder({ source, filters, session: this.session }); } /** * Incorporates a previously defined CTE (using `$with`) into the main query. * * This method allows the main query to reference a temporary named result set. * * See docs: {@link https://orm.drizzle.team/docs/select#with-clause} * * @param queries The CTEs to incorporate into the main query. * * @example * * ```ts * // Define a subquery 'sq' as a CTE using $with * const sq = db.$with('sq').as(db.select().from(users).where(eq(users.id, 42))); * * // Incorporate the CTE 'sq' into the main query and select from it * const result = await db.with(sq).select().from(sq); * ``` */ with(...queries) { const self = this; function select(fields) { return new MySqlSelectBuilder({ fields: fields ?? void 0, session: self.session, dialect: self.dialect, withList: queries }); } function selectDistinct(fields) { return new MySqlSelectBuilder({ fields: fields ?? void 0, session: self.session, dialect: self.dialect, withList: queries, distinct: true }); } function update(table) { return new MySqlUpdateBuilder(table, self.session, self.dialect, queries); } function delete_(table) { return new MySqlDeleteBase(table, self.session, self.dialect, queries); } return { select, selectDistinct, update, delete: delete_ }; } select(fields) { return new MySqlSelectBuilder({ fields: fields ?? void 0, session: this.session, dialect: this.dialect }); } selectDistinct(fields) { return new MySqlSelectBuilder({ fields: fields ?? void 0, session: this.session, dialect: this.dialect, distinct: true }); } /** * Creates an update query. * * Calling this method without `.where()` clause will update all rows in a table. The `.where()` clause specifies which rows should be updated. * * Use `.set()` method to specify which values to update. * * See docs: {@link https://orm.drizzle.team/docs/update} * * @param table The table to update. * * @example * * ```ts * // Update all rows in the 'cars' table * await db.update(cars).set({ color: 'red' }); * * // Update rows with filters and conditions * await db.update(cars).set({ color: 'red' }).where(eq(cars.brand, 'BMW')); * ``` */ update(table) { return new MySqlUpdateBuilder(table, this.session, this.dialect); } /** * Creates an insert query. * * Calling this method will create new rows in a table. Use `.values()` method to specify which values to insert. * * See docs: {@link https://orm.drizzle.team/docs/insert} * * @param table The table to insert into. * * @example * * ```ts * // Insert one row * await db.insert(cars).values({ brand: 'BMW' }); * * // Insert multiple rows * await db.insert(cars).values([{ brand: 'BMW' }, { brand: 'Porsche' }]); * ``` */ insert(table) { return new MySqlInsertBuilder(table, this.session, this.dialect); } /** * Creates a delete query. * * Calling this method without `.where()` clause will delete all rows in a table. The `.where()` clause specifies which rows should be deleted. * * See docs: {@link https://orm.drizzle.team/docs/delete} * * @param table The table to delete from. * * @example * * ```ts * // Delete all rows in the 'cars' table * await db.delete(cars); * * // Delete rows with filters and conditions * await db.delete(cars).where(eq(cars.color, 'green')); * ``` */ delete(table) { return new MySqlDeleteBase(table, this.session, this.dialect); } execute(query) { return this.session.execute(typeof query === "string" ? sql.raw(query) : query.getSQL()); } transaction(transaction, config) { return this.session.transaction(transaction, config); } } const withReplicas = (primary, replicas, getReplica = () => replicas[Math.floor(Math.random() * replicas.length)]) => { const select = (...args) => getReplica(replicas).select(...args); const selectDistinct = (...args) => getReplica(replicas).selectDistinct(...args); const $count = (...args) => getReplica(replicas).$count(...args); const $with = (...args) => getReplica(replicas).with(...args); const update = (...args) => primary.update(...args); const insert = (...args) => primary.insert(...args); const $delete = (...args) => primary.delete(...args); const execute = (...args) => primary.execute(...args); const transaction = (...args) => primary.transaction(...args); return { ...primary, update, insert, delete: $delete, execute, transaction, $primary: primary, select, selectDistinct, $count, with: $with, get query() { return getReplica(replicas).query; } }; }; export { MySqlDatabase, withReplicas }; //# sourceMappingURL=db.js.map
Save
cmd:
run