@prisma-psm/core 1.0.24 → 1.0.27

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prisma-psm/core",
3
- "version": "1.0.24",
3
+ "version": "1.0.27",
4
4
  "description": "PSM - Prisma SAFE MIGRATE: ferramenta CLI para migração segura de bancos Prisma com suporte avançado.",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
package/src/driver.d.ts CHANGED
@@ -136,12 +136,23 @@ export interface PSMDumpResponse {
136
136
  error?: Error;
137
137
  output?: string;
138
138
  }
139
+ export type CustomScript = {
140
+ group: string;
141
+ filename: string;
142
+ raw: string;
143
+ };
144
+ export interface CustomResources {
145
+ get resources(): Record<string, CustomScript[]>;
146
+ execute(): Promise<void>;
147
+ createFiles(): void;
148
+ }
139
149
  export interface PSMMigrator {
140
150
  core(): Promise<PSMMigrationResult>;
141
151
  test(): Promise<PSMMigrationResult>;
142
- migrate(): Promise<PSMMigrationResult>;
152
+ migrate(custom?: CustomResources): Promise<PSMMigrationResult>;
143
153
  dump(): Promise<PSMDumpResponse>;
144
- execute(str: string): Promise<PSMExecute>;
154
+ execute(str: CustomScript[]): Promise<PSMExecute>;
155
+ executeRaw(str: CustomScript[]): string;
145
156
  }
146
157
  export interface QueryBuilderResult {
147
158
  sql: string;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["driver.ts"],"names":[],"mappings":"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"}
package/src/driver.ts CHANGED
@@ -151,12 +151,24 @@ export interface PSMDumpResponse {
151
151
  output?:string
152
152
  }
153
153
 
154
+ export type CustomScript = {
155
+ group:string,
156
+ filename:string,
157
+ raw:string
158
+ }
159
+ export interface CustomResources {
160
+ get resources():Record<string, CustomScript[]>,
161
+ execute():Promise<void>
162
+ createFiles():void
163
+ }
164
+
154
165
  export interface PSMMigrator {
155
166
  core():Promise<PSMMigrationResult>,
156
167
  test():Promise<PSMMigrationResult>,
157
- migrate():Promise<PSMMigrationResult>,
168
+ migrate( custom?:CustomResources ):Promise<PSMMigrationResult>,
158
169
  dump():Promise<PSMDumpResponse>,
159
- execute(str:string):Promise<PSMExecute>
170
+ execute(str:CustomScript[]):Promise<PSMExecute>
171
+ executeRaw(str:CustomScript[]):string
160
172
  }
161
173
 
162
174
  export interface QueryBuilderResult {
@@ -1 +1 @@
1
- {"version":3,"file":"commit.d.ts","sourceRoot":"","sources":["commit.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,cAAc;IAC3B,MAAM,CAAC,EAAC,MAAM,CAAA;IACd,QAAQ,CAAC,EAAC,MAAM,CAAA;IAChB,KAAK,CAAC,EAAC,MAAM,CAAA;IACb,kBAAkB,EAAC,MAAM,CAAA;CAC5B;AACD,wBAAsB,MAAM,CAAC,IAAI,EAAC,cAAc,iBAqI/C"}
1
+ {"version":3,"file":"commit.d.ts","sourceRoot":"","sources":["commit.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,cAAc;IAC3B,MAAM,CAAC,EAAC,MAAM,CAAA;IACd,QAAQ,CAAC,EAAC,MAAM,CAAA;IAChB,KAAK,CAAC,EAAC,MAAM,CAAA;IACb,kBAAkB,EAAC,MAAM,CAAA;CAC5B;AACD,wBAAsB,MAAM,CAAC,IAAI,EAAC,cAAc,iBAuI/C"}
@@ -121,21 +121,25 @@ function commit(opts) {
121
121
  if (dump.error) {
122
122
  throw dump.error;
123
123
  }
124
- result = yield migrator.migrate();
124
+ fs.mkdirSync(nextRev, { recursive: true });
125
+ const custom = (0, execute_1.CreateCustom)({
126
+ home: home,
127
+ nextRev: nextRev,
128
+ migrator: migrator
129
+ }, "functions", "triggers", "views");
130
+ result = yield migrator.migrate(custom).catch(reason => {
131
+ return { error: reason, success: false };
132
+ });
125
133
  if (!result.success) {
126
134
  console.error(result.error);
127
135
  result.messages.forEach(error => {
128
136
  console.error(error);
129
137
  });
130
- throw new Error("Migrate error: Commit migration failed!");
138
+ if (fs.existsSync(nextRev)) {
139
+ fs.rmdirSync(nextRev, { recursive: true });
140
+ }
141
+ throw new Error(`Migrate error: Commit migration failed! ${home}`);
131
142
  }
132
- const custom = (0, execute_1.CreateCustom)({
133
- home: home,
134
- nextRev: nextRev,
135
- migrator: migrator
136
- }, "functions", "triggers", "views");
137
- yield custom.execute();
138
- fs.mkdirSync(nextRev, { recursive: true });
139
143
  custom.createFiles();
140
144
  fs.renameSync(next, Path.join(nextRev, "migration.sql"));
141
145
  fs.writeFileSync(Path.join(nextRev, "psm.yml"), yaml.stringify(psm));
@@ -1 +1 @@
1
- {"version":3,"file":"commit.js","sourceRoot":"","sources":["commit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commit.js","sourceRoot":"","sources":["commit.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,6 @@ import {fetch} from "./deploy";
11
11
  import {psmLockup} from "./common";
12
12
  import {getLatestFolder, gitAddPath, sanitizeLabel} from "../utils/fs";
13
13
  import {CreateCustom} from "./execute";
14
- import moment from "moment/moment";
15
14
 
16
15
  export interface MigrateOptions {
17
16
  schema?:string
@@ -107,26 +106,28 @@ export async function commit(opts:MigrateOptions ) {
107
106
  throw dump.error;
108
107
  }
109
108
 
110
- result = await migrator.migrate();
111
- if( !result.success ) {
112
- console.error( result.error );
113
- result.messages.forEach( error => {
114
- console.error( error );
115
- });
116
- throw new Error( "Migrate error: Commit migration failed!" );
117
- }
118
-
109
+ fs.mkdirSync( nextRev, { recursive: true });
119
110
  const custom = CreateCustom({
120
111
  home: home,
121
112
  nextRev: nextRev,
122
113
  migrator: migrator
123
114
  }, "functions", "triggers", "views" );
124
115
 
125
- await custom.execute();
126
-
116
+ result = await migrator.migrate( custom ).catch( reason => {
117
+ return { error: reason, success: false };
118
+ });
127
119
 
120
+ if( !result.success ) {
121
+ console.error( result.error );
122
+ result.messages.forEach( error => {
123
+ console.error( error );
124
+ });
125
+ if( fs.existsSync( nextRev ) ) {
126
+ fs.rmdirSync( nextRev, { recursive: true });
127
+ }
128
+ throw new Error( `Migrate error: Commit migration failed! ${home}` );
129
+ }
128
130
 
129
- fs.mkdirSync( nextRev, { recursive: true });
130
131
  custom.createFiles();
131
132
  fs.renameSync( next, Path.join( nextRev, "migration.sql" ) );
132
133
  fs.writeFileSync( Path.join( nextRev, "psm.yml" ), yaml.stringify( psm ) );
@@ -1,4 +1,4 @@
1
- import { PSMMigrator } from "../driver";
1
+ import { CustomResources, PSMMigrator } from "../driver";
2
2
  export interface CustomOptions {
3
3
  save?: boolean;
4
4
  schema?: string;
@@ -12,8 +12,5 @@ export type ExecuteCustomOptions = {
12
12
  migrator: PSMMigrator;
13
13
  };
14
14
  export declare function execute(opts: CustomOptions): Promise<void>;
15
- export declare function CreateCustom(opts: ExecuteCustomOptions, ...groups: string[]): {
16
- execute(): Promise<void>;
17
- createFiles(): void;
18
- };
15
+ export declare function CreateCustom(opts: ExecuteCustomOptions, ...groups: string[]): CustomResources;
19
16
  //# sourceMappingURL=execute.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["execute.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,WAAW,EAAC,MAAM,WAAW,CAAC;AAMtC,MAAM,WAAW,aAAa;IAC1B,IAAI,CAAC,EAAC,OAAO,CAAA;IACb,MAAM,CAAC,EAAC,MAAM,CAAA;IACd,KAAK,CAAC,EAAC,MAAM,CAAA;IACb,MAAM,CAAC,EAAC,MAAM,EAAE,CAAA;IAChB,MAAM,CAAC,EAAC,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,oBAAoB,GAAG;IAC/B,IAAI,EAAC,MAAM,CAAC;IACZ,OAAO,EAAC,MAAM,CAAC;IACf,QAAQ,EAAC,WAAW,CAAA;CACvB,CAAA;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAC,aAAa,iBA+D/C;AAGD,wBAAgB,YAAY,CAAC,IAAI,EAAC,oBAAoB,EAAE,GAAG,MAAM,EAAC,MAAM,EAAE;;;EAmBzE"}
1
+ {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["execute.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,eAAe,EAAgB,WAAW,EAAC,MAAM,WAAW,CAAC;AAMrE,MAAM,WAAW,aAAa;IAC1B,IAAI,CAAC,EAAC,OAAO,CAAA;IACb,MAAM,CAAC,EAAC,MAAM,CAAA;IACd,KAAK,CAAC,EAAC,MAAM,CAAA;IACb,MAAM,CAAC,EAAC,MAAM,EAAE,CAAA;IAChB,MAAM,CAAC,EAAC,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,oBAAoB,GAAG;IAC/B,IAAI,EAAC,MAAM,CAAC;IACZ,OAAO,EAAC,MAAM,CAAC;IACf,QAAQ,EAAC,WAAW,CAAA;CACvB,CAAA;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAC,aAAa,iBA+D/C;AAGD,wBAAgB,YAAY,CAAC,IAAI,EAAC,oBAAoB,EAAE,GAAG,MAAM,EAAC,MAAM,EAAE,GAAG,eAAe,CAgC3F"}
@@ -97,21 +97,34 @@ function execute(opts) {
97
97
  }
98
98
  function CreateCustom(opts, ...groups) {
99
99
  const compiledScripts = {};
100
+ for (const group of groups) {
101
+ const scripts = collectScripts(group, opts.home);
102
+ if (scripts)
103
+ compiledScripts[group] = scripts;
104
+ }
100
105
  return {
106
+ get resources() {
107
+ return compiledScripts;
108
+ },
101
109
  execute() {
102
110
  return __awaiter(this, void 0, void 0, function* () {
103
- for (const group of groups) {
104
- const sql = yield processCustomScripts(group, opts.home, opts.migrator);
105
- if (sql) {
106
- compiledScripts[`${group}.sql`] = sql;
111
+ for (const [group, sqlText] of Object.entries(compiledScripts)) {
112
+ const result = yield opts.migrator.execute(sqlText);
113
+ if ((result === null || result === void 0 ? void 0 : result.error) || (result === null || result === void 0 ? void 0 : result.success) === false) {
114
+ console.error((result === null || result === void 0 ? void 0 : result.error) || `Erro ao executar ${group}`);
115
+ throw new Error(`Erro ao executar ${group}`);
107
116
  }
117
+ result.messages.forEach(value => {
118
+ console.log(value);
119
+ });
108
120
  }
109
121
  });
110
122
  },
111
123
  createFiles() {
112
124
  // 💾 Escrever scripts compilados dentro do nextRev
113
- for (const [filename, sqlText] of Object.entries(compiledScripts)) {
114
- fs.writeFileSync(Path.join(opts.nextRev, filename), sqlText);
125
+ fs.mkdirSync(opts.nextRev, { recursive: true });
126
+ for (const [group, sqlText] of Object.entries(compiledScripts)) {
127
+ fs.writeFileSync(Path.join(opts.nextRev, `${group}.sql`), opts.migrator.executeRaw(sqlText));
115
128
  }
116
129
  }
117
130
  };
@@ -121,40 +134,31 @@ function CreateCustom(opts, ...groups) {
121
134
  * concatena em um único texto e executa via migrator.execut().
122
135
  * Retorna o SQL compilado para ser salvo dentro do tar.
123
136
  */
124
- function processCustomScripts(group, home, migrator) {
125
- return __awaiter(this, void 0, void 0, function* () {
126
- const baseDir = Path.join(home, `psm/${group}`);
127
- if (!fs.existsSync(baseDir))
128
- return null;
129
- const allFiles = [];
130
- function walk(dir) {
131
- const entries = fs.readdirSync(dir, { withFileTypes: true });
132
- for (const entry of entries) {
133
- const fullPath = Path.join(dir, entry.name);
134
- if (entry.isDirectory())
135
- walk(fullPath);
136
- else if (entry.isFile() && entry.name.endsWith(".sql")) {
137
- allFiles.push(fullPath);
138
- }
137
+ function collectScripts(group, home) {
138
+ const baseDir = Path.join(home, `psm/${group}`);
139
+ if (!fs.existsSync(baseDir))
140
+ return null;
141
+ const allFiles = [];
142
+ function walk(dir) {
143
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
144
+ for (const entry of entries) {
145
+ const fullPath = Path.join(dir, entry.name);
146
+ if (entry.isDirectory())
147
+ walk(fullPath);
148
+ else if (entry.isFile() && entry.name.endsWith(".sql")) {
149
+ const raw = fs.readFileSync(fullPath, "utf8").trim();
150
+ allFiles.push({
151
+ group: group,
152
+ filename: fullPath,
153
+ raw: raw
154
+ });
139
155
  }
140
156
  }
141
- walk(baseDir);
142
- if (allFiles.length === 0)
143
- return null;
144
- const contents = allFiles.map((f) => fs.readFileSync(f, "utf8").trim());
145
- const sqlText = contents
146
- .map((c) => (c.endsWith(";") ? c : `${c};`))
147
- .join("\n\n");
148
- console.log(chalk_1.default.cyan(`▶ Executando ${group} (${allFiles.length} scripts)`));
149
- const result = yield migrator.execute(sqlText);
150
- if ((result === null || result === void 0 ? void 0 : result.error) || (result === null || result === void 0 ? void 0 : result.success) === false) {
151
- console.error((result === null || result === void 0 ? void 0 : result.error) || `Erro ao executar ${group}`);
152
- throw new Error(`Erro ao executar ${group}`);
153
- }
154
- result.messages.forEach(value => {
155
- console.log(value);
156
- });
157
- return sqlText;
158
- });
157
+ }
158
+ walk(baseDir);
159
+ if (allFiles.length === 0)
160
+ return null;
161
+ console.log(chalk_1.default.cyan(`▶ Collected ${group} (${allFiles.length} scripts)`));
162
+ return allFiles;
159
163
  }
160
164
  //# sourceMappingURL=execute.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"execute.js","sourceRoot":"","sources":["execute.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execute.js","sourceRoot":"","sources":["execute.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  import * as fs from "node:fs";
5
5
  import * as Path from "node:path";
6
6
  import chalk from "chalk";
7
- import {PSMMigrator} from "../driver";
7
+ import {CustomResources, CustomScript, PSMMigrator} from "../driver";
8
8
  import {psmLockup} from "./common";
9
9
  import { gitAddPath, sanitizeLabel} from "../utils/fs";
10
10
  import {PSMConfigFile} from "../configs";
@@ -90,22 +90,35 @@ export async function execute(opts:CustomOptions ) {
90
90
  }
91
91
 
92
92
 
93
- export function CreateCustom(opts:ExecuteCustomOptions, ...groups:string[] ){
94
- const compiledScripts: Record<string, string> = {};
93
+ export function CreateCustom(opts:ExecuteCustomOptions, ...groups:string[] ):CustomResources{
94
+ const compiledScripts: Record<string, CustomScript[]> = {};
95
+
96
+ for (const group of groups) {
97
+ const scripts = collectScripts(group, opts.home );
98
+ if (scripts) compiledScripts[group] = scripts;
99
+ }
95
100
  return {
96
- async execute(){
97
- for (const group of groups) {
98
- const sql = await processCustomScripts(group, opts.home, opts.migrator);
99
- if (sql) {
100
- compiledScripts[`${group}.sql`] = sql;
101
- }
102
- }
103
- },
101
+ get resources(){
102
+ return compiledScripts
103
+ },
104
+ async execute(): Promise<void> {
105
+ for (const [group, sqlText] of Object.entries(compiledScripts)) {
106
+ const result = await opts.migrator.execute(sqlText);
107
+ if (result?.error || result?.success === false) {
108
+ console.error(result?.error || `Erro ao executar ${group}`);
109
+ throw new Error(`Erro ao executar ${group}`);
110
+ }
111
+ result.messages.forEach( value => {
112
+ console.log( value)
113
+ });
104
114
 
115
+ }
116
+ },
105
117
  createFiles(){
106
118
  // 💾 Escrever scripts compilados dentro do nextRev
107
- for (const [filename, sqlText] of Object.entries(compiledScripts)) {
108
- fs.writeFileSync(Path.join( opts.nextRev, filename), sqlText);
119
+ fs.mkdirSync(opts.nextRev, { recursive: true });
120
+ for (const [group, sqlText] of Object.entries(compiledScripts)) {
121
+ fs.writeFileSync(Path.join( opts.nextRev, `${group}.sql`), opts.migrator.executeRaw(sqlText));
109
122
  }
110
123
  }
111
124
  }
@@ -117,15 +130,14 @@ export function CreateCustom(opts:ExecuteCustomOptions, ...groups:string[] ){
117
130
  * concatena em um único texto e executa via migrator.execut().
118
131
  * Retorna o SQL compilado para ser salvo dentro do tar.
119
132
  */
120
- async function processCustomScripts(
133
+ function collectScripts(
121
134
  group: string,
122
- home: string,
123
- migrator: PSMMigrator
124
- ): Promise<string | null> {
135
+ home: string
136
+ ): CustomScript[] | null {
125
137
  const baseDir = Path.join(home, `psm/${group}`);
126
138
  if (!fs.existsSync(baseDir)) return null;
127
139
 
128
- const allFiles: string[] = [];
140
+ const allFiles: CustomScript[] = [];
129
141
 
130
142
  function walk(dir: string) {
131
143
  const entries = fs.readdirSync(dir, { withFileTypes: true });
@@ -133,7 +145,12 @@ async function processCustomScripts(
133
145
  const fullPath = Path.join(dir, entry.name);
134
146
  if (entry.isDirectory()) walk(fullPath);
135
147
  else if (entry.isFile() && entry.name.endsWith(".sql")) {
136
- allFiles.push(fullPath);
148
+ const raw = fs.readFileSync(fullPath, "utf8").trim();
149
+ allFiles.push({
150
+ group:group,
151
+ filename:fullPath,
152
+ raw: raw
153
+ });
137
154
  }
138
155
  }
139
156
  }
@@ -141,20 +158,7 @@ async function processCustomScripts(
141
158
  walk(baseDir);
142
159
  if (allFiles.length === 0) return null;
143
160
 
144
- const contents = allFiles.map((f) => fs.readFileSync(f, "utf8").trim());
145
- const sqlText = contents
146
- .map((c) => (c.endsWith(";") ? c : `${c};`))
147
- .join("\n\n");
161
+ console.log(chalk.cyan(`▶ Collected ${group} (${allFiles.length} scripts)`));
148
162
 
149
- console.log(chalk.cyan(`▶ Executando ${group} (${allFiles.length} scripts)`));
150
-
151
- const result = await migrator.execute(sqlText);
152
- if (result?.error || result?.success === false) {
153
- console.error(result?.error || `Erro ao executar ${group}`);
154
- throw new Error(`Erro ao executar ${group}`);
155
- }
156
- result.messages.forEach( value => {
157
- console.log( value)
158
- });
159
- return sqlText;
163
+ return allFiles;
160
164
  }
@@ -1,19 +0,0 @@
1
- import { PSMMigrator } from "../driver";
2
- export interface CustomOptions {
3
- save?: boolean;
4
- schema?: string;
5
- label?: string;
6
- groups?: string[];
7
- driver?: string;
8
- }
9
- export type ExecuteCustomOptions = {
10
- home: string;
11
- nextRev: string;
12
- migrator: PSMMigrator;
13
- };
14
- export declare function custom(opts: CustomOptions): Promise<void>;
15
- export declare function CreateCustom(opts: ExecuteCustomOptions, ...groups: string[]): {
16
- execute(): Promise<void>;
17
- createFiles(): void;
18
- };
19
- //# sourceMappingURL=custom.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"custom.d.ts","sourceRoot":"","sources":["custom.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,WAAW,EAAC,MAAM,WAAW,CAAC;AAMtC,MAAM,WAAW,aAAa;IAC1B,IAAI,CAAC,EAAC,OAAO,CAAA;IACb,MAAM,CAAC,EAAC,MAAM,CAAA;IACd,KAAK,CAAC,EAAC,MAAM,CAAA;IACb,MAAM,CAAC,EAAC,MAAM,EAAE,CAAA;IAChB,MAAM,CAAC,EAAC,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,oBAAoB,GAAG;IAC/B,IAAI,EAAC,MAAM,CAAC;IACZ,OAAO,EAAC,MAAM,CAAC;IACf,QAAQ,EAAC,WAAW,CAAA;CACvB,CAAA;AAED,wBAAsB,MAAM,CAAC,IAAI,EAAC,aAAa,iBA+D9C;AAGD,wBAAgB,YAAY,CAAC,IAAI,EAAC,oBAAoB,EAAE,GAAG,MAAM,EAAC,MAAM,EAAE;;;EAmBzE"}
@@ -1,160 +0,0 @@
1
- "use strict";
2
- // filename: src/tools/custom.ts
3
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
- if (k2 === undefined) k2 = k;
5
- var desc = Object.getOwnPropertyDescriptor(m, k);
6
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
- desc = { enumerable: true, get: function() { return m[k]; } };
8
- }
9
- Object.defineProperty(o, k2, desc);
10
- }) : (function(o, m, k, k2) {
11
- if (k2 === undefined) k2 = k;
12
- o[k2] = m[k];
13
- }));
14
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
- Object.defineProperty(o, "default", { enumerable: true, value: v });
16
- }) : function(o, v) {
17
- o["default"] = v;
18
- });
19
- var __importStar = (this && this.__importStar) || function (mod) {
20
- if (mod && mod.__esModule) return mod;
21
- var result = {};
22
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
- __setModuleDefault(result, mod);
24
- return result;
25
- };
26
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
27
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
28
- return new (P || (P = Promise))(function (resolve, reject) {
29
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
30
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
31
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
32
- step((generator = generator.apply(thisArg, _arguments || [])).next());
33
- });
34
- };
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.custom = custom;
40
- exports.CreateCustom = CreateCustom;
41
- const fs = __importStar(require("node:fs"));
42
- const Path = __importStar(require("node:path"));
43
- const chalk_1 = __importDefault(require("chalk"));
44
- const common_1 = require("./common");
45
- const fs_1 = require("../utils/fs");
46
- const tar = __importStar(require("tar"));
47
- function custom(opts) {
48
- return __awaiter(this, void 0, void 0, function* () {
49
- var _a;
50
- require('dotenv').config();
51
- const moment = require('moment');
52
- const { psm, psm_sql, driver, home } = yield (0, common_1.psmLockup)({ schema: opts.schema, driver: opts.driver });
53
- let label = "";
54
- if (!!opts.label)
55
- label = ` - ${(0, fs_1.sanitizeLabel)(opts.label)}`;
56
- const instante = moment().format('YYYYMMDDHHmmss');
57
- const nextRev = Path.join(home, `psm/revisions/schema/${instante}${label}`);
58
- if (!opts.groups || !((_a = opts.groups) === null || _a === void 0 ? void 0 : _a.length))
59
- opts.groups = [
60
- "functions", "triggers", "views"
61
- ];
62
- const migrator = driver.migrator({
63
- url: process.env[psm.psm.url],
64
- migrate: "",
65
- check: "",
66
- core: ""
67
- });
68
- const custom = CreateCustom({
69
- home: home,
70
- nextRev: nextRev,
71
- migrator: migrator
72
- }, ...opts.groups);
73
- yield custom.execute();
74
- if (!opts.save)
75
- return;
76
- let preview;
77
- psm.migration = {
78
- revision: `${moment().format('YYYYMMDDHHmmss')} - ${psm.psm.migration}`,
79
- instante: moment().format('YYYYMMDDHHmmss'),
80
- preview: preview === null || preview === void 0 ? void 0 : preview.migration.revision,
81
- label: opts.label
82
- };
83
- fs.mkdirSync(nextRev, { recursive: true });
84
- custom.createFiles();
85
- const archiveName = Path.join(home || process.cwd(), `psm/revisions/schema/${psm.migration.instante}${label}.tar.gz`);
86
- yield tar.c({
87
- gzip: {
88
- level: 9
89
- },
90
- file: archiveName,
91
- cwd: Path.dirname(nextRev)
92
- }, [Path.basename(nextRev)]);
93
- console.log(chalk_1.default.green(`✔ Execute compactada: ${archiveName}`));
94
- fs.rmSync(nextRev, { recursive: true, force: true });
95
- (0, fs_1.gitAddPath)(home || process.cwd(), archiveName);
96
- });
97
- }
98
- function CreateCustom(opts, ...groups) {
99
- const compiledScripts = {};
100
- return {
101
- execute() {
102
- return __awaiter(this, void 0, void 0, function* () {
103
- for (const group of groups) {
104
- const sql = yield processCustomScripts(group, opts.home, opts.migrator);
105
- if (sql) {
106
- compiledScripts[`${group}.sql`] = sql;
107
- }
108
- }
109
- });
110
- },
111
- createFiles() {
112
- // 💾 Escrever scripts compilados dentro do nextRev
113
- for (const [filename, sqlText] of Object.entries(compiledScripts)) {
114
- fs.writeFileSync(Path.join(opts.nextRev, filename), sqlText);
115
- }
116
- }
117
- };
118
- }
119
- /**
120
- * Lê todos os scripts SQL dentro de uma pasta (recursivamente),
121
- * concatena em um único texto e executa via migrator.execut().
122
- * Retorna o SQL compilado para ser salvo dentro do tar.
123
- */
124
- function processCustomScripts(group, home, migrator) {
125
- return __awaiter(this, void 0, void 0, function* () {
126
- const baseDir = Path.join(home, `psm/${group}`);
127
- if (!fs.existsSync(baseDir))
128
- return null;
129
- const allFiles = [];
130
- function walk(dir) {
131
- const entries = fs.readdirSync(dir, { withFileTypes: true });
132
- for (const entry of entries) {
133
- const fullPath = Path.join(dir, entry.name);
134
- if (entry.isDirectory())
135
- walk(fullPath);
136
- else if (entry.isFile() && entry.name.endsWith(".sql")) {
137
- allFiles.push(fullPath);
138
- }
139
- }
140
- }
141
- walk(baseDir);
142
- if (allFiles.length === 0)
143
- return null;
144
- const contents = allFiles.map((f) => fs.readFileSync(f, "utf8").trim());
145
- const sqlText = contents
146
- .map((c) => (c.endsWith(";") ? c : `${c};`))
147
- .join("\n\n");
148
- console.log(chalk_1.default.cyan(`▶ Executando ${group} (${allFiles.length} scripts)`));
149
- const result = yield migrator.execute(sqlText);
150
- if ((result === null || result === void 0 ? void 0 : result.error) || (result === null || result === void 0 ? void 0 : result.success) === false) {
151
- console.error((result === null || result === void 0 ? void 0 : result.error) || `Erro ao executar ${group}`);
152
- throw new Error(`Erro ao executar ${group}`);
153
- }
154
- result.messages.forEach(value => {
155
- console.log(value);
156
- });
157
- return sqlText;
158
- });
159
- }
160
- //# sourceMappingURL=custom.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"custom.js","sourceRoot":"","sources":["custom.ts"],"names":[],"mappings":"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"}