diff --git a/README.md b/README.md index f93f3eb..f4278ba 100644 --- a/README.md +++ b/README.md @@ -62,6 +62,9 @@ Example output: ./functions/table-valued dbo.awesome-table-func.sql ... + ./schemas + dbo.sql + ... ./stored-procedures dbo.people-read.sql ... @@ -108,15 +111,18 @@ Configuration options are stored in a `ssc.json` file. // directory to place scripted files into (relative to config file) "root": "./_sql-database", + // directory to script procs (relative to root) + "procs": "./stored-procedures", + + // directory to script schemas (relative to root) + "schemas": "./schemas", + // directory to script scalar functions (relative to root) "scalar-valued": "./functions/scalar-valued", // directory to script table functions (relative to root) "table-valued": "./functions/table-valued", - // directory to script procs (relative to root) - "procs": "./stored-procedures", - // directory to script tables (relative to root) "tables": "./tables", diff --git a/dist/commands/cat.js b/dist/commands/cat.js index a38f3cc..3add28d 100644 --- a/dist/commands/cat.js +++ b/dist/commands/cat.js @@ -14,6 +14,7 @@ function cat() { var output = ''; // order is important var directories = [ + config.output.schemas, config.output.tables, config.output.views, config.output['scalar-valued'], diff --git a/dist/commands/cat.js.map b/dist/commands/cat.js.map index c2a0fae..26aebb6 100644 --- a/dist/commands/cat.js.map +++ b/dist/commands/cat.js.map @@ -1 +1 @@ -{"version":3,"file":"cat.js","sourceRoot":"","sources":["../../src/commands/cat.ts"],"names":[],"mappings":";;AAAA,6BAA+B;AAC/B,6BAA+B;AAC/B,2BAA6B;AAC7B,yBAAyB;AAGzB,wCAA0C;AAE1C;;GAEG;AACH;IACI,IAAM,KAAK,GAAqB,OAAO,CAAC,MAAM,EAAE,CAAC;IACjD,IAAM,MAAM,GAAW,IAAI,CAAC,SAAS,EAAE,CAAC;IACxC,IAAI,MAAM,GAAW,EAAE,CAAC;IAExB,qBAAqB;IACrB,IAAM,WAAW,GAAa;QAC1B,MAAM,CAAC,MAAM,CAAC,MAAM;QACpB,MAAM,CAAC,MAAM,CAAC,KAAK;QACnB,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,KAAK;QACnB,MAAM,CAAC,MAAM,CAAC,KAAK;QACnB,MAAM,CAAC,MAAM,CAAC,QAAQ;KACzB,CAAC;IAEF,GAAG,CAAC,CAAY,UAAW,EAAX,2BAAW,EAAX,yBAAW,EAAX,IAAW;QAAtB,IAAI,GAAG,oBAAA;QACR,IAAM,KAAK,GAAa,IAAI,CAAC,IAAI,CAAI,MAAM,CAAC,MAAM,CAAC,IAAI,SAAI,GAAG,cAAW,CAAC,CAAC;QAE3E,GAAG,CAAC,CAAa,UAAK,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK;YAAjB,IAAI,IAAI,cAAA;YACT,IAAM,OAAO,GAAW,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YACzD,IAAM,GAAG,GAAW,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YAErD,MAAM,IAAI,OAAO,CAAC;YAClB,MAAM,IAAI,QAAG,CAAC;YACd,MAAM,IAAI,CAAC,GAAG,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC;YACrC,MAAM,IAAI,QAAG,GAAG,QAAG,CAAC;SACvB;KACJ;IAED,EAAE,CAAC,cAAc,CAAI,MAAM,CAAC,MAAM,CAAC,IAAI,aAAU,EAAE,MAAM,CAAC,CAAC;IAE3D,IAAM,IAAI,GAAqB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,oBAAkB,IAAI,CAAC,CAAC,CAAC,OAAI,CAAC,CAAC,CAAC;AAC5D,CAAC;AAlCD,kBAkCC"} \ No newline at end of file +{"version":3,"file":"cat.js","sourceRoot":"","sources":["../../src/commands/cat.ts"],"names":[],"mappings":";;AAAA,6BAA+B;AAC/B,6BAA+B;AAC/B,2BAA6B;AAC7B,yBAAyB;AAGzB,wCAA0C;AAE1C;;GAEG;AACH;IACI,IAAM,KAAK,GAAqB,OAAO,CAAC,MAAM,EAAE,CAAC;IACjD,IAAM,MAAM,GAAW,IAAI,CAAC,SAAS,EAAE,CAAC;IACxC,IAAI,MAAM,GAAW,EAAE,CAAC;IAExB,qBAAqB;IACrB,IAAM,WAAW,GAAa;QAC1B,MAAM,CAAC,MAAM,CAAC,OAAO;QACrB,MAAM,CAAC,MAAM,CAAC,MAAM;QACpB,MAAM,CAAC,MAAM,CAAC,KAAK;QACnB,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,KAAK;QACnB,MAAM,CAAC,MAAM,CAAC,KAAK;QACnB,MAAM,CAAC,MAAM,CAAC,QAAQ;KACzB,CAAC;IAEF,GAAG,CAAC,CAAY,UAAW,EAAX,2BAAW,EAAX,yBAAW,EAAX,IAAW;QAAtB,IAAI,GAAG,oBAAA;QACR,IAAM,KAAK,GAAa,IAAI,CAAC,IAAI,CAAI,MAAM,CAAC,MAAM,CAAC,IAAI,SAAI,GAAG,cAAW,CAAC,CAAC;QAE3E,GAAG,CAAC,CAAa,UAAK,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK;YAAjB,IAAI,IAAI,cAAA;YACT,IAAM,OAAO,GAAW,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YACzD,IAAM,GAAG,GAAW,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YAErD,MAAM,IAAI,OAAO,CAAC;YAClB,MAAM,IAAI,QAAG,CAAC;YACd,MAAM,IAAI,CAAC,GAAG,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC;YACrC,MAAM,IAAI,QAAG,GAAG,QAAG,CAAC;SACvB;KACJ;IAED,EAAE,CAAC,cAAc,CAAI,MAAM,CAAC,MAAM,CAAC,IAAI,aAAU,EAAE,MAAM,CAAC,CAAC;IAE3D,IAAM,IAAI,GAAqB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,oBAAkB,IAAI,CAAC,CAAC,CAAC,OAAI,CAAC,CAAC,CAAC;AAC5D,CAAC;AAnCD,kBAmCC"} \ No newline at end of file diff --git a/dist/commands/pull.js b/dist/commands/pull.js index 6aeab80..773329c 100644 --- a/dist/commands/pull.js +++ b/dist/commands/pull.js @@ -59,9 +59,24 @@ function scriptFiles(config, results) { var primaryKeys = results[3].recordset; var foreignKeys = results[4].recordset; var indexes = results[5].recordset; + // get unique schema names + var schemas = tables.map(function (item) { + return { name: item.schema, type: 'SCHEMA' }; + }); + // write files for schemas + for (var _i = 0, schemas_1 = schemas; _i < schemas_1.length; _i++) { + var item = schemas_1[_i]; + var file = util.safeFile(item.name + ".sql"); + if (!include(config, file)) { + continue; + } + var content = script.schema(item); + var dir = createFile(config, item, file, content); + exclude(existing, dir); + } // write files for stored procedures, functions, ect. - for (var _i = 0, objects_1 = objects; _i < objects_1.length; _i++) { - var item = objects_1[_i]; + for (var _a = 0, objects_1 = objects; _a < objects_1.length; _a++) { + var item = objects_1[_a]; var file = util.safeFile(item.schema + "." + item.name + ".sql"); if (!include(config, file)) { continue; @@ -70,8 +85,8 @@ function scriptFiles(config, results) { exclude(existing, dir); } // write files for tables - for (var _a = 0, tables_1 = tables; _a < tables_1.length; _a++) { - var item = tables_1[_a]; + for (var _b = 0, tables_1 = tables; _b < tables_1.length; _b++) { + var item = tables_1[_b]; var file = util.safeFile(item.schema + "." + item.name + ".sql"); if (!include(config, file)) { continue; @@ -96,6 +111,10 @@ function createFile(config, item, file, content) { var output; var type; switch (item.type.trim()) { + case 'SCHEMA': + output = config.output.schemas; + type = null; + break; case 'U': output = config.output.tables; type = config.idempotency.tables; diff --git a/dist/commands/pull.js.map b/dist/commands/pull.js.map index e9cfd81..0019273 100644 --- a/dist/commands/pull.js.map +++ b/dist/commands/pull.js.map @@ -1 +1 @@ -{"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/common/utility.js b/dist/common/utility.js index 216d555..852f612 100644 --- a/dist/common/utility.js +++ b/dist/common/utility.js @@ -22,18 +22,19 @@ exports.configDefaults = { connections: [], files: [], output: { - root: '_sql-database', + 'root': '_sql-database', + 'procs': './stored-procedures', + 'schemas': './schemas', 'scalar-valued': './functions/scalar-valued', 'table-valued': './functions/table-valued', - 'procs': './stored-procedures', 'tables': './tables', 'triggers': './triggers', 'views': './views' }, idempotency: { + 'procs': 'if-exists-drop', 'scalar-valued': 'if-exists-drop', 'table-valued': 'if-exists-drop', - 'procs': 'if-exists-drop', 'tables': 'if-not-exists', 'triggers': 'if-exists-drop', 'views': 'if-exists-drop' diff --git a/dist/common/utility.js.map b/dist/common/utility.js.map index 38970c3..6bdfbe8 100644 --- a/dist/common/utility.js.map +++ b/dist/common/utility.js.map @@ -1 +1 @@ -{"version":3,"file":"utility.js","sourceRoot":"","sources":["../../src/common/utility.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"utility.js","sourceRoot":"","sources":["../../src/common/utility.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/sql/script.js b/dist/sql/script.js index c779863..de3d78c 100644 --- a/dist/sql/script.js +++ b/dist/sql/script.js @@ -49,6 +49,20 @@ function idempotency(item, type) { return ''; } exports.idempotency = idempotency; +/** + * Get script for schema creation. + * + * @param item Object containing schema info. + */ +function schema(item) { + var output = ''; + // idempotency + output += "if not exists (select * from sys.schemas where name = '" + item.name + "')"; + output += os_1.EOL; + output += "create schema " + item.name; + return output; +} +exports.schema = schema; /** * Get script for table's column. * diff --git a/dist/sql/script.js.map b/dist/sql/script.js.map index b0e1857..52bb1f1 100644 --- a/dist/sql/script.js.map +++ b/dist/sql/script.js.map @@ -1 +1 @@ -{"version":3,"file":"script.js","sourceRoot":"","sources":["../../src/sql/script.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"script.js","sourceRoot":"","sources":["../../src/sql/script.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/sql/sys.js b/dist/sql/sys.js index 5ee9100..a952578 100644 --- a/dist/sql/sys.js +++ b/dist/sql/sys.js @@ -23,5 +23,5 @@ exports.indexRead = "\n select\n ic.object_id,\n ic.index_id,\n /** * Get SQL information for procs, triggers, functions, etc. */ -exports.objectRead = "\n select\n so.name\n ,s.name as [schema]\n ,so.type as [type]\n ,stuff\n (\n (\n select\n cast(sc_inner.text as varchar(max))\n from\n sys.objects so_inner\n inner join syscomments sc_inner on sc_inner.id = so_inner.object_id\n inner join sys.schemas s_inner on s_inner.schema_id = so_inner.schema_id\n where\n so_inner.name = so.name\n and s_inner.name = s.name\n for xml path(''), type\n ).value('(./text())[1]', 'varchar(max)')\n ,1\n ,0\n ,''\n ) as [text]\n from\n sys.objects so\n inner join syscomments sc on sc.id = so.object_id and so.type in ('P', 'V', 'TF', 'FN', 'TR')\n inner join sys.schemas s on s.schema_id = so.schema_id\n group by\n so.name\n ,s.name\n ,so.type\n"; +exports.objectRead = "\n select\n so.name,\n s.name as [schema],\n so.type as [type],\n stuff\n (\n (\n select\n cast(sc_inner.text as varchar(max))\n from\n sys.objects so_inner\n inner join syscomments sc_inner on sc_inner.id = so_inner.object_id\n inner join sys.schemas s_inner on s_inner.schema_id = so_inner.schema_id\n where\n so_inner.name = so.name\n and s_inner.name = s.name\n for xml path(''), type\n ).value('(./text())[1]', 'varchar(max)')\n ,1\n ,0\n ,''\n ) as [text]\n from\n sys.objects so\n inner join syscomments sc on sc.id = so.object_id and so.type in ('P', 'V', 'TF', 'FN', 'TR')\n inner join sys.schemas s on s.schema_id = so.schema_id\n group by\n so.name\n ,s.name\n ,so.type\n"; //# sourceMappingURL=sys.js.map \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 5fdbe47..eb60408 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "sql-source-control", - "version": "1.0.6", + "version": "1.2.0", "lockfileVersion": 1, "dependencies": { "@types/chalk": { diff --git a/src/commands/cat.ts b/src/commands/cat.ts index d0d80c2..68c16e8 100644 --- a/src/commands/cat.ts +++ b/src/commands/cat.ts @@ -16,6 +16,7 @@ export function cat(): void { // order is important const directories: string[] = [ + config.output.schemas, config.output.tables, config.output.views, config.output['scalar-valued'], diff --git a/src/commands/pull.ts b/src/commands/pull.ts index 4eb5d3d..a84823f 100644 --- a/src/commands/pull.ts +++ b/src/commands/pull.ts @@ -16,7 +16,8 @@ import { IndexRecordSet, ObjectRecordSet, PrimaryKeyRecordSet, - TableRecordSet + TableRecordSet, + SchemaRecordSet } from '../sql/record-set'; import { columnRead, @@ -81,6 +82,24 @@ function scriptFiles(config: Config, results: sql.IResult[]): void { const foreignKeys: ForeignKeyRecordSet[] = results[4].recordset; const indexes: IndexRecordSet[] = results[5].recordset; + // get unique schema names + const schemas: SchemaRecordSet[] = tables.map(item => { + return { name: item.schema, type: 'SCHEMA' }; + }); + + // write files for schemas + for (let item of schemas) { + const file: string = util.safeFile(`${item.name}.sql`); + + if (!include(config, file)) { + continue; + } + + const content: string = script.schema(item); + const dir: string = createFile(config, item, file, content); + exclude(existing, dir); + } + // write files for stored procedures, functions, ect. for (let item of objects) { const file: string = util.safeFile(`${item.schema}.${item.name}.sql`); @@ -124,6 +143,10 @@ function createFile(config: Config, item: any, file: string, content: string): s let type: IdempotencyOption; switch (item.type.trim()) { + case 'SCHEMA': // not a real object type + output = config.output.schemas; + type = null; + break; case 'U': output = config.output.tables; type = config.idempotency.tables; diff --git a/src/common/idempotency.ts b/src/common/idempotency.ts index a2a60b1..b63bda2 100644 --- a/src/common/idempotency.ts +++ b/src/common/idempotency.ts @@ -2,9 +2,9 @@ * Supported idempotency configuration. */ export interface IdempotencyConfig { + 'procs'?: IdempotencyOption; 'scalar-valued'?: IdempotencyOption; 'table-valued'?: IdempotencyOption; - 'procs'?: IdempotencyOption; 'tables'?: IdempotencyOption; 'triggers'?: IdempotencyOption; 'views'?: IdempotencyOption; diff --git a/src/common/output.ts b/src/common/output.ts index 6e58b14..11a24f4 100644 --- a/src/common/output.ts +++ b/src/common/output.ts @@ -3,9 +3,10 @@ */ export interface OutputConfig { 'root'?: string; + 'procs'?: string; + 'schemas'?: string; 'scalar-valued'?: string; 'table-valued'?: string; - 'procs'?: string; 'tables'?: string; 'triggers'?: string; 'views'?: string; diff --git a/src/common/utility.ts b/src/common/utility.ts index bfcf49e..83d985d 100644 --- a/src/common/utility.ts +++ b/src/common/utility.ts @@ -25,18 +25,19 @@ export const configDefaults: Config = { connections: [], files: [], output: { - root: '_sql-database', + 'root': '_sql-database', + 'procs': './stored-procedures', + 'schemas': './schemas', 'scalar-valued': './functions/scalar-valued', 'table-valued': './functions/table-valued', - 'procs': './stored-procedures', 'tables': './tables', 'triggers': './triggers', 'views': './views' }, idempotency: { + 'procs': 'if-exists-drop', 'scalar-valued': 'if-exists-drop', 'table-valued': 'if-exists-drop', - 'procs': 'if-exists-drop', 'tables': 'if-not-exists', 'triggers': 'if-exists-drop', 'views': 'if-exists-drop' diff --git a/src/sql/record-set.ts b/src/sql/record-set.ts index 8de9164..6d4c0c6 100644 --- a/src/sql/record-set.ts +++ b/src/sql/record-set.ts @@ -8,6 +8,14 @@ export interface AbstractRecordSet { name: string; } +/** + * Mock dataset, properties from table query. + */ +export interface SchemaRecordSet { + name: string; + type: string; +} + /** * Dataset returned from table query. */ diff --git a/src/sql/script.ts b/src/sql/script.ts index 48e8ad3..e6cf6c3 100644 --- a/src/sql/script.ts +++ b/src/sql/script.ts @@ -8,7 +8,8 @@ import { IndexRecordSet, ObjectRecordSet, PrimaryKeyRecordSet, - TableRecordSet + TableRecordSet, + SchemaRecordSet } from '../sql/record-set'; /** @@ -61,6 +62,22 @@ export function idempotency(item: AbstractRecordSet, type: IdempotencyOption): s return ''; } +/** + * Get script for schema creation. + * + * @param item Object containing schema info. + */ +export function schema(item: SchemaRecordSet): string { + let output: string = ''; + + // idempotency + output += `if not exists (select * from sys.schemas where name = '${item.name}')`; + output += EOL; + + output += `create schema ${item.name}`; + return output; +} + /** * Get script for table's column. * diff --git a/src/sql/sys.ts b/src/sql/sys.ts index 3ce52f2..723b02d 100644 --- a/src/sql/sys.ts +++ b/src/sql/sys.ts @@ -122,10 +122,10 @@ export const indexRead: string = ` */ export const objectRead: string = ` select - so.name - ,s.name as [schema] - ,so.type as [type] - ,stuff + so.name, + s.name as [schema], + so.type as [type], + stuff ( ( select