@prisma-psm/core 1.0.5 → 1.0.7
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/.idea/developer-tools.xml +6 -0
- package/README.en.md +189 -0
- package/README.md +98 -99
- package/README.pt.md +196 -0
- package/package.json +9 -6
- package/src/configs.d.ts +2 -0
- package/src/configs.d.ts.map +1 -1
- package/src/configs.ts +2 -0
- package/src/driver.d.ts +78 -6
- package/src/driver.d.ts.map +1 -1
- package/src/driver.ts +95 -6
- package/src/launcher/commands/check.ts +1 -1
- package/src/launcher/commands/{migrate.d.ts → commit.d.ts} +2 -2
- package/src/launcher/commands/commit.d.ts.map +1 -0
- package/src/launcher/commands/{migrate.js → commit.js} +8 -6
- package/src/launcher/commands/commit.js.map +1 -0
- package/src/launcher/commands/{migrate.ts → commit.ts} +7 -6
- package/src/launcher/commands/deploy.d.ts.map +1 -1
- package/src/launcher/commands/deploy.js +11 -3
- package/src/launcher/commands/deploy.js.map +1 -1
- package/src/launcher/commands/deploy.ts +11 -4
- package/src/launcher/commands/generate.d.ts.map +1 -1
- package/src/launcher/commands/generate.js +1 -1
- package/src/launcher/commands/generate.js.map +1 -1
- package/src/launcher/commands/generate.ts +2 -3
- package/src/launcher/index.js +25 -3
- package/src/launcher/index.js.map +1 -1
- package/src/launcher/index.ts +1 -4
- package/src/tools/{migrate.d.ts → commit.d.ts} +2 -2
- package/src/tools/commit.d.ts.map +1 -0
- package/src/tools/{migrate.js → commit.js} +44 -33
- package/src/tools/commit.js.map +1 -0
- package/src/tools/{migrate.ts → commit.ts} +48 -37
- package/src/tools/common.d.ts +14 -0
- package/src/tools/common.d.ts.map +1 -0
- package/src/tools/common.js +70 -0
- package/src/tools/common.js.map +1 -0
- package/src/tools/common.ts +46 -0
- package/src/tools/deploy.d.ts +42 -0
- package/src/tools/deploy.d.ts.map +1 -1
- package/src/tools/deploy.js +161 -0
- package/src/tools/deploy.js.map +1 -1
- package/src/tools/deploy.ts +147 -0
- package/src/tools/generate.d.ts.map +1 -1
- package/src/tools/generate.js +9 -4
- package/src/tools/generate.js.map +1 -1
- package/src/tools/generate.ts +16 -8
- package/src/launcher/commands/migrate.d.ts.map +0 -1
- package/src/launcher/commands/migrate.js.map +0 -1
- package/src/tools/migrate.d.ts.map +0 -1
- package/src/tools/migrate.js.map +0 -1
package/README.pt.md
ADDED
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
|
|
2
|
+
# PSM - Prisma Safe Migrate
|
|
3
|
+
|
|
4
|
+
## Descrição
|
|
5
|
+
|
|
6
|
+
**PSM (Prisma Safe Migrate)** é uma ferramenta avançada para geração e aplicação segura de migrações SQL baseadas no modelo Prisma. Seu principal objetivo é garantir que alterações no banco de dados sejam aplicadas sem risco de perda de dados, algo que o sistema padrão de migrações do Prisma não assegura completamente.
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Motivação
|
|
11
|
+
|
|
12
|
+
Migrações de banco de dados são processos críticos que precisam preservar a integridade e os dados existentes. O Prisma fornece um sistema eficiente para migrações, porém sem garantias absolutas contra perda de dados em alterações complexas, como renomear colunas, alterar tipos de dados ou remover tabelas.
|
|
13
|
+
|
|
14
|
+
O PSM preenche essa lacuna ao criar uma camada extra de validação, controle rigoroso de revisões e aplicação incremental segura em ambientes de produção.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Instalação
|
|
19
|
+
|
|
20
|
+
Instale os pacotes do PSM como dependências de desenvolvimento no seu projeto:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
npm install --save-dev @prisma-psm/core @prisma-psm/pg
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Configuração
|
|
29
|
+
|
|
30
|
+
No seu arquivo `schema.prisma`, configure o gerador do PSM para gerar os arquivos SQL e conectar ao banco:
|
|
31
|
+
|
|
32
|
+
```prisma
|
|
33
|
+
generator psm {
|
|
34
|
+
provider = "psm generate"
|
|
35
|
+
output = "./psm/"
|
|
36
|
+
driver = "@prisma-psm/pg"
|
|
37
|
+
url = env("DATABASE_URL")
|
|
38
|
+
}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
- **provider**: gerador do PSM que substitui o padrão do Prisma para geração de migrações.
|
|
42
|
+
- **output**: diretório onde serão gerados os arquivos SQL e artefatos do PSM.
|
|
43
|
+
- **driver**: driver específico para o banco (exemplo: PostgreSQL).
|
|
44
|
+
- **url**: variável de ambiente contendo a string de conexão ao banco.
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Como funciona - Fluxo geral
|
|
49
|
+
|
|
50
|
+
### 1. Geração da migração (`npx prisma generate`)
|
|
51
|
+
|
|
52
|
+
- Gera os artefatos do Prisma normalmente.
|
|
53
|
+
- Gera dois arquivos principais na pasta `next`:
|
|
54
|
+
- `migration.next.check.sql`: script para validar se a migração está consistente com o banco atual.
|
|
55
|
+
- `migration.next.sql`: script que aplicará as alterações.
|
|
56
|
+
- Se `DATABASE_URL` estiver configurada:
|
|
57
|
+
- Executa automaticamente o script de check.
|
|
58
|
+
- Se sucesso: mantém os dois arquivos na pasta `next`.
|
|
59
|
+
- Se falha: mantém só `migration.next.check.sql` e um arquivo de erro, removendo `migration.next.sql` se existir.
|
|
60
|
+
- Se `DATABASE_URL` não estiver definida:
|
|
61
|
+
- Apenas gera ambos os arquivos, sem validar.
|
|
62
|
+
- Atualiza o arquivo `psm.yml` com informações da migração, como status, driver, URL, esquema, e histórico.
|
|
63
|
+
|
|
64
|
+
### 2. Aplicação da migração (`psm commit`)
|
|
65
|
+
|
|
66
|
+
- Valida novamente a migração executando `migration.next.check.sql`.
|
|
67
|
+
- Se validado:
|
|
68
|
+
- Aplica o `migration.next.sql` no banco.
|
|
69
|
+
- Gera uma revisão definitiva em `revision/${timestamp}-${label}/` com:
|
|
70
|
+
- Script da migração aplicada.
|
|
71
|
+
- Arquivo `psm.yml` atualizado.
|
|
72
|
+
- Registra no banco a migração aplicada para controle.
|
|
73
|
+
- Se falha, aborta e mostra o erro.
|
|
74
|
+
|
|
75
|
+
### 3. Deploy em produção (`psm deploy`)
|
|
76
|
+
|
|
77
|
+
- Aplica todas as revisões pendentes armazenadas na pasta `revision/` de forma incremental.
|
|
78
|
+
- Garante que o banco esteja sempre sincronizado com o histórico de migrações.
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## Motor de migração (engine) detalhado
|
|
83
|
+
|
|
84
|
+
O PSM usa um esquema shadow temporário para garantir segurança dos dados:
|
|
85
|
+
|
|
86
|
+
1. Cria um schema temporário `shadow_${random}`.
|
|
87
|
+
2. Cria tabelas temporárias para cada modelo Prisma, sem constraints (ex: `temp_1_user` para o modelo `user`).
|
|
88
|
+
3. Copia os dados das tabelas reais para as temporárias.
|
|
89
|
+
4. Aplica as constraints (chaves, índices, relacionamentos) nas tabelas temporárias.
|
|
90
|
+
5. Se na validação (check) tudo passar:
|
|
91
|
+
- Remove o schema shadow e as tabelas temporárias.
|
|
92
|
+
6. Se na aplicação (commit next) tudo passar:
|
|
93
|
+
- Remove as tabelas reais.
|
|
94
|
+
- Move as tabelas temporárias do schema shadow para o schema final.
|
|
95
|
+
- Renomeia as tabelas temporárias para os nomes reais.
|
|
96
|
+
- Remove o schema shadow.
|
|
97
|
+
- Registra a migração aplicada no banco para controle.
|
|
98
|
+
|
|
99
|
+
Esse processo impede alterações destrutivas diretas nas tabelas reais antes da validação completa, evitando perda de dados.
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## Estrutura de arquivos gerados
|
|
104
|
+
|
|
105
|
+
- **next/**
|
|
106
|
+
- `migration.next.check.sql` — script para validar a migração.
|
|
107
|
+
- `migration.next.sql` — script para aplicar a migração.
|
|
108
|
+
- (opcional) arquivo de erro em caso de falha.
|
|
109
|
+
- **revision/${timestamp}-${label}/**
|
|
110
|
+
- `migration.sql` — script definitivo da migração.
|
|
111
|
+
- `psm.yml` — metadados e histórico da migração aplicada.
|
|
112
|
+
- **psm.yml**
|
|
113
|
+
- Arquivo principal com estado, configurações, histórico e resultados das validações.
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## Variável de ambiente
|
|
118
|
+
|
|
119
|
+
Configure a conexão com seu banco no arquivo `.env` ou no ambiente:
|
|
120
|
+
|
|
121
|
+
```env
|
|
122
|
+
DATABASE_URL="postgresql://usuario:senha@localhost:5432/seubanco"
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## Comandos principais
|
|
128
|
+
|
|
129
|
+
| Comando | Descrição |
|
|
130
|
+
|-----------------------|----------------------------------------------------------------------------------------|
|
|
131
|
+
| `npx prisma generate` | Gera os arquivos de migração na pasta `next` e valida (se `DATABASE_URL` configurada). |
|
|
132
|
+
| `psm commit` | Valida e aplica a próxima migração. Cria revisão definitiva na pasta `revision/`. |
|
|
133
|
+
| `psm deploy` | Aplica todas as migrações pendentes da pasta `revision/` na ordem correta. |
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## Exemplo de uso
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
# Gerar migração e validar (se DATABASE_URL definida)
|
|
141
|
+
npx prisma generate
|
|
142
|
+
|
|
143
|
+
# Validar e aplicar a migração gerada
|
|
144
|
+
psm commit
|
|
145
|
+
|
|
146
|
+
# Aplicar todas as migrações pendentes em produção
|
|
147
|
+
psm deploy
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## Benefícios
|
|
153
|
+
|
|
154
|
+
- **Garantia contra perda de dados** com validação rigorosa.
|
|
155
|
+
- **Rollback facilitado** e controle de revisões.
|
|
156
|
+
- **Validação automática** durante geração de migrações.
|
|
157
|
+
- **Histórico detalhado** das alterações aplicadas.
|
|
158
|
+
- **Suporte inicial para PostgreSQL**, com possibilidade de expansão.
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## Roadmap
|
|
163
|
+
|
|
164
|
+
- Suporte a mais bancos (MySQL, SQLite, etc.).
|
|
165
|
+
- ‘Interface’ gráfica para gestão de migrações.
|
|
166
|
+
- Integração com pipelines CI/CD.
|
|
167
|
+
- Migrações manuais e customizadas.
|
|
168
|
+
- Suporte multi-schema e multi-tenant.
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
## Contribuição
|
|
173
|
+
|
|
174
|
+
Contribuições são bem-vindas! Abra issues para bugs ou sugestões, e envie pull requests para melhorias.
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## Licença
|
|
179
|
+
|
|
180
|
+
Projeto licenciado sob a [Apache 2.0](./LICENSE).
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## Traduções
|
|
185
|
+
|
|
186
|
+
[Português](./README.pt.md) | [English](./README.en.md)
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
## Contato
|
|
191
|
+
|
|
192
|
+
Para dúvidas, sugestões ou suporte, abra uma issue ou entre em contato via email.
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
**PSM - Migrações seguras e confiáveis para seu banco de dados com Prisma.**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prisma-psm/core",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.7",
|
|
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": {
|
|
@@ -13,11 +13,13 @@
|
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
15
|
"@prisma/generator-helper": "^6.13.0",
|
|
16
|
-
"
|
|
16
|
+
"chalk": "^2.4.2",
|
|
17
17
|
"dotenv": "^17.2.1",
|
|
18
|
+
"json5": "^2.2.3",
|
|
18
19
|
"moment": "^2.30.1",
|
|
19
20
|
"nanoid": "^5.1.5",
|
|
20
|
-
"yaml": "^2.8.1"
|
|
21
|
+
"yaml": "^2.8.1",
|
|
22
|
+
"yargs": "^18.0.0"
|
|
21
23
|
},
|
|
22
24
|
"repository": {
|
|
23
25
|
"type": "git",
|
|
@@ -37,11 +39,12 @@
|
|
|
37
39
|
"cli",
|
|
38
40
|
"safe migrate",
|
|
39
41
|
"nodejs",
|
|
40
|
-
"psm"
|
|
42
|
+
"psm",
|
|
43
|
+
"sql",
|
|
44
|
+
"typescript"
|
|
41
45
|
],
|
|
42
46
|
"devDependencies": {
|
|
43
47
|
"@types/yaml": "^1.9.6",
|
|
44
|
-
"@types/yargs": "^17.0.33"
|
|
45
|
-
"yargs": "^18.0.0"
|
|
48
|
+
"@types/yargs": "^17.0.33"
|
|
46
49
|
}
|
|
47
50
|
}
|
package/src/configs.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export interface PSMConfigFile {
|
|
|
3
3
|
migration: string;
|
|
4
4
|
driver: string;
|
|
5
5
|
url: string;
|
|
6
|
+
sys: string;
|
|
6
7
|
output: string;
|
|
7
8
|
schema: string;
|
|
8
9
|
};
|
|
@@ -12,6 +13,7 @@ export interface PSMConfigFile {
|
|
|
12
13
|
messages: string[];
|
|
13
14
|
};
|
|
14
15
|
migration?: {
|
|
16
|
+
revision: string;
|
|
15
17
|
instate: string;
|
|
16
18
|
preview: string;
|
|
17
19
|
label: string;
|
package/src/configs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configs.d.ts","sourceRoot":"","sources":["configs.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC1B,GAAG,EAAE;QACD,SAAS,EAAE,MAAM,CAAA;QACjB,MAAM,EAAE,MAAM,CAAA;QACd,GAAG,EAAE,MAAM,CAAA;QACX,MAAM,EAAE,MAAM,CAAA;QACd,MAAM,EAAE,MAAM,CAAA;KACjB,CAAC;IACF,IAAI,EAAE;QACF,KAAK,EAAE,SAAS,GAAC,SAAS,CAAC;QAC3B,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,EAAE,MAAM,EAAE,CAAA;KACrB,CAAC;IACF,SAAS,CAAC,EAAE;QACR,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;KACjB,CAAA;CACJ"}
|
|
1
|
+
{"version":3,"file":"configs.d.ts","sourceRoot":"","sources":["configs.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC1B,GAAG,EAAE;QACD,SAAS,EAAE,MAAM,CAAA;QACjB,MAAM,EAAE,MAAM,CAAA;QACd,GAAG,EAAE,MAAM,CAAA;QACX,GAAG,EAAE,MAAM,CAAA;QACX,MAAM,EAAE,MAAM,CAAA;QACd,MAAM,EAAE,MAAM,CAAA;KACjB,CAAC;IACF,IAAI,EAAE;QACF,KAAK,EAAE,SAAS,GAAC,SAAS,CAAC;QAC3B,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,EAAE,MAAM,EAAE,CAAA;KACrB,CAAC;IACF,SAAS,CAAC,EAAE;QACR,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;KACjB,CAAA;CACJ"}
|
package/src/configs.ts
CHANGED
|
@@ -3,6 +3,7 @@ export interface PSMConfigFile {
|
|
|
3
3
|
migration: string
|
|
4
4
|
driver: string
|
|
5
5
|
url: string
|
|
6
|
+
sys: string
|
|
6
7
|
output: string
|
|
7
8
|
schema: string
|
|
8
9
|
},
|
|
@@ -12,6 +13,7 @@ export interface PSMConfigFile {
|
|
|
12
13
|
messages: string[]
|
|
13
14
|
},
|
|
14
15
|
migration?: {
|
|
16
|
+
revision: string,
|
|
15
17
|
instate: string,
|
|
16
18
|
preview: string,
|
|
17
19
|
label: string,
|
package/src/driver.d.ts
CHANGED
|
@@ -70,6 +70,7 @@ export interface PSMModel {
|
|
|
70
70
|
apply?: "ALWAYS" | "WHEN" | "WHEN_EXCEPTION";
|
|
71
71
|
from?: "query" | "query:linked" | "relation" | "model";
|
|
72
72
|
expression?: string;
|
|
73
|
+
exists?: string;
|
|
73
74
|
when?: string;
|
|
74
75
|
};
|
|
75
76
|
};
|
|
@@ -98,29 +99,100 @@ export interface MigrationOptions {
|
|
|
98
99
|
}
|
|
99
100
|
export interface PSMMigrationOptions {
|
|
100
101
|
check: string;
|
|
102
|
+
core: string;
|
|
101
103
|
url: string;
|
|
102
104
|
migrate: string;
|
|
103
105
|
}
|
|
106
|
+
export interface Migrated {
|
|
107
|
+
sid: string;
|
|
108
|
+
date: Date;
|
|
109
|
+
}
|
|
110
|
+
export interface PSMMigratedOptions {
|
|
111
|
+
url: string;
|
|
112
|
+
sys: string;
|
|
113
|
+
}
|
|
104
114
|
export interface PSMMigrationResult {
|
|
105
115
|
success?: boolean;
|
|
106
116
|
messages?: string[];
|
|
107
117
|
error?: any;
|
|
108
118
|
}
|
|
109
|
-
export
|
|
110
|
-
check(): string;
|
|
119
|
+
export interface PSMGenerator {
|
|
111
120
|
migrate(): string;
|
|
112
|
-
|
|
113
|
-
|
|
121
|
+
check(): string;
|
|
122
|
+
core(): string;
|
|
123
|
+
}
|
|
124
|
+
export interface PSMMigrated {
|
|
125
|
+
messages: string[];
|
|
126
|
+
error?: any;
|
|
127
|
+
success?: boolean;
|
|
128
|
+
migrated?: Migrated[];
|
|
129
|
+
}
|
|
130
|
+
export interface PSMMigrator {
|
|
131
|
+
core(): Promise<PSMMigrationResult>;
|
|
114
132
|
test(): Promise<PSMMigrationResult>;
|
|
115
133
|
migrate(): Promise<PSMMigrationResult>;
|
|
134
|
+
}
|
|
135
|
+
export interface QueryBuilderResult {
|
|
136
|
+
sql: string;
|
|
137
|
+
template: string[];
|
|
138
|
+
values: any;
|
|
139
|
+
push(...builders: QueryBuilderResult[]): void;
|
|
140
|
+
}
|
|
141
|
+
export type ScriptLine = {
|
|
142
|
+
line: number;
|
|
143
|
+
filename: string;
|
|
144
|
+
error: Error;
|
|
145
|
+
column: number;
|
|
146
|
+
func: string;
|
|
147
|
+
};
|
|
148
|
+
export type RevisionProps<Props extends {
|
|
149
|
+
[p in keyof Props]: Props[p];
|
|
150
|
+
}> = Props;
|
|
151
|
+
export type RevisionWhen<Props> = boolean | ((props: RevisionProps<Props>) => boolean) | ((props: RevisionProps<Props>) => Promise<boolean>);
|
|
152
|
+
export interface RegistryOptions<Props> {
|
|
153
|
+
identifier?: string;
|
|
154
|
+
connection?: string | "default" | "standard" | "superuser";
|
|
155
|
+
unique?: boolean;
|
|
156
|
+
force?: string;
|
|
157
|
+
flags?: string[];
|
|
158
|
+
level?: "critical" | "normal" | "optional";
|
|
159
|
+
line?: ScriptLine;
|
|
160
|
+
when?: RevisionWhen<Props>;
|
|
161
|
+
}
|
|
162
|
+
export interface SimpleFile {
|
|
163
|
+
filename: string;
|
|
164
|
+
}
|
|
165
|
+
export type PatchOptions<Props> = RegistryOptions<Props> & {
|
|
166
|
+
module?: NodeModule | SimpleFile;
|
|
167
|
+
};
|
|
168
|
+
export type RevisionListener = {
|
|
169
|
+
onRegister?(error: Error, onRelease: () => void): void;
|
|
170
|
+
};
|
|
171
|
+
type SQLTemplate = (sqlTemplate: TemplateStringsArray, ...values: any[]) => QueryBuilderResult & {
|
|
172
|
+
sql: SQLTemplate;
|
|
173
|
+
joins(...builders: QueryBuilderResult[]): void;
|
|
116
174
|
};
|
|
175
|
+
export interface SqlPatch<Props> {
|
|
176
|
+
opts: RegistryOptions<Props> & PatchOptions<Props>;
|
|
177
|
+
str: string | QueryBuilderResult;
|
|
178
|
+
values: any[] | RevisionListener;
|
|
179
|
+
listener?: RevisionListener;
|
|
180
|
+
line: ScriptLine;
|
|
181
|
+
}
|
|
117
182
|
export interface PSMDriver {
|
|
118
|
-
|
|
119
|
-
|
|
183
|
+
migrated: (opts: PSMMigratedOptions) => Promise<PSMMigrated>;
|
|
184
|
+
generator: (opts: PSMParserOptions) => PSMGenerator;
|
|
185
|
+
migrator: (opts: PSMMigrationOptions) => PSMMigrator;
|
|
120
186
|
prepare: (model: ModelOptions) => Promise<any> | void;
|
|
187
|
+
sql: SQLTemplate;
|
|
188
|
+
joins(...builders: QueryBuilderResult[]): void;
|
|
189
|
+
patch<Props>(opts: PatchOptions<Props>, sql: QueryBuilderResult, listener?: RevisionListener): SqlPatch<Props>;
|
|
190
|
+
patchSQL<Props>(opts?: PatchOptions<Props>, listener?: RevisionListener): SQLTemplate;
|
|
121
191
|
}
|
|
122
192
|
export interface DriverConfigs {
|
|
123
193
|
driver: string;
|
|
124
194
|
url: string;
|
|
195
|
+
sys: string;
|
|
125
196
|
}
|
|
197
|
+
export {};
|
|
126
198
|
//# sourceMappingURL=driver.d.ts.map
|
package/src/driver.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["driver.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACrB,OAAO,CAAC,EAAC,MAAM,CAAA;IACf,OAAO,CAAC,EAAE;QACN,UAAU,CAAC,EAAC,MAAM,CAAA;KACrB,CAAA;CACJ;
|
|
1
|
+
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["driver.ts"],"names":[],"mappings":"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"}
|
package/src/driver.ts
CHANGED
|
@@ -5,7 +5,6 @@ export interface PSMField {
|
|
|
5
5
|
}
|
|
6
6
|
}
|
|
7
7
|
|
|
8
|
-
|
|
9
8
|
export interface UniqueOptions {
|
|
10
9
|
name:string,
|
|
11
10
|
fields:string[]
|
|
@@ -73,6 +72,7 @@ export interface PSMModel {
|
|
|
73
72
|
apply?:"ALWAYS"|"WHEN"|"WHEN_EXCEPTION",
|
|
74
73
|
from?: "query"|"query:linked"|"relation"|"model"
|
|
75
74
|
expression?:string
|
|
75
|
+
exists?:string
|
|
76
76
|
when?:string
|
|
77
77
|
}
|
|
78
78
|
}
|
|
@@ -105,10 +105,21 @@ export interface MigrationOptions {
|
|
|
105
105
|
|
|
106
106
|
export interface PSMMigrationOptions {
|
|
107
107
|
check:string,
|
|
108
|
+
core:string,
|
|
108
109
|
url:string,
|
|
109
110
|
migrate:string
|
|
110
111
|
}
|
|
111
112
|
|
|
113
|
+
export interface Migrated {
|
|
114
|
+
sid:string,
|
|
115
|
+
date: Date
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
export interface PSMMigratedOptions {
|
|
119
|
+
url:string,
|
|
120
|
+
sys:string
|
|
121
|
+
}
|
|
122
|
+
|
|
112
123
|
export interface PSMMigrationResult {
|
|
113
124
|
success?:boolean
|
|
114
125
|
messages?:string[]
|
|
@@ -116,16 +127,94 @@ export interface PSMMigrationResult {
|
|
|
116
127
|
}
|
|
117
128
|
|
|
118
129
|
|
|
119
|
-
export
|
|
120
|
-
|
|
130
|
+
export interface PSMGenerator {
|
|
131
|
+
migrate():string,
|
|
132
|
+
check():string,
|
|
133
|
+
core():string,
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
export interface PSMMigrated {
|
|
137
|
+
messages:string[]
|
|
138
|
+
error?:any
|
|
139
|
+
success?:boolean
|
|
140
|
+
migrated?:Migrated[]
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
export interface PSMMigrator {
|
|
144
|
+
core():Promise<PSMMigrationResult>,
|
|
145
|
+
test():Promise<PSMMigrationResult>,
|
|
146
|
+
migrate():Promise<PSMMigrationResult>,
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
export interface QueryBuilderResult {
|
|
150
|
+
sql:string,
|
|
151
|
+
template:string[],
|
|
152
|
+
values:any
|
|
153
|
+
push( ...builders:QueryBuilderResult[] ):void
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
export type ScriptLine = {
|
|
157
|
+
line:number,
|
|
158
|
+
filename: string,
|
|
159
|
+
error:Error,
|
|
160
|
+
column:number,
|
|
161
|
+
func:string
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
export type RevisionProps<Props extends {[p in keyof Props]:Props[p]}> = Props
|
|
165
|
+
export type RevisionWhen<Props> = boolean|( (props:RevisionProps<Props>)=>boolean)|( (props:RevisionProps<Props>)=>Promise<boolean>);
|
|
166
|
+
|
|
167
|
+
export interface RegistryOptions <Props>{
|
|
168
|
+
identifier?: string;
|
|
169
|
+
connection?: string|"default"|"standard"|"superuser";
|
|
170
|
+
unique?: boolean;
|
|
171
|
+
force?: string;
|
|
172
|
+
flags?: string[];
|
|
173
|
+
level?: "critical" | "normal" | "optional";
|
|
174
|
+
line?:ScriptLine,
|
|
175
|
+
when?:RevisionWhen<Props>
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
export interface SimpleFile {
|
|
179
|
+
filename: string;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
export type PatchOptions<Props> = RegistryOptions<Props> & {
|
|
183
|
+
module?: NodeModule | SimpleFile
|
|
184
|
+
}
|
|
185
|
+
// Define o tipo de ouvinte de revisão que inclui tratamento de atualização
|
|
186
|
+
export type RevisionListener = {
|
|
187
|
+
onRegister?(error: Error, onRelease: () => void): void;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
type SQLTemplate = ( sqlTemplate:TemplateStringsArray, ...values:any[] ) => QueryBuilderResult & {
|
|
191
|
+
sql:SQLTemplate
|
|
192
|
+
joins( ...builders:QueryBuilderResult[] ):void
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
export interface SqlPatch <Props>{
|
|
196
|
+
opts:RegistryOptions<Props> & PatchOptions<Props>
|
|
197
|
+
str: string | QueryBuilderResult;
|
|
198
|
+
values: any[] | RevisionListener;
|
|
199
|
+
listener?: RevisionListener;
|
|
200
|
+
line:ScriptLine
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
|
|
121
204
|
export interface PSMDriver {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
205
|
+
migrated:( opts:PSMMigratedOptions )=>Promise<PSMMigrated>,
|
|
206
|
+
generator:( opts:PSMParserOptions )=>PSMGenerator,
|
|
207
|
+
migrator:( opts:PSMMigrationOptions ) =>PSMMigrator,
|
|
208
|
+
prepare: ( model:ModelOptions )=>Promise<any>|void,
|
|
209
|
+
sql:SQLTemplate,
|
|
210
|
+
joins( ...builders:QueryBuilderResult[] ):void
|
|
211
|
+
patch <Props>(opts:PatchOptions<Props>, sql:QueryBuilderResult, listener?: RevisionListener):SqlPatch<Props>
|
|
212
|
+
patchSQL <Props>(opts?:PatchOptions<Props>, listener?: RevisionListener):SQLTemplate
|
|
125
213
|
}
|
|
126
214
|
|
|
127
215
|
export interface DriverConfigs {
|
|
128
216
|
driver:string,
|
|
129
217
|
url:string,
|
|
218
|
+
sys:string,
|
|
130
219
|
}
|
|
131
220
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CommandModule } from "yargs";
|
|
2
|
-
import { MigrateOptions } from "../../tools/
|
|
2
|
+
import { MigrateOptions } from "../../tools/commit";
|
|
3
3
|
declare const command: CommandModule<MigrateOptions, MigrateOptions>;
|
|
4
4
|
export = command;
|
|
5
|
-
//# sourceMappingURL=
|
|
5
|
+
//# sourceMappingURL=commit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commit.d.ts","sourceRoot":"","sources":["commit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,OAAO,CAAC;AACpC,OAAO,EAAS,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAG1D,QAAA,MAAM,OAAO,EAAC,aAAa,CAAC,cAAc,EAAE,cAAc,CA4BzD,CAAA;AAED,SAAS,OAAO,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
const commit_1 = require("../../tools/commit");
|
|
2
3
|
const command = {
|
|
3
|
-
command: "
|
|
4
|
+
command: "commit",
|
|
4
5
|
describe: "Migrate next schema structure into dev environment",
|
|
5
6
|
builder: args => {
|
|
6
7
|
args.options("schema", {
|
|
@@ -19,11 +20,12 @@ const command = {
|
|
|
19
20
|
return args;
|
|
20
21
|
},
|
|
21
22
|
handler: (argv) => {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
(0, commit_1.commit)(argv).then(value => {
|
|
24
|
+
console.log("Commited!");
|
|
25
|
+
}).catch(reason => {
|
|
26
|
+
console.error(reason);
|
|
27
|
+
});
|
|
26
28
|
}
|
|
27
29
|
};
|
|
28
30
|
module.exports = command;
|
|
29
|
-
//# sourceMappingURL=
|
|
31
|
+
//# sourceMappingURL=commit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commit.js","sourceRoot":"","sources":["commit.ts"],"names":[],"mappings":";AACA,+CAA0D;AAG1D,MAAM,OAAO,GAAiD;IAC1D,OAAO,EAAE,QAAQ;IACjB,QAAQ,EAAE,oDAAoD;IAC9D,OAAO,EAAE,IAAI,CAAC,EAAE;QACZ,IAAI,CAAC,OAAO,CAAE,QAAQ,EAAE;YACpB,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,GAAG;SACb,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE;YACnB,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,GAAG;SACb,CAAC,CAAC,OAAO,CAAE,OAAO,EAAE;YACjB,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,GAAG;SAEb,CAAC,CAAC,OAAO,CAAE,kBAAkB,EAAE;YAC5B,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,GAAG;SACb,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,EAAC,CAAE,IAAI,EAAE,EAAE;QACd,IAAA,eAAM,EAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YACtB,OAAO,CAAC,GAAG,CAAE,WAAW,CAAC,CAAA;QAC7B,CAAC,CAAC,CAAC,KAAK,CAAE,MAAM,CAAC,EAAE;YACf,OAAO,CAAC,KAAK,CAAE,MAAM,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;IACN,CAAC;CACJ,CAAA;AAED,iBAAS,OAAO,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {CommandModule} from "yargs";
|
|
2
|
-
import {
|
|
2
|
+
import {commit, MigrateOptions} from "../../tools/commit";
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
const command:CommandModule<MigrateOptions, MigrateOptions> = {
|
|
6
|
-
command: "
|
|
6
|
+
command: "commit",
|
|
7
7
|
describe: "Migrate next schema structure into dev environment",
|
|
8
8
|
builder: args => {
|
|
9
9
|
args.options( "schema", {
|
|
@@ -24,10 +24,11 @@ const command:CommandModule<MigrateOptions, MigrateOptions> = {
|
|
|
24
24
|
return args;
|
|
25
25
|
},
|
|
26
26
|
handler:( argv) =>{
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
commit(argv).then(value => {
|
|
28
|
+
console.log( "Commited!")
|
|
29
|
+
}).catch( reason => {
|
|
30
|
+
console.error( reason)
|
|
31
|
+
})
|
|
31
32
|
}
|
|
32
33
|
}
|
|
33
34
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["deploy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,OAAO,CAAC;AACpC,OAAO,
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["deploy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,aAAa,EAAS,MAAM,oBAAoB,CAAC;AAG1D,QAAA,MAAM,OAAO,EAAC,aAAa,CAAC,aAAa,EAAE,aAAa,CAgBvD,CAAA;AAED,SAAS,OAAO,CAAC"}
|
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
const deploy_1 = require("../../tools/deploy");
|
|
2
3
|
const command = {
|
|
3
|
-
command: "
|
|
4
|
-
describe: "Deploy
|
|
4
|
+
command: "deploy",
|
|
5
|
+
describe: "Deploy all commited revision into server",
|
|
5
6
|
builder: args => {
|
|
7
|
+
args.options("schema", {
|
|
8
|
+
type: "string",
|
|
9
|
+
alias: "s"
|
|
10
|
+
});
|
|
6
11
|
return args;
|
|
7
12
|
},
|
|
8
13
|
handler: (argv) => {
|
|
9
|
-
|
|
14
|
+
(0, deploy_1.deploy)(argv).then(value => {
|
|
15
|
+
}).catch(reason => {
|
|
16
|
+
console.error(reason);
|
|
17
|
+
});
|
|
10
18
|
}
|
|
11
19
|
};
|
|
12
20
|
module.exports = command;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["deploy.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["deploy.ts"],"names":[],"mappings":";AACA,+CAA0D;AAG1D,MAAM,OAAO,GAA+C;IACxD,OAAO,EAAE,QAAQ;IACjB,QAAQ,EAAE,0CAA0C;IACpD,OAAO,EAAE,IAAI,CAAC,EAAE;QACZ,IAAI,CAAC,OAAO,CAAE,QAAQ,EAAE;YACpB,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,GAAG;SACb,CAAC,CAAA;QACF,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,EAAC,CAAE,IAAI,EAAE,EAAE;QACd,IAAA,eAAM,EAAE,IAAI,CAAE,CAAC,IAAI,CAAE,KAAK,CAAC,EAAE;QAC7B,CAAC,CAAC,CAAC,KAAK,CAAE,MAAM,CAAC,EAAE;YACf,OAAO,CAAC,KAAK,CAAE,MAAM,CAAE,CAAC;QAC5B,CAAC,CAAC,CAAA;IACN,CAAC;CACJ,CAAA;AAED,iBAAS,OAAO,CAAC"}
|