dokumentation 12 seiten
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
import { RedisClient } from "bun";
|
||||
import { effects, types, weapons, armors, shields, talismans, items, regions, enemies } from "../../data";
|
||||
const redis = new RedisClient("redis://localhost:40379");
|
||||
|
||||
console.log("Populating database with ~100 static Ringstats entries...");
|
||||
|
||||
// Helper for hset
|
||||
const setHash = async (prefix: string, list: any[]) => {
|
||||
for (const obj of list) {
|
||||
// extract items/enemies sets if they exist
|
||||
const { items, enemies, ...hashData } = obj;
|
||||
await redis.hset(`${prefix}:${obj.id}`, hashData);
|
||||
if (items && items.length > 0) {
|
||||
await redis.sadd(`${prefix}:${obj.id}:items`, ...items);
|
||||
}
|
||||
if (enemies && enemies.length > 0) {
|
||||
await redis.sadd(`${prefix}:${obj.id}:enemies`, ...enemies);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
await setHash("item_effect", effects);
|
||||
await setHash("item_type", types);
|
||||
await setHash("weapon", weapons);
|
||||
await setHash("armor", armors);
|
||||
await setHash("shield", shields);
|
||||
await setHash("talisman", talismans);
|
||||
await setHash("item", items);
|
||||
await setHash("region", regions);
|
||||
await setHash("enemy", enemies);
|
||||
|
||||
console.log(`Inserted ${effects.length + types.length + weapons.length + armors.length + shields.length + talismans.length + items.length + regions.length + enemies.length} primary entities into Redis.`);
|
||||
console.log("Database successfully seeded.");
|
||||
process.exit(0);
|
||||
Reference in New Issue
Block a user