Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 27fdb3a

Browse files
Adiciona projeto para gerar dados aleatórios em nodejs com https://fakerjs.dev
1 parent f3ce806 commit 27fdb3a

File tree

4 files changed

+289
-0
lines changed

4 files changed

+289
-0
lines changed

‎.gitignore‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
# Log file
44
*.log
55

6+
node_modules/
67
target/
78
out/
89
bin/

‎gerar-dados/index.js‎

Lines changed: 242 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,242 @@
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));

‎gerar-dados/package-lock.json‎

Lines changed: 31 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎gerar-dados/package.json‎

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"name": "gerar-dados",
3+
"version": "1.0.0",
4+
"description": "Gerador de dados aleatórios usando https://fakerjs.dev",
5+
"main": "index.js",
6+
"scripts": {
7+
"start": "node index.js"
8+
},
9+
"keywords": [],
10+
"author": "Manoel Campos da Silva Filho",
11+
"license": "ISC",
12+
"dependencies": {
13+
"@faker-js/faker": "^8.0.2"
14+
}
15+
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /