bun-query-builder 0.2.47 → 0.2.48

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/bin/cli.js CHANGED
@@ -18635,12 +18635,27 @@ class MySQLDriver {
18635
18635
  createEnumType(_enumTypeName, _values) {
18636
18636
  return "";
18637
18637
  }
18638
+ foreignKeyClauses(table) {
18639
+ return table.columns.filter((column) => column.references).map((column) => {
18640
+ const reference = column.references;
18641
+ const name = `${table.table}_${column.name}_fk`;
18642
+ let clause = `CONSTRAINT ${this.quoteIdentifier(name)} FOREIGN KEY (${this.quoteIdentifier(column.name)}) REFERENCES ${this.quoteIdentifier(reference.table)}(${this.quoteIdentifier(reference.column)})`;
18643
+ if (reference.onDelete)
18644
+ clause += ` ON DELETE ${reference.onDelete.toUpperCase()}`;
18645
+ if (reference.onUpdate)
18646
+ clause += ` ON UPDATE ${reference.onUpdate.toUpperCase()}`;
18647
+ return clause;
18648
+ });
18649
+ }
18638
18650
  createTable(table) {
18639
- const columns = table.columns.map((c) => this.renderColumn(c)).join(`,
18640
- `);
18651
+ const parts = [
18652
+ ...table.columns.map((c) => this.renderColumn(c)),
18653
+ ...this.foreignKeyClauses(table)
18654
+ ];
18641
18655
  return `CREATE TABLE IF NOT EXISTS ${this.quoteIdentifier(table.table)} (
18642
- ${columns}
18643
- );`;
18656
+ ${parts.join(`,
18657
+ `)}
18658
+ ) DEFAULT CHARSET=utf8mb4;`;
18644
18659
  }
18645
18660
  static KEY_PREFIX_CHARACTERS = 255;
18646
18661
  needsKeyPrefix(column) {
@@ -18773,14 +18788,6 @@ ${sql};` : `${sql};`;
18773
18788
  if (defaultValue) {
18774
18789
  parts.push(defaultValue);
18775
18790
  }
18776
- if (column.references) {
18777
- let reference = `REFERENCES ${this.quoteIdentifier(column.references.table)}(${this.quoteIdentifier(column.references.column)})`;
18778
- if (column.references.onDelete)
18779
- reference += ` ON DELETE ${column.references.onDelete.toUpperCase()}`;
18780
- if (column.references.onUpdate)
18781
- reference += ` ON UPDATE ${column.references.onUpdate.toUpperCase()}`;
18782
- parts.push(reference);
18783
- }
18784
18791
  return parts.join(" ");
18785
18792
  }
18786
18793
  }
