drizzle-seed 0.3.1 → 0.3.2-97009ae
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 +62 -57
- package/index.cjs.map +1 -1
- package/index.d.cts +9 -4
- package/index.d.mts +9 -4
- package/index.d.ts +9 -4
- package/index.mjs +62 -57
- package/index.mjs.map +1 -1
- package/package.json +1 -1
package/index.cjs
CHANGED
|
@@ -134584,17 +134584,15 @@ class SeedService {
|
|
|
134584
134584
|
return generator;
|
|
134585
134585
|
}
|
|
134586
134586
|
// INT ------------------------------------------------------------------------------------------------------------
|
|
134587
|
-
if ((col.columnType
|
|
134588
|
-
||
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
134654
|
-
|| col.columnType
|
|
134655
|
-
|| col.columnType.
|
|
134656
|
-
|| col.columnType.
|
|
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.
|
|
134674
|
-
|| col.columnType.
|
|
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.
|
|
134681
|
-
|| col.columnType.
|
|
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.
|
|
134688
|
-
|| col.columnType.
|
|
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.
|
|
134695
|
-
|| col.columnType.
|
|
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
|
|
134706
|
+
if (col.columnType === 'date') {
|
|
134711
134707
|
const generator = new generatorsMap.GenerateDate[0]();
|
|
134712
134708
|
return generator;
|
|
134713
134709
|
}
|
|
134714
|
-
if (col.columnType
|
|
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.
|
|
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.
|
|
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
|
|
134745
|
+
if (col.columnType === 'point') {
|
|
134750
134746
|
const generator = new generatorsMap.GeneratePoint[0]();
|
|
134751
134747
|
return generator;
|
|
134752
134748
|
}
|
|
134753
|
-
if (col.columnType
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
134829
|
-
|| col.columnType
|
|
134830
|
-
|| col.columnType
|
|
134831
|
-
|| col.columnType.
|
|
134832
|
-
|| col.columnType.
|
|
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.
|
|
134851
|
-
|| col.columnType.
|
|
134852
|
-
|| col.columnType.
|
|
134853
|
-
|| col.columnType.
|
|
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.
|
|
134861
|
-
|| col.columnType.
|
|
134862
|
-
|| col.columnType.
|
|
134863
|
-
|| col.columnType.
|
|
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.
|
|
134871
|
-
|| col.columnType.
|
|
134872
|
-
|| col.columnType.
|
|
134873
|
-
|| col.columnType.
|
|
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.
|
|
134881
|
-
|| col.columnType.
|
|
134882
|
-
|| col.columnType.
|
|
134883
|
-
|| col.columnType.
|
|
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.
|
|
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
|
|
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.
|
|
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.
|
|
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;
|
|
@@ -135189,6 +135187,9 @@ class SeedService {
|
|
|
135189
135187
|
columnsNumber += 1;
|
|
135190
135188
|
columnGenerator = tableGenerators[columnName];
|
|
135191
135189
|
override = tableGenerators[columnName]?.generatedIdentityType === 'always' ? true : override;
|
|
135190
|
+
if (tableName === 'evaluations' && columnName === 'gameId') {
|
|
135191
|
+
console.log();
|
|
135192
|
+
}
|
|
135192
135193
|
columnsGenerators[columnName] = columnGenerator.generator;
|
|
135193
135194
|
columnsGenerators[columnName].init({
|
|
135194
135195
|
count,
|
|
@@ -135504,6 +135505,10 @@ const seedFunc = async (db, schema, options = {}, refinements) => {
|
|
|
135504
135505
|
* @example
|
|
135505
135506
|
* ```ts
|
|
135506
135507
|
* await reset(db, schema);
|
|
135508
|
+
*
|
|
135509
|
+
* // Alternatively, you can provide an object containing your tables
|
|
135510
|
+
* // as the `schema` parameter when calling `reset`.
|
|
135511
|
+
* await reset(db, { users });
|
|
135507
135512
|
* ```
|
|
135508
135513
|
*/
|
|
135509
135514
|
async function reset(db, schema) {
|