drizzle-seed 0.3.0 → 0.3.1-014cdb8
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 +120 -96
- package/index.cjs.map +1 -1
- package/index.mjs +120 -96
- package/index.mjs.map +1 -1
- package/package.json +1 -1
package/index.cjs
CHANGED
|
@@ -134483,7 +134483,7 @@ class SeedService {
|
|
|
134483
134483
|
orderedTablesNames.push(parent);
|
|
134484
134484
|
}
|
|
134485
134485
|
else {
|
|
134486
|
-
leafTablesNames.push(parent);
|
|
134486
|
+
leafTablesNames.push(...tablesInOutRelations[parent].requiredTableNames, parent);
|
|
134487
134487
|
continue;
|
|
134488
134488
|
}
|
|
134489
134489
|
children = [...tablesInOutRelations[parent].dependantTableNames];
|
|
@@ -135580,39 +135580,47 @@ const getPostgresInfo = (pgSchema, pgTables) => {
|
|
|
135580
135580
|
const schemaConfig = drizzleOrm.extractTablesRelationalConfig(schema, drizzleOrm.createTableRelationsHelpers);
|
|
135581
135581
|
const relations = [];
|
|
135582
135582
|
for (const table of Object.values(schemaConfig.tables)) {
|
|
135583
|
-
if (table.relations
|
|
135584
|
-
|
|
135585
|
-
|
|
135586
|
-
|
|
135587
|
-
|
|
135588
|
-
|
|
135589
|
-
|
|
135590
|
-
|
|
135591
|
-
|
|
135592
|
-
|
|
135593
|
-
|
|
135594
|
-
|
|
135595
|
-
|
|
135596
|
-
|
|
135597
|
-
|
|
135598
|
-
|
|
135599
|
-
|
|
135600
|
-
|
|
135601
|
-
|
|
135602
|
-
|
|
135603
|
-
|
|
135604
|
-
|
|
135605
|
-
|
|
135606
|
-
|
|
135607
|
-
|
|
135608
|
-
|
|
135609
|
-
|
|
135610
|
-
|
|
135611
|
-
|
|
135612
|
-
|
|
135613
|
-
|
|
135614
|
-
|
|
135583
|
+
if (table.relations === undefined)
|
|
135584
|
+
continue;
|
|
135585
|
+
for (const drizzleRel of Object.values(table.relations)) {
|
|
135586
|
+
if (!drizzleOrm.is(drizzleRel, drizzleOrm.One))
|
|
135587
|
+
continue;
|
|
135588
|
+
const tableConfig = pgCore.getTableConfig(drizzleRel.sourceTable);
|
|
135589
|
+
const tableDbSchema = tableConfig.schema ?? 'public';
|
|
135590
|
+
const tableDbName = tableConfig.name;
|
|
135591
|
+
const tableTsName = schemaConfig.tableNamesMap[`${tableDbSchema}.${tableDbName}`] ?? tableDbName;
|
|
135592
|
+
const dbToTsColumnNamesMap = getDbToTsColumnNamesMap(drizzleRel.sourceTable);
|
|
135593
|
+
const columns = drizzleRel.config?.fields.map((field) => dbToTsColumnNamesMap[field.name])
|
|
135594
|
+
?? [];
|
|
135595
|
+
const refTableConfig = pgCore.getTableConfig(drizzleRel.referencedTable);
|
|
135596
|
+
const refTableDbSchema = refTableConfig.schema ?? 'public';
|
|
135597
|
+
const refTableDbName = refTableConfig.name;
|
|
135598
|
+
const refTableTsName = schemaConfig.tableNamesMap[`${refTableDbSchema}.${refTableDbName}`]
|
|
135599
|
+
?? refTableDbName;
|
|
135600
|
+
const dbToTsColumnNamesMapForRefTable = getDbToTsColumnNamesMap(drizzleRel.referencedTable);
|
|
135601
|
+
const refColumns = drizzleRel.config?.references.map((ref) => dbToTsColumnNamesMapForRefTable[ref.name])
|
|
135602
|
+
?? [];
|
|
135603
|
+
if (tableRelations[refTableTsName] === undefined) {
|
|
135604
|
+
tableRelations[refTableTsName] = [];
|
|
135605
|
+
}
|
|
135606
|
+
const relation = {
|
|
135607
|
+
table: tableTsName,
|
|
135608
|
+
columns,
|
|
135609
|
+
refTable: refTableTsName,
|
|
135610
|
+
refColumns,
|
|
135611
|
+
refTableRels: tableRelations[refTableTsName],
|
|
135612
|
+
type: 'one',
|
|
135613
|
+
};
|
|
135614
|
+
// do not add duplicate relation
|
|
135615
|
+
if (tableRelations[tableTsName]?.some((rel) => rel.table === relation.table
|
|
135616
|
+
&& rel.refTable === relation.refTable)) {
|
|
135617
|
+
console.warn(`You are providing a one-to-many relation between the '${relation.refTable}' and '${relation.table}' tables,\n`
|
|
135618
|
+
+ `while the '${relation.table}' table object already has foreign key constraint in the schema referencing '${relation.refTable}' table.\n`
|
|
135619
|
+
+ `In this case, the foreign key constraint will be used.\n`);
|
|
135620
|
+
continue;
|
|
135615
135621
|
}
|
|
135622
|
+
relations.push(relation);
|
|
135623
|
+
tableRelations[tableTsName].push(relation);
|
|
135616
135624
|
}
|
|
135617
135625
|
}
|
|
135618
135626
|
return relations;
|
|
@@ -135822,39 +135830,47 @@ const getMySqlInfo = (mysqlSchema, mysqlTables) => {
|
|
|
135822
135830
|
const schemaConfig = drizzleOrm.extractTablesRelationalConfig(schema, drizzleOrm.createTableRelationsHelpers);
|
|
135823
135831
|
const relations = [];
|
|
135824
135832
|
for (const table of Object.values(schemaConfig.tables)) {
|
|
135825
|
-
if (table.relations
|
|
135826
|
-
|
|
135827
|
-
|
|
135828
|
-
|
|
135829
|
-
|
|
135830
|
-
|
|
135831
|
-
|
|
135832
|
-
|
|
135833
|
-
|
|
135834
|
-
|
|
135835
|
-
|
|
135836
|
-
|
|
135837
|
-
|
|
135838
|
-
|
|
135839
|
-
|
|
135840
|
-
|
|
135841
|
-
|
|
135842
|
-
|
|
135843
|
-
|
|
135844
|
-
|
|
135845
|
-
|
|
135846
|
-
|
|
135847
|
-
|
|
135848
|
-
|
|
135849
|
-
|
|
135850
|
-
|
|
135851
|
-
|
|
135852
|
-
|
|
135853
|
-
|
|
135854
|
-
|
|
135855
|
-
|
|
135856
|
-
|
|
135833
|
+
if (table.relations === undefined)
|
|
135834
|
+
continue;
|
|
135835
|
+
for (const drizzleRel of Object.values(table.relations)) {
|
|
135836
|
+
if (!drizzleOrm.is(drizzleRel, drizzleOrm.One))
|
|
135837
|
+
continue;
|
|
135838
|
+
const tableConfig = mysqlCore.getTableConfig(drizzleRel.sourceTable);
|
|
135839
|
+
const tableDbSchema = tableConfig.schema ?? 'public';
|
|
135840
|
+
const tableDbName = tableConfig.name;
|
|
135841
|
+
const tableTsName = schemaConfig.tableNamesMap[`${tableDbSchema}.${tableDbName}`] ?? tableDbName;
|
|
135842
|
+
const dbToTsColumnNamesMap = getDbToTsColumnNamesMap(drizzleRel.sourceTable);
|
|
135843
|
+
const columns = drizzleRel.config?.fields.map((field) => dbToTsColumnNamesMap[field.name])
|
|
135844
|
+
?? [];
|
|
135845
|
+
const refTableConfig = mysqlCore.getTableConfig(drizzleRel.referencedTable);
|
|
135846
|
+
const refTableDbSchema = refTableConfig.schema ?? 'public';
|
|
135847
|
+
const refTableDbName = refTableConfig.name;
|
|
135848
|
+
const refTableTsName = schemaConfig.tableNamesMap[`${refTableDbSchema}.${refTableDbName}`]
|
|
135849
|
+
?? refTableDbName;
|
|
135850
|
+
const dbToTsColumnNamesMapForRefTable = getDbToTsColumnNamesMap(drizzleRel.referencedTable);
|
|
135851
|
+
const refColumns = drizzleRel.config?.references.map((ref) => dbToTsColumnNamesMapForRefTable[ref.name])
|
|
135852
|
+
?? [];
|
|
135853
|
+
if (tableRelations[refTableTsName] === undefined) {
|
|
135854
|
+
tableRelations[refTableTsName] = [];
|
|
135855
|
+
}
|
|
135856
|
+
const relation = {
|
|
135857
|
+
table: tableTsName,
|
|
135858
|
+
columns,
|
|
135859
|
+
refTable: refTableTsName,
|
|
135860
|
+
refColumns,
|
|
135861
|
+
refTableRels: tableRelations[refTableTsName],
|
|
135862
|
+
type: 'one',
|
|
135863
|
+
};
|
|
135864
|
+
// do not add duplicate relation
|
|
135865
|
+
if (tableRelations[tableTsName]?.some((rel) => rel.table === relation.table
|
|
135866
|
+
&& rel.refTable === relation.refTable)) {
|
|
135867
|
+
console.warn(`You are providing a one-to-many relation between the '${relation.refTable}' and '${relation.table}' tables,\n`
|
|
135868
|
+
+ `while the '${relation.table}' table object already has foreign key constraint in the schema referencing '${relation.refTable}' table.\n`
|
|
135869
|
+
+ `In this case, the foreign key constraint will be used.\n`);
|
|
135870
|
+
continue;
|
|
135857
135871
|
}
|
|
135872
|
+
relations.push(relation);
|
|
135873
|
+
tableRelations[tableTsName].push(relation);
|
|
135858
135874
|
}
|
|
135859
135875
|
}
|
|
135860
135876
|
return relations;
|
|
@@ -136000,38 +136016,46 @@ const getSqliteInfo = (sqliteSchema, sqliteTables) => {
|
|
|
136000
136016
|
const schemaConfig = drizzleOrm.extractTablesRelationalConfig(schema, drizzleOrm.createTableRelationsHelpers);
|
|
136001
136017
|
const relations = [];
|
|
136002
136018
|
for (const table of Object.values(schemaConfig.tables)) {
|
|
136003
|
-
if (table.relations
|
|
136004
|
-
|
|
136005
|
-
|
|
136006
|
-
|
|
136007
|
-
|
|
136008
|
-
|
|
136009
|
-
|
|
136010
|
-
|
|
136011
|
-
|
|
136012
|
-
|
|
136013
|
-
|
|
136014
|
-
|
|
136015
|
-
|
|
136016
|
-
|
|
136017
|
-
|
|
136018
|
-
|
|
136019
|
-
|
|
136020
|
-
|
|
136021
|
-
|
|
136022
|
-
|
|
136023
|
-
|
|
136024
|
-
|
|
136025
|
-
|
|
136026
|
-
|
|
136027
|
-
|
|
136028
|
-
|
|
136029
|
-
|
|
136030
|
-
|
|
136031
|
-
|
|
136032
|
-
|
|
136033
|
-
|
|
136019
|
+
if (table.relations === undefined)
|
|
136020
|
+
continue;
|
|
136021
|
+
for (const drizzleRel of Object.values(table.relations)) {
|
|
136022
|
+
if (!drizzleOrm.is(drizzleRel, drizzleOrm.One))
|
|
136023
|
+
continue;
|
|
136024
|
+
const tableConfig = sqliteCore.getTableConfig(drizzleRel.sourceTable);
|
|
136025
|
+
const tableDbName = tableConfig.name;
|
|
136026
|
+
// TODO: tableNamesMap: have {public.customer: 'customer'} structure in sqlite
|
|
136027
|
+
const tableTsName = schemaConfig.tableNamesMap[`public.${tableDbName}`] ?? tableDbName;
|
|
136028
|
+
const dbToTsColumnNamesMap = getDbToTsColumnNamesMap(drizzleRel.sourceTable);
|
|
136029
|
+
const columns = drizzleRel.config?.fields.map((field) => dbToTsColumnNamesMap[field.name])
|
|
136030
|
+
?? [];
|
|
136031
|
+
const refTableConfig = sqliteCore.getTableConfig(drizzleRel.referencedTable);
|
|
136032
|
+
const refTableDbName = refTableConfig.name;
|
|
136033
|
+
const refTableTsName = schemaConfig.tableNamesMap[`public.${refTableDbName}`]
|
|
136034
|
+
?? refTableDbName;
|
|
136035
|
+
const dbToTsColumnNamesMapForRefTable = getDbToTsColumnNamesMap(drizzleRel.referencedTable);
|
|
136036
|
+
const refColumns = drizzleRel.config?.references.map((ref) => dbToTsColumnNamesMapForRefTable[ref.name])
|
|
136037
|
+
?? [];
|
|
136038
|
+
if (tableRelations[refTableTsName] === undefined) {
|
|
136039
|
+
tableRelations[refTableTsName] = [];
|
|
136040
|
+
}
|
|
136041
|
+
const relation = {
|
|
136042
|
+
table: tableTsName,
|
|
136043
|
+
columns,
|
|
136044
|
+
refTable: refTableTsName,
|
|
136045
|
+
refColumns,
|
|
136046
|
+
refTableRels: tableRelations[refTableTsName],
|
|
136047
|
+
type: 'one',
|
|
136048
|
+
};
|
|
136049
|
+
// do not add duplicate relation
|
|
136050
|
+
if (tableRelations[tableTsName]?.some((rel) => rel.table === relation.table
|
|
136051
|
+
&& rel.refTable === relation.refTable)) {
|
|
136052
|
+
console.warn(`You are providing a one-to-many relation between the '${relation.refTable}' and '${relation.table}' tables,\n`
|
|
136053
|
+
+ `while the '${relation.table}' table object already has foreign key constraint in the schema referencing '${relation.refTable}' table.\n`
|
|
136054
|
+
+ `In this case, the foreign key constraint will be used.\n`);
|
|
136055
|
+
continue;
|
|
136034
136056
|
}
|
|
136057
|
+
relations.push(relation);
|
|
136058
|
+
tableRelations[tableTsName].push(relation);
|
|
136035
136059
|
}
|
|
136036
136060
|
}
|
|
136037
136061
|
return relations;
|