Hi everyone!
GitHub of the Project
Use this module to create a backup measure for your project that uses Prisma. You can either backup the information, or use them to migrate to another database, or just to reset the database.
Example: Let's say that you need to change a unique key (email) to another like (code). You can backup first,
then change the schema.prisma, and use this module to inject the old information.
Basic example using the Prisma, let's imagine that we have two models, User & Post. And the Post model is related to the User model.
import { PrismaClient } from '@prisma/client';
import { backup } from '@vorlefan/prisma-backup';
const prisma = new PrismaClient();
void (async function () {
const [user, post] = await prisma.$transaction([prisma.user.findMany({}), prisma.post.findMany({})]);
// w/out encrypt
await backup({
models: {
user,
},
});
// encrypting the models
await backup({
models: {
user,
},
encrypt: true,
password: 'pwd123',
backupFolderName: 'encrypted'
});
})();
There a lot of feature that I'm planning for this module, then if you want to, please contribute or follow up the news xD
Top comments (4)
i would love to see this module backup all data based on the current
schema.prisma
file without having to call each model one by one.It's been a while since I did it, and by now my experience and skill is a ocean of difference xD. I'll do it when I get free time from my work.
Hi, how exactly does it work? where will the backed up data be stored?
It's been a while since I did it, and by now my experience and skill is a ocean of difference xD It's meant to be used as ad hoc, so you're the only one to choose where to go.