drizzle-kit 0.30.1 → 0.30.2-0a0cdd2
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/api.js +386 -95
- package/api.mjs +386 -95
- package/bin.cjs +551 -342
- package/package.json +1 -1
package/api.mjs
CHANGED
@@ -3474,17 +3474,17 @@ function processCreateParams(params) {
|
|
3474
3474
|
if (errorMap2)
|
3475
3475
|
return { errorMap: errorMap2, description };
|
3476
3476
|
const customMap = (iss, ctx) => {
|
3477
|
-
var
|
3477
|
+
var _a415, _b305;
|
3478
3478
|
const { message } = params;
|
3479
3479
|
if (iss.code === "invalid_enum_value") {
|
3480
3480
|
return { message: message !== null && message !== void 0 ? message : ctx.defaultError };
|
3481
3481
|
}
|
3482
3482
|
if (typeof ctx.data === "undefined") {
|
3483
|
-
return { message: (
|
3483
|
+
return { message: (_a415 = message !== null && message !== void 0 ? message : required_error) !== null && _a415 !== void 0 ? _a415 : ctx.defaultError };
|
3484
3484
|
}
|
3485
3485
|
if (iss.code !== "invalid_type")
|
3486
3486
|
return { message: ctx.defaultError };
|
3487
|
-
return { message: (
|
3487
|
+
return { message: (_b305 = message !== null && message !== void 0 ? message : invalid_type_error) !== null && _b305 !== void 0 ? _b305 : ctx.defaultError };
|
3488
3488
|
};
|
3489
3489
|
return { errorMap: customMap, description };
|
3490
3490
|
}
|
@@ -4146,11 +4146,11 @@ var init_lib = __esm({
|
|
4146
4146
|
throw result.error;
|
4147
4147
|
}
|
4148
4148
|
safeParse(data, params) {
|
4149
|
-
var
|
4149
|
+
var _a415;
|
4150
4150
|
const ctx = {
|
4151
4151
|
common: {
|
4152
4152
|
issues: [],
|
4153
|
-
async: (
|
4153
|
+
async: (_a415 = params === null || params === void 0 ? void 0 : params.async) !== null && _a415 !== void 0 ? _a415 : false,
|
4154
4154
|
contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap
|
4155
4155
|
},
|
4156
4156
|
path: (params === null || params === void 0 ? void 0 : params.path) || [],
|
@@ -4472,7 +4472,7 @@ var init_lib = __esm({
|
|
4472
4472
|
} else if (check.kind === "url") {
|
4473
4473
|
try {
|
4474
4474
|
new URL(input.data);
|
4475
|
-
} catch (
|
4475
|
+
} catch (_a415) {
|
4476
4476
|
ctx = this._getOrReturnCtx(input, ctx);
|
4477
4477
|
addIssueToContext(ctx, {
|
4478
4478
|
validation: "url",
|
@@ -4642,7 +4642,7 @@ var init_lib = __esm({
|
|
4642
4642
|
return this._addCheck({ kind: "ip", ...errorUtil.errToObj(options) });
|
4643
4643
|
}
|
4644
4644
|
datetime(options) {
|
4645
|
-
var
|
4645
|
+
var _a415, _b305;
|
4646
4646
|
if (typeof options === "string") {
|
4647
4647
|
return this._addCheck({
|
4648
4648
|
kind: "datetime",
|
@@ -4655,8 +4655,8 @@ var init_lib = __esm({
|
|
4655
4655
|
return this._addCheck({
|
4656
4656
|
kind: "datetime",
|
4657
4657
|
precision: typeof (options === null || options === void 0 ? void 0 : options.precision) === "undefined" ? null : options === null || options === void 0 ? void 0 : options.precision,
|
4658
|
-
offset: (
|
4659
|
-
local: (
|
4658
|
+
offset: (_a415 = options === null || options === void 0 ? void 0 : options.offset) !== null && _a415 !== void 0 ? _a415 : false,
|
4659
|
+
local: (_b305 = options === null || options === void 0 ? void 0 : options.local) !== null && _b305 !== void 0 ? _b305 : false,
|
4660
4660
|
...errorUtil.errToObj(options === null || options === void 0 ? void 0 : options.message)
|
4661
4661
|
});
|
4662
4662
|
}
|
@@ -4819,11 +4819,11 @@ var init_lib = __esm({
|
|
4819
4819
|
}
|
4820
4820
|
};
|
4821
4821
|
ZodString.create = (params) => {
|
4822
|
-
var
|
4822
|
+
var _a415;
|
4823
4823
|
return new ZodString({
|
4824
4824
|
checks: [],
|
4825
4825
|
typeName: ZodFirstPartyTypeKind.ZodString,
|
4826
|
-
coerce: (
|
4826
|
+
coerce: (_a415 = params === null || params === void 0 ? void 0 : params.coerce) !== null && _a415 !== void 0 ? _a415 : false,
|
4827
4827
|
...processCreateParams(params)
|
4828
4828
|
});
|
4829
4829
|
};
|
@@ -5216,11 +5216,11 @@ var init_lib = __esm({
|
|
5216
5216
|
}
|
5217
5217
|
};
|
5218
5218
|
ZodBigInt.create = (params) => {
|
5219
|
-
var
|
5219
|
+
var _a415;
|
5220
5220
|
return new ZodBigInt({
|
5221
5221
|
checks: [],
|
5222
5222
|
typeName: ZodFirstPartyTypeKind.ZodBigInt,
|
5223
|
-
coerce: (
|
5223
|
+
coerce: (_a415 = params === null || params === void 0 ? void 0 : params.coerce) !== null && _a415 !== void 0 ? _a415 : false,
|
5224
5224
|
...processCreateParams(params)
|
5225
5225
|
});
|
5226
5226
|
};
|
@@ -5700,8 +5700,8 @@ var init_lib = __esm({
|
|
5700
5700
|
unknownKeys: "strict",
|
5701
5701
|
...message !== void 0 ? {
|
5702
5702
|
errorMap: (issue, ctx) => {
|
5703
|
-
var
|
5704
|
-
const defaultError = (_c14 = (
|
5703
|
+
var _a415, _b305, _c14, _d6;
|
5704
|
+
const defaultError = (_c14 = (_b305 = (_a415 = this._def).errorMap) === null || _b305 === void 0 ? void 0 : _b305.call(_a415, issue, ctx).message) !== null && _c14 !== void 0 ? _c14 : ctx.defaultError;
|
5705
5705
|
if (issue.code === "unrecognized_keys")
|
5706
5706
|
return {
|
5707
5707
|
message: (_d6 = errorUtil.errToObj(message).message) !== null && _d6 !== void 0 ? _d6 : defaultError
|
@@ -12126,7 +12126,7 @@ function fromJson(statements, dialect6, action, json22) {
|
|
12126
12126
|
}).filter((it) => it !== "");
|
12127
12127
|
return result;
|
12128
12128
|
}
|
12129
|
-
var parseType, Convertor, PgCreateRoleConvertor, PgDropRoleConvertor, PgRenameRoleConvertor, PgAlterRoleConvertor, PgCreatePolicyConvertor, PgDropPolicyConvertor, PgRenamePolicyConvertor, PgAlterPolicyConvertor, PgCreateIndPolicyConvertor, PgDropIndPolicyConvertor, PgRenameIndPolicyConvertor, PgAlterIndPolicyConvertor, PgEnableRlsConvertor, PgDisableRlsConvertor, PgCreateTableConvertor, MySqlCreateTableConvertor, SingleStoreCreateTableConvertor, SQLiteCreateTableConvertor, PgCreateViewConvertor, MySqlCreateViewConvertor, SqliteCreateViewConvertor, PgDropViewConvertor, MySqlDropViewConvertor, SqliteDropViewConvertor, MySqlAlterViewConvertor, PgRenameViewConvertor, MySqlRenameViewConvertor, PgAlterViewSchemaConvertor, PgAlterViewAddWithOptionConvertor, PgAlterViewDropWithOptionConvertor, PgAlterViewAlterTablespaceConvertor, PgAlterViewAlterUsingConvertor, PgAlterTableAlterColumnSetGenerated, PgAlterTableAlterColumnDropGenerated, PgAlterTableAlterColumnAlterGenerated, PgAlterTableAddUniqueConstraintConvertor, PgAlterTableDropUniqueConstraintConvertor, PgAlterTableAddCheckConstraintConvertor, PgAlterTableDeleteCheckConstraintConvertor, MySQLAlterTableAddUniqueConstraintConvertor, MySQLAlterTableDropUniqueConstraintConvertor, MySqlAlterTableAddCheckConstraintConvertor, SingleStoreAlterTableAddUniqueConstraintConvertor, SingleStoreAlterTableDropUniqueConstraintConvertor, MySqlAlterTableDeleteCheckConstraintConvertor, CreatePgSequenceConvertor, DropPgSequenceConvertor, RenamePgSequenceConvertor, MovePgSequenceConvertor, AlterPgSequenceConvertor, CreateTypeEnumConvertor, DropTypeEnumConvertor, AlterTypeAddValueConvertor, AlterTypeSetSchemaConvertor, AlterRenameTypeConvertor, AlterTypeDropValueConvertor, PgDropTableConvertor, MySQLDropTableConvertor, SingleStoreDropTableConvertor, SQLiteDropTableConvertor, PgRenameTableConvertor, SqliteRenameTableConvertor, MySqlRenameTableConvertor, SingleStoreRenameTableConvertor, PgAlterTableRenameColumnConvertor, MySqlAlterTableRenameColumnConvertor, SingleStoreAlterTableRenameColumnConvertor, SQLiteAlterTableRenameColumnConvertor, PgAlterTableDropColumnConvertor, MySqlAlterTableDropColumnConvertor, SingleStoreAlterTableDropColumnConvertor, SQLiteAlterTableDropColumnConvertor, PgAlterTableAddColumnConvertor, MySqlAlterTableAddColumnConvertor, SingleStoreAlterTableAddColumnConvertor, SQLiteAlterTableAddColumnConvertor, PgAlterTableAlterColumnSetTypeConvertor, PgAlterTableAlterColumnSetDefaultConvertor, PgAlterTableAlterColumnDropDefaultConvertor, PgAlterTableAlterColumnDropGeneratedConvertor, PgAlterTableAlterColumnSetExpressionConvertor, PgAlterTableAlterColumnAlterrGeneratedConvertor, SqliteAlterTableAlterColumnDropGeneratedConvertor, SqliteAlterTableAlterColumnSetExpressionConvertor, SqliteAlterTableAlterColumnAlterGeneratedConvertor, MySqlAlterTableAlterColumnAlterrGeneratedConvertor, MySqlAlterTableAddPk, MySqlAlterTableDropPk, LibSQLModifyColumn, MySqlModifyColumn, SingleStoreAlterTableAlterColumnAlterrGeneratedConvertor, SingleStoreAlterTableAddPk, SingleStoreAlterTableDropPk, SingleStoreModifyColumn, PgAlterTableCreateCompositePrimaryKeyConvertor, PgAlterTableDeleteCompositePrimaryKeyConvertor, PgAlterTableAlterCompositePrimaryKeyConvertor, MySqlAlterTableCreateCompositePrimaryKeyConvertor, MySqlAlterTableDeleteCompositePrimaryKeyConvertor, MySqlAlterTableAlterCompositePrimaryKeyConvertor, PgAlterTableAlterColumnSetPrimaryKeyConvertor, PgAlterTableAlterColumnDropPrimaryKeyConvertor, PgAlterTableAlterColumnSetNotNullConvertor, PgAlterTableAlterColumnDropNotNullConvertor, PgCreateForeignKeyConvertor, LibSQLCreateForeignKeyConvertor, MySqlCreateForeignKeyConvertor, PgAlterForeignKeyConvertor, PgDeleteForeignKeyConvertor, MySqlDeleteForeignKeyConvertor, CreatePgIndexConvertor, CreateMySqlIndexConvertor, CreateSingleStoreIndexConvertor, CreateSqliteIndexConvertor, PgDropIndexConvertor, PgCreateSchemaConvertor, PgRenameSchemaConvertor, PgDropSchemaConvertor, PgAlterTableSetSchemaConvertor, PgAlterTableSetNewSchemaConvertor, PgAlterTableRemoveFromSchemaConvertor, SqliteDropIndexConvertor, MySqlDropIndexConvertor, SingleStoreDropIndexConvertor, SQLiteRecreateTableConvertor, LibSQLRecreateTableConvertor, convertors;
|
12129
|
+
var parseType, Convertor, PgCreateRoleConvertor, PgDropRoleConvertor, PgRenameRoleConvertor, PgAlterRoleConvertor, PgCreatePolicyConvertor, PgDropPolicyConvertor, PgRenamePolicyConvertor, PgAlterPolicyConvertor, PgCreateIndPolicyConvertor, PgDropIndPolicyConvertor, PgRenameIndPolicyConvertor, PgAlterIndPolicyConvertor, PgEnableRlsConvertor, PgDisableRlsConvertor, PgCreateTableConvertor, MySqlCreateTableConvertor, SingleStoreCreateTableConvertor, SQLiteCreateTableConvertor, PgCreateViewConvertor, MySqlCreateViewConvertor, SqliteCreateViewConvertor, PgDropViewConvertor, MySqlDropViewConvertor, SqliteDropViewConvertor, MySqlAlterViewConvertor, PgRenameViewConvertor, MySqlRenameViewConvertor, PgAlterViewSchemaConvertor, PgAlterViewAddWithOptionConvertor, PgAlterViewDropWithOptionConvertor, PgAlterViewAlterTablespaceConvertor, PgAlterViewAlterUsingConvertor, PgAlterTableAlterColumnSetGenerated, PgAlterTableAlterColumnDropGenerated, PgAlterTableAlterColumnAlterGenerated, PgAlterTableAddUniqueConstraintConvertor, PgAlterTableDropUniqueConstraintConvertor, PgAlterTableAddCheckConstraintConvertor, PgAlterTableDeleteCheckConstraintConvertor, MySQLAlterTableAddUniqueConstraintConvertor, MySQLAlterTableDropUniqueConstraintConvertor, MySqlAlterTableAddCheckConstraintConvertor, SingleStoreAlterTableAddUniqueConstraintConvertor, SingleStoreAlterTableDropUniqueConstraintConvertor, MySqlAlterTableDeleteCheckConstraintConvertor, CreatePgSequenceConvertor, DropPgSequenceConvertor, RenamePgSequenceConvertor, MovePgSequenceConvertor, AlterPgSequenceConvertor, CreateTypeEnumConvertor, DropTypeEnumConvertor, AlterTypeAddValueConvertor, AlterTypeSetSchemaConvertor, AlterRenameTypeConvertor, AlterTypeDropValueConvertor, PgDropTableConvertor, MySQLDropTableConvertor, SingleStoreDropTableConvertor, SQLiteDropTableConvertor, PgRenameTableConvertor, SqliteRenameTableConvertor, MySqlRenameTableConvertor, SingleStoreRenameTableConvertor, PgAlterTableRenameColumnConvertor, MySqlAlterTableRenameColumnConvertor, SingleStoreAlterTableRenameColumnConvertor, SQLiteAlterTableRenameColumnConvertor, PgAlterTableDropColumnConvertor, MySqlAlterTableDropColumnConvertor, SingleStoreAlterTableDropColumnConvertor, SQLiteAlterTableDropColumnConvertor, PgAlterTableAddColumnConvertor, MySqlAlterTableAddColumnConvertor, SingleStoreAlterTableAddColumnConvertor, SQLiteAlterTableAddColumnConvertor, PgAlterTableAlterColumnSetTypeConvertor, PgAlterTableAlterColumnSetDefaultConvertor, PgAlterTableAlterColumnDropDefaultConvertor, PgAlterTableAlterColumnDropGeneratedConvertor, PgAlterTableAlterColumnSetExpressionConvertor, PgAlterTableAlterColumnAlterrGeneratedConvertor, SqliteAlterTableAlterColumnDropGeneratedConvertor, SqliteAlterTableAlterColumnSetExpressionConvertor, SqliteAlterTableAlterColumnAlterGeneratedConvertor, MySqlAlterTableAlterColumnAlterrGeneratedConvertor, MySqlAlterTableAddPk, MySqlAlterTableDropPk, LibSQLModifyColumn, MySqlModifyColumn, SingleStoreAlterTableAlterColumnAlterrGeneratedConvertor, SingleStoreAlterTableAddPk, SingleStoreAlterTableDropPk, SingleStoreModifyColumn, PgAlterTableCreateCompositePrimaryKeyConvertor, PgAlterTableDeleteCompositePrimaryKeyConvertor, PgAlterTableAlterCompositePrimaryKeyConvertor, MySqlAlterTableCreateCompositePrimaryKeyConvertor, MySqlAlterTableDeleteCompositePrimaryKeyConvertor, MySqlAlterTableAlterCompositePrimaryKeyConvertor, PgAlterTableAlterColumnSetPrimaryKeyConvertor, PgAlterTableAlterColumnDropPrimaryKeyConvertor, PgAlterTableAlterColumnSetNotNullConvertor, PgAlterTableAlterColumnDropNotNullConvertor, PgCreateForeignKeyConvertor, LibSQLCreateForeignKeyConvertor, MySqlCreateForeignKeyConvertor, PgAlterForeignKeyConvertor, PgDeleteForeignKeyConvertor, MySqlDeleteForeignKeyConvertor, CreatePgIndexConvertor, CreateMySqlIndexConvertor, CreateSingleStoreIndexConvertor, CreateSqliteIndexConvertor, PgDropIndexConvertor, PgCreateSchemaConvertor, PgRenameSchemaConvertor, PgDropSchemaConvertor, PgAlterTableSetSchemaConvertor, PgAlterTableSetNewSchemaConvertor, PgAlterTableRemoveFromSchemaConvertor, SqliteDropIndexConvertor, MySqlDropIndexConvertor, SingleStoreDropIndexConvertor, SQLiteRecreateTableConvertor, LibSQLRecreateTableConvertor, SingleStoreRecreateTableConvertor, convertors;
|
12130
12130
|
var init_sqlgenerator = __esm({
|
12131
12131
|
"src/sqlgenerator.ts"() {
|
12132
12132
|
"use strict";
|
@@ -12472,7 +12472,7 @@ var init_sqlgenerator = __esm({
|
|
12472
12472
|
if (typeof compositePKs !== "undefined" && compositePKs.length > 0) {
|
12473
12473
|
statement += ",\n";
|
12474
12474
|
const compositePK5 = SingleStoreSquasher.unsquashPK(compositePKs[0]);
|
12475
|
-
statement += ` CONSTRAINT \`${
|
12475
|
+
statement += ` CONSTRAINT \`${compositePK5.name}\` PRIMARY KEY(\`${compositePK5.columns.join(`\`,\``)}\`)`;
|
12476
12476
|
}
|
12477
12477
|
if (typeof uniqueConstraints !== "undefined" && uniqueConstraints.length > 0) {
|
12478
12478
|
for (const uniqueConstraint5 of uniqueConstraints) {
|
@@ -13127,7 +13127,7 @@ WITH ${withCheckOption} CHECK OPTION` : "";
|
|
13127
13127
|
}
|
13128
13128
|
convert(statement) {
|
13129
13129
|
const { tableNameFrom, tableNameTo } = statement;
|
13130
|
-
return `
|
13130
|
+
return `ALTER TABLE \`${tableNameFrom}\` RENAME TO \`${tableNameTo}\`;`;
|
13131
13131
|
}
|
13132
13132
|
};
|
13133
13133
|
PgAlterTableRenameColumnConvertor = class extends Convertor {
|
@@ -13155,7 +13155,7 @@ WITH ${withCheckOption} CHECK OPTION` : "";
|
|
13155
13155
|
}
|
13156
13156
|
convert(statement) {
|
13157
13157
|
const { tableName, oldColumnName, newColumnName } = statement;
|
13158
|
-
return `ALTER TABLE \`${tableName}\`
|
13158
|
+
return `ALTER TABLE \`${tableName}\` CHANGE \`${oldColumnName}\` \`${newColumnName}\`;`;
|
13159
13159
|
}
|
13160
13160
|
};
|
13161
13161
|
SQLiteAlterTableRenameColumnConvertor = class extends Convertor {
|
@@ -14278,8 +14278,10 @@ ${BREAKPOINT}ALTER TABLE ${tableNameWithSchema} ADD CONSTRAINT "${statement.newC
|
|
14278
14278
|
return statement.type === "drop_index" && dialect6 === "postgresql";
|
14279
14279
|
}
|
14280
14280
|
convert(statement) {
|
14281
|
+
const { schema: schema5 } = statement;
|
14281
14282
|
const { name: name2 } = PgSquasher.unsquashIdx(statement.data);
|
14282
|
-
|
14283
|
+
const indexNameWithSchema = schema5 ? `"${schema5}"."${name2}"` : `"${name2}"`;
|
14284
|
+
return `DROP INDEX ${indexNameWithSchema};`;
|
14283
14285
|
}
|
14284
14286
|
};
|
14285
14287
|
PgCreateSchemaConvertor = class extends Convertor {
|
@@ -14463,10 +14465,52 @@ ${BREAKPOINT}ALTER TABLE ${tableNameWithSchema} ADD CONSTRAINT "${statement.newC
|
|
14463
14465
|
return sqlStatements;
|
14464
14466
|
}
|
14465
14467
|
};
|
14468
|
+
SingleStoreRecreateTableConvertor = class extends Convertor {
|
14469
|
+
can(statement, dialect6) {
|
14470
|
+
return statement.type === "singlestore_recreate_table" && dialect6 === "singlestore";
|
14471
|
+
}
|
14472
|
+
convert(statement) {
|
14473
|
+
const { tableName, columns, compositePKs, uniqueConstraints } = statement;
|
14474
|
+
const columnNames = columns.map((it) => `\`${it.name}\``).join(", ");
|
14475
|
+
const newTableName = `__new_${tableName}`;
|
14476
|
+
const sqlStatements = [];
|
14477
|
+
sqlStatements.push(
|
14478
|
+
new SingleStoreCreateTableConvertor().convert({
|
14479
|
+
type: "create_table",
|
14480
|
+
tableName: newTableName,
|
14481
|
+
columns,
|
14482
|
+
compositePKs,
|
14483
|
+
uniqueConstraints,
|
14484
|
+
schema: ""
|
14485
|
+
})
|
14486
|
+
);
|
14487
|
+
sqlStatements.push(
|
14488
|
+
`INSERT INTO \`${newTableName}\`(${columnNames}) SELECT ${columnNames} FROM \`${tableName}\`;`
|
14489
|
+
);
|
14490
|
+
sqlStatements.push(
|
14491
|
+
new SingleStoreDropTableConvertor().convert({
|
14492
|
+
type: "drop_table",
|
14493
|
+
tableName,
|
14494
|
+
schema: ""
|
14495
|
+
})
|
14496
|
+
);
|
14497
|
+
sqlStatements.push(
|
14498
|
+
new SingleStoreRenameTableConvertor().convert({
|
14499
|
+
fromSchema: "",
|
14500
|
+
tableNameFrom: newTableName,
|
14501
|
+
tableNameTo: tableName,
|
14502
|
+
toSchema: "",
|
14503
|
+
type: "rename_table"
|
14504
|
+
})
|
14505
|
+
);
|
14506
|
+
return sqlStatements;
|
14507
|
+
}
|
14508
|
+
};
|
14466
14509
|
convertors = [];
|
14467
14510
|
convertors.push(new PgCreateTableConvertor());
|
14468
14511
|
convertors.push(new MySqlCreateTableConvertor());
|
14469
14512
|
convertors.push(new SingleStoreCreateTableConvertor());
|
14513
|
+
convertors.push(new SingleStoreRecreateTableConvertor());
|
14470
14514
|
convertors.push(new SQLiteCreateTableConvertor());
|
14471
14515
|
convertors.push(new SQLiteRecreateTableConvertor());
|
14472
14516
|
convertors.push(new LibSQLRecreateTableConvertor());
|
@@ -16462,7 +16506,7 @@ var init_jsonStatements = __esm({
|
|
16462
16506
|
});
|
16463
16507
|
|
16464
16508
|
// src/statementCombiner.ts
|
16465
|
-
var prepareLibSQLRecreateTable, prepareSQLiteRecreateTable, libSQLCombineStatements, sqliteCombineStatements;
|
16509
|
+
var prepareLibSQLRecreateTable, prepareSQLiteRecreateTable, libSQLCombineStatements, sqliteCombineStatements, prepareSingleStoreRecreateTable, singleStoreCombineStatements;
|
16466
16510
|
var init_statementCombiner = __esm({
|
16467
16511
|
"src/statementCombiner.ts"() {
|
16468
16512
|
"use strict";
|
@@ -16741,6 +16785,101 @@ var init_statementCombiner = __esm({
|
|
16741
16785
|
const rest = combinedStatements.filter((it) => it.type !== "rename_table" && it.type !== "alter_table_rename_column");
|
16742
16786
|
return [...renamedTables, ...renamedColumns, ...rest];
|
16743
16787
|
};
|
16788
|
+
prepareSingleStoreRecreateTable = (table5) => {
|
16789
|
+
const { name: name2, columns, uniqueConstraints, indexes, compositePrimaryKeys } = table5;
|
16790
|
+
const composites = Object.values(compositePrimaryKeys);
|
16791
|
+
const statements = [
|
16792
|
+
{
|
16793
|
+
type: "singlestore_recreate_table",
|
16794
|
+
tableName: name2,
|
16795
|
+
columns: Object.values(columns),
|
16796
|
+
compositePKs: composites,
|
16797
|
+
uniqueConstraints: Object.values(uniqueConstraints)
|
16798
|
+
}
|
16799
|
+
];
|
16800
|
+
if (Object.keys(indexes).length) {
|
16801
|
+
statements.push(...prepareCreateIndexesJson(name2, "", indexes));
|
16802
|
+
}
|
16803
|
+
return statements;
|
16804
|
+
};
|
16805
|
+
singleStoreCombineStatements = (statements, json22) => {
|
16806
|
+
const newStatements = {};
|
16807
|
+
for (const statement of statements) {
|
16808
|
+
if (statement.type === "alter_table_alter_column_set_type" || statement.type === "alter_table_alter_column_set_notnull" || statement.type === "alter_table_alter_column_drop_notnull" || statement.type === "alter_table_alter_column_drop_autoincrement" || statement.type === "alter_table_alter_column_set_autoincrement" || statement.type === "alter_table_alter_column_drop_pk" || statement.type === "alter_table_alter_column_set_pk" || statement.type === "create_composite_pk" || statement.type === "alter_composite_pk" || statement.type === "delete_composite_pk") {
|
16809
|
+
const tableName2 = statement.tableName;
|
16810
|
+
const statementsForTable2 = newStatements[tableName2];
|
16811
|
+
if (!statementsForTable2) {
|
16812
|
+
newStatements[tableName2] = prepareSingleStoreRecreateTable(json22.tables[tableName2]);
|
16813
|
+
continue;
|
16814
|
+
}
|
16815
|
+
if (!statementsForTable2.some(({ type }) => type === "recreate_table")) {
|
16816
|
+
const wasRename = statementsForTable2.some(
|
16817
|
+
({ type }) => type === "rename_table" || type === "alter_table_rename_column"
|
16818
|
+
);
|
16819
|
+
const preparedStatements = prepareSingleStoreRecreateTable(json22.tables[tableName2]);
|
16820
|
+
if (wasRename) {
|
16821
|
+
newStatements[tableName2].push(...preparedStatements);
|
16822
|
+
} else {
|
16823
|
+
newStatements[tableName2] = preparedStatements;
|
16824
|
+
}
|
16825
|
+
continue;
|
16826
|
+
}
|
16827
|
+
continue;
|
16828
|
+
}
|
16829
|
+
if ((statement.type === "alter_table_alter_column_drop_default" || statement.type === "alter_table_alter_column_set_default") && statement.columnNotNull) {
|
16830
|
+
const tableName2 = statement.tableName;
|
16831
|
+
const statementsForTable2 = newStatements[tableName2];
|
16832
|
+
if (!statementsForTable2) {
|
16833
|
+
newStatements[tableName2] = prepareSingleStoreRecreateTable(json22.tables[tableName2]);
|
16834
|
+
continue;
|
16835
|
+
}
|
16836
|
+
if (!statementsForTable2.some(({ type }) => type === "recreate_table")) {
|
16837
|
+
const wasRename = statementsForTable2.some(({ type }) => type === "rename_table");
|
16838
|
+
const preparedStatements = prepareSingleStoreRecreateTable(json22.tables[tableName2]);
|
16839
|
+
if (wasRename) {
|
16840
|
+
newStatements[tableName2].push(...preparedStatements);
|
16841
|
+
} else {
|
16842
|
+
newStatements[tableName2] = preparedStatements;
|
16843
|
+
}
|
16844
|
+
continue;
|
16845
|
+
}
|
16846
|
+
continue;
|
16847
|
+
}
|
16848
|
+
if (statement.type === "alter_table_add_column" && statement.column.primaryKey) {
|
16849
|
+
const tableName2 = statement.tableName;
|
16850
|
+
const statementsForTable2 = newStatements[tableName2];
|
16851
|
+
if (!statementsForTable2) {
|
16852
|
+
newStatements[tableName2] = prepareSingleStoreRecreateTable(json22.tables[tableName2]);
|
16853
|
+
continue;
|
16854
|
+
}
|
16855
|
+
if (!statementsForTable2.some(({ type }) => type === "recreate_table")) {
|
16856
|
+
const wasRename = statementsForTable2.some(({ type }) => type === "rename_table");
|
16857
|
+
const preparedStatements = prepareSingleStoreRecreateTable(json22.tables[tableName2]);
|
16858
|
+
if (wasRename) {
|
16859
|
+
newStatements[tableName2].push(...preparedStatements);
|
16860
|
+
} else {
|
16861
|
+
newStatements[tableName2] = preparedStatements;
|
16862
|
+
}
|
16863
|
+
continue;
|
16864
|
+
}
|
16865
|
+
continue;
|
16866
|
+
}
|
16867
|
+
const tableName = statement.type === "rename_table" ? statement.tableNameTo : statement.tableName;
|
16868
|
+
const statementsForTable = newStatements[tableName];
|
16869
|
+
if (!statementsForTable) {
|
16870
|
+
newStatements[tableName] = [statement];
|
16871
|
+
continue;
|
16872
|
+
}
|
16873
|
+
if (!statementsForTable.some(({ type }) => type === "singlestore_recreate_table")) {
|
16874
|
+
newStatements[tableName].push(statement);
|
16875
|
+
}
|
16876
|
+
}
|
16877
|
+
const combinedStatements = Object.values(newStatements).flat();
|
16878
|
+
const renamedTables = combinedStatements.filter((it) => it.type === "rename_table");
|
16879
|
+
const renamedColumns = combinedStatements.filter((it) => it.type === "alter_table_rename_column");
|
16880
|
+
const rest = combinedStatements.filter((it) => it.type !== "rename_table" && it.type !== "alter_table_rename_column");
|
16881
|
+
return [...renamedTables, ...renamedColumns, ...rest];
|
16882
|
+
};
|
16744
16883
|
}
|
16745
16884
|
});
|
16746
16885
|
|
@@ -18686,7 +18825,7 @@ var init_snapshotsDiffer = __esm({
|
|
18686
18825
|
return [tableKey2, tableValue];
|
18687
18826
|
}
|
18688
18827
|
);
|
18689
|
-
const diffResult = applyJsonDiff(
|
18828
|
+
const diffResult = applyJsonDiff(columnsPatchedSnap1, json22);
|
18690
18829
|
const typedResult = diffResultSchemeSingleStore.parse(diffResult);
|
18691
18830
|
const jsonStatements = [];
|
18692
18831
|
const jsonCreateIndexesForCreatedTables = createdTables.map((it) => {
|
@@ -18850,7 +18989,8 @@ var init_snapshotsDiffer = __esm({
|
|
18850
18989
|
jsonStatements.push(...jsonDropColumnsStatemets);
|
18851
18990
|
jsonStatements.push(...jsonAddedCompositePKs);
|
18852
18991
|
jsonStatements.push(...jsonAlteredUniqueConstraints);
|
18853
|
-
const
|
18992
|
+
const combinedJsonStatements = singleStoreCombineStatements(jsonStatements, json22);
|
18993
|
+
const sqlStatements = fromJson(combinedJsonStatements, "singlestore");
|
18854
18994
|
const uniqueSqlStatements = [];
|
18855
18995
|
sqlStatements.forEach((ss) => {
|
18856
18996
|
if (!uniqueSqlStatements.includes(ss)) {
|
@@ -18862,7 +19002,7 @@ var init_snapshotsDiffer = __esm({
|
|
18862
19002
|
});
|
18863
19003
|
const _meta = prepareMigrationMeta([], rTables, rColumns);
|
18864
19004
|
return {
|
18865
|
-
statements:
|
19005
|
+
statements: combinedJsonStatements,
|
18866
19006
|
sqlStatements: uniqueSqlStatements,
|
18867
19007
|
_meta
|
18868
19008
|
};
|
@@ -21980,7 +22120,7 @@ var version;
|
|
21980
22120
|
var init_version = __esm({
|
21981
22121
|
"../drizzle-orm/dist/version.js"() {
|
21982
22122
|
"use strict";
|
21983
|
-
version = "0.38.
|
22123
|
+
version = "0.38.3";
|
21984
22124
|
}
|
21985
22125
|
});
|
21986
22126
|
|
@@ -22462,8 +22602,8 @@ var init_sql = __esm({
|
|
22462
22602
|
sql2.param = param2;
|
22463
22603
|
})(sql || (sql = {}));
|
22464
22604
|
((SQL2) => {
|
22465
|
-
var
|
22466
|
-
|
22605
|
+
var _a415;
|
22606
|
+
_a415 = entityKind;
|
22467
22607
|
const _Aliased = class _Aliased {
|
22468
22608
|
constructor(sql2, fieldAlias) {
|
22469
22609
|
/** @internal */
|
@@ -22479,7 +22619,7 @@ var init_sql = __esm({
|
|
22479
22619
|
return new _Aliased(this.sql, this.fieldAlias);
|
22480
22620
|
}
|
22481
22621
|
};
|
22482
|
-
__publicField(_Aliased,
|
22622
|
+
__publicField(_Aliased, _a415, "SQL.Aliased");
|
22483
22623
|
let Aliased = _Aliased;
|
22484
22624
|
SQL2.Aliased = Aliased;
|
22485
22625
|
})(SQL || (SQL = {}));
|
@@ -41850,6 +41990,18 @@ function text4(a, b = {}) {
|
|
41850
41990
|
const { name: name2, config } = getColumnNameAndConfig(a, b);
|
41851
41991
|
return new SingleStoreTextBuilder(name2, "text", config);
|
41852
41992
|
}
|
41993
|
+
function tinytext2(a, b = {}) {
|
41994
|
+
const { name: name2, config } = getColumnNameAndConfig(a, b);
|
41995
|
+
return new SingleStoreTextBuilder(name2, "tinytext", config);
|
41996
|
+
}
|
41997
|
+
function mediumtext2(a, b = {}) {
|
41998
|
+
const { name: name2, config } = getColumnNameAndConfig(a, b);
|
41999
|
+
return new SingleStoreTextBuilder(name2, "mediumtext", config);
|
42000
|
+
}
|
42001
|
+
function longtext2(a, b = {}) {
|
42002
|
+
const { name: name2, config } = getColumnNameAndConfig(a, b);
|
42003
|
+
return new SingleStoreTextBuilder(name2, "longtext", config);
|
42004
|
+
}
|
41853
42005
|
var _a373, _b277, SingleStoreTextBuilder, _a374, _b278, SingleStoreText;
|
41854
42006
|
var init_text4 = __esm({
|
41855
42007
|
"../drizzle-orm/dist/singlestore-core/columns/text.js"() {
|
@@ -42139,17 +42291,68 @@ var init_varchar3 = __esm({
|
|
42139
42291
|
}
|
42140
42292
|
});
|
42141
42293
|
|
42294
|
+
// ../drizzle-orm/dist/singlestore-core/columns/vector.js
|
42295
|
+
function vector2(a, b) {
|
42296
|
+
const { name: name2, config } = getColumnNameAndConfig(a, b);
|
42297
|
+
return new SingleStoreVectorBuilder(name2, config);
|
42298
|
+
}
|
42299
|
+
var _a389, _b293, SingleStoreVectorBuilder, _a390, _b294, SingleStoreVector;
|
42300
|
+
var init_vector4 = __esm({
|
42301
|
+
"../drizzle-orm/dist/singlestore-core/columns/vector.js"() {
|
42302
|
+
"use strict";
|
42303
|
+
init_entity();
|
42304
|
+
init_utils2();
|
42305
|
+
init_common5();
|
42306
|
+
SingleStoreVectorBuilder = class extends (_b293 = SingleStoreColumnBuilder, _a389 = entityKind, _b293) {
|
42307
|
+
constructor(name2, config) {
|
42308
|
+
super(name2, "array", "SingleStoreVector");
|
42309
|
+
this.config.dimensions = config.dimensions;
|
42310
|
+
this.config.elementType = config.elementType;
|
42311
|
+
}
|
42312
|
+
/** @internal */
|
42313
|
+
build(table5) {
|
42314
|
+
return new SingleStoreVector(
|
42315
|
+
table5,
|
42316
|
+
this.config
|
42317
|
+
);
|
42318
|
+
}
|
42319
|
+
/** @internal */
|
42320
|
+
generatedAlwaysAs(as, config) {
|
42321
|
+
throw new Error("not implemented");
|
42322
|
+
}
|
42323
|
+
};
|
42324
|
+
__publicField(SingleStoreVectorBuilder, _a389, "SingleStoreVectorBuilder");
|
42325
|
+
SingleStoreVector = class extends (_b294 = SingleStoreColumn, _a390 = entityKind, _b294) {
|
42326
|
+
constructor() {
|
42327
|
+
super(...arguments);
|
42328
|
+
__publicField(this, "dimensions", this.config.dimensions);
|
42329
|
+
__publicField(this, "elementType", this.config.elementType);
|
42330
|
+
}
|
42331
|
+
getSQLType() {
|
42332
|
+
return `vector(${this.dimensions}, ${this.elementType || "F32"})`;
|
42333
|
+
}
|
42334
|
+
mapToDriverValue(value) {
|
42335
|
+
return JSON.stringify(value);
|
42336
|
+
}
|
42337
|
+
mapFromDriverValue(value) {
|
42338
|
+
return JSON.parse(value);
|
42339
|
+
}
|
42340
|
+
};
|
42341
|
+
__publicField(SingleStoreVector, _a390, "SingleStoreVector");
|
42342
|
+
}
|
42343
|
+
});
|
42344
|
+
|
42142
42345
|
// ../drizzle-orm/dist/singlestore-core/columns/year.js
|
42143
42346
|
function year2(name2) {
|
42144
42347
|
return new SingleStoreYearBuilder(name2 ?? "");
|
42145
42348
|
}
|
42146
|
-
var
|
42349
|
+
var _a391, _b295, SingleStoreYearBuilder, _a392, _b296, SingleStoreYear;
|
42147
42350
|
var init_year2 = __esm({
|
42148
42351
|
"../drizzle-orm/dist/singlestore-core/columns/year.js"() {
|
42149
42352
|
"use strict";
|
42150
42353
|
init_entity();
|
42151
42354
|
init_common5();
|
42152
|
-
SingleStoreYearBuilder = class extends (
|
42355
|
+
SingleStoreYearBuilder = class extends (_b295 = SingleStoreColumnBuilder, _a391 = entityKind, _b295) {
|
42153
42356
|
constructor(name2) {
|
42154
42357
|
super(name2, "number", "SingleStoreYear");
|
42155
42358
|
}
|
@@ -42161,13 +42364,13 @@ var init_year2 = __esm({
|
|
42161
42364
|
);
|
42162
42365
|
}
|
42163
42366
|
};
|
42164
|
-
__publicField(SingleStoreYearBuilder,
|
42165
|
-
SingleStoreYear = class extends (
|
42367
|
+
__publicField(SingleStoreYearBuilder, _a391, "SingleStoreYearBuilder");
|
42368
|
+
SingleStoreYear = class extends (_b296 = SingleStoreColumn, _a392 = entityKind, _b296) {
|
42166
42369
|
getSQLType() {
|
42167
42370
|
return `year`;
|
42168
42371
|
}
|
42169
42372
|
};
|
42170
|
-
__publicField(SingleStoreYear,
|
42373
|
+
__publicField(SingleStoreYear, _a392, "SingleStoreYear");
|
42171
42374
|
}
|
42172
42375
|
});
|
42173
42376
|
|
@@ -42199,22 +42402,23 @@ var init_columns4 = __esm({
|
|
42199
42402
|
init_tinyint2();
|
42200
42403
|
init_varbinary2();
|
42201
42404
|
init_varchar3();
|
42405
|
+
init_vector4();
|
42202
42406
|
init_year2();
|
42203
42407
|
}
|
42204
42408
|
});
|
42205
42409
|
|
42206
42410
|
// ../drizzle-orm/dist/singlestore-core/query-builders/count.js
|
42207
|
-
var
|
42411
|
+
var _a393, _b297, _c12, _SingleStoreCountBuilder, SingleStoreCountBuilder;
|
42208
42412
|
var init_count4 = __esm({
|
42209
42413
|
"../drizzle-orm/dist/singlestore-core/query-builders/count.js"() {
|
42210
42414
|
"use strict";
|
42211
42415
|
init_entity();
|
42212
42416
|
init_sql();
|
42213
|
-
_SingleStoreCountBuilder = class _SingleStoreCountBuilder extends (_c12 = SQL,
|
42417
|
+
_SingleStoreCountBuilder = class _SingleStoreCountBuilder extends (_c12 = SQL, _b297 = entityKind, _a393 = Symbol.toStringTag, _c12) {
|
42214
42418
|
constructor(params) {
|
42215
42419
|
super(_SingleStoreCountBuilder.buildEmbeddedCount(params.source, params.filters).queryChunks);
|
42216
42420
|
__publicField(this, "sql");
|
42217
|
-
__publicField(this,
|
42421
|
+
__publicField(this, _a393, "SingleStoreCountBuilder");
|
42218
42422
|
__publicField(this, "session");
|
42219
42423
|
this.params = params;
|
42220
42424
|
this.mapWith(Number);
|
@@ -42252,13 +42456,13 @@ var init_count4 = __esm({
|
|
42252
42456
|
);
|
42253
42457
|
}
|
42254
42458
|
};
|
42255
|
-
__publicField(_SingleStoreCountBuilder,
|
42459
|
+
__publicField(_SingleStoreCountBuilder, _b297, "SingleStoreCountBuilder");
|
42256
42460
|
SingleStoreCountBuilder = _SingleStoreCountBuilder;
|
42257
42461
|
}
|
42258
42462
|
});
|
42259
42463
|
|
42260
42464
|
// ../drizzle-orm/dist/singlestore-core/query-builders/delete.js
|
42261
|
-
var
|
42465
|
+
var _a394, _b298, SingleStoreDeleteBase;
|
42262
42466
|
var init_delete4 = __esm({
|
42263
42467
|
"../drizzle-orm/dist/singlestore-core/query-builders/delete.js"() {
|
42264
42468
|
"use strict";
|
@@ -42266,7 +42470,7 @@ var init_delete4 = __esm({
|
|
42266
42470
|
init_query_promise();
|
42267
42471
|
init_selection_proxy();
|
42268
42472
|
init_table();
|
42269
|
-
SingleStoreDeleteBase = class extends (
|
42473
|
+
SingleStoreDeleteBase = class extends (_b298 = QueryPromise, _a394 = entityKind, _b298) {
|
42270
42474
|
constructor(table5, session, dialect6, withList) {
|
42271
42475
|
super();
|
42272
42476
|
__publicField(this, "config");
|
@@ -42356,12 +42560,12 @@ var init_delete4 = __esm({
|
|
42356
42560
|
return this;
|
42357
42561
|
}
|
42358
42562
|
};
|
42359
|
-
__publicField(SingleStoreDeleteBase,
|
42563
|
+
__publicField(SingleStoreDeleteBase, _a394, "SingleStoreDelete");
|
42360
42564
|
}
|
42361
42565
|
});
|
42362
42566
|
|
42363
42567
|
// ../drizzle-orm/dist/singlestore-core/query-builders/insert.js
|
42364
|
-
var
|
42568
|
+
var _a395, SingleStoreInsertBuilder, _a396, _b299, SingleStoreInsertBase;
|
42365
42569
|
var init_insert4 = __esm({
|
42366
42570
|
"../drizzle-orm/dist/singlestore-core/query-builders/insert.js"() {
|
42367
42571
|
"use strict";
|
@@ -42370,7 +42574,7 @@ var init_insert4 = __esm({
|
|
42370
42574
|
init_sql();
|
42371
42575
|
init_table();
|
42372
42576
|
init_utils2();
|
42373
|
-
|
42577
|
+
_a395 = entityKind;
|
42374
42578
|
SingleStoreInsertBuilder = class {
|
42375
42579
|
constructor(table5, session, dialect6) {
|
42376
42580
|
__publicField(this, "shouldIgnore", false);
|
@@ -42399,8 +42603,8 @@ var init_insert4 = __esm({
|
|
42399
42603
|
return new SingleStoreInsertBase(this.table, mappedValues, this.shouldIgnore, this.session, this.dialect);
|
42400
42604
|
}
|
42401
42605
|
};
|
42402
|
-
__publicField(SingleStoreInsertBuilder,
|
42403
|
-
SingleStoreInsertBase = class extends (
|
42606
|
+
__publicField(SingleStoreInsertBuilder, _a395, "SingleStoreInsertBuilder");
|
42607
|
+
SingleStoreInsertBase = class extends (_b299 = QueryPromise, _a396 = entityKind, _b299) {
|
42404
42608
|
constructor(table5, values, ignore, session, dialect6) {
|
42405
42609
|
super();
|
42406
42610
|
__publicField(this, "config");
|
@@ -42481,7 +42685,7 @@ var init_insert4 = __esm({
|
|
42481
42685
|
return this;
|
42482
42686
|
}
|
42483
42687
|
};
|
42484
|
-
__publicField(SingleStoreInsertBase,
|
42688
|
+
__publicField(SingleStoreInsertBase, _a396, "SingleStoreInsert");
|
42485
42689
|
}
|
42486
42690
|
});
|
42487
42691
|
|
@@ -42505,12 +42709,16 @@ function getSingleStoreColumnBuilders() {
|
|
42505
42709
|
real: real4,
|
42506
42710
|
serial: serial3,
|
42507
42711
|
smallint: smallint3,
|
42712
|
+
longtext: longtext2,
|
42713
|
+
mediumtext: mediumtext2,
|
42508
42714
|
text: text4,
|
42715
|
+
tinytext: tinytext2,
|
42509
42716
|
time: time3,
|
42510
42717
|
timestamp: timestamp3,
|
42511
42718
|
tinyint: tinyint2,
|
42512
42719
|
varbinary: varbinary2,
|
42513
42720
|
varchar: varchar3,
|
42721
|
+
vector: vector2,
|
42514
42722
|
year: year2
|
42515
42723
|
};
|
42516
42724
|
}
|
@@ -42540,6 +42748,7 @@ var init_all4 = __esm({
|
|
42540
42748
|
init_tinyint2();
|
42541
42749
|
init_varbinary2();
|
42542
42750
|
init_varchar3();
|
42751
|
+
init_vector4();
|
42543
42752
|
init_year2();
|
42544
42753
|
}
|
42545
42754
|
});
|
@@ -42564,20 +42773,20 @@ function singlestoreTableWithSchema(name2, columns, extraConfig, schema5, baseNa
|
|
42564
42773
|
}
|
42565
42774
|
return table5;
|
42566
42775
|
}
|
42567
|
-
var
|
42776
|
+
var _a397, _b300, _c13, _d5, SingleStoreTable;
|
42568
42777
|
var init_table5 = __esm({
|
42569
42778
|
"../drizzle-orm/dist/singlestore-core/table.js"() {
|
42570
42779
|
"use strict";
|
42571
42780
|
init_entity();
|
42572
42781
|
init_table();
|
42573
42782
|
init_all4();
|
42574
|
-
SingleStoreTable = class extends (_d5 = Table2, _c13 = entityKind,
|
42783
|
+
SingleStoreTable = class extends (_d5 = Table2, _c13 = entityKind, _b300 = Table2.Symbol.Columns, _a397 = Table2.Symbol.ExtraConfigBuilder, _d5) {
|
42575
42784
|
constructor() {
|
42576
42785
|
super(...arguments);
|
42577
42786
|
/** @internal */
|
42578
|
-
__publicField(this,
|
42787
|
+
__publicField(this, _b300);
|
42579
42788
|
/** @internal */
|
42580
|
-
__publicField(this,
|
42789
|
+
__publicField(this, _a397);
|
42581
42790
|
}
|
42582
42791
|
};
|
42583
42792
|
__publicField(SingleStoreTable, _c13, "SingleStoreTable");
|
@@ -42587,7 +42796,7 @@ var init_table5 = __esm({
|
|
42587
42796
|
});
|
42588
42797
|
|
42589
42798
|
// ../drizzle-orm/dist/singlestore-core/dialect.js
|
42590
|
-
var
|
42799
|
+
var _a398, SingleStoreDialect;
|
42591
42800
|
var init_dialect4 = __esm({
|
42592
42801
|
"../drizzle-orm/dist/singlestore-core/dialect.js"() {
|
42593
42802
|
"use strict";
|
@@ -42605,7 +42814,7 @@ var init_dialect4 = __esm({
|
|
42605
42814
|
init_view_common();
|
42606
42815
|
init_common5();
|
42607
42816
|
init_table5();
|
42608
|
-
|
42817
|
+
_a398 = entityKind;
|
42609
42818
|
SingleStoreDialect = class {
|
42610
42819
|
constructor(config) {
|
42611
42820
|
/** @internal */
|
@@ -43170,7 +43379,7 @@ var init_dialect4 = __esm({
|
|
43170
43379
|
};
|
43171
43380
|
}
|
43172
43381
|
};
|
43173
|
-
__publicField(SingleStoreDialect,
|
43382
|
+
__publicField(SingleStoreDialect, _a398, "SingleStoreDialect");
|
43174
43383
|
}
|
43175
43384
|
});
|
43176
43385
|
|
@@ -43192,7 +43401,7 @@ function createSetOperator4(type, isAll) {
|
|
43192
43401
|
return leftSelect.addSetOperators(setOperators);
|
43193
43402
|
};
|
43194
43403
|
}
|
43195
|
-
var
|
43404
|
+
var _a399, SingleStoreSelectBuilder, _a400, _b301, SingleStoreSelectQueryBuilderBase, _a401, _b302, SingleStoreSelectBase, getSingleStoreSetOperators, union4, unionAll4, intersect4, except4, minus;
|
43196
43405
|
var init_select5 = __esm({
|
43197
43406
|
"../drizzle-orm/dist/singlestore-core/query-builders/select.js"() {
|
43198
43407
|
"use strict";
|
@@ -43204,7 +43413,7 @@ var init_select5 = __esm({
|
|
43204
43413
|
init_subquery();
|
43205
43414
|
init_table();
|
43206
43415
|
init_utils2();
|
43207
|
-
|
43416
|
+
_a399 = entityKind;
|
43208
43417
|
SingleStoreSelectBuilder = class {
|
43209
43418
|
constructor(config) {
|
43210
43419
|
__publicField(this, "fields");
|
@@ -43247,8 +43456,8 @@ var init_select5 = __esm({
|
|
43247
43456
|
);
|
43248
43457
|
}
|
43249
43458
|
};
|
43250
|
-
__publicField(SingleStoreSelectBuilder,
|
43251
|
-
SingleStoreSelectQueryBuilderBase = class extends (
|
43459
|
+
__publicField(SingleStoreSelectBuilder, _a399, "SingleStoreSelectBuilder");
|
43460
|
+
SingleStoreSelectQueryBuilderBase = class extends (_b301 = TypedQueryBuilder, _a400 = entityKind, _b301) {
|
43252
43461
|
constructor({ table: table5, fields, isPartialSelect, session, dialect: dialect6, withList, distinct }) {
|
43253
43462
|
super();
|
43254
43463
|
__publicField(this, "_");
|
@@ -43789,8 +43998,8 @@ var init_select5 = __esm({
|
|
43789
43998
|
return this;
|
43790
43999
|
}
|
43791
44000
|
};
|
43792
|
-
__publicField(SingleStoreSelectQueryBuilderBase,
|
43793
|
-
SingleStoreSelectBase = class extends (
|
44001
|
+
__publicField(SingleStoreSelectQueryBuilderBase, _a400, "SingleStoreSelectQueryBuilder");
|
44002
|
+
SingleStoreSelectBase = class extends (_b302 = SingleStoreSelectQueryBuilderBase, _a401 = entityKind, _b302) {
|
43794
44003
|
constructor() {
|
43795
44004
|
super(...arguments);
|
43796
44005
|
__publicField(this, "execute", (placeholderValues) => {
|
@@ -43814,7 +44023,7 @@ var init_select5 = __esm({
|
|
43814
44023
|
return query;
|
43815
44024
|
}
|
43816
44025
|
};
|
43817
|
-
__publicField(SingleStoreSelectBase,
|
44026
|
+
__publicField(SingleStoreSelectBase, _a401, "SingleStoreSelect");
|
43818
44027
|
applyMixins(SingleStoreSelectBase, [QueryPromise]);
|
43819
44028
|
getSingleStoreSetOperators = () => ({
|
43820
44029
|
union: union4,
|
@@ -43832,7 +44041,7 @@ var init_select5 = __esm({
|
|
43832
44041
|
});
|
43833
44042
|
|
43834
44043
|
// ../drizzle-orm/dist/singlestore-core/query-builders/query-builder.js
|
43835
|
-
var
|
44044
|
+
var _a402, QueryBuilder4;
|
43836
44045
|
var init_query_builder5 = __esm({
|
43837
44046
|
"../drizzle-orm/dist/singlestore-core/query-builders/query-builder.js"() {
|
43838
44047
|
"use strict";
|
@@ -43841,7 +44050,7 @@ var init_query_builder5 = __esm({
|
|
43841
44050
|
init_dialect4();
|
43842
44051
|
init_subquery();
|
43843
44052
|
init_select5();
|
43844
|
-
|
44053
|
+
_a402 = entityKind;
|
43845
44054
|
QueryBuilder4 = class {
|
43846
44055
|
constructor(dialect6) {
|
43847
44056
|
__publicField(this, "dialect");
|
@@ -43907,7 +44116,7 @@ var init_query_builder5 = __esm({
|
|
43907
44116
|
return this.dialect;
|
43908
44117
|
}
|
43909
44118
|
};
|
43910
|
-
__publicField(QueryBuilder4,
|
44119
|
+
__publicField(QueryBuilder4, _a402, "SingleStoreQueryBuilder");
|
43911
44120
|
}
|
43912
44121
|
});
|
43913
44122
|
|
@@ -43919,7 +44128,7 @@ var init_select_types4 = __esm({
|
|
43919
44128
|
});
|
43920
44129
|
|
43921
44130
|
// ../drizzle-orm/dist/singlestore-core/query-builders/update.js
|
43922
|
-
var
|
44131
|
+
var _a403, SingleStoreUpdateBuilder, _a404, _b303, SingleStoreUpdateBase;
|
43923
44132
|
var init_update4 = __esm({
|
43924
44133
|
"../drizzle-orm/dist/singlestore-core/query-builders/update.js"() {
|
43925
44134
|
"use strict";
|
@@ -43928,7 +44137,7 @@ var init_update4 = __esm({
|
|
43928
44137
|
init_selection_proxy();
|
43929
44138
|
init_table();
|
43930
44139
|
init_utils2();
|
43931
|
-
|
44140
|
+
_a403 = entityKind;
|
43932
44141
|
SingleStoreUpdateBuilder = class {
|
43933
44142
|
constructor(table5, session, dialect6, withList) {
|
43934
44143
|
this.table = table5;
|
@@ -43946,8 +44155,8 @@ var init_update4 = __esm({
|
|
43946
44155
|
);
|
43947
44156
|
}
|
43948
44157
|
};
|
43949
|
-
__publicField(SingleStoreUpdateBuilder,
|
43950
|
-
SingleStoreUpdateBase = class extends (
|
44158
|
+
__publicField(SingleStoreUpdateBuilder, _a403, "SingleStoreUpdateBuilder");
|
44159
|
+
SingleStoreUpdateBase = class extends (_b303 = QueryPromise, _a404 = entityKind, _b303) {
|
43951
44160
|
constructor(table5, set, session, dialect6, withList) {
|
43952
44161
|
super();
|
43953
44162
|
__publicField(this, "config");
|
@@ -44040,7 +44249,7 @@ var init_update4 = __esm({
|
|
44040
44249
|
return this;
|
44041
44250
|
}
|
44042
44251
|
};
|
44043
|
-
__publicField(SingleStoreUpdateBase,
|
44252
|
+
__publicField(SingleStoreUpdateBase, _a404, "SingleStoreUpdate");
|
44044
44253
|
}
|
44045
44254
|
});
|
44046
44255
|
|
@@ -44058,7 +44267,7 @@ var init_query_builders4 = __esm({
|
|
44058
44267
|
});
|
44059
44268
|
|
44060
44269
|
// ../drizzle-orm/dist/singlestore-core/db.js
|
44061
|
-
var
|
44270
|
+
var _a405, SingleStoreDatabase;
|
44062
44271
|
var init_db4 = __esm({
|
44063
44272
|
"../drizzle-orm/dist/singlestore-core/db.js"() {
|
44064
44273
|
"use strict";
|
@@ -44068,7 +44277,7 @@ var init_db4 = __esm({
|
|
44068
44277
|
init_subquery();
|
44069
44278
|
init_count4();
|
44070
44279
|
init_query_builders4();
|
44071
|
-
|
44280
|
+
_a405 = entityKind;
|
44072
44281
|
SingleStoreDatabase = class {
|
44073
44282
|
constructor(dialect6, session, schema5) {
|
44074
44283
|
// We are waiting for SingleStore support for `json_array` function
|
@@ -44268,17 +44477,17 @@ var init_db4 = __esm({
|
|
44268
44477
|
return this.session.transaction(transaction, config);
|
44269
44478
|
}
|
44270
44479
|
};
|
44271
|
-
__publicField(SingleStoreDatabase,
|
44480
|
+
__publicField(SingleStoreDatabase, _a405, "SingleStoreDatabase");
|
44272
44481
|
}
|
44273
44482
|
});
|
44274
44483
|
|
44275
44484
|
// ../drizzle-orm/dist/singlestore-core/indexes.js
|
44276
|
-
var
|
44485
|
+
var _a406, IndexBuilderOn4, _a407, IndexBuilder4, _a408, Index6;
|
44277
44486
|
var init_indexes4 = __esm({
|
44278
44487
|
"../drizzle-orm/dist/singlestore-core/indexes.js"() {
|
44279
44488
|
"use strict";
|
44280
44489
|
init_entity();
|
44281
|
-
|
44490
|
+
_a406 = entityKind;
|
44282
44491
|
IndexBuilderOn4 = class {
|
44283
44492
|
constructor(name2, unique) {
|
44284
44493
|
this.name = name2;
|
@@ -44288,8 +44497,8 @@ var init_indexes4 = __esm({
|
|
44288
44497
|
return new IndexBuilder4(this.name, columns, this.unique);
|
44289
44498
|
}
|
44290
44499
|
};
|
44291
|
-
__publicField(IndexBuilderOn4,
|
44292
|
-
|
44500
|
+
__publicField(IndexBuilderOn4, _a406, "SingleStoreIndexBuilderOn");
|
44501
|
+
_a407 = entityKind;
|
44293
44502
|
IndexBuilder4 = class {
|
44294
44503
|
constructor(name2, columns, unique) {
|
44295
44504
|
/** @internal */
|
@@ -44317,26 +44526,26 @@ var init_indexes4 = __esm({
|
|
44317
44526
|
return new Index6(this.config, table5);
|
44318
44527
|
}
|
44319
44528
|
};
|
44320
|
-
__publicField(IndexBuilder4,
|
44321
|
-
|
44529
|
+
__publicField(IndexBuilder4, _a407, "SingleStoreIndexBuilder");
|
44530
|
+
_a408 = entityKind;
|
44322
44531
|
Index6 = class {
|
44323
44532
|
constructor(config, table5) {
|
44324
44533
|
__publicField(this, "config");
|
44325
44534
|
this.config = { ...config, table: table5 };
|
44326
44535
|
}
|
44327
44536
|
};
|
44328
|
-
__publicField(Index6,
|
44537
|
+
__publicField(Index6, _a408, "SingleStoreIndex");
|
44329
44538
|
}
|
44330
44539
|
});
|
44331
44540
|
|
44332
44541
|
// ../drizzle-orm/dist/singlestore-core/primary-keys.js
|
44333
|
-
var
|
44542
|
+
var _a409, PrimaryKeyBuilder4, _a410, PrimaryKey4;
|
44334
44543
|
var init_primary_keys4 = __esm({
|
44335
44544
|
"../drizzle-orm/dist/singlestore-core/primary-keys.js"() {
|
44336
44545
|
"use strict";
|
44337
44546
|
init_entity();
|
44338
44547
|
init_table5();
|
44339
|
-
|
44548
|
+
_a409 = entityKind;
|
44340
44549
|
PrimaryKeyBuilder4 = class {
|
44341
44550
|
constructor(columns, name2) {
|
44342
44551
|
/** @internal */
|
@@ -44351,8 +44560,8 @@ var init_primary_keys4 = __esm({
|
|
44351
44560
|
return new PrimaryKey4(table5, this.columns, this.name);
|
44352
44561
|
}
|
44353
44562
|
};
|
44354
|
-
__publicField(PrimaryKeyBuilder4,
|
44355
|
-
|
44563
|
+
__publicField(PrimaryKeyBuilder4, _a409, "SingleStorePrimaryKeyBuilder");
|
44564
|
+
_a410 = entityKind;
|
44356
44565
|
PrimaryKey4 = class {
|
44357
44566
|
constructor(table5, columns, name2) {
|
44358
44567
|
__publicField(this, "columns");
|
@@ -44365,18 +44574,18 @@ var init_primary_keys4 = __esm({
|
|
44365
44574
|
return this.name ?? `${this.table[SingleStoreTable.Symbol.Name]}_${this.columns.map((column5) => column5.name).join("_")}_pk`;
|
44366
44575
|
}
|
44367
44576
|
};
|
44368
|
-
__publicField(PrimaryKey4,
|
44577
|
+
__publicField(PrimaryKey4, _a410, "SingleStorePrimaryKey");
|
44369
44578
|
}
|
44370
44579
|
});
|
44371
44580
|
|
44372
44581
|
// ../drizzle-orm/dist/singlestore-core/schema.js
|
44373
|
-
var
|
44582
|
+
var _a411, SingleStoreSchema5;
|
44374
44583
|
var init_schema3 = __esm({
|
44375
44584
|
"../drizzle-orm/dist/singlestore-core/schema.js"() {
|
44376
44585
|
"use strict";
|
44377
44586
|
init_entity();
|
44378
44587
|
init_table5();
|
44379
|
-
|
44588
|
+
_a411 = entityKind;
|
44380
44589
|
SingleStoreSchema5 = class {
|
44381
44590
|
constructor(schemaName) {
|
44382
44591
|
__publicField(this, "table", (name2, columns, extraConfig) => {
|
@@ -44389,12 +44598,12 @@ var init_schema3 = __esm({
|
|
44389
44598
|
return singlestoreViewWithSchema(name, columns, this.schemaName);
|
44390
44599
|
}) as typeof singlestoreView; */
|
44391
44600
|
};
|
44392
|
-
__publicField(SingleStoreSchema5,
|
44601
|
+
__publicField(SingleStoreSchema5, _a411, "SingleStoreSchema");
|
44393
44602
|
}
|
44394
44603
|
});
|
44395
44604
|
|
44396
44605
|
// ../drizzle-orm/dist/singlestore-core/session.js
|
44397
|
-
var
|
44606
|
+
var _a412, SingleStorePreparedQuery, _a413, SingleStoreSession, _a414, _b304, SingleStoreTransaction;
|
44398
44607
|
var init_session4 = __esm({
|
44399
44608
|
"../drizzle-orm/dist/singlestore-core/session.js"() {
|
44400
44609
|
"use strict";
|
@@ -44402,15 +44611,15 @@ var init_session4 = __esm({
|
|
44402
44611
|
init_errors();
|
44403
44612
|
init_sql();
|
44404
44613
|
init_db4();
|
44405
|
-
|
44614
|
+
_a412 = entityKind;
|
44406
44615
|
SingleStorePreparedQuery = class {
|
44407
44616
|
constructor() {
|
44408
44617
|
/** @internal */
|
44409
44618
|
__publicField(this, "joinsNotNullableMap");
|
44410
44619
|
}
|
44411
44620
|
};
|
44412
|
-
__publicField(SingleStorePreparedQuery,
|
44413
|
-
|
44621
|
+
__publicField(SingleStorePreparedQuery, _a412, "SingleStorePreparedQuery");
|
44622
|
+
_a413 = entityKind;
|
44414
44623
|
SingleStoreSession = class {
|
44415
44624
|
constructor(dialect6) {
|
44416
44625
|
this.dialect = dialect6;
|
@@ -44445,8 +44654,8 @@ var init_session4 = __esm({
|
|
44445
44654
|
return parts.length ? sql`start transaction ${sql.raw(parts.join(" "))}` : void 0;
|
44446
44655
|
}
|
44447
44656
|
};
|
44448
|
-
__publicField(SingleStoreSession,
|
44449
|
-
SingleStoreTransaction = class extends (
|
44657
|
+
__publicField(SingleStoreSession, _a413, "SingleStoreSession");
|
44658
|
+
SingleStoreTransaction = class extends (_b304 = SingleStoreDatabase, _a414 = entityKind, _b304) {
|
44450
44659
|
constructor(dialect6, session, schema5, nestedIndex) {
|
44451
44660
|
super(dialect6, session, schema5);
|
44452
44661
|
this.schema = schema5;
|
@@ -44456,7 +44665,7 @@ var init_session4 = __esm({
|
|
44456
44665
|
throw new TransactionRollbackError();
|
44457
44666
|
}
|
44458
44667
|
};
|
44459
|
-
__publicField(SingleStoreTransaction,
|
44668
|
+
__publicField(SingleStoreTransaction, _a414, "SingleStoreTransaction");
|
44460
44669
|
}
|
44461
44670
|
});
|
44462
44671
|
|
@@ -44633,7 +44842,7 @@ ${withStyle.errorWarning(`We've found duplicated unique constraint names in ${so
|
|
44633
44842
|
if (typeof column5.default === "string") {
|
44634
44843
|
columnToSet.default = `'${column5.default}'`;
|
44635
44844
|
} else {
|
44636
|
-
if (sqlTypeLowered === "json") {
|
44845
|
+
if (sqlTypeLowered === "json" || Array.isArray(column5.default)) {
|
44637
44846
|
columnToSet.default = `'${JSON.stringify(column5.default)}'`;
|
44638
44847
|
} else if (column5.default instanceof Date) {
|
44639
44848
|
if (sqlTypeLowered === "date") {
|
@@ -45403,15 +45612,31 @@ var init_singlestoreImports = __esm({
|
|
45403
45612
|
var singlestorePushUtils_exports = {};
|
45404
45613
|
__export(singlestorePushUtils_exports, {
|
45405
45614
|
filterStatements: () => filterStatements2,
|
45615
|
+
findColumnTypeAlternations: () => findColumnTypeAlternations,
|
45406
45616
|
logSuggestionsAndReturn: () => logSuggestionsAndReturn3
|
45407
45617
|
});
|
45618
|
+
function findColumnTypeAlternations(columns1, columns2) {
|
45619
|
+
const changes = [];
|
45620
|
+
for (const key in columns1) {
|
45621
|
+
if (columns1.hasOwnProperty(key) && columns2.hasOwnProperty(key)) {
|
45622
|
+
const col1 = columns1[key];
|
45623
|
+
const col2 = columns2[key];
|
45624
|
+
if (col1.type !== col2.type) {
|
45625
|
+
changes.push(col2.name);
|
45626
|
+
}
|
45627
|
+
}
|
45628
|
+
}
|
45629
|
+
return changes;
|
45630
|
+
}
|
45408
45631
|
var import_hanji10, filterStatements2, logSuggestionsAndReturn3;
|
45409
45632
|
var init_singlestorePushUtils = __esm({
|
45410
45633
|
"src/cli/commands/singlestorePushUtils.ts"() {
|
45411
45634
|
"use strict";
|
45412
45635
|
init_source();
|
45413
45636
|
import_hanji10 = __toESM(require_hanji());
|
45637
|
+
init_sqlgenerator();
|
45414
45638
|
init_singlestoreSchema();
|
45639
|
+
init_utils();
|
45415
45640
|
init_selector_ui();
|
45416
45641
|
init_outputs();
|
45417
45642
|
filterStatements2 = (statements, currentSchema, prevSchema) => {
|
@@ -45455,7 +45680,7 @@ var init_singlestorePushUtils = __esm({
|
|
45455
45680
|
return true;
|
45456
45681
|
});
|
45457
45682
|
};
|
45458
|
-
logSuggestionsAndReturn3 = async (db, statements, json22) => {
|
45683
|
+
logSuggestionsAndReturn3 = async (db, statements, json22, json1) => {
|
45459
45684
|
let shouldAskForApprove = false;
|
45460
45685
|
const statementsToExecute = [];
|
45461
45686
|
const infoToPrint = [];
|
@@ -45636,6 +45861,71 @@ var init_singlestorePushUtils = __esm({
|
|
45636
45861
|
shouldAskForApprove = true;
|
45637
45862
|
}
|
45638
45863
|
}
|
45864
|
+
} else if (statement.type === "singlestore_recreate_table") {
|
45865
|
+
const tableName = statement.tableName;
|
45866
|
+
const prevColumns = json1.tables[tableName].columns;
|
45867
|
+
const currentColumns = json22.tables[tableName].columns;
|
45868
|
+
const { removedColumns, addedColumns } = findAddedAndRemoved(
|
45869
|
+
Object.keys(prevColumns),
|
45870
|
+
Object.keys(currentColumns)
|
45871
|
+
);
|
45872
|
+
if (removedColumns.length) {
|
45873
|
+
for (const removedColumn of removedColumns) {
|
45874
|
+
const res = await db.query(
|
45875
|
+
`select count(\`${tableName}\`.\`${removedColumn}\`) as count from \`${tableName}\``
|
45876
|
+
);
|
45877
|
+
const count2 = Number(res[0].count);
|
45878
|
+
if (count2 > 0) {
|
45879
|
+
infoToPrint.push(
|
45880
|
+
`\xB7 You're about to delete ${source_default.underline(
|
45881
|
+
removedColumn
|
45882
|
+
)} column in ${tableName} table with ${count2} items`
|
45883
|
+
);
|
45884
|
+
columnsToRemove.push(removedColumn);
|
45885
|
+
shouldAskForApprove = true;
|
45886
|
+
}
|
45887
|
+
}
|
45888
|
+
}
|
45889
|
+
if (addedColumns.length) {
|
45890
|
+
for (const addedColumn of addedColumns) {
|
45891
|
+
const [res] = await db.query(
|
45892
|
+
`select count(*) as count from \`${tableName}\``
|
45893
|
+
);
|
45894
|
+
const columnConf = json22.tables[tableName].columns[addedColumn];
|
45895
|
+
const count2 = Number(res.count);
|
45896
|
+
if (count2 > 0 && columnConf.notNull && !columnConf.default) {
|
45897
|
+
infoToPrint.push(
|
45898
|
+
`\xB7 You're about to add not-null ${source_default.underline(
|
45899
|
+
addedColumn
|
45900
|
+
)} column without default value to table, which contains ${count2} items`
|
45901
|
+
);
|
45902
|
+
shouldAskForApprove = true;
|
45903
|
+
tablesToTruncate.push(tableName);
|
45904
|
+
statementsToExecute.push(`TRUNCATE TABLE \`${tableName}\`;`);
|
45905
|
+
}
|
45906
|
+
}
|
45907
|
+
}
|
45908
|
+
const columnWithChangedType = findColumnTypeAlternations(prevColumns, currentColumns);
|
45909
|
+
for (const column5 of columnWithChangedType) {
|
45910
|
+
const [res] = await db.query(
|
45911
|
+
`select count(*) as count from \`${tableName}\` WHERE \`${tableName}\`.\`${column5}\` IS NOT NULL;`
|
45912
|
+
);
|
45913
|
+
const count2 = Number(res.count);
|
45914
|
+
if (count2 > 0) {
|
45915
|
+
infoToPrint.push(
|
45916
|
+
`\xB7 You're about recreate ${source_default.underline(tableName)} table with data type changing for ${source_default.underline(
|
45917
|
+
column5
|
45918
|
+
)} column, which contains ${count2} items`
|
45919
|
+
);
|
45920
|
+
shouldAskForApprove = true;
|
45921
|
+
tablesToTruncate.push(tableName);
|
45922
|
+
statementsToExecute.push(`TRUNCATE TABLE \`${tableName}\`;`);
|
45923
|
+
}
|
45924
|
+
}
|
45925
|
+
}
|
45926
|
+
const stmnt = fromJson([statement], "singlestore", "push");
|
45927
|
+
if (typeof stmnt !== "undefined") {
|
45928
|
+
statementsToExecute.push(...stmnt);
|
45639
45929
|
}
|
45640
45930
|
}
|
45641
45931
|
return {
|
@@ -46464,7 +46754,8 @@ var pushSingleStoreSchema = async (imports, drizzleInstance, databaseName) => {
|
|
46464
46754
|
const { shouldAskForApprove, statementsToExecute, infoToPrint } = await logSuggestionsAndReturn4(
|
46465
46755
|
db,
|
46466
46756
|
statements,
|
46467
|
-
|
46757
|
+
squashedCur,
|
46758
|
+
squashedPrev
|
46468
46759
|
);
|
46469
46760
|
return {
|
46470
46761
|
hasDataLoss: shouldAskForApprove,
|