[コンセンサス計画]Fake Data
共感病棟プロジェクトは、ユーザーが文章を書くSNSの性格が強いサイトなので、seedデータをどう入れるか悩んでいます.特に各診療科の分類が多すぎて直接記入できません.そしてfakejsが見つかり、試用することにしました.
fake.js
fake.js
1.インストールとインポート
npm i fakerconst faker = require("faker");
faker.locale = "ko"; // 한국어 설정
2.応用
本プロジェクトでは、Fake Dataは以下の3つの分野で使用されます.1. 포스트 데이터
2. 진료과별 이야기 데이터
3. 응원하기 및 스크랩하기의 관계
3.例
fakeReply
は各診療科のストーリーや詳細な投稿で使用できます.// fakeReply.js
const fakeReply = (count, label, num) => {
const result = [];
for (let i = 1; i <= count; i += 1) {
const replyData = {
users_id: Math.floor(Math.random() * 10) + 1,
reply: faker.lorem.sentence(20),
...
};
replyData[label] = Math.floor(Math.random() * num) + 1;
result.push(replyData);
}
return result;
};
module.exports = fakeReply;
へんすう
まずcount,label,numを変数として受け入れる.
1.count:合計何個のデータを入れるかを決定
2.label:診療に関する話題であればdepartments_id
、詳細な投稿であればposts_id
と入力してください
3.num:診療専攻の場合はdepartments_id
個、詳細な投稿の場合はposts_id
個
replyData
次にreplyDataを繰り返し記述することで,入力データベースが必要な列はusers_id
とreply
,label
3種である.
1.users idとlabel:Math.random()でランダムに1つの数を抽出し,各データに存在する個数に降順処理を乗算し,+1を行う.(0から始まるので)
2.reply:fakerでデータを入力します.
*文():文を生成し、括弧内の値で文の長さを決定// 20211214075901-demo-department-reply.js
const fakeReply = require("../fakeData/fakeReply");
module.exports = {
up: async (queryInterface, Sequelize) => {
await queryInterface.bulkInsert(
"departments_replies",
fakeReply(300, "departments_id", 42)
);
},
down: async (queryInterface, Sequelize) => {
return queryInterface.bulkDelete("departments_replies", null, {});
},
};
fakereply関数を使用してseederファイルを生成します.このような結果、データベースに大量のseedを入れることができます!
Reference
この問題について([コンセンサス計画]Fake Data), 我々は、より多くの情報をここで見つけました
https://velog.io/@sominpark/공감병동-프로젝트-Fake-Data-gycy6rp5
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
const faker = require("faker");
faker.locale = "ko"; // 한국어 설정
// fakeReply.js
const fakeReply = (count, label, num) => {
const result = [];
for (let i = 1; i <= count; i += 1) {
const replyData = {
users_id: Math.floor(Math.random() * 10) + 1,
reply: faker.lorem.sentence(20),
...
};
replyData[label] = Math.floor(Math.random() * num) + 1;
result.push(replyData);
}
return result;
};
module.exports = fakeReply;
// 20211214075901-demo-department-reply.js
const fakeReply = require("../fakeData/fakeReply");
module.exports = {
up: async (queryInterface, Sequelize) => {
await queryInterface.bulkInsert(
"departments_replies",
fakeReply(300, "departments_id", 42)
);
},
down: async (queryInterface, Sequelize) => {
return queryInterface.bulkDelete("departments_replies", null, {});
},
};
Reference
この問題について([コンセンサス計画]Fake Data), 我々は、より多くの情報をここで見つけました https://velog.io/@sominpark/공감병동-프로젝트-Fake-Data-gycy6rp5テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol