March 12, 2019

Prisma Admin (Beta): A Modern UI to Manage Your Data

etelsv
Etel Sverdlov
@etelsverdlov
Join the
discussion
23

Prisma Admin makes managing data easier, providing developers and teams with a straightforward way to view and edit their data.

We are very excited to announce the beta release of Prisma Admin, a database GUI that offers a simple way for you to interact with your data.

Check out the 3-min demo video or try it out yourself. We're already working on the next major features of Prisma Admin, let us know about your feedback and ideas.


Why Prisma Admin?

Prisma currently exposes the GraphQL Playground to let developers interact with their database via GraphQL queries. This works well in certain cases but can become tedious when often editing data, where a table-based UI is more convenient and faster.

While there are already many database GUIs, most of them are either very dated or limited to a specific database. Most modern applications make use of a combination of multiple different databases forcing developers to use a myriad of disparate tools.

Prisma Admin provides a unified and modern UI on top of any kind of database to speed up your development process. (Think: VS Code - but for databases.)


How to get access to Prisma Admin

Prisma Admin is accessible at the Admin URL of your Prisma service, which you can find in the CLI output after running prisma deploy. Prisma Admin will also replace the Data Browser in Prisma Cloud.

You can access Prisma Admin by appending /_admin to the endpoint of your Prisma service. Depending on where your Prisma server is hosted, the URL looks different, e.g.:

You can also open Prisma Admin directly in your browser by typing prisma admin.

Prisma Admin supports all of the databases that Prisma integrates with (e.g. MySQL, PostgreSQL, MongoDB). It is available in Prisma v1.29-beta and above.


A tour of Prisma Admin

Let's dive into the features of Prisma Admin. You can try out Admin with a premade demo based on this datamodel:



Try out Prisma Admin
Explore a live example
Open the example project


The following sections highlight Admin's most important features:

  1. Explore: A convenient & efficient way to view your data
  2. Edit: Change your data quickly & safely
  3. Relations: Easily add, traverse & edit connected data
  4. Advanced queries: Filter, sort and paginate.
  5. Customize: Bring your own components

Explore: A convenient & efficient way to view your data

Prisma Admin shows you all of the data for each model within the Result area. In the demo, you can switch between the Post, User, and Comment models in the Sidebar.

Selecting a record from the results opens it in the Detail area where you can further navigate to related records.

Edit: Change your data quickly & safely

Prisma Admin lets you add, edit, and delete data easily throughout the interface.

To ensure that unwanted data changes do not affect the database, Admin has a two step saving process:

  1. When you first edit your data, Prisma Admin only applies changes locally.
  2. Once you're happy with the changes, you can confirm and save them to the database.

Relations: Easily add, traverse & edit connected data

Admin also understands relations in your datamodel and makes it easy for you to...

  • Add relational data to a row by including relation fields in the GraphQL query
  • Quickly view all relations of a database record and traverse them in the Detail area
  • Inline edit the relations of a database record (without copying any IDs)

Querying: Select fields, filter, sort and paginate your data

It's easy to query for exactly the data you need with support for advanced features like filtering, sorting and pagination.

Customize: Bring your own components (experimental)

By default, Prisma Admin comes with two Detail area components:

  • Form component: This is the default view for the Detail area. Like the Result area, you can edit any of the data and save it by confirming your changes.
  • JSON component: View your records as JSON by clicking on the eye icon at the top right of the Detail area.

For advanced scenarios, you can also bring your own components (e.g a React or Vue app) in order to implement your funtionality and modify the output of the Detail area.

Examples of this include rendering visual charts & diagrams, adding buttons to trigger business logic or embed related data from other data sources. Check out the docs to learn more.


What’s next?

This beta release of the Prisma Admin only marks the beginning. We're already working on a couple of new major features:

  • Datamodel editor: A visual representation of your datamodel
  • Desktop version: A standalone desktop Prisma Admin app
  • Filter UI for the query area: A dedicated UI for data filtering and sorting
  • Query analytics: A tool to help identifying performance bottlenecks
  • Tabs: The ability to have multiple queries open at the same time

But, most importantly, we want to hear from you!

What features do you want to see? What are your database workflows, and how can Admin help simplify them further?

Now is the right time to provide feedback and share your ideas with us! Please join the conversation on Spectrum or open an issue on GitHub with your thoughts.



Try out Prisma Admin
Explore a live example
Open the example project

Comments

reply

Question or Feature request: Do you see Prisma Admin supporting data import/export? Or is this expected to remain on the server CLI?

Yes, import & export is definitely planned for Prisma Admin. Can you share some more details whether you're also referring to non-Prisma datasets (e.g. SQL, CSV files, ...)?

My immediate use case is a web app running MySQL (could be other) DB. This is running in a private cloud, currently on a linux server, in future likely in a container. The DB is expected be clustered in the future.

The interest in an import/export feature is managing off-site replication or backup. Emergency restore of specific records or smaller datasets (megabytes) could be managed by tier two customer support personnel using Prisma Admin. I would assume that a full DB restore (gigabytes) would be managed by server admin personnel.

Also migration between app versions where the data structure changes. I'm speculating that Prisma Admin, with custom extensions, might be a way to manage data across differing platforms which are fronted by a Prisma server providing a GraphQL API.

To conclude, I hadn't thought about non-Prisma datasets. I do expect to build a marketing dashboard at some point that will aggregate data from a variety of sources (Google Analytics, Amazon Sales, Web Server logs, etc). If Prisma Admin's import capability could be extended through custom plugins to ingest all that data into a single Prisma managed DB that sounds like a very attractive tool.