Skip to content
This repository was archived by the owner on Mar 13, 2025. It is now read-only.

Commit ab2229f

Browse files
committed
add seeds up
1 parent d2da30b commit ab2229f

File tree

5 files changed

+51
-16
lines changed

5 files changed

+51
-16
lines changed

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,10 @@ Setup your Elasticsearch instance and ensure that it is up and running.
6969

7070
Migrations are located under the `./scripts/db/` folder. Run `npm run migrations up` and `npm run migrations down` to execute the migrations or remove the earlier ones
7171

72+
## Import seed data
73+
74+
Run `npm run seeds-up` to import data from `./scripts/db/data`.
75+
7276
## Import data from QLDB
7377

7478
Make sure `QLDB_NAME`, `AWS_REGION`, `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` are set in your environment

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
"delete-data": "node scripts/db/dropAll.js",
1111
"migrate-db-to-es": "node scripts/db/dumpDbToEs.js",
1212
"migrations": "node scripts/db/migrations.js",
13+
"seeds-up": "node scripts/db/seedUp.js",
1314
"migrate-qldb-to-pg": "node scripts/db/migrateQldbToPg.js"
1415
},
1516
"repository": {

scripts/db/migrateQldbToPg.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
const {
22
IonTypes
33
} = require('ion-js')
4+
const _ = require('lodash')
45
const QLDB = require('amazon-qldb-driver-nodejs')
56
const sequelize = require('../../src/models/index')
67
const logger = require('../../src/common/logger')
@@ -96,6 +97,21 @@ async function main () {
9697
for (const key of dataKeys) {
9798
try {
9899
const records = await queryAllRecord(key, session)
100+
if (key === 'AttributeGroup') {
101+
_.forEach(records, r => {
102+
if (r.organizationId === '854f1bf3-6f51-424b-866f-e5f5a5803904') {
103+
r.organizationId = '36ed815b-3da1-49f1-a043-aaed0a4e81ad'
104+
}
105+
})
106+
}
107+
if (key === 'ExternalProfile') {
108+
const replaceChar = ['a', 'b', 'c']
109+
_.forEach(records, r => {
110+
if (r.id === 'f2d1b567-8ea3-4eec-93b0-32378a19edb7') {
111+
r.id = `f2d1b567-8ea3-4ee${_.pullAt(replaceChar, 0)[0]}-93b0-32378a19edb7`
112+
}
113+
})
114+
}
99115
await models[key].bulkCreate(records)
100116
logger.info(`import data for ${key} done, record count: ${records.length}`)
101117
} catch (e) {

scripts/db/migrations/15_add-data.js

Lines changed: 0 additions & 16 deletions
This file was deleted.

scripts/db/seedUp.js

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
const sequelize = require('../../src/models/index')
2+
const logger = require('../../src/common/logger')
3+
4+
const models = sequelize.models
5+
6+
const dataKeys = ['User', 'Organization', 'AchievementsProvider', 'Achievement',
7+
'AttributeGroup', 'Attribute', 'ExternalProfile', 'SkillsProvider',
8+
'OrganizationSkillsProvider', 'Role', 'Skill', 'UserAttribute', 'UsersRole', 'UsersSkill']
9+
10+
/**
11+
* import seed data
12+
*/
13+
async function main () {
14+
for (const key of dataKeys) {
15+
try {
16+
const records = require(`./data/${key}.json`)
17+
await models[key].bulkCreate(records)
18+
logger.info(`import data for ${key} done, record count: ${records.length}`)
19+
} catch (e) {
20+
logger.error(e)
21+
logger.warn(`import data for ${key} failed`)
22+
}
23+
}
24+
logger.info('all done')
25+
process.exit(0)
26+
}
27+
28+
(async () => {
29+
main().catch(err => console.error(err))
30+
})()

0 commit comments

Comments
 (0)