drizzle-seed 0.3.1 → 0.3.2-61ab0d9

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/index.cjs CHANGED
@@ -134584,17 +134584,15 @@ class SeedService {
134584
134584
  return generator;
134585
134585
  }
134586
134586
  // INT ------------------------------------------------------------------------------------------------------------
134587
- if ((col.columnType.includes('serial')
134588
- || col.columnType === 'integer'
134589
- || col.columnType === 'smallint'
134590
- || col.columnType.includes('bigint'))
134587
+ if ((['smallserial', 'serial', 'bigserial'].includes(col.columnType)
134588
+ || ['smallint', 'integer', 'bigint'].includes(col.columnType))
134591
134589
  && table.primaryKeys.includes(col.name)) {
134592
134590
  const generator = new generatorsMap.GenerateIntPrimaryKey[0]();
134593
134591
  return generator;
134594
134592
  }
134595
134593
  let minValue;
134596
134594
  let maxValue;
134597
- if (col.columnType.includes('serial')) {
134595
+ if (['smallserial', 'serial', 'bigserial'].includes(col.columnType)) {
134598
134596
  minValue = 1;
134599
134597
  if (col.columnType === 'smallserial') {
134600
134598
  // 2^16 / 2 - 1, 2 bytes
@@ -134610,7 +134608,7 @@ class SeedService {
134610
134608
  maxValue = BigInt('9223372036854775807');
134611
134609
  }
134612
134610
  }
134613
- else if (col.columnType.includes('int')) {
134611
+ else if (['smallint', 'integer', 'bigint'].includes(col.columnType)) {
134614
134612
  if (col.columnType === 'smallint') {
134615
134613
  // 2^16 / 2 - 1, 2 bytes
134616
134614
  minValue = -32768;
@@ -134635,25 +134633,23 @@ class SeedService {
134635
134633
  }
134636
134634
  }
134637
134635
  }
134638
- if (col.columnType.includes('int')
134639
- && !col.columnType.includes('interval')
134640
- && !col.columnType.includes('point')) {
134636
+ if (['smallint', 'integer', 'bigint'].includes(col.columnType)) {
134641
134637
  const generator = new generatorsMap.GenerateInt[0]({
134642
134638
  minValue,
134643
134639
  maxValue,
134644
134640
  });
134645
134641
  return generator;
134646
134642
  }
134647
- if (col.columnType.includes('serial')) {
134643
+ if (['smallserial', 'serial', 'bigserial'].includes(col.columnType)) {
134648
134644
  const generator = new generatorsMap.GenerateIntPrimaryKey[0]();
134649
134645
  generator.maxValue = maxValue;
134650
134646
  return generator;
134651
134647
  }
134652
134648
  // NUMBER(real, double, decimal, numeric)
134653
- if (col.columnType.startsWith('real')
134654
- || col.columnType.startsWith('double precision')
134655
- || col.columnType.startsWith('decimal')
134656
- || col.columnType.startsWith('numeric')) {
134649
+ if (col.columnType === 'real'
134650
+ || col.columnType === 'double precision'
134651
+ || col.columnType.match(/^decimal(\(\d+,? *\d*\))?$/) !== null
134652
+ || col.columnType.match(/^numeric(\(\d+,? *\d*\))?$/) !== null) {
134657
134653
  if (col.typeParams.precision !== undefined) {
134658
134654
  const precision = col.typeParams.precision;
134659
134655
  const scale = col.typeParams.scale === undefined ? 0 : col.typeParams.scale;
@@ -134670,29 +134666,29 @@ class SeedService {
134670
134666
  }
134671
134667
  // STRING
134672
134668
  if ((col.columnType === 'text'
134673
- || col.columnType.startsWith('varchar')
134674
- || col.columnType.startsWith('char'))
134669
+ || col.columnType.match(/^varchar(\(\d+\))?$/) !== null
134670
+ || col.columnType.match(/^char(\(\d+\))?$/) !== null)
134675
134671
  && table.primaryKeys.includes(col.name)) {
134676
134672
  const generator = new generatorsMap.GenerateUniqueString[0]();
134677
134673
  return generator;
134678
134674
  }
134679
134675
  if ((col.columnType === 'text'
134680
- || col.columnType.startsWith('varchar')
134681
- || col.columnType.startsWith('char'))
134676
+ || col.columnType.match(/^varchar(\(\d+\))?$/) !== null
134677
+ || col.columnType.match(/^char(\(\d+\))?$/) !== null)
134682
134678
  && col.name.toLowerCase().includes('name')) {
134683
134679
  const generator = new generatorsMap.GenerateFirstName[0]();
134684
134680
  return generator;
134685
134681
  }
134686
134682
  if ((col.columnType === 'text'
134687
- || col.columnType.startsWith('varchar')
134688
- || col.columnType.startsWith('char'))
134683
+ || col.columnType.match(/^varchar(\(\d+\))?$/) !== null
134684
+ || col.columnType.match(/^char(\(\d+\))?$/) !== null)
134689
134685
  && col.name.toLowerCase().includes('email')) {
134690
134686
  const generator = new generatorsMap.GenerateEmail[0]();
134691
134687
  return generator;
134692
134688
  }
134693
134689
  if (col.columnType === 'text'
134694
- || col.columnType.startsWith('varchar')
134695
- || col.columnType.startsWith('char')) {
134690
+ || col.columnType.match(/^varchar(\(\d+\))?$/) !== null
134691
+ || col.columnType.match(/^char(\(\d+\))?$/) !== null) {
134696
134692
  const generator = new generatorsMap.GenerateString[0]();
134697
134693
  return generator;
134698
134694
  }
@@ -134707,15 +134703,15 @@ class SeedService {
134707
134703
  return generator;
134708
134704
  }
134709
134705
  // DATE, TIME, TIMESTAMP
134710
- if (col.columnType.includes('date')) {
134706
+ if (col.columnType === 'date') {
134711
134707
  const generator = new generatorsMap.GenerateDate[0]();
134712
134708
  return generator;
134713
134709
  }
134714
- if (col.columnType === 'time') {
134710
+ if (col.columnType.match(/^time((\(\d+\))|( with time zone))?$/) !== null) {
134715
134711
  const generator = new generatorsMap.GenerateTime[0]();
134716
134712
  return generator;
134717
134713
  }
134718
- if (col.columnType.includes('timestamp')) {
134714
+ if (col.columnType.match(/^timestamp((\(\d+\))|( with time zone))?$/) !== null) {
134719
134715
  const generator = new generatorsMap.GenerateTimestamp[0]();
134720
134716
  return generator;
134721
134717
  }
@@ -134736,7 +134732,7 @@ class SeedService {
134736
134732
  return generator;
134737
134733
  }
134738
134734
  // INTERVAL
134739
- if (col.columnType.startsWith('interval')) {
134735
+ if (col.columnType.match(/^interval( .+)?$/) !== null) {
134740
134736
  if (col.columnType === 'interval') {
134741
134737
  const generator = new generatorsMap.GenerateInterval[0]();
134742
134738
  return generator;
@@ -134746,11 +134742,11 @@ class SeedService {
134746
134742
  return generator;
134747
134743
  }
134748
134744
  // POINT, LINE
134749
- if (col.columnType.includes('point')) {
134745
+ if (col.columnType === 'point') {
134750
134746
  const generator = new generatorsMap.GeneratePoint[0]();
134751
134747
  return generator;
134752
134748
  }
134753
- if (col.columnType.includes('line')) {
134749
+ if (col.columnType === 'line') {
134754
134750
  const generator = new generatorsMap.GenerateLine[0]();
134755
134751
  return generator;
134756
134752
  }
@@ -134773,7 +134769,8 @@ class SeedService {
134773
134769
  selectGeneratorForMysqlColumn = (table, col) => {
134774
134770
  const pickGenerator = (table, col) => {
134775
134771
  // INT ------------------------------------------------------------------------------------------------------------
134776
- if ((col.columnType.includes('serial') || col.columnType.includes('int'))
134772
+ if ((col.columnType === 'serial'
134773
+ || ['tinyint', 'smallint', 'mediumint', 'int', 'bigint'].includes(col.columnType))
134777
134774
  && table.primaryKeys.includes(col.name)) {
134778
134775
  const generator = new generatorsMap.GenerateIntPrimaryKey[0]();
134779
134776
  return generator;
@@ -134785,7 +134782,7 @@ class SeedService {
134785
134782
  minValue = BigInt(0);
134786
134783
  maxValue = BigInt('9223372036854775807');
134787
134784
  }
134788
- else if (col.columnType.includes('int')) {
134785
+ else if (['tinyint', 'smallint', 'mediumint', 'int', 'bigint'].includes(col.columnType)) {
134789
134786
  if (col.columnType === 'tinyint') {
134790
134787
  // 2^8 / 2 - 1, 1 bytes
134791
134788
  minValue = -128;
@@ -134812,24 +134809,24 @@ class SeedService {
134812
134809
  maxValue = BigInt('9223372036854775807');
134813
134810
  }
134814
134811
  }
134815
- if (col.columnType.includes('int')) {
134812
+ if (['tinyint', 'smallint', 'mediumint', 'int', 'bigint'].includes(col.columnType)) {
134816
134813
  const generator = new generatorsMap.GenerateInt[0]({
134817
134814
  minValue,
134818
134815
  maxValue,
134819
134816
  });
134820
134817
  return generator;
134821
134818
  }
134822
- if (col.columnType.includes('serial')) {
134819
+ if (col.columnType === 'serial') {
134823
134820
  const generator = new generatorsMap.GenerateIntPrimaryKey[0]();
134824
134821
  generator.maxValue = maxValue;
134825
134822
  return generator;
134826
134823
  }
134827
134824
  // NUMBER(real, double, decimal, float)
134828
- if (col.columnType.startsWith('real')
134829
- || col.columnType.startsWith('double')
134830
- || col.columnType.startsWith('decimal')
134831
- || col.columnType.startsWith('float')
134832
- || col.columnType.startsWith('numeric')) {
134825
+ if (col.columnType === 'real'
134826
+ || col.columnType === 'double'
134827
+ || col.columnType === 'float'
134828
+ || col.columnType.match(/^decimal(\(\d+,? *\d*\))?$/) !== null
134829
+ || col.columnType.match(/^numeric(\(\d+,? *\d*\))?$/) !== null) {
134833
134830
  if (col.typeParams.precision !== undefined) {
134834
134831
  const precision = col.typeParams.precision;
134835
134832
  const scale = col.typeParams.scale === undefined ? 0 : col.typeParams.scale;
@@ -134847,40 +134844,40 @@ class SeedService {
134847
134844
  // STRING
134848
134845
  if ((col.columnType === 'text'
134849
134846
  || col.columnType === 'blob'
134850
- || col.columnType.startsWith('char')
134851
- || col.columnType.startsWith('varchar')
134852
- || col.columnType.startsWith('binary')
134853
- || col.columnType.startsWith('varbinary'))
134847
+ || col.columnType.match(/^char(\(\d+\))?$/) !== null
134848
+ || col.columnType.match(/^varchar(\(\d+\))?$/) !== null
134849
+ || col.columnType.match(/^binary(\(\d+\))?$/) !== null
134850
+ || col.columnType.match(/^varbinary(\(\d+\))?$/) !== null)
134854
134851
  && table.primaryKeys.includes(col.name)) {
134855
134852
  const generator = new generatorsMap.GenerateUniqueString[0]();
134856
134853
  return generator;
134857
134854
  }
134858
134855
  if ((col.columnType === 'text'
134859
134856
  || col.columnType === 'blob'
134860
- || col.columnType.startsWith('char')
134861
- || col.columnType.startsWith('varchar')
134862
- || col.columnType.startsWith('binary')
134863
- || col.columnType.startsWith('varbinary'))
134857
+ || col.columnType.match(/^char(\(\d+\))?$/) !== null
134858
+ || col.columnType.match(/^varchar(\(\d+\))?$/) !== null
134859
+ || col.columnType.match(/^binary(\(\d+\))?$/) !== null
134860
+ || col.columnType.match(/^varbinary(\(\d+\))?$/) !== null)
134864
134861
  && col.name.toLowerCase().includes('name')) {
134865
134862
  const generator = new generatorsMap.GenerateFirstName[0]();
134866
134863
  return generator;
134867
134864
  }
134868
134865
  if ((col.columnType === 'text'
134869
134866
  || col.columnType === 'blob'
134870
- || col.columnType.startsWith('char')
134871
- || col.columnType.startsWith('varchar')
134872
- || col.columnType.startsWith('binary')
134873
- || col.columnType.startsWith('varbinary'))
134867
+ || col.columnType.match(/^char(\(\d+\))?$/) !== null
134868
+ || col.columnType.match(/^varchar(\(\d+\))?$/) !== null
134869
+ || col.columnType.match(/^binary(\(\d+\))?$/) !== null
134870
+ || col.columnType.match(/^varbinary(\(\d+\))?$/) !== null)
134874
134871
  && col.name.toLowerCase().includes('email')) {
134875
134872
  const generator = new generatorsMap.GenerateEmail[0]();
134876
134873
  return generator;
134877
134874
  }
134878
134875
  if (col.columnType === 'text'
134879
134876
  || col.columnType === 'blob'
134880
- || col.columnType.startsWith('char')
134881
- || col.columnType.startsWith('varchar')
134882
- || col.columnType.startsWith('binary')
134883
- || col.columnType.startsWith('varbinary')) {
134877
+ || col.columnType.match(/^char(\(\d+\))?$/) !== null
134878
+ || col.columnType.match(/^varchar(\(\d+\))?$/) !== null
134879
+ || col.columnType.match(/^binary(\(\d+\))?$/) !== null
134880
+ || col.columnType.match(/^varbinary(\(\d+\))?$/) !== null) {
134884
134881
  const generator = new generatorsMap.GenerateString[0]();
134885
134882
  return generator;
134886
134883
  }
@@ -134890,11 +134887,11 @@ class SeedService {
134890
134887
  return generator;
134891
134888
  }
134892
134889
  // DATE, TIME, TIMESTAMP, DATETIME, YEAR
134893
- if (col.columnType.includes('datetime')) {
134890
+ if (col.columnType.match(/^datetime(\(\d\))?$/) !== null) {
134894
134891
  const generator = new generatorsMap.GenerateDatetime[0]();
134895
134892
  return generator;
134896
134893
  }
134897
- if (col.columnType.includes('date')) {
134894
+ if (col.columnType === 'date') {
134898
134895
  const generator = new generatorsMap.GenerateDate[0]();
134899
134896
  return generator;
134900
134897
  }
@@ -134902,7 +134899,7 @@ class SeedService {
134902
134899
  const generator = new generatorsMap.GenerateTime[0]();
134903
134900
  return generator;
134904
134901
  }
134905
- if (col.columnType.includes('timestamp')) {
134902
+ if (col.columnType.match(/^timestamp(\(\d\))?$/) !== null) {
134906
134903
  const generator = new generatorsMap.GenerateTimestamp[0]();
134907
134904
  return generator;
134908
134905
  }
@@ -134955,7 +134952,8 @@ class SeedService {
134955
134952
  return generator;
134956
134953
  }
134957
134954
  // number section ------------------------------------------------------------------------------------
134958
- if (col.columnType.startsWith('real') || col.columnType.startsWith('numeric')) {
134955
+ if (col.columnType.match(/^real(\(\d+,? *\d*\))?$/) !== null
134956
+ || col.columnType.match(/^numeric(\(\d+,? *\d*\))?$/) !== null) {
134959
134957
  if (col.typeParams.precision !== undefined) {
134960
134958
  const precision = col.typeParams.precision;
134961
134959
  const scale = col.typeParams.scale === undefined ? 0 : col.typeParams.scale;
@@ -135504,6 +135502,10 @@ const seedFunc = async (db, schema, options = {}, refinements) => {
135504
135502
  * @example
135505
135503
  * ```ts
135506
135504
  * await reset(db, schema);
135505
+ *
135506
+ * // Alternatively, you can provide an object containing your tables
135507
+ * // as the `schema` parameter when calling `reset`.
135508
+ * await reset(db, { users });
135507
135509
  * ```
135508
135510
  */
135509
135511
  async function reset(db, schema) {