1
+ const { faker } = require ( '@faker-js/faker' ) ;
2
+
3
+ // Função auxiliar para gerar uma string formatada para o insert
4
+ function formatInsert ( table , columns , values ) {
5
+ return `INSERT INTO ${ table } (${ columns . join ( ', ' ) } ) VALUES (${ values . join ( ', ' ) } );` ;
6
+ }
7
+
8
+ // Gerar inserts para a tabela cidade
9
+ function generateCidadeInserts ( numInserts ) {
10
+ const inserts = [ ] ;
11
+
12
+ for ( let i = 0 ; i < numInserts ; i ++ ) {
13
+ const nome = faker . location . city ( ) ;
14
+
15
+ const insert = formatInsert ( 'cidade' , [ 'nome' ] , [ `'${ nome } '` ] ) ;
16
+ inserts . push ( insert ) ;
17
+ }
18
+
19
+ return inserts ;
20
+ }
21
+
22
+ // Gerar inserts para a tabela cliente
23
+ function generateClienteInserts ( numInserts ) {
24
+ const inserts = [ ] ;
25
+
26
+ for ( let i = 0 ; i < numInserts ; i ++ ) {
27
+ const nome = faker . person . fullName ;
28
+ const cpf = faker . number . bigInt ( { min : 10000000000 , max : 99999999999 } ) ;
29
+ const cidade_id = faker . number . int ( { min : 1 , max : 5564 } ) ;
30
+ const data_nascimento = faker . date . birthdate ;
31
+
32
+ const insert = formatInsert ( 'cliente' , [ 'nome' , 'cpf' , 'cidade_id' , 'data_nascimento' ] , [
33
+ `'${ nome } '` ,
34
+ `'${ cpf } '` ,
35
+ `${ cidade_id } ` ,
36
+ `'${ data_nascimento } '`
37
+ ] ) ;
38
+
39
+ inserts . push ( insert ) ;
40
+ }
41
+
42
+ return inserts ;
43
+ }
44
+
45
+ // Gerar inserts para a tabela loja
46
+ function generateLojaInserts ( numInserts ) {
47
+ const inserts = [ ] ;
48
+
49
+ for ( let i = 0 ; i < numInserts ; i ++ ) {
50
+ const cidade_id = faker . number . int ( { min : 1 , max : 5564 } ) ;
51
+ const data_inauguracao = faker . date ;
52
+
53
+ const insert = formatInsert ( 'loja' , [ 'cidade_id' , 'data_inauguracao' ] , [
54
+ `${ cidade_id } ` ,
55
+ `'${ data_inauguracao } '`
56
+ ] ) ;
57
+
58
+ inserts . push ( insert ) ;
59
+ }
60
+
61
+ return inserts ;
62
+ }
63
+
64
+ // Gerar inserts para a tabela funcionario
65
+ function generateFuncionarioInserts ( numInserts ) {
66
+ const inserts = [ ] ;
67
+
68
+ for ( let i = 0 ; i < numInserts ; i ++ ) {
69
+ const nome = faker . person . fullName ;
70
+ const cpf = faker . number . int ( { min : 10000000000 , max : 99999999999 } ) ;
71
+ const loja_id = faker . number . int ( { min : 1 , max : 5 } ) ;
72
+ const data_nascimento = faker . person . birthdate ;
73
+
74
+ const insert = formatInsert ( 'funcionario' , [ 'nome' , 'cpf' , 'loja_id' , 'data_nascimento' ] , [
75
+ `'${ nome } '` ,
76
+ `'${ cpf } '` ,
77
+ `${ loja_id } ` ,
78
+ `'${ data_nascimento } '`
79
+ ] ) ;
80
+
81
+ inserts . push ( insert ) ;
82
+ }
83
+
84
+ return inserts ;
85
+ }
86
+
87
+ // Gerar inserts para a tabela marca
88
+ function generateMarcaInserts ( numInserts ) {
89
+ const inserts = [ ] ;
90
+
91
+ for ( let i = 0 ; i < numInserts ; i ++ ) {
92
+ const nome = faker . company . name ;
93
+
94
+ const insert = formatInsert ( 'marca' , [ 'nome' ] , [ `'${ nome } '` ] ) ;
95
+ inserts . push ( insert ) ;
96
+ }
97
+
98
+ return inserts ;
99
+ }
100
+
101
+ // Gerar inserts para a tabela produto
102
+ function generateProdutoInserts ( numInserts ) {
103
+ const inserts = [ ] ;
104
+
105
+ for ( let i = 0 ; i < numInserts ; i ++ ) {
106
+ const nome = faker . commerce . productName ( ) ;
107
+ const descricao = faker . lorem . sentences ( ) ;
108
+ const marca_id = faker . number . int ( { min : 1 , max : 5 } ) ;
109
+ const valor = faker . number . float ( { min : 10 , max : 1000 } ) ;
110
+
111
+ const insert = formatInsert ( 'produto' , [ 'nome' , 'descricao' , 'marca_id' , 'valor' ] , [
112
+ `'${ nome } '` ,
113
+ `'${ descricao } '` ,
114
+ `${ marca_id } ` ,
115
+ `${ valor } `
116
+ ] ) ;
117
+
118
+ inserts . push ( insert ) ;
119
+ }
120
+
121
+ return inserts ;
122
+ }
123
+
124
+ // Gerar inserts para a tabela estoque
125
+ function generateEstoqueInserts ( numInserts ) {
126
+ const inserts = [ ] ;
127
+
128
+ for ( let i = 0 ; i < numInserts ; i ++ ) {
129
+ const produto_id = faker . number . int ( { min : 1 , max : 50 } ) ;
130
+ const loja_id = faker . number . int ( { min : 1 , max : 10 } ) ;
131
+ const quant = faker . number . int ( { min : 1 , max : 100 } ) ;
132
+
133
+ const insert = formatInsert ( 'estoque' , [ 'produto_id' , 'loja_id' , 'quant' ] , [
134
+ `${ produto_id } ` ,
135
+ `${ loja_id } ` ,
136
+ `${ quant } `
137
+ ] ) ;
138
+
139
+ inserts . push ( insert ) ;
140
+ }
141
+
142
+ return inserts ;
143
+ }
144
+
145
+ // Gerar inserts para a tabela venda
146
+ function generateVendaInserts ( numInserts ) {
147
+ const inserts = [ ] ;
148
+
149
+ for ( let i = 0 ; i < numInserts ; i ++ ) {
150
+ const loja_id = faker . number . int ( { min : 1 , max : 10 } ) ;
151
+ const cliente_id = faker . number . int ( { min : 1 , max : 100 } ) ;
152
+ const funcionario_id = faker . number . int ( { min : 1 , max : 50 } ) ;
153
+
154
+ const insert = formatInsert ( 'venda' , [ 'loja_id' , 'cliente_id' , 'funcionario_id' ] , [
155
+ `${ loja_id } ` ,
156
+ `${ cliente_id } ` ,
157
+ `${ funcionario_id } `
158
+ ] ) ;
159
+
160
+ inserts . push ( insert ) ;
161
+ }
162
+
163
+ return inserts ;
164
+ }
165
+
166
+ // Gerar inserts para a tabela item_venda
167
+ function generateItemVendaInserts ( numInserts ) {
168
+ const inserts = [ ] ;
169
+
170
+ for ( let i = 0 ; i < numInserts ; i ++ ) {
171
+ const venda_id = faker . number . int ( { min : 1 , max : 1000 } ) ;
172
+ const produto_id = faker . number . int ( { min : 1 , max : 50 } ) ;
173
+ const quant = faker . number . int ( { min : 1 , max : 10 } ) ;
174
+ const valor = faker . number . int ( { min : 10 , max : 100 } ) ;
175
+
176
+ const insert = formatInsert ( 'item_venda' , [ 'venda_id' , 'produto_id' , 'quant' , 'valor' ] , [
177
+ `${ venda_id } ` ,
178
+ `${ produto_id } ` ,
179
+ `${ quant } ` ,
180
+ `${ valor } `
181
+ ] ) ;
182
+
183
+ inserts . push ( insert ) ;
184
+ }
185
+
186
+ return inserts ;
187
+ }
188
+
189
+ // Gerar 10 inserts para a tabela cidade
190
+ const cidadeInserts = generateCidadeInserts ( 10 ) ;
191
+
192
+ // Gerar 100 inserts para a tabela cliente
193
+ const clienteInserts = generateClienteInserts ( 100 ) ;
194
+
195
+ // Gerar 20 inserts para a tabela loja
196
+ const lojaInserts = generateLojaInserts ( 20 ) ;
197
+
198
+ // Gerar 50 inserts para a tabela funcionario
199
+ const funcionarioInserts = generateFuncionarioInserts ( 50 ) ;
200
+
201
+ // Gerar 4 inserts para a tabela marca
202
+ const marcaInserts = generateMarcaInserts ( 4 ) ;
203
+
204
+ // Gerar 200 inserts para a tabela produto
205
+ const produtoInserts = generateProdutoInserts ( 200 ) ;
206
+
207
+ // Gerar 500 inserts para a tabela estoque
208
+ const estoqueInserts = generateEstoqueInserts ( 500 ) ;
209
+
210
+ // Gerar 1000 inserts para a tabela venda
211
+ const vendaInserts = generateVendaInserts ( 1000 ) ;
212
+
213
+ // Gerar 2000 inserts para a tabela item_venda
214
+ const itemVendaInserts = generateItemVendaInserts ( 2000 ) ;
215
+
216
+ // Imprimir os inserts gerados
217
+ console . log ( '-- Inserts para tabela cidade --' ) ;
218
+ cidadeInserts . forEach ( insert => console . log ( insert ) ) ;
219
+
220
+ console . log ( '-- Inserts para tabela cliente --' ) ;
221
+ clienteInserts . forEach ( insert => console . log ( insert ) ) ;
222
+
223
+ console . log ( '-- Inserts para tabela loja --' ) ;
224
+ lojaInserts . forEach ( insert => console . log ( insert ) ) ;
225
+
226
+ console . log ( '-- Inserts para tabela funcionario --' ) ;
227
+ funcionarioInserts . forEach ( insert => console . log ( insert ) ) ;
228
+
229
+ console . log ( '-- Inserts para tabela marca --' ) ;
230
+ marcaInserts . forEach ( insert => console . log ( insert ) ) ;
231
+
232
+ console . log ( '-- Inserts para tabela produto --' ) ;
233
+ produtoInserts . forEach ( insert => console . log ( insert ) ) ;
234
+
235
+ console . log ( '-- Inserts para tabela estoque --' ) ;
236
+ estoqueInserts . forEach ( insert => console . log ( insert ) ) ;
237
+
238
+ console . log ( '-- Inserts para tabela venda --' ) ;
239
+ vendaInserts . forEach ( insert => console . log ( insert ) ) ;
240
+
241
+ console . log ( '-- Inserts para tabela item_venda --' ) ;
242
+ itemVendaInserts . forEach ( insert => console . log ( insert ) ) ;
0 commit comments