@@ -19068,6 +19075,9 @@ var init_vitess = __esm(() => {
19068
19075
  const { references: _references, ...withoutReference } = column;
19069
19076
  return super.renderColumn(withoutReference);
19070
19077
  }
19078
+ foreignKeyClauses(table) {
19079
+ return this.sharded ? [] : super.foreignKeyClauses(table);
19080
+ }
19071
19081
  createTable(table) {
19072
19082
  return super.createTable(table);
19073
19083
  }
@@ -32560,7 +32570,7 @@ function getPrefix() {
32560
32570
  }
32561
32571
  var prefix = getPrefix();
32562
32572
  // package.json
32563
- var version2 = "0.2.47";
32573
+ var version2 = "0.2.48";
32564
32574
 
32565
32575
  // bin/cli.ts
32566
32576
  init_actions();
@@ -25,6 +25,7 @@ export declare class MySQLDriver implements DialectDriver {
25
25
  protected getAutoIncrementClause(column: ColumnPlan): string;
26
26
  protected getDefaultValue(column: ColumnPlan): string;
27
27
  createEnumType(_enumTypeName: string, _values: string[]): string;
28
+ protected foreignKeyClauses(table: TablePlan): string[];
28
29
  createTable(table: TablePlan): string;
29
30
  protected static readonly KEY_PREFIX_CHARACTERS: 255;
30
31
  protected needsKeyPrefix(column: ColumnPlan): boolean;
@@ -35,6 +35,7 @@ export declare class VitessDriver extends MySQLDriver {
35
35
  constructor(sharded?: boolean);
36
36
  protected getAutoIncrementClause(column: ColumnPlan): string;
37
37
  protected renderColumn(column: ColumnPlan): string;
38
+ protected foreignKeyClauses(table: TablePlan): string[];
38
39
  createTable(table: TablePlan): string;
39
40
  addForeignKey(...args: Parameters<MySQLDriver['addForeignKey']>): string;
40
41
  createMigrationsTable(): string;
package/dist/src/index.js CHANGED
@@ -18634,12 +18634,27 @@ class MySQLDriver {
18634
18634
  createEnumType(_enumTypeName, _values) {
18635
18635
  return "";
18636
18636
  }
18637
+ foreignKeyClauses(table) {
18638
+ return table.columns.filter((column) => column.references).map((column) => {
18639
+ const reference = column.references;
18640
+ const name = `${table.table}_${column.name}_fk`;
18641
+ let clause = `CONSTRAINT ${this.quoteIdentifier(name)} FOREIGN KEY (${this.quoteIdentifier(column.name)}) REFERENCES ${this.quoteIdentifier(reference.table)}(${this.quoteIdentifier(reference.column)})`;
18642
+ if (reference.onDelete)
18643
+ clause += ` ON DELETE ${reference.onDelete.toUpperCase()}`;
18644
+ if (reference.onUpdate)
18645
+ clause += ` ON UPDATE ${reference.onUpdate.toUpperCase()}`;
18646
+ return clause;
18647
+ });
18648
+ }
18637
18649
  createTable(table) {
18638
- const columns = table.columns.map((c) => this.renderColumn(c)).join(`,
18639
- `);
18650
+ const parts = [
18651
+ ...table.columns.map((c) => this.renderColumn(c)),
18652
+ ...this.foreignKeyClauses(table)
18653
+ ];
18640
18654
  return `CREATE TABLE IF NOT EXISTS ${this.quoteIdentifier(table.table)} (
18641
- ${columns}
18642
- );`;
18655
+ ${parts.join(`,
18656
+ `)}
18657
+ ) DEFAULT CHARSET=utf8mb4;`;
18643
18658
  }
18644
18659
  static KEY_PREFIX_CHARACTERS = 255;
18645
18660
  needsKeyPrefix(column) {
@@ -18772,14 +18787,6 @@ ${sql};` : `${sql};`;
18772
18787
  if (defaultValue) {
18773
18788
  parts.push(defaultValue);
18774
18789
  }
18775
- if (column.references) {
18776
- let reference = `REFERENCES ${this.quoteIdentifier(column.references.table)}(${this.quoteIdentifier(column.references.column)})`;
18777
- if (column.references.onDelete)
18778
- reference += ` ON DELETE ${column.references.onDelete.toUpperCase()}`;
18779
- if (column.references.onUpdate)
18780
- reference += ` ON UPDATE ${column.references.onUpdate.toUpperCase()}`;
18781
- parts.push(reference);
18782
- }
18783
18790
  return parts.join(" ");
18784
18791
  }
18785
18792
  }
@@ -19067,6 +19074,9 @@ var init_vitess = __esm(() => {
19067
19074
  const { references: _references, ...withoutReference } = column;
19068
19075
  return super.renderColumn(withoutReference);
19069
19076
  }
19077
+ foreignKeyClauses(table) {
19078
+ return this.sharded ? [] : super.foreignKeyClauses(table);
19079
+ }
19070
19080
  createTable(table) {
19071
19081
  return super.createTable(table);
19072
19082
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bun-query-builder",
3
3
  "type": "module",
4
- "version": "0.2.47",
4
+ "version": "0.2.48",
5
5
  "description": "A simple yet performant query builder for TypeScript. Built with Bun.",
6
6
  "author": "Chris Breuer <chris@stacksjs.org>",
7
7
  "license": "MIT",