sourcebot/packages/db
Michael Sukkarieh e7fa4c4765
feat(connections): Add Azure Devops Support (#514)
* initial ado pol

* add support for ado logo

* default to main instead of HEAD when generating file url

* bump zoekt

* fix(web) Fix "At least one project, user, or group must be specified" for GitLab configs in web configurator (#512)

* feat(ask_sb): Fallback on fromNodeProviderChain if access key or sessionToken are not provided (#513)

* Quote branches argument in zoekt.ts to fix Pipe (#506)

* remove connections settings page

* fix styling and remove additional components

* add changelog

* add docs

* fix build error

* bump zoekt

* fix broken links for ado docs

* fix HEAD support for ado

* changelog

---------

Co-authored-by: Brendan Kellam <bshizzle1234@gmail.com>
Co-authored-by: Michael Dekoski <michaeldekoski@gmail.com>
2025-09-17 22:18:56 -07:00
..
prisma feat(connections): Add Azure Devops Support (#514) 2025-09-17 22:18:56 -07:00
src v3 effort (#158) 2025-03-31 22:34:42 -07:00
tools feat(analytics): Adds analytics dashboard (#358) 2025-06-20 14:57:05 -07:00
.gitignore v3 effort (#158) 2025-03-31 22:34:42 -07:00
package.json Add support for structured logs (#323) 2025-06-02 11:16:01 -07:00
README.md v3 effort (#158) 2025-03-31 22:34:42 -07:00
tsconfig.json v3 effort (#158) 2025-03-31 22:34:42 -07:00

@sourcebot/db

This package contains the database schema (prisma/schema.prisma), migrations (prisma/migrations) and the client library for interacting with the database. Before making edits to the schema, please read about prisma's migration model to get an idea of how migrations work.

Tools

This library contains a /tools directory with a collection of tooling needed for database management. Notable tools are:

  • yarn tool:prisma - runs the prisma CLI with an additional required param --url, the connection URL of the database you want the command to run against. This tool is geared towards running commands against non-dev database like staging or prod since 1) it allows you to quickly switch between environments, and 2) connection URLs do not need to be persisted in a DATABASE_URL environment variable. Examples:
# Run prisma studio
yarn tool:prisma studio --url postgresql://username:password@url:5432/db_name

# Rollback a migration
yarn tool:prisma migrate resolve --rolled-back "migration_name" --url postgresql://username:password@url:5432/db_name
  • yarn tool:run-script - runs a script (located in the /tools/scripts directory) that performs some operations against the DB. This is useful for writing bespoke CRUD operations while still being type-safe and having all the perks of the prisma client lib.
# Run `migrate-duplicate-connections.ts`
yarn tool:run-script --script  migrate-duplicate-connections --url postgresql://username:password@url:5432/db_name