1.0.4 • Published 2 years ago
prisma-ts v1.0.4
code example:
import { createSchema } from "./lib";
export const prismaSchema = createSchema({
datasource: {
provider: "mongodb",
url: {
env: "DATABASE_URL",
},
},
generator: {
provider: "prisma-client-js",
},
});
const LanguageType = prismaSchema.createModel("Language", true);
const UserModel = prismaSchema.createModel("User");
const PostModel = prismaSchema.createModel("Post");
const SchoolModel = prismaSchema.createModel("School");
const CategoryEnum = prismaSchema.createEnum("Category");
LanguageType.string("name").string("description");
CategoryEnum.addValue("JS", { map: "js" }).addValue("JAVA", { map: "java" });
PostModel.mdbId()
.string("name", { optional: true })
.time()
.enum("postCategory", CategoryEnum, { default: "JAVA" })
.string("authorId", { optional: true })
.relation("author", UserModel, {
optional: true,
fields: ["authorId"],
references: ["id"],
})
.relation("languages", LanguageType, { list: true });
UserModel.mdbId()
.string("name", { optional: true })
.relation("posts", PostModel, { list: true });
SchoolModel.mdbId();
prismaSchema.export("./", "schema");
package.json
{
"name": "prisma-ts",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"dev": "nodemon --watch src src/test.ts",
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"@swc/core": "^1.2.218",
"@swc/helpers": "^0.4.3",
"@types/node": "^18.0.6",
"nodemon": "^2.0.19",
"regenerator-runtime": "^0.13.9",
"ts-node": "^10.9.1",
"typescript": "^4.7.4"
}
}