npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

platformatic-prisma

v1.2.0

Published

Generate migrations for your Platformatic DB using a Prisma schema

Downloads

91

Readme

Platformatic Prisma

npm version

Remove the friction to create migrations for your Platformatic DB by generating them using a Prisma schema.

  • Use Prisma schema to manage your data models
  • Generate Platformatic DB compatible up and down migrations when changes are made to your Prisma schema
  • Migrations will be run by Platformatic DB

View the example project to see it in action.

Getting Started

Install platformatic-prisma and prisma:

npm install prisma platformatic-prisma -D

Create a ./prisma/schema.prisma file with the following contents:

datasource db {
  // Any provider supported by Platformatic
  // https://oss.platformatic.dev/docs/reference/db/introduction#supported-databases
  provider = "postgresql"
  url      = env("DATABASE_URL")
}

// Table used by Platformatic/Postgrator to manage migrations
model Version {
  version BigInt    @id
  name    String?
  md5     String?
  run_at  DateTime? @db.Timestamptz(6)

  @@map("versions")
  @@ignore
}

Create an .env file containing the database connection URL to connect to your database:

DATABASE_URL="postgresql://postgres:@localhost:5432/platformatic-prisma?schema=public"

Generating Migrations

Note If you are just starting with a new Platformatic DB project, run npx platformatic db migrate before generating your first migration. This is needed to allow Platformatic DB to initialize the database with it's migrations table.

When changes are made to your schema.prisma file, run npx platformatic-prisma to generate migrations. This will generate up and down migration files in the migrations directory that is specified in your Platformatic configuration file.

To run migrations, refer to Platformatic's documentation.

Options

| Option | Required | Description | Default | | --------------- | -------- | ----------------------------------------------------------------- | ---------------------- | | --description | No | Label to include in migration filename. Must not contain periods. | | | --no-down | No | Prevents generation of the down migration file. | false | | --no-up | No | Prevents generation of the up migration file. | false | | --schema | No | Specifies the path to the schema.prisma file. | prisma/schema.prisma |