Socket
Socket
Sign inDemoInstall

knex-schema-inspector

Package Overview
Dependencies
Maintainers
1
Versions
70
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

knex-schema-inspector - npm Package Compare versions

Comparing version 1.5.12 to 1.5.13

18

dist/dialects/mssql.js

@@ -57,3 +57,19 @@ "use strict";

return __assign(__assign({}, rawColumn), { default_value: parseDefaultValue(rawColumn.default_value) ||
parseDefaultValue(rawColumn.generation_expression), is_generated: !!rawColumn.is_generated, is_unique: rawColumn.is_unique === true, is_primary_key: rawColumn.is_primary_key === true, is_nullable: rawColumn.is_nullable === 'YES', has_auto_increment: rawColumn.has_auto_increment === 'YES', numeric_precision: rawColumn.numeric_precision || null, numeric_scale: rawColumn.numeric_scale || null });
parseDefaultValue(rawColumn.generation_expression), is_generated: !!rawColumn.is_generated, is_unique: rawColumn.is_unique === true, is_primary_key: rawColumn.is_primary_key === true, is_nullable: rawColumn.is_nullable === 'YES', has_auto_increment: rawColumn.has_auto_increment === 'YES', numeric_precision: rawColumn.numeric_precision || null, numeric_scale: rawColumn.numeric_scale || null, max_length: parseMaxLength(rawColumn) });
function parseMaxLength(rawColumn) {
if (Number.isNaN(Number(rawColumn.max_length)) ||
rawColumn.max_length === null ||
rawColumn.max_length === undefined) {
return null;
}
// n-* columns save every character as 2 bytes, which causes the max_length column to return the
// max length in bytes instead of characters. For example:
// varchar(100) => max_length == 100
// nvarchar(100) => max_length == 200
// In order to get the actual max_length value, we'll divide the value by 2
if (['nvarchar', 'nchar', 'ntext'].includes(rawColumn.data_type)) {
return Number(rawColumn.max_length) / 2;
}
return Number(rawColumn.max_length);
}
}

@@ -60,0 +76,0 @@ exports.rawColumnToColumn = rawColumnToColumn;

@@ -45,3 +45,25 @@ import { Knex } from 'knex';

numeric_scale: rawColumn.numeric_scale || null,
max_length: parseMaxLength(rawColumn),
};
function parseMaxLength(rawColumn: RawColumn) {
if (
Number.isNaN(Number(rawColumn.max_length)) ||
rawColumn.max_length === null ||
rawColumn.max_length === undefined
) {
return null;
}
// n-* columns save every character as 2 bytes, which causes the max_length column to return the
// max length in bytes instead of characters. For example:
// varchar(100) => max_length == 100
// nvarchar(100) => max_length == 200
// In order to get the actual max_length value, we'll divide the value by 2
if (['nvarchar', 'nchar', 'ntext'].includes(rawColumn.data_type)) {
return Number(rawColumn.max_length) / 2;
}
return Number(rawColumn.max_length);
}
}

@@ -48,0 +70,0 @@

2

package.json
{
"name": "knex-schema-inspector",
"version": "1.5.12",
"version": "1.5.13",
"description": "Utility for extracting information about existing DB schema",

@@ -5,0 +5,0 @@ "main": "dist/index.js",

@@ -148,3 +148,3 @@ import knex, { Knex } from 'knex';

table: 'teams',
data_type: 'varchar',
data_type: 'nvarchar',
default_value: null,

@@ -393,3 +393,3 @@ max_length: 100,

table: 'teams',
data_type: 'varchar',
data_type: 'nvarchar',
default_value: null,

@@ -396,0 +396,0 @@ max_length: 100,

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc