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 1704d3e

Browse files
Corrige geração de dados aleatórios
1 parent 27fdb3a commit 1704d3e

File tree

2 files changed

+25
-42
lines changed

2 files changed

+25
-42
lines changed

‎dados.sql‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,6 @@ create unique INDEX ix_marca on marca (nome);
8686
create table produto (
8787
id serial primary key not null,
8888
nome varchar(200) not null,
89-
descricao varchar(5000) not null,
9089
marca_id int not null,
9190
valor decimal(10,2) not null,
9291
constraint fk_produto_marca foreign key (marca_id) references marca(id)

‎gerar-dados/index.js‎

Lines changed: 25 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -2,32 +2,24 @@ const { faker } = require('@faker-js/faker');
22

33
// Função auxiliar para gerar uma string formatada para o insert
44
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;
5+
const newValues = values.map(val => {
6+
const quotes = val.startsWith("'")
7+
val = val.replaceAll("'", "")
8+
return quotes ? `'${val}'` : val
9+
})
10+
11+
return `INSERT INTO ${table} (${columns.join(', ')}) VALUES (${newValues.join(', ')});`;
2012
}
2113

2214
// Gerar inserts para a tabela cliente
2315
function generateClienteInserts(numInserts) {
2416
const inserts = [];
2517

2618
for (let i = 0; i < numInserts; i++) {
27-
const nome = faker.person.fullName;
19+
const nome = faker.person.fullName();
2820
const cpf = faker.number.bigInt({ min: 10000000000, max: 99999999999 });
2921
const cidade_id = faker.number.int({ min: 1, max: 5564 });
30-
const data_nascimento = faker.date.birthdate;
22+
const data_nascimento = faker.date.birthdate().toISOString().split('T')[0];
3123

3224
const insert = formatInsert('cliente', ['nome', 'cpf', 'cidade_id', 'data_nascimento'], [
3325
`'${nome}'`,
@@ -48,7 +40,7 @@ function generateLojaInserts(numInserts) {
4840

4941
for (let i = 0; i < numInserts; i++) {
5042
const cidade_id = faker.number.int({ min: 1, max: 5564 });
51-
const data_inauguracao = faker.date;
43+
const data_inauguracao = faker.date.birthdate().toISOString().split('T')[0];
5244

5345
const insert = formatInsert('loja', ['cidade_id', 'data_inauguracao'], [
5446
`${cidade_id}`,
@@ -66,10 +58,10 @@ function generateFuncionarioInserts(numInserts) {
6658
const inserts = [];
6759

6860
for (let i = 0; i < numInserts; i++) {
69-
const nome = faker.person.fullName;
61+
const nome = faker.person.fullName();
7062
const cpf = faker.number.int({ min: 10000000000, max: 99999999999 });
7163
const loja_id = faker.number.int({ min: 1, max: 5 });
72-
const data_nascimento = faker.person.birthdate;
64+
const data_nascimento = faker.date.birthdate().toISOString().split('T')[0];
7365

7466
const insert = formatInsert('funcionario', ['nome', 'cpf', 'loja_id', 'data_nascimento'], [
7567
`'${nome}'`,
@@ -89,7 +81,7 @@ function generateMarcaInserts(numInserts) {
8981
const inserts = [];
9082

9183
for (let i = 0; i < numInserts; i++) {
92-
const nome = faker.company.name;
84+
const nome = faker.company.name();
9385

9486
const insert = formatInsert('marca', ['nome'], [`'${nome}'`]);
9587
inserts.push(insert);
@@ -104,13 +96,11 @@ function generateProdutoInserts(numInserts) {
10496

10597
for (let i = 0; i < numInserts; i++) {
10698
const nome = faker.commerce.productName();
107-
const descricao = faker.lorem.sentences();
10899
const marca_id = faker.number.int({ min: 1, max: 5 });
109-
const valor = faker.number.float({ min: 10, max: 1000 });
100+
const valor = faker.number.int({ min: 10, max: 1000 });
110101

111-
const insert = formatInsert('produto', ['nome', 'descricao','marca_id', 'valor'], [
102+
const insert = formatInsert('produto', ['nome', 'marca_id', 'valor'], [
112103
`'${nome}'`,
113-
`'${descricao}'`,
114104
`${marca_id}`,
115105
`${valor}`
116106
]);
@@ -128,7 +118,7 @@ function generateEstoqueInserts(numInserts) {
128118
for (let i = 0; i < numInserts; i++) {
129119
const produto_id = faker.number.int({ min: 1, max: 50 });
130120
const loja_id = faker.number.int({ min: 1, max: 10 });
131-
const quant = faker.number.int({min: 1,max: 100});
121+
const quant = 10000;
132122

133123
const insert = formatInsert('estoque', ['produto_id', 'loja_id', 'quant'], [
134124
`${produto_id}`,
@@ -186,9 +176,6 @@ function generateItemVendaInserts(numInserts) {
186176
return inserts;
187177
}
188178

189-
// Gerar 10 inserts para a tabela cidade
190-
const cidadeInserts = generateCidadeInserts(10);
191-
192179
// Gerar 100 inserts para a tabela cliente
193180
const clienteInserts = generateClienteInserts(100);
194181

@@ -199,7 +186,7 @@ const lojaInserts = generateLojaInserts(20);
199186
const funcionarioInserts = generateFuncionarioInserts(50);
200187

201188
// Gerar 4 inserts para a tabela marca
202-
const marcaInserts = generateMarcaInserts(4);
189+
const marcaInserts = generateMarcaInserts(40);
203190

204191
// Gerar 200 inserts para a tabela produto
205192
const produtoInserts = generateProdutoInserts(200);
@@ -214,29 +201,26 @@ const vendaInserts = generateVendaInserts(1000);
214201
const itemVendaInserts = generateItemVendaInserts(2000);
215202

216203
// 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 --');
204+
console.log('');
221205
clienteInserts.forEach(insert => console.log(insert));
222206

223-
console.log('-- Inserts para tabela loja --');
207+
console.log('');
224208
lojaInserts.forEach(insert => console.log(insert));
225209

226-
console.log('-- Inserts para tabela funcionario --');
210+
console.log('');
227211
funcionarioInserts.forEach(insert => console.log(insert));
228212

229-
console.log('-- Inserts para tabela marca --');
213+
console.log('');
230214
marcaInserts.forEach(insert => console.log(insert));
231215

232-
console.log('-- Inserts para tabela produto --');
216+
console.log('');
233217
produtoInserts.forEach(insert => console.log(insert));
234218

235-
console.log('-- Inserts para tabela estoque --');
219+
console.log('');
236220
estoqueInserts.forEach(insert => console.log(insert));
237221

238-
console.log('-- Inserts para tabela venda --');
222+
console.log('');
239223
vendaInserts.forEach(insert => console.log(insert));
240224

241-
console.log('-- Inserts para tabela item_venda --');
225+
console.log('');
242226
itemVendaInserts.forEach(insert => console.log(insert));

0 commit comments

Comments
(0)

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