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