-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathseeder.ts
32 lines (27 loc) · 1014 Bytes
/
seeder.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import executeSeeder from './lib/drivers/database/seeder';
type SeederStringParams = {
seed_fake_data: string;
delete_data: string;
seed_types: string;
};
const args = process.argv.slice(2); // Get command line arguments, excluding node and script path
const params: SeederStringParams = args.reduce<SeederStringParams>(
(acc, arg) => {
const [key, value] = arg.split('='); // Split argument by '=' to get key-value pairs
if (key && value) {
acc[key.replace('--', '')] = value; // Remove '--' from key and assign value to the object
}
return acc;
},
{ seed_fake_data: '', delete_data: '', seed_types: '' }
);
const seedFakeData: boolean = !!(
params.seed_fake_data && params.seed_fake_data.toLowerCase() === 'true'
);
const deleteData: boolean = !!(
params.delete_data && params.delete_data.toLowerCase() === 'true'
);
const seedTypes: boolean = !!(
params.seed_types && params.seed_types.toLowerCase() === 'true'
);
executeSeeder(seedFakeData, deleteData, seedTypes);