UNPKG

typecql

Version:

ORM for CQL databases.

39 lines 1.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.addColumns = addColumns; const typecql_decorator_functions_1 = require("../../meta/typecql.decorator.functions"); const formatKeysWithSettings_1 = require("../../misc/functions/formating/formatKeysWithSettings"); const settings_1 = require("../../misc/utils/settings"); async function addColumns(tableName, schema, client) { const columns = Object.entries((0, typecql_decorator_functions_1.getColumns)(tableName)) .filter(([key]) => !key.startsWith('incode')) .map(([_, item]) => { if (item['hasCustomName']) { return { key: item['field'], type: item['type'], isPrimary: item['isPrimary'], }; } else { return { key: (0, formatKeysWithSettings_1.formatKeysWithSettings)({ key: item['field'], forQuery: false, tableName, connSettings: settings_1.GlobalSettings.get(client), }), type: item['type'], isPrimary: item['isPrimary'], }; } }); for (const column of columns) { if (!schema.find((item) => item.column_name === column.key) && column.type && !column.isPrimary) { await client.execute(`alter table "${tableName}" add "${column.key}" ${column.type};`); } } } //# sourceMappingURL=addColumn.js.map