From 312fb38d33487cb0c5fb280c065011068d8e5baa Mon Sep 17 00:00:00 2001 From: Nilu Date: Wed, 22 Nov 2023 14:44:28 +0100 Subject: [PATCH 001/100] update: hidden prop on nav item --- config.ts | 2 +- src/components/header.tsx | 20 ++++++++++++-------- src/hooks/useLayoutQuery.ts | 1 + src/interfaces/Layout.interface.ts | 8 +++++++- 4 files changed, 21 insertions(+), 10 deletions(-) diff --git a/config.ts b/config.ts index 76f0f92bc3..6503623b4b 100644 --- a/config.ts +++ b/config.ts @@ -45,7 +45,7 @@ const siteConfig = { type: 'bucket', bucketName: '/800-data-platform', }, - { text: 'About', to: '/about', type: 'bucket', bucketName: '/600-about' }, + { text: 'About', to: '/about', type: 'bucket', bucketName: '/600-about', hidden: true }, ], search: { indexName: process.env.GATSBY_ALGOLIA_INDEX_NAME, diff --git a/src/components/header.tsx b/src/components/header.tsx index ce911b9b21..d567c20e90 100644 --- a/src/components/header.tsx +++ b/src/components/header.tsx @@ -340,12 +340,14 @@ const SecondLevelMobileMenu = ({ headerProps, wide }: HeaderViewProps) => ( {headerProps.secondLevelHeaderMenuItems.map((item) => { return ( - } - type={item.type} - text={item.text} - link={item.to} - /> + !item.hidden && ( + } + type={item.type} + text={item.text} + link={item.to} + /> + ) ) })} @@ -418,11 +420,13 @@ const Header = ({ const SecondLevelMenu = () => { const bucketItems = headerProps.secondLevelHeaderMenuItems.filter( - (item) => item.type === 'bucket' + (item) => item.type === 'bucket' && !item.hidden ) const externalLinkItems = headerProps.secondLevelHeaderMenuItems.filter( - (item) => item.type === 'external-link' + (item) => item.type === 'external-link' && !item.hidden ) + + console.log(headerProps.secondLevelHeaderMenuItems) return (
diff --git a/src/hooks/useLayoutQuery.ts b/src/hooks/useLayoutQuery.ts index a52fee3ef5..227e04d651 100644 --- a/src/hooks/useLayoutQuery.ts +++ b/src/hooks/useLayoutQuery.ts @@ -19,6 +19,7 @@ export const useLayoutQuery = () => { to bucketName text + hidden } } } diff --git a/src/interfaces/Layout.interface.ts b/src/interfaces/Layout.interface.ts index 62ba5cd190..6e59c29ec7 100644 --- a/src/interfaces/Layout.interface.ts +++ b/src/interfaces/Layout.interface.ts @@ -1,5 +1,11 @@ export interface HeaderProps { - secondLevelHeaderMenuItems: { text: string; type: string; to: string; bucketName: string }[] + secondLevelHeaderMenuItems: { + hidden: boolean + text: string + type: string + to: string + bucketName: string + }[] wide?: boolean } From 0487ec385f9b5cf51caa14f41030da43d1cd7072 Mon Sep 17 00:00:00 2001 From: Nikolas Date: Fri, 24 Nov 2023 13:58:55 +0100 Subject: [PATCH 002/100] Update config.ts --- config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.ts b/config.ts index 6503623b4b..76f0f92bc3 100644 --- a/config.ts +++ b/config.ts @@ -45,7 +45,7 @@ const siteConfig = { type: 'bucket', bucketName: '/800-data-platform', }, - { text: 'About', to: '/about', type: 'bucket', bucketName: '/600-about', hidden: true }, + { text: 'About', to: '/about', type: 'bucket', bucketName: '/600-about' }, ], search: { indexName: process.env.GATSBY_ALGOLIA_INDEX_NAME, From 9ae6b9ee8167fba4ce1b6580413772d899745256 Mon Sep 17 00:00:00 2001 From: Nikolas Burk Date: Fri, 24 Nov 2023 14:44:45 +0100 Subject: [PATCH 003/100] arranged the ORM -> OVERVIEW section --- config.ts | 6 +- .../200-database-connectors/07-mongodb.mdx | 244 -------- content/200-concepts/index.mdx | 17 - .../100-introduction}/200-why-prisma.mdx | 0 .../250-should-you-use-prisma.mdx | 0 .../100-introduction/300-data-modeling.mdx} | 0 .../100-introduction/50-what-is-prisma.mdx} | 10 - .../050-overview/100-introduction/index.mdx | 19 + .../300-prisma-in-your-stack/01-rest.md | 2 +- .../300-prisma-in-your-stack/02-graphql.md | 0 .../300-prisma-in-your-stack/03-fullstack.mdx | 0 .../04-is-prisma-an-orm.mdx | 0 .../300-prisma-in-your-stack/index.mdx | 0 .../500-databases/01-database-drivers.mdx} | 0 .../500-databases}/03-postgresql.mdx | 6 +- .../050-overview/500-databases}/04-mysql.mdx | 0 .../050-overview/500-databases}/05-sqlite.mdx | 0 .../050-overview/500-databases/07-mongodb.mdx | 575 ++++++++++++++++++ .../500-databases}/08-cockroachdb.mdx | 0 .../08-sql-server/020-sql-server-local.mdx | 0 .../08-sql-server/030-sql-server-docker.mdx | 0 .../500-databases}/08-sql-server/index.mdx | 0 .../500-databases/850-planetscale.mdx | 318 ++++++++++ .../500-databases/860-cockroachdb.mdx | 99 +++ .../500-databases/880-supabase.mdx | 73 +++ .../050-overview/500-databases/890-neon.mdx | 175 ++++++ .../050-overview/500-databases/900-turso.mdx | 213 +++++++ .../050-overview/500-databases/index.mdx | 16 + .../050-overview/index.mdx | 0 .../node-js-db-tools-tradeoffs.png | Bin .../prisma-makes-devs-productive.png | Bin .../050-overview/prisma-rest-apis.png | Bin .../050-overview/user-post-relation-1-n.png | Bin .../050-overview/user-table.png | Bin .../050-overview/user-table.svg | 0 .../010-generating-prisma-client.mdx | 0 .../015-instantiate-prisma-client.mdx | 0 .../020-use-custom-model-and-field-names.mdx | 0 .../100-connection-management.mdx | 0 .../115-connection-pool.mdx | 0 .../130-logging.mdx | 0 .../150-error-formatting.mdx | 0 .../000-working-with-prismaclient/index.mdx | 0 .../prisma-client-generation-workflow.png | Bin .../prisma-client-node-module.png | Bin .../100-prisma-client}/030-crud.mdx | 20 +- .../100-prisma-client}/035-select-fields.mdx | 0 .../037-relation-queries.mdx | 0 .../050-filtering-and-sorting.mdx | 0 .../100-working-with-json-fields.mdx | 14 +- .../200-working-with-scalar-lists-arrays.mdx | 0 ...ing-with-composite-ids-and-constraints.mdx | 0 .../051-working-with-fields/index.mdx | 0 ...inst-partial-structures-of-model-types.mdx | 0 .../99-prisma-validator.mdx | 0 .../052-advanced-type-safety/index.mdx | 0 .../053-client-extensions/100-model.mdx | 0 .../053-client-extensions/110-client.mdx | 0 .../053-client-extensions/120-query.mdx | 0 .../053-client-extensions/130-result.mdx | 0 .../140-shared-extensions.mdx | 1 - .../150-type-utilities.mdx | 0 .../200-extension-examples.mdx | 2 +- .../053-client-extensions/index.mdx | 53 +- .../100-soft-delete-middleware.mdx | 0 .../054-middleware/200-logging-middleware.mdx | 0 .../300-session-data-middleware.mdx | 0 .../054-middleware/index.mdx | 0 .../100-prisma-client}/055-pagination.mdx | 0 .../056-aggregation-grouping-summarizing.mdx | 0 .../057-composite-types.mdx | 0 .../100-prisma-client}/058-transactions.mdx | 0 .../060-full-text-search.mdx | 0 .../061-custom-validation.mdx | 0 .../062-computed-fields.mdx | 0 .../063-excluding-fields.mdx | 0 .../100-prisma-client}/064-custom-models.mdx | 0 .../100-prisma-client}/065-read-replicas.mdx | 1 - .../070-case-sensitivity.mdx | 0 .../080-null-and-undefined.mdx | 0 .../090-raw-database-access.mdx | 0 .../100-prisma-client}/140-debugging.mdx | 0 .../210-module-bundlers.mdx | 0 .../220-database-polyfills.mdx | 0 .../230-handling-exceptions-and-errors.mdx | 0 .../100-prisma-client}/240-metrics.mdx | 0 .../250-opentelemetry-tracing.mdx | 0 .../100-prisma-client}/index.mdx | 2 + .../100-prisma-client}/jaeger.png | Bin .../100-prisma-client}/trace-diagram.png | Bin .../01-prisma-schema/02-data-sources.mdx | 0 .../01-prisma-schema/03-generators.mdx | 1 - .../01-prisma-schema/04-data-model.mdx | 17 +- .../05-names-in-underlying-database.mdx | 2 +- .../06-features-without-psl-equivalent.mdx | 0 .../06-relations/100-one-to-one-relations.mdx | 2 +- .../200-one-to-many-relations.mdx | 0 .../300-many-to-many-relations.mdx | 0 .../06-relations/400-self-relations.mdx | 0 ...-special-rules-for-referential-actions.mdx | 0 .../410-referential-actions/index.mdx | 7 +- .../06-relations/420-relation-mode.mdx | 0 .../500-troubleshooting-relations.mdx | 0 .../01-prisma-schema/06-relations/index.mdx | 1 - .../06-relations/one-to-many.png | Bin .../06-relations/quick-fix-index.png | Bin .../06-relations/quick-fix-index.snagx | Bin .../06-relations/relations-intro.png | Bin .../06-relations/sample-schema.png | Bin .../01-prisma-schema/08-views.mdx | 6 +- .../01-prisma-schema/09-indexes.mdx | 8 +- .../10-postgresql-extensions.mdx | 0 .../01-prisma-schema/index.mdx | 0 .../prisma-schema/relations-intro.png | Bin .../prisma-schema/sample-database.png | Bin .../03-prisma-migrate/010-mental-model.mdx | 0 .../03-prisma-migrate/050-get-started.mdx | 0 .../070-migration-histories.mdx | 0 .../080-migrate-development-production.mdx | 0 .../03-prisma-migrate/100-legacy-migrate.mdx | 0 .../100-supported-types-and-db-features.mdx | 0 .../03-prisma-migrate/150-db-push.mdx | 0 .../03-prisma-migrate/200-shadow-database.mdx | 0 .../300-prisma-migrate-limitations-issues.mdx | 0 .../03-prisma-migrate/index.mdx | 2 +- .../database-first-migration-flow.png | Bin .../db-push-flow.png | Bin .../entity-first-migration-flow.png | Bin .../prisma-migrate-dev-flow.png | Bin .../prisma-migrate-diff-flow.png | Bin .../prisma-migrate-lifecycle.png | Bin .../prisma-migrate-state-mgt.png | Bin .../03-prisma-migrate/migrate-mapping.png | Bin .../03-prisma-migrate/shadow-database.png | Bin .../03-prisma-migrate/shadow-db.png | Bin .../150-components}/04-introspection.mdx | 0 .../150-components}/05-prisma-cli.mdx | 0 .../150-components}/06-prisma-studio.mdx | 0 .../08-prisma-engines/200-query-engine.mdx | 0 .../08-prisma-engines/index.mdx | 0 .../query-engine-node-js-at-runtime.png | Bin .../typical-flow-query-engine-at-runtime.png | Bin .../050-client-preview-features.mdx | 1 - .../080-cli-preview-features.mdx | 0 .../250-preview-features/index.mdx | 0 .../drivers/qe-query-engine-adapter.png | Bin .../drivers/qe-query-execution-flow.png | Bin .../images/prisma-studio/01-models-view.png | Bin .../prisma-studio/02-open-close-models.png | Bin .../03-model-view-keyboard-shortcuts.png | Bin .../04-save-multiple-changes.png | Bin .../prisma-studio/05-add-remove-filters.png | Bin .../prisma-studio/06-show-hide-fields.png | Bin .../prisma-studio/07-show-hide-records.png | Bin .../images/prisma-studio/08-model-sort.png | Bin .../images/prisma-studio/array.svg | 0 .../images/prisma-studio/boolean.svg | 0 .../images/prisma-studio/database.svg | 0 .../images/prisma-studio/datetime.svg | 0 .../images/prisma-studio/enum.svg | 0 .../images/prisma-studio/number.svg | 0 .../images/prisma-studio/object.svg | 0 .../images/prisma-studio/string.svg | 0 .../150-components}/index.mdx | 0 .../200-database-connectors/index.mdx | 0 .../200-database-connectors/mongodb.png | Bin .../mysql-connection-string.png | Bin .../postgresql-connection-string.png | Bin .../300-more/300-telemetry.mdx | 0 .../400-comparisons/01-prisma-and-typeorm.mdx | 0 .../02-prisma-and-sequelize.mdx | 0 .../03-prisma-and-mongoose.mdx | 0 .../400-comparisons/04-prisma-and-drizzle.mdx | 0 .../300-more/400-comparisons/index.mdx | 0 .../300-more/index.mdx | 0 content/200-orm/index.mdx | 14 + 176 files changed, 1576 insertions(+), 351 deletions(-) delete mode 100644 content/200-concepts/200-database-connectors/07-mongodb.mdx delete mode 100644 content/200-concepts/index.mdx rename content/{200-concepts/050-overview => 200-orm/050-overview/100-introduction}/200-why-prisma.mdx (100%) rename content/{200-concepts/050-overview => 200-orm/050-overview/100-introduction}/250-should-you-use-prisma.mdx (100%) rename content/{200-concepts/050-overview/100-what-is-prisma/100-data-modeling.mdx => 200-orm/050-overview/100-introduction/300-data-modeling.mdx} (100%) rename content/{200-concepts/050-overview/100-what-is-prisma/index.mdx => 200-orm/050-overview/100-introduction/50-what-is-prisma.mdx} (96%) create mode 100644 content/200-orm/050-overview/100-introduction/index.mdx rename content/{200-concepts => 200-orm}/050-overview/300-prisma-in-your-stack/01-rest.md (99%) rename content/{200-concepts => 200-orm}/050-overview/300-prisma-in-your-stack/02-graphql.md (100%) rename content/{200-concepts => 200-orm}/050-overview/300-prisma-in-your-stack/03-fullstack.mdx (100%) rename content/{200-concepts => 200-orm}/050-overview/300-prisma-in-your-stack/04-is-prisma-an-orm.mdx (100%) rename content/{200-concepts => 200-orm}/050-overview/300-prisma-in-your-stack/index.mdx (100%) rename content/{200-concepts/100-components/database-drivers.mdx => 200-orm/050-overview/500-databases/01-database-drivers.mdx} (100%) rename content/{200-concepts/200-database-connectors => 200-orm/050-overview/500-databases}/03-postgresql.mdx (99%) rename content/{200-concepts/200-database-connectors => 200-orm/050-overview/500-databases}/04-mysql.mdx (100%) rename content/{200-concepts/200-database-connectors => 200-orm/050-overview/500-databases}/05-sqlite.mdx (100%) create mode 100644 content/200-orm/050-overview/500-databases/07-mongodb.mdx rename content/{200-concepts/200-database-connectors => 200-orm/050-overview/500-databases}/08-cockroachdb.mdx (100%) rename content/{200-concepts/200-database-connectors => 200-orm/050-overview/500-databases}/08-sql-server/020-sql-server-local.mdx (100%) rename content/{200-concepts/200-database-connectors => 200-orm/050-overview/500-databases}/08-sql-server/030-sql-server-docker.mdx (100%) rename content/{200-concepts/200-database-connectors => 200-orm/050-overview/500-databases}/08-sql-server/index.mdx (100%) create mode 100644 content/200-orm/050-overview/500-databases/850-planetscale.mdx create mode 100644 content/200-orm/050-overview/500-databases/860-cockroachdb.mdx create mode 100644 content/200-orm/050-overview/500-databases/880-supabase.mdx create mode 100644 content/200-orm/050-overview/500-databases/890-neon.mdx create mode 100644 content/200-orm/050-overview/500-databases/900-turso.mdx create mode 100644 content/200-orm/050-overview/500-databases/index.mdx rename content/{200-concepts => 200-orm}/050-overview/index.mdx (100%) rename content/{200-concepts => 200-orm}/050-overview/node-js-db-tools-tradeoffs.png (100%) rename content/{200-concepts => 200-orm}/050-overview/prisma-makes-devs-productive.png (100%) rename content/{200-concepts => 200-orm}/050-overview/prisma-rest-apis.png (100%) rename content/{200-concepts => 200-orm}/050-overview/user-post-relation-1-n.png (100%) rename content/{200-concepts => 200-orm}/050-overview/user-table.png (100%) rename content/{200-concepts => 200-orm}/050-overview/user-table.svg (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/000-working-with-prismaclient/010-generating-prisma-client.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/000-working-with-prismaclient/015-instantiate-prisma-client.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/000-working-with-prismaclient/020-use-custom-model-and-field-names.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/000-working-with-prismaclient/100-connection-management.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/000-working-with-prismaclient/115-connection-pool.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/000-working-with-prismaclient/130-logging.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/000-working-with-prismaclient/150-error-formatting.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/000-working-with-prismaclient/index.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/000-working-with-prismaclient/prisma-client-generation-workflow.png (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/000-working-with-prismaclient/prisma-client-node-module.png (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/030-crud.mdx (99%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/035-select-fields.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/037-relation-queries.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/050-filtering-and-sorting.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/051-working-with-fields/100-working-with-json-fields.mdx (97%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/051-working-with-fields/200-working-with-scalar-lists-arrays.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/051-working-with-fields/300-working-with-composite-ids-and-constraints.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/051-working-with-fields/index.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/052-advanced-type-safety/100-operating-against-partial-structures-of-model-types.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/052-advanced-type-safety/99-prisma-validator.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/052-advanced-type-safety/index.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/053-client-extensions/100-model.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/053-client-extensions/110-client.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/053-client-extensions/120-query.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/053-client-extensions/130-result.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/053-client-extensions/140-shared-extensions.mdx (99%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/053-client-extensions/150-type-utilities.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/053-client-extensions/200-extension-examples.mdx (98%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/053-client-extensions/index.mdx (91%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/054-middleware/100-soft-delete-middleware.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/054-middleware/200-logging-middleware.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/054-middleware/300-session-data-middleware.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/054-middleware/index.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/055-pagination.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/056-aggregation-grouping-summarizing.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/057-composite-types.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/058-transactions.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/060-full-text-search.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/061-custom-validation.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/062-computed-fields.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/063-excluding-fields.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/064-custom-models.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/065-read-replicas.mdx (99%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/070-case-sensitivity.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/080-null-and-undefined.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/090-raw-database-access.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/140-debugging.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/210-module-bundlers.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/220-database-polyfills.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/230-handling-exceptions-and-errors.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/240-metrics.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/250-opentelemetry-tracing.mdx (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/index.mdx (99%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/jaeger.png (100%) rename content/{200-concepts/100-components/02-prisma-client => 200-orm/100-prisma-client}/trace-diagram.png (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/01-prisma-schema/02-data-sources.mdx (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/01-prisma-schema/03-generators.mdx (99%) rename content/{200-concepts/100-components => 200-orm/150-components}/01-prisma-schema/04-data-model.mdx (99%) rename content/{200-concepts/100-components => 200-orm/150-components}/01-prisma-schema/05-names-in-underlying-database.mdx (99%) rename content/{200-concepts/100-components => 200-orm/150-components}/01-prisma-schema/06-features-without-psl-equivalent.mdx (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/01-prisma-schema/06-relations/100-one-to-one-relations.mdx (99%) rename content/{200-concepts/100-components => 200-orm/150-components}/01-prisma-schema/06-relations/200-one-to-many-relations.mdx (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/01-prisma-schema/06-relations/300-many-to-many-relations.mdx (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/01-prisma-schema/06-relations/400-self-relations.mdx (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/01-prisma-schema/06-relations/410-referential-actions/100-special-rules-for-referential-actions.mdx (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/01-prisma-schema/06-relations/410-referential-actions/index.mdx (99%) rename content/{200-concepts/100-components => 200-orm/150-components}/01-prisma-schema/06-relations/420-relation-mode.mdx (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/01-prisma-schema/06-relations/500-troubleshooting-relations.mdx (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/01-prisma-schema/06-relations/index.mdx (99%) rename content/{200-concepts/100-components => 200-orm/150-components}/01-prisma-schema/06-relations/one-to-many.png (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/01-prisma-schema/06-relations/quick-fix-index.png (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/01-prisma-schema/06-relations/quick-fix-index.snagx (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/01-prisma-schema/06-relations/relations-intro.png (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/01-prisma-schema/06-relations/sample-schema.png (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/01-prisma-schema/08-views.mdx (95%) rename content/{200-concepts/100-components => 200-orm/150-components}/01-prisma-schema/09-indexes.mdx (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/01-prisma-schema/10-postgresql-extensions.mdx (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/01-prisma-schema/index.mdx (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/01-prisma-schema/prisma-schema/relations-intro.png (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/01-prisma-schema/prisma-schema/sample-database.png (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/03-prisma-migrate/010-mental-model.mdx (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/03-prisma-migrate/050-get-started.mdx (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/03-prisma-migrate/070-migration-histories.mdx (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/03-prisma-migrate/080-migrate-development-production.mdx (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/03-prisma-migrate/100-legacy-migrate.mdx (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/03-prisma-migrate/100-supported-types-and-db-features.mdx (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/03-prisma-migrate/150-db-push.mdx (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/03-prisma-migrate/200-shadow-database.mdx (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/03-prisma-migrate/300-prisma-migrate-limitations-issues.mdx (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/03-prisma-migrate/index.mdx (96%) rename content/{200-concepts/100-components => 200-orm/150-components}/03-prisma-migrate/mental-model-illustrations/database-first-migration-flow.png (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/03-prisma-migrate/mental-model-illustrations/db-push-flow.png (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/03-prisma-migrate/mental-model-illustrations/entity-first-migration-flow.png (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/03-prisma-migrate/mental-model-illustrations/prisma-migrate-dev-flow.png (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/03-prisma-migrate/mental-model-illustrations/prisma-migrate-diff-flow.png (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/03-prisma-migrate/mental-model-illustrations/prisma-migrate-lifecycle.png (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/03-prisma-migrate/mental-model-illustrations/prisma-migrate-state-mgt.png (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/03-prisma-migrate/migrate-mapping.png (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/03-prisma-migrate/shadow-database.png (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/03-prisma-migrate/shadow-db.png (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/04-introspection.mdx (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/05-prisma-cli.mdx (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/06-prisma-studio.mdx (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/08-prisma-engines/200-query-engine.mdx (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/08-prisma-engines/index.mdx (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/08-prisma-engines/query-engine-node-js-at-runtime.png (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/08-prisma-engines/typical-flow-query-engine-at-runtime.png (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/250-preview-features/050-client-preview-features.mdx (99%) rename content/{200-concepts/100-components => 200-orm/150-components}/250-preview-features/080-cli-preview-features.mdx (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/250-preview-features/index.mdx (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/images/drivers/qe-query-engine-adapter.png (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/images/drivers/qe-query-execution-flow.png (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/images/prisma-studio/01-models-view.png (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/images/prisma-studio/02-open-close-models.png (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/images/prisma-studio/03-model-view-keyboard-shortcuts.png (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/images/prisma-studio/04-save-multiple-changes.png (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/images/prisma-studio/05-add-remove-filters.png (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/images/prisma-studio/06-show-hide-fields.png (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/images/prisma-studio/07-show-hide-records.png (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/images/prisma-studio/08-model-sort.png (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/images/prisma-studio/array.svg (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/images/prisma-studio/boolean.svg (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/images/prisma-studio/database.svg (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/images/prisma-studio/datetime.svg (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/images/prisma-studio/enum.svg (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/images/prisma-studio/number.svg (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/images/prisma-studio/object.svg (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/images/prisma-studio/string.svg (100%) rename content/{200-concepts/100-components => 200-orm/150-components}/index.mdx (100%) rename content/{200-concepts => 200-orm}/200-database-connectors/index.mdx (100%) rename content/{200-concepts => 200-orm}/200-database-connectors/mongodb.png (100%) rename content/{200-concepts => 200-orm}/200-database-connectors/mysql-connection-string.png (100%) rename content/{200-concepts => 200-orm}/200-database-connectors/postgresql-connection-string.png (100%) rename content/{200-concepts => 200-orm}/300-more/300-telemetry.mdx (100%) rename content/{200-concepts => 200-orm}/300-more/400-comparisons/01-prisma-and-typeorm.mdx (100%) rename content/{200-concepts => 200-orm}/300-more/400-comparisons/02-prisma-and-sequelize.mdx (100%) rename content/{200-concepts => 200-orm}/300-more/400-comparisons/03-prisma-and-mongoose.mdx (100%) rename content/{200-concepts => 200-orm}/300-more/400-comparisons/04-prisma-and-drizzle.mdx (100%) rename content/{200-concepts => 200-orm}/300-more/400-comparisons/index.mdx (100%) rename content/{200-concepts => 200-orm}/300-more/index.mdx (100%) create mode 100644 content/200-orm/index.mdx diff --git a/config.ts b/config.ts index 76f0f92bc3..3392b58a2a 100644 --- a/config.ts +++ b/config.ts @@ -22,10 +22,10 @@ const siteConfig = { bucketName: '/100-getting-started', }, { - text: 'Concepts', - to: '/concepts', + text: 'ORM', + to: '/orm', type: 'bucket', - bucketName: '/200-concepts', + bucketName: '/200-orm', }, { text: 'Guides', diff --git a/content/200-concepts/200-database-connectors/07-mongodb.mdx b/content/200-concepts/200-database-connectors/07-mongodb.mdx deleted file mode 100644 index 0c0f05abbd..0000000000 --- a/content/200-concepts/200-database-connectors/07-mongodb.mdx +++ /dev/null @@ -1,244 +0,0 @@ ---- -title: 'MongoDB' -metaTitle: 'MongoDB database connector' -metaDescription: 'How Prisma can connect to a MongoDB database using the MongoDB database connector.' -hidePage: false -tocDepth: 3 -codeStyle: false ---- - - - -The MongoDB data source connector connects Prisma to a hosted [MongoDB](https://www.mongodb.com/) instance. - - - -To connect Prisma with MongoDB, refer to our [Getting Started documentation](/getting-started/setup-prisma/start-from-scratch/mongodb-typescript-mongodb). - - - - - -## Example - -To connect to a MongoDB server, configure the [`datasource`](/concepts/components/prisma-schema/data-sources) block in your [Prisma schema file](/concepts/components/prisma-schema): - -```prisma file=schema.prisma -datasource db { - provider = "mongodb" - url = env("DATABASE_URL") -} -``` - -The fields passed to the `datasource` block are: - -- `provider`: Specifies the `mongodb` data source connector. -- `url`: Specifies the [connection URL](#connection-url) for the MongoDB server. In this case, an [environment variable is used](/guides/development-environment/environment-variables) to provide the connection URL. - - - -The MongoDB database connector uses transactions to support nested writes. Transactions **require** a [replica set](https://docs.mongodb.com/manual/tutorial/deploy-replica-set/) deployment. The easiest way to deploy a replica set is with [Atlas](https://docs.atlas.mongodb.com/getting-started/). It's free to get started. - - - -## Connection details - -### Connection URL - -The MongoDB connection URL can be configured in different ways depending on how you are hosting your database. The standard configuration is made up of the following components: - -![Structure of the MongoDB connection URL](./mongodb.png) - -#### Base URL and path - -The base URL and path sections of the connection URL are made up of your authentication credentials followed by the host (and optionally, a port number) and database. - -``` -mongodb://USERNAME:PASSWORD@HOST/DATABASE -``` - -The following components make up the _base URL_ of your database: - -| Name | Placeholder | Description | -| :------- | :---------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| User | `USERNAME` | Name of your database user, e.g. `janedoe` | -| Password | `PASSWORD` | Password for your database user | -| Host | `HOST` | The host where a [`mongod`](https://docs.mongodb.com/manual/reference/program/mongod/#mongodb-binary-bin.mongod) instance is running. If you are running a sharded cluster this will a [`mongos`](https://docs.mongodb.com/manual/reference/program/mongos/#mongodb-binary-bin.mongos) instance. This can be a hostname, IP address or UNIX domain socket. | -| Port | `PORT` | Port on which your database server is running, e.g. `1234`. If none is provided the default `27017` is used. | -| Database | `DATABASE` | Name of the database to use. If none is specified but the `authSource` option is set then the `authSource` database name is used. If neither the database in the connection string nor the `authSource` option is specified then it defaults to `admin` | - - - -You must [percentage-encode special characters](/reference/database-reference/connection-urls#special-characters). - - - -#### Arguments - -A connection URL can also take arguments. The following example sets three arguments: - -- An `ssl` connection -- A `connectTimeoutMS` -- And the `maxPoolSize` - -``` -mongodb://USERNAME:PASSWORD@HOST/DATABASE?ssl=true&connectTimeoutMS=5000&maxPoolSize=50 -``` - -Refer to the [MongoDB connection string documentation](https://docs.mongodb.com/manual/reference/connection-string/#connection-string-options) for a complete list of connection string arguments. There are no Prisma-specific arguments. - -## Using ObjectId - -It is common practice for the `_id` field of a MongoDB document to contain an [ObjectId](https://docs.mongodb.com/manual/reference/bson-types/#std-label-objectid): - -```json -{ - "_id": { "$oid": "60d599cb001ef98000f2cad2" }, - "createdAt": { "$date": { "$numberLong": "1624611275577" } }, - "email": "ella@prisma.io", - "name": "Ella", - "role": "ADMIN" -} -``` - -Any field (most commonly IDs and relation scalar fields) that maps to an `ObjectId` in the underlying database: - -- Must be of type `String` or `Bytes` -- Must include the `@db.ObjectId` attribute -- Can optionally use `@default(auto())` to auto-generate a valid `ObjectId` on document creation - -Here is an example that uses `String`: - -```prisma -model User { - id String @id @default(auto()) @map("_id") @db.ObjectId - // Other fields -} -``` - -And here is another example that uses `Bytes`: - -```prisma -model User { - id Bytes @id @default(auto()) @map("_id") @db.ObjectId - // Other fields -} -``` - -See also: [Defining ID fields in MongoDB](/concepts/components/prisma-schema/data-model#defining-ids-in-mongodb) - -### Generating `ObjectId` - -To generate a valid `ObjectId` (for testing purposes or to manually set an ID field value) in your application, use the [`bson`](https://www.npmjs.com/package/bson) package. - -``` -npm install --save bson -``` - -```ts -import { ObjectId } from 'bson' - -const id = new ObjectId() -``` - -## Differences to connectors for relational databases - -This section covers ways in which the MongoDB connector differs from Prisma connectors for relational databases. - -### No support for Prisma Migrate - -Currently, there are no plans to add support for [Prisma Migrate](/concepts/components/prisma-migrate) as MongoDB projects do not rely on internal schemas where changes need to be managed with an extra tool. Management of `@unique` indexes is realized through `db push`. - -### No support for @@id and autoincrement() - -The [`@@id`](/reference/api-reference/prisma-schema-reference#id-1) attribute (an ID for multiple fields) is not supported because primary keys in MongoDB are always on the `_id` field of a model. - -The [`autoincrement()`](/reference/api-reference/prisma-schema-reference#generate-autoincrementing-integers-as-ids) function (which creates incrementing `@id` values) is not supported because `autoincrement()` does not work with the `ObjectID` type that the `_id` field has in MongoDB. - - - -### Cyclic references and referential actions - -If you have cyclic references in your models, either from self-relations or a cycle of relations between models, and you use [referential actions](/concepts/components/prisma-schema/relations/referential-actions), you must set a referential action of `NoAction` to prevent an infinite loop of actions. - -See [Special rules for referential actions](/concepts/components/prisma-schema/relations/referential-actions/special-rules-for-referential-actions) for more details. - -### Replica set configuration - -MongoDB only allows you to start a transaction on a replica set. Prisma uses transactions internally to avoid partial writes on nested queries. This means we inherit the requirement of needing a replica set configured. - -When you try to use Prisma's MongoDB connector on a deployment that has no replica set configured, Prisma shows the message `Error: Transactions are not supported by this deployment`. The full text of the error message is the following: - -``` -PrismaClientUnknownRequestError2 [PrismaClientUnknownRequestError]: -Invalid `prisma.post.create()` invocation in -/index.ts:9:21 - - 6 await prisma.$connect() - 7 - 8 // Create the first post -→ 9 await prisma.post.create( - Error in connector: Database error. error code: unknown, error message: Transactions are not supported by this deployment - at cb (/node_modules/@prisma/client/runtime/index.js:34804:17) - at processTicksAndRejections (internal/process/task_queues.js:97:5) { - clientVersion: '3.xx.0' -} -``` - -To resolve this, we suggest you change your deployment to one with a replica set configured. - -One simple way for this is to use [MongoDB Atlas](https://www.mongodb.com/cloud/atlas) to launch a free instance that has replica set support out of the box. - -There's also an option to run the replica set locally with this guide: https://docs.mongodb.com/manual/tutorial/convert-standalone-to-replica-set - -## Type mapping between MongoDB and the Prisma schema - -The MongoDB connector maps the [scalar types](/concepts/components/prisma-schema/data-model#scalar-fields) from the Prisma [data model](/concepts/components/prisma-schema/data-model) to MongoDB's native column types as follows: - -> Alternatively, see [Prisma schema reference](/reference/api-reference/prisma-schema-reference#model-field-scalar-types) for type mappings organized by Prisma type. - -### Native type mapping from Prisma to MongoDB - -| Prisma | MongoDB | -| ---------- | ---------------------------------------------------------------------- | -| `String` | `string` | -| `Boolean` | `bool` | -| `Int` | `int` | -| `BigInt` | `long` | -| `Float` | `double` | -| `Decimal` | [Currently unsupported](https://github.com/prisma/prisma/issues/12637) | -| `DateTime` | `timestamp` | -| `Bytes` | `binData` | -| `Json` | | - -MongoDB types that are currently unsupported: - -- `Decimal128` -- `Undefined` -- `DBPointer` -- `Null` -- `Symbol` -- `MinKey` -- `MaxKey` -- `Object` -- `Javascript` -- `JavascriptWithScope` -- `Regex` - -### Mapping from MongoDB to Prisma types on Introspection - -When introspecting a MongoDB database, Prisma uses the relevant [scalar types](/concepts/components/prisma-schema/data-model#scalar-fields). Some special types also get additional native type annotations: - -| MongoDB (Type \| Aliases) | Prisma | Supported | Native database type attribute | Notes | -| ------------------------- | -------- | :-------: | :----------------------------- | :---- | -| `objectId` | `String` | ✔️ | `@db.ObjectId` | | - -[Introspection](/concepts/components/introspection) adds native database types that are **not yet supported** as [`Unsupported`](/reference/api-reference/prisma-schema-reference#unsupported) fields: - -```prisma file=schema.prisma -model Example { - id String @id @default(auto()) @map("_id") @db.ObjectId - name String - regex Unsupported("RegularExpression") -} -``` diff --git a/content/200-concepts/index.mdx b/content/200-concepts/index.mdx deleted file mode 100644 index e81e79036c..0000000000 --- a/content/200-concepts/index.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: 'Concepts' -metaTitle: 'Concepts' -metaDescription: 'Concepts' -toc: false ---- - - - -The concepts section of the documentation is a collection of topics that aim to expand upon and give explanation to, the different components that make up the Prisma ORM. - -The topics are organized into the following categories: - - - - - diff --git a/content/200-concepts/050-overview/200-why-prisma.mdx b/content/200-orm/050-overview/100-introduction/200-why-prisma.mdx similarity index 100% rename from content/200-concepts/050-overview/200-why-prisma.mdx rename to content/200-orm/050-overview/100-introduction/200-why-prisma.mdx diff --git a/content/200-concepts/050-overview/250-should-you-use-prisma.mdx b/content/200-orm/050-overview/100-introduction/250-should-you-use-prisma.mdx similarity index 100% rename from content/200-concepts/050-overview/250-should-you-use-prisma.mdx rename to content/200-orm/050-overview/100-introduction/250-should-you-use-prisma.mdx diff --git a/content/200-concepts/050-overview/100-what-is-prisma/100-data-modeling.mdx b/content/200-orm/050-overview/100-introduction/300-data-modeling.mdx similarity index 100% rename from content/200-concepts/050-overview/100-what-is-prisma/100-data-modeling.mdx rename to content/200-orm/050-overview/100-introduction/300-data-modeling.mdx diff --git a/content/200-concepts/050-overview/100-what-is-prisma/index.mdx b/content/200-orm/050-overview/100-introduction/50-what-is-prisma.mdx similarity index 96% rename from content/200-concepts/050-overview/100-what-is-prisma/index.mdx rename to content/200-orm/050-overview/100-introduction/50-what-is-prisma.mdx index 33ed1cfb59..ded28dd986 100644 --- a/content/200-concepts/050-overview/100-what-is-prisma/index.mdx +++ b/content/200-orm/050-overview/100-introduction/50-what-is-prisma.mdx @@ -4,16 +4,6 @@ metaTitle: 'What is Prisma? (Overview)' metaDescription: "This page gives a high-level overview of what Prisma is and how it works. It's a great starting point for Prisma newcomers!" --- - - -This page gives a high-level overview of what Prisma is and how it works. - -If you want to get started with a _practical introduction_ and learn about the Prisma Client API, head over to the [**Getting Started**](/getting-started) documentation. - -To learn more about the _motivation_ for Prisma, check out the [**Why Prisma?**](/concepts/overview/why-prisma) page. - - - ## What is Prisma? Prisma is an [open source](https://github.com/prisma/prisma) next-generation ORM. It consists of the following parts: diff --git a/content/200-orm/050-overview/100-introduction/index.mdx b/content/200-orm/050-overview/100-introduction/index.mdx new file mode 100644 index 0000000000..3742bd226f --- /dev/null +++ b/content/200-orm/050-overview/100-introduction/index.mdx @@ -0,0 +1,19 @@ +--- +title: 'Introduction' +metaTitle: 'Introduction (Overview)' +metaDescription: "This section gives a high-level overview of what Prisma is and how it works. It's a great starting point for Prisma newcomers!" +--- + + + +This page gives a high-level overview of what Prisma is and how it works. + +If you want to get started with a _practical introduction_ and learn about the Prisma Client API, head over to the [**Getting Started**](/getting-started) documentation. + +To learn more about the _motivation_ for Prisma, check out the [**Why Prisma?**](/concepts/overview/why-prisma) page. + + + +## In this section + + diff --git a/content/200-concepts/050-overview/300-prisma-in-your-stack/01-rest.md b/content/200-orm/050-overview/300-prisma-in-your-stack/01-rest.md similarity index 99% rename from content/200-concepts/050-overview/300-prisma-in-your-stack/01-rest.md rename to content/200-orm/050-overview/300-prisma-in-your-stack/01-rest.md index 47673b7a76..7872523333 100644 --- a/content/200-concepts/050-overview/300-prisma-in-your-stack/01-rest.md +++ b/content/200-orm/050-overview/300-prisma-in-your-stack/01-rest.md @@ -31,7 +31,7 @@ Here's a non-exhaustive list of libraries and frameworks you can use with Prisma - [Micro](https://github.com/zeit/micro) - [Feathers](https://feathersjs.com/) - [Remix](https://remix.run/) - + ## REST API server example Assume you have a Prisma schema that looks similar to this: diff --git a/content/200-concepts/050-overview/300-prisma-in-your-stack/02-graphql.md b/content/200-orm/050-overview/300-prisma-in-your-stack/02-graphql.md similarity index 100% rename from content/200-concepts/050-overview/300-prisma-in-your-stack/02-graphql.md rename to content/200-orm/050-overview/300-prisma-in-your-stack/02-graphql.md diff --git a/content/200-concepts/050-overview/300-prisma-in-your-stack/03-fullstack.mdx b/content/200-orm/050-overview/300-prisma-in-your-stack/03-fullstack.mdx similarity index 100% rename from content/200-concepts/050-overview/300-prisma-in-your-stack/03-fullstack.mdx rename to content/200-orm/050-overview/300-prisma-in-your-stack/03-fullstack.mdx diff --git a/content/200-concepts/050-overview/300-prisma-in-your-stack/04-is-prisma-an-orm.mdx b/content/200-orm/050-overview/300-prisma-in-your-stack/04-is-prisma-an-orm.mdx similarity index 100% rename from content/200-concepts/050-overview/300-prisma-in-your-stack/04-is-prisma-an-orm.mdx rename to content/200-orm/050-overview/300-prisma-in-your-stack/04-is-prisma-an-orm.mdx diff --git a/content/200-concepts/050-overview/300-prisma-in-your-stack/index.mdx b/content/200-orm/050-overview/300-prisma-in-your-stack/index.mdx similarity index 100% rename from content/200-concepts/050-overview/300-prisma-in-your-stack/index.mdx rename to content/200-orm/050-overview/300-prisma-in-your-stack/index.mdx diff --git a/content/200-concepts/100-components/database-drivers.mdx b/content/200-orm/050-overview/500-databases/01-database-drivers.mdx similarity index 100% rename from content/200-concepts/100-components/database-drivers.mdx rename to content/200-orm/050-overview/500-databases/01-database-drivers.mdx diff --git a/content/200-concepts/200-database-connectors/03-postgresql.mdx b/content/200-orm/050-overview/500-databases/03-postgresql.mdx similarity index 99% rename from content/200-concepts/200-database-connectors/03-postgresql.mdx rename to content/200-orm/050-overview/500-databases/03-postgresql.mdx index 286545250f..9082af73e4 100644 --- a/content/200-concepts/200-database-connectors/03-postgresql.mdx +++ b/content/200-orm/050-overview/500-databases/03-postgresql.mdx @@ -85,7 +85,7 @@ The following arguments can be used: | `host` | No | | Points to a directory that contains a socket to be used for the connection | | `socket_timeout` | No | | Maximum number of seconds to wait until a single query terminates | | `pgbouncer` | No | `false` | Configure the Engine to [enable PgBouncer compatibility mode](/guides/performance-and-optimization/connection-management/configure-pg-bouncer) | -| `statement_cache_size` | No | `500` | Since 2.1.0: Specifies the number of [prepared statements](#prepared-statement-caching) cached per connection | +| `statement_cache_size` | No | `500` | Since 2.1.0: Specifies the number of [prepared statements](#prepared-statement-caching) cached per connection | | `application_name` | No | | Since 3.3.0: Specifies a value for the application_name configuration parameter | | `channel_binding` | No | `prefer` | Since 4.8.0: Specifies a value for the channel_binding configuration parameter | | `options` | No | | Since 3.8.0: Specifies command line options to send to the server at connection start | @@ -226,8 +226,7 @@ A [prepared statement](https://www.postgresql.org/docs/current/sql-prepare.html) By caching prepared statements, Prisma Client's [query engine](https://www.prisma.io/docs/concepts/components/prisma-engines/query-engine) does not repeatedly compile the same query which reduces database CPU usage and query latency. - -For example, here is the generated SQL for two different queries made by Prisma Client: +For example, here is the generated SQL for two different queries made by Prisma Client: ```sql SELECT * FROM user WHERE name = "John"; @@ -240,7 +239,6 @@ The two queries after parameterization will be the same, and the second query ca SELECT * FROM user WHERE name = $1 ``` - Every database connection maintained by Prisma has a separate cache for storing prepared statements. The size of this cache can be tweaked with the `statement_cache_size` parameter in the connection string. By default, Prisma Client caches 500 statements per connection. Due to the nature of pgBouncer, if the `pgbouncer` parameter is set to `true`, the prepared statement cache is automatically disabled for that connection. diff --git a/content/200-concepts/200-database-connectors/04-mysql.mdx b/content/200-orm/050-overview/500-databases/04-mysql.mdx similarity index 100% rename from content/200-concepts/200-database-connectors/04-mysql.mdx rename to content/200-orm/050-overview/500-databases/04-mysql.mdx diff --git a/content/200-concepts/200-database-connectors/05-sqlite.mdx b/content/200-orm/050-overview/500-databases/05-sqlite.mdx similarity index 100% rename from content/200-concepts/200-database-connectors/05-sqlite.mdx rename to content/200-orm/050-overview/500-databases/05-sqlite.mdx diff --git a/content/200-orm/050-overview/500-databases/07-mongodb.mdx b/content/200-orm/050-overview/500-databases/07-mongodb.mdx new file mode 100644 index 0000000000..5b6f759c5d --- /dev/null +++ b/content/200-orm/050-overview/500-databases/07-mongodb.mdx @@ -0,0 +1,575 @@ +--- +title: 'MongoDB' +metaTitle: 'MongoDB database connector' +metaDescription: 'How Prisma can connect to a MongoDB database using the MongoDB database connector.' +hidePage: false +tocDepth: 3 +codeStyle: false +--- + + + +This guide discusses the concepts behind using Prisma and MongoDB, explains the commonalities and differences between MongoDB and other database providers, and leads you through the process for configuring your application to integrate with MongoDB using Prisma. + + + +To connect Prisma with MongoDB, refer to our [Getting Started documentation](/getting-started/setup-prisma/start-from-scratch/mongodb-typescript-mongodb). + + + + + +## What is MongoDB? + +[MongoDB](https://www.mongodb.com/) is a NoSQL database that stores data in [BSON](https://bsonspec.org/) format, a JSON-like document format designed for storing data in key-value pairs. It is commonly used in JavaScript application development because the document model maps easily to objects in application code, and there is built in support for high availability and horizontal scaling. + +MongoDB stores data in collections that do not need a schema to be defined in advance, as you would need to do with tables in a relational database. The structure of each collection can also be changed over time. This flexibility can allow rapid iteration of your data model, but it does mean that there are a number of differences when using Prisma to work with your MongoDB database. + +## Commonalities with other database providers + +Some aspects of using Prisma with MongoDB are the same as when using Prisma with a relational database. You can still: + +- model your database with the [Prisma Schema Language](/concepts/components/prisma-schema) +- connect to your database, using the [`mongodb` database connector](/concepts/database-connectors/mongodb) +- use [Introspection](/concepts/components/introspection) for existing projects if you already have a MongoDB database +- use [`db push`](/concepts/components/prisma-migrate/db-push) to push changes in your schema to the database +- use [Prisma Client](/concepts/components/prisma-client) in your application to query your database in a type safe way based on your Prisma Schema + +## Differences to consider + +MongoDB's document-based structure and flexible schemas means that using Prisma with MongoDB differs from using it with a relational database in a number of ways. These are some areas where there are differences that you need to be aware of: + +- **Defining IDs**: MongoDB documents have an `_id` field (that often contains an [ObjectID](https://www.mongodb.com/docs/manual/reference/bson-types/#std-label-objectid)). Prisma does not support fields starting with `_`, so this needs to be mapped to a Prisma field using the `@map` attribute. For more information, see [Defining IDs in MongoDB](/concepts/components/prisma-schema/data-model#defining-ids-in-mongodb). + +- **Migrating existing data to match your Prisma schema**: In relational databases, all your data must match your schema. If you change the type of a particular field in your schema when you migrate, all the data must also be updated to match. In contrast, MongoDB does not enforce any particular schema, so you need to take care when migrating. For more information, see [How to migrate old data to new schemas](#how-to-migrate-existing-data-to-match-your-prisma-schema). + +- **Introspection and Prisma relations**: When you introspect an existing MongoDB database, you will get a schema with no relations and will need to add the missing relations in manually. For more information, see [How to add in missing relations after Introspection](#how-to-add-in-missing-relations-after-introspection). + +- **Filtering for `null` and missing fields**: MongoDB makes a distinction between setting a field to `null` and not setting it at all, which is not present in relational databases. Prisma currently does not express this distinction, which means that you need to be careful when filtering for `null` and missing fields. For more information, see [How to filter for `null` and missing fields](#how-to-filter-for-null-and-missing-fields) + +- **Enabling replication**: Prisma uses [MongoDB transactions](https://www.mongodb.com/docs/manual/core/transactions/) internally to avoid partial writes on nested queries. When using transactions, MongoDB requires replication of your data set to be enabled. To do this, you will need to configure a [replica set](https://www.mongodb.com/docs/manual/replication/) — this is a group of MongoDB processes that maintain the same data set. Note that it is still possible to use a single database, by creating a replica set with only one node in it. If you use MongoDB's [Atlas](https://www.mongodb.com/atlas/database) hosting service, the replica set is configured for you, but if you are running MongoDB locally you will need to set up a replica set yourself. For more information, see MongoDB's [guide to deploying a replica set](https://www.mongodb.com/docs/manual/tutorial/deploy-replica-set/). + +## How to use Prisma with MongoDB + +This section provides instructions for how to carry out tasks that require steps specific to MongoDB. + +### How to migrate existing data to match your Prisma schema + +Migrating your database over time is an important part of the development cycle. During development, you will need to update your Prisma schema file (for example, to add new fields), then update the data in your development environment’s database, and eventually push both the updated schema and the new data to the production database. + + + +When using MongoDB, be aware that the “coupling” between your schema and the database is purposefully designed to be less rigid than with with SQL databases; MongoDB will not enforce the schema, so you have to verify data integrity. + + + +These iterative tasks of updating the schema and the database can result in inconsistencies between your schema and the actual data in the database. Let’s look at one scenario where this can happen, and then examine several strategies for you and your team to consider for handling these inconsistencies. + +**Scenario**: you need to include a phone number for users, as well as an email. You currently have the following `User` model in your `schema.prisma` file: + +```prisma file=prisma/schema.prisma +model User { + id String @id @default(auto()) @map("_id") @db.ObjectId + email String +} +``` + +There are a number of strategies you could use for migrating this schema: + +- **"On-demand" updates**: with this strategy, you and your team have agreed that updates can be made to the schema as needed. However, in order to avoid migration failures due to inconsistencies between the data and schema, there is agreement in the team that any new fields added are explicitly defined as optional. + + In our scenario above, you can add an optional `phoneNumber` field to the `User` model in your Prisma schema: + + ```prisma file=prisma/schema.prisma highlight=4;add + model User { + id String @id @default(auto()) @map("_id") @db.ObjectId + email String + phoneNumber String? + } + ``` + + Then regenerate your Prisma Client using the `npx prisma generate` command. Next, update your application to reflect the new field, and redeploy your app. + + As the `phoneNumber` field is optional, you can still query the old users where the phone number has not been defined. The records in the database will be updated "on demand" as the application's users begin to enter their phone number in the new field. + + Another option is to add a default value on a required field, for example: + + ```prisma file=prisma/schema.prisma highlight=4;add + model User { + id String @id @default(auto()) @map("_id") @db.ObjectId + email String + phoneNumber String @default("000-000-0000") + } + ``` + + Then when you encounter a missing `phoneNumber`, the value will be coerced into `000-000-0000`. + +- **"No breaking changes" updates**: this strategy builds on the first one, with further consensus amongst your team that you don't rename or delete fields, only add new fields, and always define the new fields as optional. This policy can be reenforced by adding checks in the CI/CD process to verify that there are no backwards-incompatible changes to the schema. + +- **"All-at-once" updates**: this strategy is similar to traditional migrations in relational databases, where all data is updated to reflect the new schema. In the scenario above, you would create a script to add a value for the phone number field to all existing users in your database. You can then make the field a required field in the application because the schema and the data are consistent. + +### How to add in missing relations after Introspection + +After introspecting an existing MongoDB database, you will need to manually add in relations between models. MongoDB does not have the concept of defining relations via foreign keys, as you would in a relational database. However, if you have a collection in MongoDB with a "foreign-key-like" field that matches the ID field of another collection, Prisma will allow you to emulate relations between the collections. + +As an example, take a MongoDB database with two collections, `User` and `Post`. The data in these collections has the following format, with a `userId` field linking users to posts: + +`User` collection: + +- `_id` field with a type of `objectId` +- `email` field with a type of `string` + +`Post` collection: + +- `_id` field with a type of `objectId` +- `title` field with a type of `string` +- `userId` with a type of `objectID` + +On introspection with `db pull`, this is pulled in to the Prisma schema file as follows: + +```prisma file=prisma/schema.prisma +model Post { + id String @id @default(auto()) @map("_id") @db.ObjectId + title String + userId String @db.ObjectId +} + +model User { + id String @id @default(auto()) @map("_id") @db.ObjectId + email String +} +``` + +This is missing the relation between the `User` and `Post` models. To fix this, manually add a `user` field to the `Post` model with a `@relation` attribute using `userId` as the `fields` value, linking it to the `User` model, and a `posts` field to the `User` model as the back relation: + +```prisma file=prisma/schema.prisma highlight=5;add|11;add +model Post { + id String @id @default(auto()) @map("_id") @db.ObjectId + title String + userId String @db.ObjectId + user User @relation(fields: [userId], references: [id]) +} + +model User { + id String @id @default(auto()) @map("_id") @db.ObjectId + email String + posts Post[] +} +``` + +For more information on how to use relations in Prisma, see [our documentation](/concepts/components/prisma-schema/relations). + +### How to filter for null and missing fields + +To understand how MongoDB distinguishes between `null` and missing fields, consider the example of a `User` model with an optional `name` field: + +```ts +model User { + id String @id @default(auto()) @map("_id") @db.ObjectId + email String + name String? +} +``` + +First, try creating a record with the `name` field explicitly set to `null`. Prisma will return `name: null` as expected: + + + + + +```ts +const createNull = await prisma.user.create({ + data: { + email: 'user1@prisma.io', + name: null, + }, +}) +console.log(createNull) +``` + + + + + +```code no-copy +{ + id: '6242c4ae032bc76da250b207', + email: 'user1@prisma.io', + name: null +} +``` + + + + + +If you check your MongoDB database directly, you will also see a new record with `name` set to `null`: + +```json +{ + "_id": "6242c4af032bc76da250b207", + "email": "user1@prisma.io", + "name": null +} +``` + +Next, try creating a record without explicitly setting the `name` field: + + + + + +```ts +const createMissing = await prisma.user.create({ + data: { + email: 'user2@prisma.io', + }, +}) +console.log(createMissing) +``` + + + + + +```code no-copy +{ + id: '6242c4ae032bc76da250b208', + email: 'user2@prisma.io', + name: null +} +``` + + + + + +Prisma still returns `name: null`, but if you look in the database directly you will see that the record has no `name` field defined at all: + +```json +{ + "_id": "6242c4af032bc76da250b208", + "email": "user2@prisma.io" +} +``` + +Prisma returns the same result in both cases, because we currently don't have a way to specify this difference in MongoDB between fields that are `null` in the underlying database, and fields that are not defined at all — see [this Github issue](https://github.com/prisma/prisma/issues/12555) for more information. + +This means that you currently have to be careful when filtering for `null` and missing fields. Filtering for records with `name: null` will only return the first record, with the `name` explicitly set to `null`: + + + + + +```ts +const findNulls = await prisma.user.findMany({ + where: { + name: null, + }, +}) +console.log(findNulls) +``` + + + + + +```terminal no-copy +[ + { + id: '6242c4ae032bc76da250b207', + email: 'user1@prisma.io', + name: null + } +] +``` + + + + + +This is because `name: null` is checking for equality, and a non-existing field isn't equal to `null`. + +To include missing fields as well, use the [`isSet` filter](/reference/api-reference/prisma-client-reference#isset) to explicitly search for fields which are either `null` or not set. This will return both records: + + + + + +```ts +const findNullOrMissing = await prisma.user.findMany({ + where: { + OR: [ + { + name: null, + }, + { + name: { + isSet: false, + }, + }, + ], + }, +}) +console.log(findNullOrMissing) +``` + + + + + +```terminal no-copy +[ + { + id: '6242c4ae032bc76da250b207', + email: 'user1@prisma.io', + name: null + }, + { + id: '6242c4ae032bc76da250b208', + email: 'user2@prisma.io', + name: null + } +] +``` + + + + + +## More on using MongoDB with Prisma + +The fastest way to start using MongoDB with Prisma is to refer to our Getting Started documentation: + +- [Start from scratch](/getting-started/setup-prisma/start-from-scratch/mongodb-typescript-mongodb) +- [Add to existing project](/getting-started/setup-prisma/add-to-existing-project/mongodb-typescript-mongodb) + +These tutorials will take you through the process of connecting to MongoDB, pushing schema changes, and using Prisma Client. + +Further reference information is available in the [MongoDB connector documentation](/concepts/database-connectors/mongodb). + +For more information on how to set up and manage a MongoDB database, see the [Prisma Data Guide](https://www.prisma.io/dataguide#mongodb). + +## Example + +To connect to a MongoDB server, configure the [`datasource`](/concepts/components/prisma-schema/data-sources) block in your [Prisma schema file](/concepts/components/prisma-schema): + +```prisma file=schema.prisma +datasource db { + provider = "mongodb" + url = env("DATABASE_URL") +} +``` + +The fields passed to the `datasource` block are: + +- `provider`: Specifies the `mongodb` data source connector. +- `url`: Specifies the [connection URL](#connection-url) for the MongoDB server. In this case, an [environment variable is used](/guides/development-environment/environment-variables) to provide the connection URL. + + + +The MongoDB database connector uses transactions to support nested writes. Transactions **require** a [replica set](https://docs.mongodb.com/manual/tutorial/deploy-replica-set/) deployment. The easiest way to deploy a replica set is with [Atlas](https://docs.atlas.mongodb.com/getting-started/). It's free to get started. + + + +## Connection details + +### Connection URL + +The MongoDB connection URL can be configured in different ways depending on how you are hosting your database. The standard configuration is made up of the following components: + +![Structure of the MongoDB connection URL](./mongodb.png) + +#### Base URL and path + +The base URL and path sections of the connection URL are made up of your authentication credentials followed by the host (and optionally, a port number) and database. + +``` +mongodb://USERNAME:PASSWORD@HOST/DATABASE +``` + +The following components make up the _base URL_ of your database: + +| Name | Placeholder | Description | +| :------- | :---------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| User | `USERNAME` | Name of your database user, e.g. `janedoe` | +| Password | `PASSWORD` | Password for your database user | +| Host | `HOST` | The host where a [`mongod`](https://docs.mongodb.com/manual/reference/program/mongod/#mongodb-binary-bin.mongod) instance is running. If you are running a sharded cluster this will a [`mongos`](https://docs.mongodb.com/manual/reference/program/mongos/#mongodb-binary-bin.mongos) instance. This can be a hostname, IP address or UNIX domain socket. | +| Port | `PORT` | Port on which your database server is running, e.g. `1234`. If none is provided the default `27017` is used. | +| Database | `DATABASE` | Name of the database to use. If none is specified but the `authSource` option is set then the `authSource` database name is used. If neither the database in the connection string nor the `authSource` option is specified then it defaults to `admin` | + + + +You must [percentage-encode special characters](/reference/database-reference/connection-urls#special-characters). + + + +#### Arguments + +A connection URL can also take arguments. The following example sets three arguments: + +- An `ssl` connection +- A `connectTimeoutMS` +- And the `maxPoolSize` + +``` +mongodb://USERNAME:PASSWORD@HOST/DATABASE?ssl=true&connectTimeoutMS=5000&maxPoolSize=50 +``` + +Refer to the [MongoDB connection string documentation](https://docs.mongodb.com/manual/reference/connection-string/#connection-string-options) for a complete list of connection string arguments. There are no Prisma-specific arguments. + +## Using ObjectId + +It is common practice for the `_id` field of a MongoDB document to contain an [ObjectId](https://docs.mongodb.com/manual/reference/bson-types/#std-label-objectid): + +```json +{ + "_id": { "$oid": "60d599cb001ef98000f2cad2" }, + "createdAt": { "$date": { "$numberLong": "1624611275577" } }, + "email": "ella@prisma.io", + "name": "Ella", + "role": "ADMIN" +} +``` + +Any field (most commonly IDs and relation scalar fields) that maps to an `ObjectId` in the underlying database: + +- Must be of type `String` or `Bytes` +- Must include the `@db.ObjectId` attribute +- Can optionally use `@default(auto())` to auto-generate a valid `ObjectId` on document creation + +Here is an example that uses `String`: + +```prisma +model User { + id String @id @default(auto()) @map("_id") @db.ObjectId + // Other fields +} +``` + +And here is another example that uses `Bytes`: + +```prisma +model User { + id Bytes @id @default(auto()) @map("_id") @db.ObjectId + // Other fields +} +``` + +See also: [Defining ID fields in MongoDB](/concepts/components/prisma-schema/data-model#defining-ids-in-mongodb) + +### Generating `ObjectId` + +To generate a valid `ObjectId` (for testing purposes or to manually set an ID field value) in your application, use the [`bson`](https://www.npmjs.com/package/bson) package. + +``` +npm install --save bson +``` + +```ts +import { ObjectId } from 'bson' + +const id = new ObjectId() +``` + +## Differences to connectors for relational databases + +This section covers ways in which the MongoDB connector differs from Prisma connectors for relational databases. + +### No support for Prisma Migrate + +Currently, there are no plans to add support for [Prisma Migrate](/concepts/components/prisma-migrate) as MongoDB projects do not rely on internal schemas where changes need to be managed with an extra tool. Management of `@unique` indexes is realized through `db push`. + +### No support for @@id and autoincrement() + +The [`@@id`](/reference/api-reference/prisma-schema-reference#id-1) attribute (an ID for multiple fields) is not supported because primary keys in MongoDB are always on the `_id` field of a model. + +The [`autoincrement()`](/reference/api-reference/prisma-schema-reference#generate-autoincrementing-integers-as-ids) function (which creates incrementing `@id` values) is not supported because `autoincrement()` does not work with the `ObjectID` type that the `_id` field has in MongoDB. + + + +### Cyclic references and referential actions + +If you have cyclic references in your models, either from self-relations or a cycle of relations between models, and you use [referential actions](/concepts/components/prisma-schema/relations/referential-actions), you must set a referential action of `NoAction` to prevent an infinite loop of actions. + +See [Special rules for referential actions](/concepts/components/prisma-schema/relations/referential-actions/special-rules-for-referential-actions) for more details. + +### Replica set configuration + +MongoDB only allows you to start a transaction on a replica set. Prisma uses transactions internally to avoid partial writes on nested queries. This means we inherit the requirement of needing a replica set configured. + +When you try to use Prisma's MongoDB connector on a deployment that has no replica set configured, Prisma shows the message `Error: Transactions are not supported by this deployment`. The full text of the error message is the following: + +``` +PrismaClientUnknownRequestError2 [PrismaClientUnknownRequestError]: +Invalid `prisma.post.create()` invocation in +/index.ts:9:21 + + 6 await prisma.$connect() + 7 + 8 // Create the first post +→ 9 await prisma.post.create( + Error in connector: Database error. error code: unknown, error message: Transactions are not supported by this deployment + at cb (/node_modules/@prisma/client/runtime/index.js:34804:17) + at processTicksAndRejections (internal/process/task_queues.js:97:5) { + clientVersion: '3.xx.0' +} +``` + +To resolve this, we suggest you change your deployment to one with a replica set configured. + +One simple way for this is to use [MongoDB Atlas](https://www.mongodb.com/cloud/atlas) to launch a free instance that has replica set support out of the box. + +There's also an option to run the replica set locally with this guide: https://docs.mongodb.com/manual/tutorial/convert-standalone-to-replica-set + +## Type mapping between MongoDB and the Prisma schema + +The MongoDB connector maps the [scalar types](/concepts/components/prisma-schema/data-model#scalar-fields) from the Prisma [data model](/concepts/components/prisma-schema/data-model) to MongoDB's native column types as follows: + +> Alternatively, see [Prisma schema reference](/reference/api-reference/prisma-schema-reference#model-field-scalar-types) for type mappings organized by Prisma type. + +### Native type mapping from Prisma to MongoDB + +| Prisma | MongoDB | +| ---------- | ---------------------------------------------------------------------- | +| `String` | `string` | +| `Boolean` | `bool` | +| `Int` | `int` | +| `BigInt` | `long` | +| `Float` | `double` | +| `Decimal` | [Currently unsupported](https://github.com/prisma/prisma/issues/12637) | +| `DateTime` | `timestamp` | +| `Bytes` | `binData` | +| `Json` | | + +MongoDB types that are currently unsupported: + +- `Decimal128` +- `Undefined` +- `DBPointer` +- `Null` +- `Symbol` +- `MinKey` +- `MaxKey` +- `Object` +- `Javascript` +- `JavascriptWithScope` +- `Regex` + +### Mapping from MongoDB to Prisma types on Introspection + +When introspecting a MongoDB database, Prisma uses the relevant [scalar types](/concepts/components/prisma-schema/data-model#scalar-fields). Some special types also get additional native type annotations: + +| MongoDB (Type \| Aliases) | Prisma | Supported | Native database type attribute | Notes | +| ------------------------- | -------- | :-------: | :----------------------------- | :---- | +| `objectId` | `String` | ✔️ | `@db.ObjectId` | | + +[Introspection](/concepts/components/introspection) adds native database types that are **not yet supported** as [`Unsupported`](/reference/api-reference/prisma-schema-reference#unsupported) fields: + +```prisma file=schema.prisma +model Example { + id String @id @default(auto()) @map("_id") @db.ObjectId + name String + regex Unsupported("RegularExpression") +} +``` diff --git a/content/200-concepts/200-database-connectors/08-cockroachdb.mdx b/content/200-orm/050-overview/500-databases/08-cockroachdb.mdx similarity index 100% rename from content/200-concepts/200-database-connectors/08-cockroachdb.mdx rename to content/200-orm/050-overview/500-databases/08-cockroachdb.mdx diff --git a/content/200-concepts/200-database-connectors/08-sql-server/020-sql-server-local.mdx b/content/200-orm/050-overview/500-databases/08-sql-server/020-sql-server-local.mdx similarity index 100% rename from content/200-concepts/200-database-connectors/08-sql-server/020-sql-server-local.mdx rename to content/200-orm/050-overview/500-databases/08-sql-server/020-sql-server-local.mdx diff --git a/content/200-concepts/200-database-connectors/08-sql-server/030-sql-server-docker.mdx b/content/200-orm/050-overview/500-databases/08-sql-server/030-sql-server-docker.mdx similarity index 100% rename from content/200-concepts/200-database-connectors/08-sql-server/030-sql-server-docker.mdx rename to content/200-orm/050-overview/500-databases/08-sql-server/030-sql-server-docker.mdx diff --git a/content/200-concepts/200-database-connectors/08-sql-server/index.mdx b/content/200-orm/050-overview/500-databases/08-sql-server/index.mdx similarity index 100% rename from content/200-concepts/200-database-connectors/08-sql-server/index.mdx rename to content/200-orm/050-overview/500-databases/08-sql-server/index.mdx diff --git a/content/200-orm/050-overview/500-databases/850-planetscale.mdx b/content/200-orm/050-overview/500-databases/850-planetscale.mdx new file mode 100644 index 0000000000..28fb441835 --- /dev/null +++ b/content/200-orm/050-overview/500-databases/850-planetscale.mdx @@ -0,0 +1,318 @@ +--- +title: 'PlanetScale' +metaTitle: 'PlanetScale' +metaDescription: 'Guide to PlanetScale' +tocDepth: 3 +toc: true +--- + + + +Prisma and [PlanetScale](https://planetscale.com/) together provide a development arena that optimizes rapid, type-safe development of data access applications, using Prisma's ORM and PlanetScale's highly scalable MySQL-based platform. + +This document discusses the concepts behind using Prisma and PlanetScale, explains the commonalities and differences between PlanetScale and other database providers, and leads you through the process for configuring your application to integrate with PlanetScale. + + + +## What is PlanetScale? + +PlanetScale uses the [Vitess](https://vitess.io/) database clustering system to provide a MySQL-compatible database platform. Features include: + +- **Enterprise scalability.** PlanetScale provides a highly available production database cluster that supports scaling across multiple database servers. This is particularly useful in a serverless context, as it avoids the problem of having to [manage connection limits](/guides/performance-and-optimization/connection-management#serverless-environments-faas). + +- **Database branches.** PlanetScale allows you to create [branches of your database schema](https://planetscale.com/docs/concepts/branching), so that you can test changes on a development branch before applying them to your production database. + +- **Support for [non-blocking schema changes](https://planetscale.com/docs/concepts/nonblocking-schema-changes).** PlanetScale provides a workflow that allows users to update database schemas without locking the database or causing downtime. + +## Commonalities with other database providers + +Many aspects of using Prisma with PlanetScale are just like using Prisma with any other relational database. You can still: + +- model your database with the [Prisma Schema Language](/concepts/components/prisma-schema) +- use Prisma's existing [`mysql` database connector](/concepts/database-connectors/mysql) in your schema, along with the [connection string PlanetScale provides you](https://planetscale.com/docs/concepts/connection-strings) +- use [Introspection](/concepts/components/introspection) for existing projects if you already have a database schema in PlanetScale +- use [`db push`](/concepts/components/prisma-migrate/db-push) to push changes in your schema to the database +- use [Prisma Client](/concepts/components/prisma-client) in your application to talk to the database server at PlanetScale + +## Differences to consider + +PlanetScale's branching model and design for scalability means that there are also a number of differences to consider. You should be aware of the following points when deciding to use PlanetScale with Prisma: + +- **Branching and deploy requests.** PlanetScale provides two types of database branches: _development branches_, which allow you to test out schema changes, and _production branches_, which are protected from direct schema changes. Instead, changes must be first created on a development branch and then deployed to production using a deploy request. Production branches are highly available and include automated daily backups. To learn more, see [How to use branches and deploy requests](#how-to-use-branches-and-deploy-requests). + +- **Referential actions and integrity.** To support scaling across multiple database servers, PlanetScale [does not allow the use of foreign key constraints](https://planetscale.com/docs/learn/operating-without-foreign-key-constraints), which are normally used in relational databases to enforce relationships between data in different tables, and asks users to handle this manually in their applications. + With Prisma you can maintain these relationships in your data and allow the use of [referential actions](/concepts/components/prisma-schema/relations/referential-actions) by using Prisma's ability to [emulate relations in Prisma Client](/concepts/components/prisma-schema/relations/relation-mode#emulate-relations-in-prisma-with-the-prisma-relation-mode) with the `prisma` relation mode. For more information, see [How to emulate relations in Prisma Client](#how-to-emulate-relations-in-prisma-client). + +- **Creating indexes on foreign keys.** When emulating relations in Prisma, you will need to create indexes on foreign keys. In a standard MySQL database, if a table has a column with a foreign key constraint, an index is automatically created on that column. Because PlanetScale does not support foreign keys, these indexes are [currently](https://github.com/prisma/prisma/issues/10611) not created when Prisma Client emulates relations, which can lead to issues with queries not being well optimised. To avoid this, you can create indexes in Prisma. For more information, see [How to create indexes on foreign keys](#how-to-create-indexes-on-foreign-keys). + +- **Making schema changes with `db push`.** When you merge a development branch into your production branch, PlanetScale will automatically compare the two schemas and generate its own schema diff. This means that Prisma's [`prisma migrate`](/concepts/components/prisma-migrate) workflow, which generates its own history of migration files, is not a natural fit when working with PlanetScale. These migration files may not reflect the actual schema changes run by PlanetScale when the branch is merged. + + + + Prisma recommends not using `prisma migrate` when making schema changes with PlanetScale. Instead, we recommend that you use the `prisma db push` command. + + + + For an example of how this works, see [How to make schema changes with `db push`](#how-to-make-schema-changes-with-db-push) + +- **Introspection**. When you introspect on an existing database, you will get a schema with no relations, as they are usually defined based on foreign keys that connect tables. Because PlanetScale does not support foreign keys, and you use Prisma to emulate relations, you will need to add the missing relations in manually. For more information, see [How to add in missing relations after Introspection](#how-to-add-in-missing-relations-after-introspection). + +## How to use branches and deploy requests + +When connecting to PlanetScale with Prisma, you will need to use the correct connection string for your branch. The connection URL for a given database branch can be found from your PlanetScale account by going to the overview page for the branch and selecting the 'Connect' dropdown. In the 'Passwords' section, generate a new password and select 'Prisma' from the dropdown to get the Prisma format for the connection URL. See Prisma's [Getting Started guide](/getting-started/setup-prisma/start-from-scratch/relational-databases/connect-your-database-typescript-planetscale) for more details of how to connect to a PlanetScale database. + +Every PlanetScale database is created with a branch called `main`, which is initially a development branch that you can use to test schema changes on. Once you are happy with the changes you make there, you can [promote it](https://planetscale.com/docs/concepts/branching#promote-a-branch-to-production) to become a production branch. Note that you can only push new changes to a development branch, so further changes will need to be created on a separate development branch and then later deployed to production using a [deploy request](https://planetscale.com/docs/concepts/branching#2.-create-a-deploy-request). + +If you try to push to a production branch, you will get the [error message](/reference/api-reference/error-reference#p3022) `Direct execution of DDL (Data Definition Language) SQL statements is disabled on this database.` + +## How to emulate relations in Prisma Client + +PlanetScale does not allow foreign keys in its database schema. By default, Prisma uses foreign keys in the underlying database to enforce relations between fields in your Prisma schema. In Prisma versions 3.1.1 and later, you can [emulate relations in Prisma Client with the `prisma` relation mode](/concepts/components/prisma-schema/relations/relation-mode#emulate-relations-in-prisma-with-the-prisma-relation-mode), which avoids the need for foreign keys in the database. + +To enable emulation of relations in Prisma Client, set the `relationMode` field to `"prisma"` in the `datasource` block: + +```prisma file=schema.prisma +datasource db { + provider = "mysql" + url = env("DATABASE_URL") + relationMode = "prisma" +} +``` + + + +The ability to set the relation mode was introduced as part of the `referentialIntegrity` preview feature in Prisma version 3.1.1, and is generally available in Prisma versions 4.8.0 and later.

The `relationMode` field was renamed in Prisma version 4.5.0, and was previously named `referentialIntegrity`. + +
+ +If you use relations in your Prisma schema with the default `"foreignKeys"` option for the `referentialIntegrity` field, PlanetScale will error when Prisma tries to create foreign keys. In versions 2.27.0 and later, Prisma will output the [P3021 error message](/reference/api-reference/error-reference#p3021). + +## How to create indexes on foreign keys + +When [you emulate relations in Prisma Client](#how-to-emulate-relations-in-prisma-client), you need to create your own indexes. As an example of a situation where you would want to add an index, take this schema for a blog with posts and comments: + +```prisma file=schema.prisma +model Post { + id Int @id @default(autoincrement()) + title String + content String + likes Int @default(0) + comments Comment[] +} + +model Comment { + id Int @id @default(autoincrement()) + comment String + postId Int + post Post @relation(fields: [postId], references: [id], onDelete: Cascade) +} +``` + +The `postId` field in the `Comment` model refers to the corresponding `id` field in the `Post` model. However this is not implemented as a foreign key in PlanetScale, so the column doesn't have an automatic index. This means that some queries may not be well optimised. For example, if you query for all comments with a certain post `id`, PlanetScale may have to do a full table lookup. This could be slow, and also expensive because PlanetScale's billing model charges for the number of rows read. + +To avoid this, you can define an index on the `postId` field using [Prisma's `@@index` argument](/reference/api-reference/prisma-schema-reference#index): + +```prisma file=schema.prisma highlight=15;add +model Post { + id Int @id @default(autoincrement()) + title String + content String + likes Int @default(0) + comments Comment[] +} + +model Comment { + id Int @id @default(autoincrement()) + comment String + postId Int + post Post @relation(fields: [postId], references: [id], onDelete: Cascade) + + @@index([postId]) +} +``` + +You can then add this change to your schema [using `db push`](#how-to-make-schema-changes-with-db-push). + +In Prisma versions 4.7.0 and later, Prisma warns you if you have a relation with no index on the relation scalar field. For more information, see [Index validation](/concepts/components/prisma-schema/relations/relation-mode#index-validation). + + + +One issue to be aware of is that [implicit many-to-many relations](/concepts/components/prisma-schema/relations/many-to-many-relations#implicit-many-to-many-relations) cannot have an index added in this way. If query speed or cost is an issue, you may instead want to use an [explicit many-to-many relation](/concepts/components/prisma-schema/relations/many-to-many-relations#explicit-many-to-many-relations) in this case. + + + +## How to make schema changes with db push + +To use `db push` with PlanetScale, you will first need to [enable emulation of relations in Prisma Client](#how-to-emulate-relations-in-prisma-client). Pushing to your branch without referential emulation enabled will give the [error message](/reference/api-reference/error-reference#p3021) `Foreign keys cannot be created on this database.` + +As an example, let's say you decide to decide to add a new `excerpt` field to the blog post schema above. You will first need to [create a new development branch and connect to it](#how-to-use-branches-and-deploy-requests). + +Next, add the following to your `schema.prisma` file: + +```prisma file=schema.prisma highlight=5;edit +model Post { + id Int @id @default(autoincrement()) + title String + content String + excerpt String? + likes Int @default(0) + comments Comment[] +} + +model Comment { + id Int @id @default(autoincrement()) + comment String + postId Int + post Post @relation(fields: [postId], references: [id], onDelete: Cascade) + + @@index([postId]) +} +``` + +To push these changes, navigate to your project directory in your terminal and run + +```terminal +npx prisma db push +``` + +Once you are happy with your changes on your development branch, you can open a deploy request to deploy these to your production branch. + +For more examples, see PlanetScale's tutorial on [automatic migrations with Prisma](https://planetscale.com/docs/prisma/automatic-prisma-migrations) using `db push`. + +## How to add in missing relations after Introspection + +After introspecting with `npx prisma db pull`, the schema you get may be missing some relations. For example, the following schema is missing a relation between the `User` and `Post` models: + +```prisma file=schema.prisma +model Post { + id Int @id @default(autoincrement()) + createdAt DateTime @default(now()) + title String @db.VarChar(255) + content String? + authorId Int + + @@index([authorId]) +} + +model User { + id Int @id @default(autoincrement()) + email String @unique + name String? +} +``` + +In this case you need to add the relation in manually: + +```prisma file=schema.prisma highlight=6,16;add +model Post { + id Int @id @default(autoincrement()) + createdAt DateTime @default(now()) + title String @db.VarChar(255) + content String? + author User @relation(fields: [authorId], references: [id]) + authorId Int + + @@index([authorId]) +} + +model User { + id Int @id @default(autoincrement()) + email String @unique + name String? + posts Post[] +} +``` + +For a more detailed example, see the [Getting Started guide for PlanetScale](/getting-started/setup-prisma/add-to-existing-project/relational-databases/introspection-typescript-planetscale). + +## How to use the PlanetScale serverless driver with Prisma (Preview) + +The [PlanetScale serverless driver](https://planetscale.com/docs/tutorials/planetscale-serverless-driver) provides a way of communicating with your database and executing queries over HTTP. + +You can use Prisma along with the PlanetScale serverless driver using the [`@prisma/adapter-planetscale`](https://www.npmjs.com/package/@prisma/adapter-planetscale) driver adapter. The driver adapter allows you to communicate with your database over HTTP. + + + +This feature is available in Preview from Prisma versions 5.4.2 and later. + + + +To get started, enable the `driverAdapters` Preview feature flag: + +```prisma +generator client { + provider = "prisma-client-js" + previewFeatures = ["driverAdapters"] +} +``` + +Generate Prisma Client: + +```sh +npx prisma generate +``` + + + +Ensure you update the host value in your connection string to `aws.connect.psdb.cloud`. You can learn more about this [here](https://planetscale.com/docs/tutorials/planetscale-serverless-driver#add-and-use-the-planetscale-serverless-driver-for-javascript-to-your-project). + +```bash +DATABASE_URL='mysql://johndoe:strongpassword@aws.connect.psdb.cloud/clear_nightsky?sslaccept=strict' +``` + + + +Install the Prisma adapter for PlanetScale, PlanetScale serverless driver and `undici` packages: + +```sh +npm install @prisma/adapter-planetscale @planetscale/database undici +``` + + + +When using a Node.js version below 18, you must provide a custom fetch function implementation. We recommend the `undici` package on which Node's built-in fetch is based. Node.js versions 18 and later include a built-in global `fetch` function, so you don't have to install an extra package. + + + +Update your Prisma Client instance to use the PlanetScale serverless driver: + +```ts +import { Client } from '@planetscale/database' +import { PrismaPlanetScale } from '@prisma/adapter-planetscale' +import { PrismaClient } from '@prisma/client' +import dotenv from 'dotenv' +import { fetch as undiciFetch } from 'undici' + +dotenv.config() +const connectionString = `${process.env.DATABASE_URL}` + +const client = new Client({ url: connectionString, fetch: undiciFetch }) +const adapter = new PrismaPlanetScale(client) +const prisma = new PrismaClient({ adapter }) +``` + +You can then use Prisma Client as you normally would with full type-safety. Prisma Migrate, introspection, and Prisma Studio will continue working as before using the connection string defined in the Prisma schema. + +## More on using PlanetScale with Prisma + +The fastest way to start using PlanetScale with Prisma is to refer to our Getting Started documentation: + +- [Start from scratch](/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-planetscale) +- [Add to existing project](/getting-started/setup-prisma/add-to-existing-project/relational-databases-typescript-planetscale) + +These tutorials will take you through the process of connecting to PlanetScale, pushing schema changes, and using Prisma Client. + +For further tips on best practices when using Prisma and PlanetScale together, watch our video: + +
+ + + +
diff --git a/content/200-orm/050-overview/500-databases/860-cockroachdb.mdx b/content/200-orm/050-overview/500-databases/860-cockroachdb.mdx new file mode 100644 index 0000000000..365c52f0d2 --- /dev/null +++ b/content/200-orm/050-overview/500-databases/860-cockroachdb.mdx @@ -0,0 +1,99 @@ +--- +title: 'CockroachDB' +metaTitle: 'CockroachDB' +metaDescription: 'Guide to CockroachDB' +tocDepth: 3 +toc: true +--- + + + +This guide discusses the concepts behind using Prisma and CockroachDB, explains the commonalities and differences between CockroachDB and other database providers, and leads you through the process for configuring your application to integrate with CockroachDB. + + + +## What is CockroachDB? + +CockroachDB is a distributed database that is designed for scalability and high availability. Features include: + +- **Built-in scaling:** CockroachDB comes with automated replication, failover and repair capabilities to allow easy horizontal scaling of your application +- **Consistent transactions:** CockroachDB is a relational database that supports consistent transactions that maintain data integrity +- **Compatibility with PostgreSQL:** CockroachDB is compatible with PostgreSQL, allowing interoperability with a large ecosystem of existing products + +## Commonalities with other database providers + +CockroachDB is largely compatible with PostgreSQL, and can mostly be used with Prisma in the same way. You can still: + +- model your database with the [Prisma Schema Language](/concepts/components/prisma-schema) +- connect to your database, using Prisma's [`cockroachdb` database connector](/concepts/database-connectors/cockroachdb) +- use [Introspection](/concepts/components/introspection) for existing projects if you already have a CockroachDB database +- use [Prisma Migrate](/concepts/components/prisma-migrate) to migrate your database schema to a new version +- use [Prisma Client](/concepts/components/prisma-client) in your application to query your database in a type safe way based on your Prisma Schema + +## Differences to consider + +There are some CockroachDB-specific differences to be aware of when working with Prisma's `cockroachdb` connector: + +- **Cockroach-specific native types:** Prisma's `cockroachdb` database connector provides support for CockroachDB's native data types. To learn more, see [How to use CockroachDB's native types](#how-to-use-cockroachdbs-native-types). + +- **Creating database keys:** Prisma allows you to generate a unique identifier for each record using the [`autoincrement()`](/reference/api-reference/prisma-schema-reference#autoincrement) function. For more information, see [How to use database keys with CockroachDB](#how-to-use-database-keys-with-cockroachdb). + +## How to use Prisma with CockroachDB + +This section provides more details on how to use CockroachDB-specific features. + +### How to use CockroachDB's native types + +CockroachDB has its own set of native [data types](https://www.cockroachlabs.com/docs/stable/data-types.html) which are supported in Prisma. For example, CockroachDB uses the `STRING` data type instead of PostgreSQL's `VARCHAR`. + +As a demonstration of this, say you create a `User` table in your CockroachDB database using the following SQL command: + +```sql +CREATE TABLE public."Post" ( + "id" INT8 NOT NULL, + "title" VARCHAR(200) NOT NULL, + CONSTRAINT "Post_pkey" PRIMARY KEY ("id" ASC), + FAMILY "primary" ("id", "title") +); +``` + +After introspecting your database with `npx prisma db pull`, you will have a new `Post` model in your `schema.prisma` file: + +```prisma file=schema.prisma +model Post { + id BigInt @id + title String @db.String(200) +} +``` + +Notice that the `title` field has been annotated with `@db.String(200)` — this differs from PostgreSQL where the annotation would be `@db.VarChar(200)`. + +For a full list of type mappings, see our [connector documentation](/concepts/database-connectors/cockroachdb#type-mapping-between-cockroachdb-and-the-prisma-schema). + +### How to use database keys with CockroachDB + +When generating unique identifiers for records in a distributed database like CockroachDB, it is best to avoid using sequential IDs – for more information on this, see CockroachDB's [blog post on choosing index keys](https://cockroachlabs.com/blog/how-to-choose-db-index-keys). + +Instead, Prisma provides the [`autoincrement()`](/reference/api-reference/prisma-schema-reference#autoincrement) attribute function, which uses CockroachDB's [`unique_rowid()` function](https://www.cockroachlabs.com/docs/stable/serial.html) for generating unique identifiers. For example, the following `User` model has an `id` primary key, generated using the `autoincrement()` function: + +```prisma file=schema.prisma +model User { + id BigInt @id @default(autoincrement()) + name String +} +``` + +For compatibility with existing databases, you may sometimes still need to generate a fixed sequence of integer key values. In these cases, you can use Prisma's inbuilt [`sequence()`](/reference/api-reference/prisma-schema-reference#sequence) function for CockroachDB. For a list of available options for the `sequence()` function, see our [reference documentation](/reference/api-reference/prisma-schema-reference#sequence). + +For more information on generating database keys, see CockroachDB's [Primary key best practices](https://www.cockroachlabs.com/docs/v21.2/schema-design-table#primary-key-best-practices) guide. + +## More on using CockroachDB with Prisma + +The fastest way to start using CockroachDB with Prisma is to refer to our Getting Started documentation: + +- [Start from scratch](/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-cockroachdb) +- [Add to existing project](/getting-started/setup-prisma/add-to-existing-project/relational-databases-typescript-cockroachdb) + +These tutorials will take you through the process of connecting to CockroachDB, migrating your schema, and using Prisma Client. + +Further reference information is available in the [CockroachDB connector documentation](/concepts/database-connectors/cockroachdb). diff --git a/content/200-orm/050-overview/500-databases/880-supabase.mdx b/content/200-orm/050-overview/500-databases/880-supabase.mdx new file mode 100644 index 0000000000..8ce4769c4a --- /dev/null +++ b/content/200-orm/050-overview/500-databases/880-supabase.mdx @@ -0,0 +1,73 @@ +--- +title: 'Supabase' +metaTitle: 'Supabase' +metaDescription: 'Guide to Supabase' +tocDepth: 2 +toc: true +--- + + + +This guide discusses the concepts behind using Prisma and Supabase, explains the commonalities and differences between Supabase and other database providers, and leads you through the process for configuring your application to integrate with Supabase. + + + +## What is Supabase? + +[Supabase](https://supabase.com/) is a PostgreSQL hosting service and open source Firebase alternative providing all the backend features you need to build a product. Unlike Firebase, Supabase is backed by PostgreSQL which can be accessed directly using Prisma. + +To learn more about Supabase, you can check out their architecture [here](https://supabase.com/docs/guides/getting-started/architecture) and features [here](https://supabase.com/docs/guides/getting-started/features) + +## Commonalities with other database providers + +Many aspects of using Prisma with Supabase are just like using Prisma with any other relational database. You can still: + +- model your database with the [Prisma Schema Language](/concepts/components/prisma-schema) +- use Prisma's existing [`postgresql` database connector](/concepts/database-connectors/postgresql) in your schema, along with the [connection string Supabase provides you](https://supabase.com/docs/guides/database/connecting-to-postgres#finding-your-connection-string) +- use [Introspection](/concepts/components/introspection) for existing projects if you already have a database schema in Supabase +- use [`db push`](/concepts/components/prisma-migrate/db-push) to push changes in your schema to Supabase +- use [Prisma Client](/concepts/components/prisma-client) in your application to talk to the database server at Supabase + +## Specific considerations + +If you'd like to use the [connection pooling feature](https://supabase.com/docs/guides/integrations/prisma#connection-pooling-with-supabase) available with Supabase, you will +need to add `pgbouncer=true` to the end of the `DATABASE_URL` environment variable used in the `datasource.url` property: + +```env file=.env +# Connect to Supabase with PgBouncer. +DATABASE_URL="postgres://postgres.__YOUR_SUPABASE_PROJECT__:__PASSWORD__@aws-0-eu-central-1.pooler.supabase.com:6543/postgres?pgbouncer=true" +``` + +If you would like to use the Prisma CLI in order to perform other actions on your database (e.g. migrations) you will need to add a `DIRECT_URL` environment variable to use in the `datasource.directUrl` property so that the CLI can bypass PgBouncer: + +```env file=.env highlight=4-5;add +# Connect to Supabase with PgBouncer. +DATABASE_URL="postgres://postgres.__YOUR_SUPABASE_PROJECT__:__PASSWORD__@aws-0-eu-central-1.pooler.supabase.com:6543/postgres?pgbouncer=true" + +# Direct connection to the database. Used for migrations. +DIRECT_URL="postgres://postgres:__PASSWORD__@db.__YOUR SUPABASE_PROJECT__.supabase.co:5432/postgres" +``` + +You can then update your `schema.prisma` to use the new direct URL: + +```prisma file=schema.prisma highlight=4;add +datasource db { + provider = "postgresql" + url = env("DATABASE_URL") + directUrl = env("DIRECT_URL") +} +``` + +More information about the `directUrl` field can be found [here](/reference/api-reference/prisma-schema-reference#fields). + + + +We strongly recommend using `pgbouncer` in addition to `DIRECT_URL`. You will gain the great developer experience of the Prisma CLI while also allowing for connections to be pooled regardless of deployment strategy. While this is not strictly necessary for every app, serverless solutions will inevitably require connection pooling. + + + +## Getting started with Supabase + +If you're interested in learning more, Supabase has a great guide for connecting a database provided by Supabase to your Prisma project available [here](https://supabase.com/docs/guides/integrations/prisma). + +If you're running into issues integrating with Supabase, check out these [specific troubleshooting tips](https://supabase.com/docs/guides/integrations/prisma#troubleshooting) or [Prisma's GitHub Discussions](https://github.com/prisma/prisma/discussions) for more help. diff --git a/content/200-orm/050-overview/500-databases/890-neon.mdx b/content/200-orm/050-overview/500-databases/890-neon.mdx new file mode 100644 index 0000000000..d17c516c57 --- /dev/null +++ b/content/200-orm/050-overview/500-databases/890-neon.mdx @@ -0,0 +1,175 @@ +--- +title: 'Neon' +metaTitle: 'Neon' +metaDescription: 'Guide to Neon' +tocDepth: 2 +toc: true +--- + + + +This guide explains how to: + +- [Connect Prisma using Neon's connection pooling feature](#how-to-use-neons-connection-pooling) +- [Resolve connection timeout issues](#resolving-connection-timeouts) +- [Use Neon's serverless driver with Prisma](#how-to-use-neons-serverless-driver-with-prisma-preview) + + + +## What is Neon? + +Neon's logo + +[Neon](https://neon.tech/) is a fully managed serverless PostgreSQL with a generous free tier. Neon separates storage and compute, and offers modern developer features such as serverless, branching, bottomless storage, and more. Neon is open source and written in Rust. + +Learn more about Neon [here](https://neon.tech/docs). + +## Commonalities with other database providers + +Many aspects of using Prisma with Neon are just like using Prisma with any other PostgreSQL database. You can: + +- model your database with the [Prisma Schema Language](/concepts/components/prisma-schema) +- use Prisma's [`postgresql` database connector](/concepts/database-connectors/postgresql) in your schema, along with the [connection string Neon provides you](https://neon.tech/docs/connect/connect-from-any-app) +- use [Introspection](/concepts/components/introspection) for existing projects if you already have a database schema on Neon +- use [`prisma migrate dev`](/concepts/components/prisma-migrate/migrate-development-production) to track schema migrations in your Neon database +- use [`prisma db push`](/concepts/components/prisma-migrate/db-push) to push changes in your schema to Neon +- use [Prisma Client](/concepts/components/prisma-client) in your application to communicate with the database hosted by Neon + +## Differences to consider + +There are a few differences between Neon and PostgreSQL you should be aware of the following when deciding to use Neon with Prisma: + +- **Neon's serverless model** — By default, Neon scales a [compute](https://neon.tech/docs/introduction/compute-lifecycle) to zero after 5 minutes of inactivity. During this state, a compute instance is in _idle_ state. A characteristic of this feature is the concept of a "cold start". Activating a compute from an idle state takes from 500ms to a few seconds. Depending on how long it takes to connect to your database, your application may timeout. To learn more, see: [Connection latency and timeouts](https://neon.tech/docs/guides/prisma#connection-timeouts). +- **Neon's connection pooler** — Neon offers connection pooling using PgBouncer, enabling up to 10,000 concurrent connections. To learn more, see: [Connection pooling](https://neon.tech/docs/connect/connection-pooling). + +## How to use Neon's connection pooling + +If you'd like to use the [connection pooling](https://neon.tech/blog/prisma-dx-improvements#providing-pooled-and-direct-connections-to-the-database) available in Neon, you will +need to add `pgbouncer=true` to the end of the `DATABASE_URL` environment variable used in the `url` property of the `datasource` block of your Prisma schema: + +```env file=.env +# Connect to Neon with PgBouncer. +DATABASE_URL=postgres://daniel:@ep-mute-rain-952417-pooler.us-east-2.aws.neon.tech:5432/neondb?pgbouncer=true +``` + +If you would like to use Prisma CLI in order to perform other actions on your database (e.g. for migrations) you will need to add a `DIRECT_URL` environment variable to use in the `directUrl` property of the `datasource` block of your Prisma schema so that the CLI will use a direct connection string (without PgBouncer): + +```env file=.env highlight=4-5;add +# Connect to Neon with PgBouncer. +DATABASE_URL=postgres://daniel:@ep-mute-rain-952417-pooler.us-east-2.aws.neon.tech/neondb?pgbouncer=true + +# Direct connection to the database used by Prisma CLI for e.g. migrations. +DIRECT_URL="postgres://daniel:@ep-mute-rain-952417.us-east-2.aws.neon.tech/neondb" +``` + +You can then update your `schema.prisma` to use the new direct URL: + +```prisma file=schema.prisma highlight=4;add +datasource db { + provider = "postgresql" + url = env("DATABASE_URL") + directUrl = env("DIRECT_URL") +} +``` + +More information about the `directUrl` field can be found [here](/reference/api-reference/prisma-schema-reference#fields). + + + +We strongly recommend using the pooled connection string in your `DATABASE_URL` environment variable. You will gain the great developer experience of the Prisma CLI while also allowing for connections to be pooled regardless of deployment strategy. While this is not strictly necessary for every app, serverless solutions will inevitably require connection pooling. + + + +## Resolving connection timeouts + +A connection timeout that occurs when connecting from Prisma to Neon causes an error similar to the following: + +```text no-copy +Error: P1001: Can't reach database server at `ep-white-thunder-826300.us-east-2.aws.neon.tech`:`5432` +Please make sure your database server is running at `ep-white-thunder-826300.us-east-2.aws.neon.tech`:`5432`. +``` + +This error most likely means that the connection created by Prisma Client timed out before the Neon compute was activated. + +A Neon compute has two main states: _Active_ and _Idle_. Active means that the compute is currently running. If there is no query activity for 5 minutes, Neon places a compute into an idle state by default. Refer to Neon's docs to [learn more](https://neon.tech/docs/introduction/compute-lifecycle). + +When you connect to an idle compute from Prisma, Neon automatically activates it. Activation typically happens within a few seconds but added latency can result in a connection timeout. To address this issue, your can adjust your Neon connection string by adding a `connect_timeout` parameter. This parameter defines the maximum number of seconds to wait for a new connection to be opened. The default value is 5 seconds. A higher setting should provide the time required to avoid connection timeout issues. For example: + +```text wrap +DATABASE_URL=postgres://daniel:@ep-mute-rain-952417.us-east-2.aws.neon.tech/neondb?connect_timeout=10 +``` + + + +A `connect_timeout` setting of 0 means no timeout. + + + +Another possible cause of connection timeouts is [Prisma's connection pool](https://www.prisma.io/docs/concepts/components/prisma-client/working-with-prismaclient/), which has a default timeout of 10 seconds. This is typically enough time for Neon, but if you are still experiencing connection timeouts, you can try increasing this limit (in addition to the `connect_timeout` setting described above) by setting the `pool_timeout` parameter to a higher value. For example: + +```text wrap +DATABASE_URL=postgres://daniel:@ep-mute-rain-952417.us-east-2.aws.neon.tech/neondb?connect_timeout=15&pool_timeout=15 +``` + +## How to use Neon's serverless driver with Prisma (Preview) + +The [Neon serverless driver](https://github.com/neondatabase/serverless) is a low-latency Postgres driver for JavaScript and TypeScript that allows you to query data from serverless and edge environments over HTTP or WebSockets in place of TCP. + +You can use Prisma along with the Neon serverless driver using a [driver adapter](/concepts/components/database-drivers#driver-adapters) . A driver adapter allows you to use a different database driver from the default Prisma provides to communicate with your database. + + + +This feature is available in Preview from Prisma versions 5.4.2 and later. + + + +To get started, enable the `driverAdapters` Preview feature flag: + +```prisma +generator client { + provider = "prisma-client-js" + previewFeatures = ["driverAdapters"] +} + +datasource db { + provider = "postgresql" + url = env("DATABASE_URL") +} +``` + +Generate Prisma Client: + +```sh +npx prisma generate +``` + +Install the Prisma adapter for Neon, Neon serverless driver and `ws` packages: + +```sh +npm install @prisma/adapter-neon @neondatabase/serverless ws +npm install --save-dev @types/ws +``` + +Update your Prisma Client instance: + +```ts +import { Pool, neonConfig } from '@neondatabase/serverless' +import { PrismaNeon } from '@prisma/adapter-neon' +import { PrismaClient } from '@prisma/client' +import dotenv from 'dotenv' +import ws from 'ws' + +dotenv.config() +neonConfig.webSocketConstructor = ws +const connectionString = `${process.env.DATABASE_URL}` + +const pool = new Pool({ connectionString }) +const adapter = new PrismaNeon(pool) +const prisma = new PrismaClient({ adapter }) +``` + +You can then use Prisma Client as you normally would with full type-safety. Prisma Migrate, introspection, and Prisma Studio will continue working as before, using the connection string defined in the Prisma schema. diff --git a/content/200-orm/050-overview/500-databases/900-turso.mdx b/content/200-orm/050-overview/500-databases/900-turso.mdx new file mode 100644 index 0000000000..b7126989d4 --- /dev/null +++ b/content/200-orm/050-overview/500-databases/900-turso.mdx @@ -0,0 +1,213 @@ +--- +title: 'Turso' +metaTitle: 'Turso (Early Access)' +metaDescription: 'Guide to Turso' +tocDepth: 3 +--- + + + +This guide discusses the concepts behind using Prisma and Turso, explains the commonalities and differences between Turso and other database providers, and leads you through the process for configuring your application to integrate with Turso. + +Prisma support for Turso is currently in [Early Access](/about/prisma/releases#early-access). We would appreciate your feedback in this [GitHub discussion](https://github.com/prisma/prisma/discussions/21345). + + + +## What is Turso? + +Turso's logo + +[Turso](https://turso.tech/) is an edge-hosted, distributed database that's based on [libSQL](https://turso.tech/libsql), an open-source and open-contribution fork of [SQLite](https://sqlite.org/), enabling you to bring data closer to your application and minimize query latency. Turso can also be hosted on a remote server. + + + +Support for Turso is available in [Early Access](/about/prisma/releases#early-access) from Prisma versions 5.4.2 and later. + + + +## Commonalities with other database providers + +libSQL is 100% compatible with SQLite. libSQL extends SQLite and adds the following features and capabilities: + +- Support for replication +- Support for automated backups +- Ability to embed Turso as part of other programs such as the Linux kernel +- Supports user-defined functions +- Support for asynchronous I/O + +> To learn more about the differences between libSQL and how it is different from SQLite, see [libSQL Manifesto](https://turso.tech/libsql-manifesto). + +Many aspects of using Prisma with Turso are just like using Prisma with any other relational database. You can still: + +- model your database with the [Prisma Schema Language](/concepts/components/prisma-schema) +- use Prisma's existing [`sqlite` database connector](/concepts/database-connectors/sqlite) in your schema +- use [Prisma Client](/concepts/components/prisma-client) in your application to talk to the database server at Turso + +## Differences to consider + +There are a number of differences between Turso and SQLite to consider. You should be aware of the following when deciding to use Turso and Prisma: + +- **Remote and embedded SQLite databases**. libSQL uses HTTP to connect to the remote SQLite database. libSQL also supports remote database replicas and embedded replicas. Embedded replicas enable you to replicate your primary database inside your application. +- **Making schema changes**. Since libSQL uses HTTP to connect to the remote database, this makes it incompatible with Prisma Migrate. However, you can use [`prisma migrate diff`](/reference/api-reference/command-reference#migrate-diff) to create a schema migration and then apply the changes to your database using [Turso's CLI](https://docs.turso.tech/reference/turso-cli). + +## How to connect and query a Turso database + +The subsequent section covers how you can create a Turso database, retrieve your database credentials and connect to your database. + +### How to provision a database and retrieve database credentials + + + +Ensure that you have the [Turso CLI](https://docs.turso.tech/reference/turso-cli) installed to manage your databases. + + + +If you don't have an existing database, you can provision a database by running the following command: + +```terminal +turso db create turso-prisma-db +``` + +The above command will create a database in the closest region to your location. + +Run the following command to retrieve your database's connection string: + +```terminal +turso db show turso-prisma-db +``` + +Next, create an authentication token that will allow you to connect to the database: + +```terminal +turso db tokens create turso-prisma-db +``` + +Update your `.env` file with the authentication token and connection string: + +```text file=.env +TURSO_AUTH_TOKEN="eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9..." +TURSO_DATABASE_URL="libsql://turso-prisma-db-user.turso.io" +``` + +### How to connect to a Turso database + +To get started, enable the `driverAdapters` Preview feature flag: + +```prisma highlight=3;add +generator client { + provider = "prisma-client-js" + previewFeatures = ["driverAdapters"] +} + +datasource db { + provider = "sqlite" + url = "file:./dev.db" +} +``` + +Generate Prisma Client: + +```terminal +npx prisma generate +``` + +Install the libSQL database client and Prisma driver adapter for libSQL packages: + +```terminal +npm install @libsql/client @prisma/adapter-libsql +``` + +Update your Prisma Client instance: + +```ts +import { PrismaClient } from '@prisma/client' +import { PrismaLibSQL } from '@prisma/adapter-libsql' +import { createClient } from '@libsql/client' + +const libsql = createClient({ + url: `${process.env.TURSO_DATABASE_URL}`, + authToken: `${process.env.TURSO_AUTH_TOKEN}`, +}) + +const adapter = new PrismaLibSQL(libsql) +const prisma = new PrismaClient({ adapter }) +``` + +You can use Prisma Client as you normally would with full type-safety in your project. + +## How to manage schema changes + +Prisma Migrate and Introspection workflows are currently not supported when working with Turso. This is because Turso uses HTTP to connect to your database, which Prisma Migrate doesn't support. + +To update your database schema: + +1. Generate a migration file using `prisma migrate dev` against a local SQLite database: + + ```terminal + npx prisma migrate dev --name init + ``` + +2. Apply the migration using Turso's CLI: + + ```terminal + turso db shell turso-prisma-db < ./prisma/migrations/20230922132717_init/migration.sql + ``` + + + + Replace `20230922132717_init` with the name of your migration. + + + +For subsequent migrations, repeat the above steps to apply changes to your database. This workflow does not support track the history of applied migrations to your remote database. + +## Embedded Turso database replicas + +Turso supports [embedded replicas](https://blog.turso.tech/introducing-embedded-replicas-deploy-turso-anywhere-2085aa0dc242). Turso's embedded replicas enable you to have a copy of your primary, remote database _inside_ your application. Embedded replicas behave similarly to a local SQLite database. Database queries are faster because your database is inside your application. + +### How embedded database replicas work + +When your app initially establishes a connection to your database, the primary database will fulfill the query: + +![Embedded Replica: First remote read](./images/embedded-replica-remote-read.png) + +Turso will (1) create an embedded replica inside your application and (2) copy data from your primary database to the replica so it is locally available: + +![Embedded Replica: Remote DB Copy](./images/embedded-replica-create-replica.png) + +The embedded replica will fulfill subsequent read queries. The libSQL client provides a [`sync()`]() method which you can invoke to ensure the embedded replica's data remains fresh. + +![Embedded Replica: Local DB reads](./images/embedded-replica-read.png) + +With embedded replicas, this setup guarantees a responsive application, because the data will be readily available locally and faster to access. + +Like a read replica setup you may be familiar with, write operations are forwarded to the primary remote database and executed before being propagated to all embedded replicas. + +![Embedded Replica: Write operation propagation](./images/embedded-replica-write-propagation.png) + +1. Write operations propagation are forwarded to the database. +1. Database responds to the server with the updates from 1. +1. Write operations are propagated to the database replica. + +Your application's data needs will determine how often you should synchronize data between your remote database and embedded database replica. For example, you can use either middleware functions (e.g. Express and Fastify) or a cron job to synchronize the data. + +### How to synchronize data between your remote database and embedded replica + +To get started using embedded replicas with Prisma, add the `sync()` method from libSQL in your application. The example below shows how you can synchronize data using Express middleware. + +```ts highlight=5-8;add; +import express from 'express' +const app = express() + +// ... the rest of your application code +app.use(async (req, res, next) => { + await libsql.sync() + next() +}) + +app.listen(3000, () => console.log(`Server ready at http://localhost:3000`)) +``` diff --git a/content/200-orm/050-overview/500-databases/index.mdx b/content/200-orm/050-overview/500-databases/index.mdx new file mode 100644 index 0000000000..81680e00f6 --- /dev/null +++ b/content/200-orm/050-overview/500-databases/index.mdx @@ -0,0 +1,16 @@ +--- +title: 'Databases' +metaTitle: 'Databases' +metaDescription: 'Databases' +toc: false +--- + + + +Learn about the different databases Prisma supports. + + + +## In this section + + diff --git a/content/200-concepts/050-overview/index.mdx b/content/200-orm/050-overview/index.mdx similarity index 100% rename from content/200-concepts/050-overview/index.mdx rename to content/200-orm/050-overview/index.mdx diff --git a/content/200-concepts/050-overview/node-js-db-tools-tradeoffs.png b/content/200-orm/050-overview/node-js-db-tools-tradeoffs.png similarity index 100% rename from content/200-concepts/050-overview/node-js-db-tools-tradeoffs.png rename to content/200-orm/050-overview/node-js-db-tools-tradeoffs.png diff --git a/content/200-concepts/050-overview/prisma-makes-devs-productive.png b/content/200-orm/050-overview/prisma-makes-devs-productive.png similarity index 100% rename from content/200-concepts/050-overview/prisma-makes-devs-productive.png rename to content/200-orm/050-overview/prisma-makes-devs-productive.png diff --git a/content/200-concepts/050-overview/prisma-rest-apis.png b/content/200-orm/050-overview/prisma-rest-apis.png similarity index 100% rename from content/200-concepts/050-overview/prisma-rest-apis.png rename to content/200-orm/050-overview/prisma-rest-apis.png diff --git a/content/200-concepts/050-overview/user-post-relation-1-n.png b/content/200-orm/050-overview/user-post-relation-1-n.png similarity index 100% rename from content/200-concepts/050-overview/user-post-relation-1-n.png rename to content/200-orm/050-overview/user-post-relation-1-n.png diff --git a/content/200-concepts/050-overview/user-table.png b/content/200-orm/050-overview/user-table.png similarity index 100% rename from content/200-concepts/050-overview/user-table.png rename to content/200-orm/050-overview/user-table.png diff --git a/content/200-concepts/050-overview/user-table.svg b/content/200-orm/050-overview/user-table.svg similarity index 100% rename from content/200-concepts/050-overview/user-table.svg rename to content/200-orm/050-overview/user-table.svg diff --git a/content/200-concepts/100-components/02-prisma-client/000-working-with-prismaclient/010-generating-prisma-client.mdx b/content/200-orm/100-prisma-client/000-working-with-prismaclient/010-generating-prisma-client.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/000-working-with-prismaclient/010-generating-prisma-client.mdx rename to content/200-orm/100-prisma-client/000-working-with-prismaclient/010-generating-prisma-client.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/000-working-with-prismaclient/015-instantiate-prisma-client.mdx b/content/200-orm/100-prisma-client/000-working-with-prismaclient/015-instantiate-prisma-client.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/000-working-with-prismaclient/015-instantiate-prisma-client.mdx rename to content/200-orm/100-prisma-client/000-working-with-prismaclient/015-instantiate-prisma-client.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/000-working-with-prismaclient/020-use-custom-model-and-field-names.mdx b/content/200-orm/100-prisma-client/000-working-with-prismaclient/020-use-custom-model-and-field-names.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/000-working-with-prismaclient/020-use-custom-model-and-field-names.mdx rename to content/200-orm/100-prisma-client/000-working-with-prismaclient/020-use-custom-model-and-field-names.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/000-working-with-prismaclient/100-connection-management.mdx b/content/200-orm/100-prisma-client/000-working-with-prismaclient/100-connection-management.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/000-working-with-prismaclient/100-connection-management.mdx rename to content/200-orm/100-prisma-client/000-working-with-prismaclient/100-connection-management.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/000-working-with-prismaclient/115-connection-pool.mdx b/content/200-orm/100-prisma-client/000-working-with-prismaclient/115-connection-pool.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/000-working-with-prismaclient/115-connection-pool.mdx rename to content/200-orm/100-prisma-client/000-working-with-prismaclient/115-connection-pool.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/000-working-with-prismaclient/130-logging.mdx b/content/200-orm/100-prisma-client/000-working-with-prismaclient/130-logging.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/000-working-with-prismaclient/130-logging.mdx rename to content/200-orm/100-prisma-client/000-working-with-prismaclient/130-logging.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/000-working-with-prismaclient/150-error-formatting.mdx b/content/200-orm/100-prisma-client/000-working-with-prismaclient/150-error-formatting.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/000-working-with-prismaclient/150-error-formatting.mdx rename to content/200-orm/100-prisma-client/000-working-with-prismaclient/150-error-formatting.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/000-working-with-prismaclient/index.mdx b/content/200-orm/100-prisma-client/000-working-with-prismaclient/index.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/000-working-with-prismaclient/index.mdx rename to content/200-orm/100-prisma-client/000-working-with-prismaclient/index.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/000-working-with-prismaclient/prisma-client-generation-workflow.png b/content/200-orm/100-prisma-client/000-working-with-prismaclient/prisma-client-generation-workflow.png similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/000-working-with-prismaclient/prisma-client-generation-workflow.png rename to content/200-orm/100-prisma-client/000-working-with-prismaclient/prisma-client-generation-workflow.png diff --git a/content/200-concepts/100-components/02-prisma-client/000-working-with-prismaclient/prisma-client-node-module.png b/content/200-orm/100-prisma-client/000-working-with-prismaclient/prisma-client-node-module.png similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/000-working-with-prismaclient/prisma-client-node-module.png rename to content/200-orm/100-prisma-client/000-working-with-prismaclient/prisma-client-node-module.png diff --git a/content/200-concepts/100-components/02-prisma-client/030-crud.mdx b/content/200-orm/100-prisma-client/030-crud.mdx similarity index 99% rename from content/200-concepts/100-components/02-prisma-client/030-crud.mdx rename to content/200-orm/100-prisma-client/030-crud.mdx index 736b90035d..c34dd58584 100644 --- a/content/200-concepts/100-components/02-prisma-client/030-crud.mdx +++ b/content/200-orm/100-prisma-client/030-crud.mdx @@ -348,14 +348,14 @@ const findUser = await prisma.user.findFirst({ posts: { some: { likes: { - gt: 100 - } - } - } + gt: 100, + }, + }, + }, }, orderBy: { - id: "desc" - } + id: 'desc', + }, }) ``` @@ -413,13 +413,13 @@ The following query returns users with an email that ends with `prisma.io` _and_ const users = await prisma.user.findMany({ where: { email: { - endsWith: "prisma.io" + endsWith: 'prisma.io', }, posts: { some: { - published: false - } - } + published: false, + }, + }, }, }) ``` diff --git a/content/200-concepts/100-components/02-prisma-client/035-select-fields.mdx b/content/200-orm/100-prisma-client/035-select-fields.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/035-select-fields.mdx rename to content/200-orm/100-prisma-client/035-select-fields.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/037-relation-queries.mdx b/content/200-orm/100-prisma-client/037-relation-queries.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/037-relation-queries.mdx rename to content/200-orm/100-prisma-client/037-relation-queries.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/050-filtering-and-sorting.mdx b/content/200-orm/100-prisma-client/050-filtering-and-sorting.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/050-filtering-and-sorting.mdx rename to content/200-orm/100-prisma-client/050-filtering-and-sorting.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/051-working-with-fields/100-working-with-json-fields.mdx b/content/200-orm/100-prisma-client/051-working-with-fields/100-working-with-json-fields.mdx similarity index 97% rename from content/200-concepts/100-components/02-prisma-client/051-working-with-fields/100-working-with-json-fields.mdx rename to content/200-orm/100-prisma-client/051-working-with-fields/100-working-with-json-fields.mdx index aabd1d7602..ea7736e078 100644 --- a/content/200-concepts/100-components/02-prisma-client/051-working-with-fields/100-working-with-json-fields.mdx +++ b/content/200-orm/100-prisma-client/051-working-with-fields/100-working-with-json-fields.mdx @@ -877,9 +877,9 @@ From v4.0.0, `JsonNull`, `DbNull`, and `AnyNull` are objects. Before v4.0.0, the - * When filtering using any of the _null enums_ you can not use a shorthand and leave the `equals` operator off. - * These _null enums_ do not apply to MongoDB because there the difference between a JSON `null` and a database `NULL` does not exist. - * The _null enums_ do not apply to the `array_contains` operator in all databases because there can only be a JSON `null` within a JSON array. Since there cannot be a database `NULL` within a JSON array, `{ array_contains: null }` is not ambiguous. +- When filtering using any of the _null enums_ you can not use a shorthand and leave the `equals` operator off. +- These _null enums_ do not apply to MongoDB because there the difference between a JSON `null` and a database `NULL` does not exist. +- The _null enums_ do not apply to the `array_contains` operator in all databases because there can only be a JSON `null` within a JSON array. Since there cannot be a database `NULL` within a JSON array, `{ array_contains: null }` is not ambiguous. @@ -891,9 +891,9 @@ model Log { meta Json } ``` - + Here is an example of using `AnyNull`: - + ```ts highlight=7;normal import { Prisma } from '@prisma/client' @@ -901,8 +901,8 @@ prisma.log.findMany({ where: { data: { meta: { - equals: Prisma.AnyNull - } + equals: Prisma.AnyNull, + }, }, }, }) diff --git a/content/200-concepts/100-components/02-prisma-client/051-working-with-fields/200-working-with-scalar-lists-arrays.mdx b/content/200-orm/100-prisma-client/051-working-with-fields/200-working-with-scalar-lists-arrays.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/051-working-with-fields/200-working-with-scalar-lists-arrays.mdx rename to content/200-orm/100-prisma-client/051-working-with-fields/200-working-with-scalar-lists-arrays.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/051-working-with-fields/300-working-with-composite-ids-and-constraints.mdx b/content/200-orm/100-prisma-client/051-working-with-fields/300-working-with-composite-ids-and-constraints.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/051-working-with-fields/300-working-with-composite-ids-and-constraints.mdx rename to content/200-orm/100-prisma-client/051-working-with-fields/300-working-with-composite-ids-and-constraints.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/051-working-with-fields/index.mdx b/content/200-orm/100-prisma-client/051-working-with-fields/index.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/051-working-with-fields/index.mdx rename to content/200-orm/100-prisma-client/051-working-with-fields/index.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/052-advanced-type-safety/100-operating-against-partial-structures-of-model-types.mdx b/content/200-orm/100-prisma-client/052-advanced-type-safety/100-operating-against-partial-structures-of-model-types.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/052-advanced-type-safety/100-operating-against-partial-structures-of-model-types.mdx rename to content/200-orm/100-prisma-client/052-advanced-type-safety/100-operating-against-partial-structures-of-model-types.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/052-advanced-type-safety/99-prisma-validator.mdx b/content/200-orm/100-prisma-client/052-advanced-type-safety/99-prisma-validator.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/052-advanced-type-safety/99-prisma-validator.mdx rename to content/200-orm/100-prisma-client/052-advanced-type-safety/99-prisma-validator.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/052-advanced-type-safety/index.mdx b/content/200-orm/100-prisma-client/052-advanced-type-safety/index.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/052-advanced-type-safety/index.mdx rename to content/200-orm/100-prisma-client/052-advanced-type-safety/index.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/053-client-extensions/100-model.mdx b/content/200-orm/100-prisma-client/053-client-extensions/100-model.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/053-client-extensions/100-model.mdx rename to content/200-orm/100-prisma-client/053-client-extensions/100-model.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/053-client-extensions/110-client.mdx b/content/200-orm/100-prisma-client/053-client-extensions/110-client.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/053-client-extensions/110-client.mdx rename to content/200-orm/100-prisma-client/053-client-extensions/110-client.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/053-client-extensions/120-query.mdx b/content/200-orm/100-prisma-client/053-client-extensions/120-query.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/053-client-extensions/120-query.mdx rename to content/200-orm/100-prisma-client/053-client-extensions/120-query.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/053-client-extensions/130-result.mdx b/content/200-orm/100-prisma-client/053-client-extensions/130-result.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/053-client-extensions/130-result.mdx rename to content/200-orm/100-prisma-client/053-client-extensions/130-result.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/053-client-extensions/140-shared-extensions.mdx b/content/200-orm/100-prisma-client/053-client-extensions/140-shared-extensions.mdx similarity index 99% rename from content/200-concepts/100-components/02-prisma-client/053-client-extensions/140-shared-extensions.mdx rename to content/200-orm/100-prisma-client/053-client-extensions/140-shared-extensions.mdx index 2865e15bf5..3ca14196e5 100644 --- a/content/200-concepts/100-components/02-prisma-client/053-client-extensions/140-shared-extensions.mdx +++ b/content/200-orm/100-prisma-client/053-client-extensions/140-shared-extensions.mdx @@ -101,7 +101,6 @@ export default Prisma.defineExtension({ You can then share the extension on `npm`. When you choose a package name, we recommend that you use the `prisma-extension-` convention, to make it easier to find and install. - ### Call a client-level method from your packaged extension In the following situations, you need to refer to a Prisma Client instance that your extension wraps: diff --git a/content/200-concepts/100-components/02-prisma-client/053-client-extensions/150-type-utilities.mdx b/content/200-orm/100-prisma-client/053-client-extensions/150-type-utilities.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/053-client-extensions/150-type-utilities.mdx rename to content/200-orm/100-prisma-client/053-client-extensions/150-type-utilities.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/053-client-extensions/200-extension-examples.mdx b/content/200-orm/100-prisma-client/053-client-extensions/200-extension-examples.mdx similarity index 98% rename from content/200-concepts/100-components/02-prisma-client/053-client-extensions/200-extension-examples.mdx rename to content/200-orm/100-prisma-client/053-client-extensions/200-extension-examples.mdx index 4f9cf7b8a3..ed96d18cbf 100644 --- a/content/200-concepts/100-components/02-prisma-client/053-client-extensions/200-extension-examples.mdx +++ b/content/200-orm/100-prisma-client/053-client-extensions/200-extension-examples.mdx @@ -27,7 +27,7 @@ The following is a list of extensions created by the community. If you want to c | [`prisma-extension-caching`](https://github.com/isaev-the-poetry/prisma-extension-caching) | Transforms SQL data from queries in streams to improve performance in larger datasets | | [`prisma-extension-cache-manager`](https://github.com/random42/prisma-extension-cache-manager) | Caches model queries with any [cache-manager](https://www.npmjs.com/package/cache-manager) compatible cache | | [`prisma-extension-random`](https://github.com/nkeil/prisma-extension-random) | Lets you query for random rows in your database | -| [`prisma-paginate`](https://github.com/sandrewTx08/prisma-paginate) | Adds support for paginating read queries | +| [`prisma-paginate`](https://github.com/sandrewTx08/prisma-paginate) | Adds support for paginating read queries | If you have built an extension and would like to see it featured, feel free to add it to the list by opening a pull request. diff --git a/content/200-concepts/100-components/02-prisma-client/053-client-extensions/index.mdx b/content/200-orm/100-prisma-client/053-client-extensions/index.mdx similarity index 91% rename from content/200-concepts/100-components/02-prisma-client/053-client-extensions/index.mdx rename to content/200-orm/100-prisma-client/053-client-extensions/index.mdx index e7637dcfe5..7d7b0ee910 100644 --- a/content/200-concepts/100-components/02-prisma-client/053-client-extensions/index.mdx +++ b/content/200-orm/100-prisma-client/053-client-extensions/index.mdx @@ -61,35 +61,35 @@ You can create an extension using two primary ways: - Use the client-level [`$extends`](/reference/api-reference/prisma-client-reference#client-methods) method - ```ts - const xprisma = prisma.$extends({ - name: 'signUp', // Optional: name appears in error logs - model: { // This is a `model` component - user: { ... } // The extension logic for the `user` model goes inside the curly braces - }, - }) - ``` - -- Use the `Prisma.defineExtension` method to define an extension and assign it to a variable, and then pass the extension to the client-level `$extends` method - - ```ts - import { Prisma } from '@prisma/client' - - // Define the extension - const myExtension = Prisma.defineExtension({ - name: 'signUp', // Optional: name appears in error logs - model: { // This is a `model` component - user: { ... } // The extension logic for the `user` model goes inside the curly braces - }, - }) - - // Pass the extension to a Prisma Client instance - const xprisma = prisma.$extends(myExtension) - ``` + ```ts + const xprisma = prisma.$extends({ + name: 'signUp', // Optional: name appears in error logs + model: { // This is a `model` component + user: { ... } // The extension logic for the `user` model goes inside the curly braces + }, + }) + ``` + +- Use the `Prisma.defineExtension` method to define an extension and assign it to a variable, and then pass the extension to the client-level `$extends` method + + ```ts + import { Prisma } from '@prisma/client' + + // Define the extension + const myExtension = Prisma.defineExtension({ + name: 'signUp', // Optional: name appears in error logs + model: { // This is a `model` component + user: { ... } // The extension logic for the `user` model goes inside the curly braces + }, + }) + + // Pass the extension to a Prisma Client instance + const xprisma = prisma.$extends(myExtension) + ``` - This pattern is useful for when you would like to separate extensions into multiple files or directories within a project. + This pattern is useful for when you would like to separate extensions into multiple files or directories within a project. @@ -97,7 +97,6 @@ The above examples use the [`model` extension component](/concepts/components/pr In your `$extends` method, use the appropriate extension component or components ([`model`](/concepts/components/prisma-client/client-extensions/model), [`client`](/concepts/components/prisma-client/client-extensions/client), [`result`](/concepts/components/prisma-client/client-extensions/result) or [`query`](/concepts/components/prisma-client/client-extensions/query)). - ## Name an extension for error logs You can name your extensions to help identify them in error logs. To do so, use the optional field `name`. For example: diff --git a/content/200-concepts/100-components/02-prisma-client/054-middleware/100-soft-delete-middleware.mdx b/content/200-orm/100-prisma-client/054-middleware/100-soft-delete-middleware.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/054-middleware/100-soft-delete-middleware.mdx rename to content/200-orm/100-prisma-client/054-middleware/100-soft-delete-middleware.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/054-middleware/200-logging-middleware.mdx b/content/200-orm/100-prisma-client/054-middleware/200-logging-middleware.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/054-middleware/200-logging-middleware.mdx rename to content/200-orm/100-prisma-client/054-middleware/200-logging-middleware.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/054-middleware/300-session-data-middleware.mdx b/content/200-orm/100-prisma-client/054-middleware/300-session-data-middleware.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/054-middleware/300-session-data-middleware.mdx rename to content/200-orm/100-prisma-client/054-middleware/300-session-data-middleware.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/054-middleware/index.mdx b/content/200-orm/100-prisma-client/054-middleware/index.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/054-middleware/index.mdx rename to content/200-orm/100-prisma-client/054-middleware/index.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/055-pagination.mdx b/content/200-orm/100-prisma-client/055-pagination.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/055-pagination.mdx rename to content/200-orm/100-prisma-client/055-pagination.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/056-aggregation-grouping-summarizing.mdx b/content/200-orm/100-prisma-client/056-aggregation-grouping-summarizing.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/056-aggregation-grouping-summarizing.mdx rename to content/200-orm/100-prisma-client/056-aggregation-grouping-summarizing.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/057-composite-types.mdx b/content/200-orm/100-prisma-client/057-composite-types.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/057-composite-types.mdx rename to content/200-orm/100-prisma-client/057-composite-types.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/058-transactions.mdx b/content/200-orm/100-prisma-client/058-transactions.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/058-transactions.mdx rename to content/200-orm/100-prisma-client/058-transactions.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/060-full-text-search.mdx b/content/200-orm/100-prisma-client/060-full-text-search.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/060-full-text-search.mdx rename to content/200-orm/100-prisma-client/060-full-text-search.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/061-custom-validation.mdx b/content/200-orm/100-prisma-client/061-custom-validation.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/061-custom-validation.mdx rename to content/200-orm/100-prisma-client/061-custom-validation.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/062-computed-fields.mdx b/content/200-orm/100-prisma-client/062-computed-fields.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/062-computed-fields.mdx rename to content/200-orm/100-prisma-client/062-computed-fields.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/063-excluding-fields.mdx b/content/200-orm/100-prisma-client/063-excluding-fields.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/063-excluding-fields.mdx rename to content/200-orm/100-prisma-client/063-excluding-fields.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/064-custom-models.mdx b/content/200-orm/100-prisma-client/064-custom-models.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/064-custom-models.mdx rename to content/200-orm/100-prisma-client/064-custom-models.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/065-read-replicas.mdx b/content/200-orm/100-prisma-client/065-read-replicas.mdx similarity index 99% rename from content/200-concepts/100-components/02-prisma-client/065-read-replicas.mdx rename to content/200-orm/100-prisma-client/065-read-replicas.mdx index 01bea75bb3..0d73fbb82b 100644 --- a/content/200-concepts/100-components/02-prisma-client/065-read-replicas.mdx +++ b/content/200-orm/100-prisma-client/065-read-replicas.mdx @@ -81,4 +81,3 @@ You can use the `$replica()` method to explicitly execute your query against a r ```ts const result = await prisma.$replica().$queryRaw`SELECT ...` ``` - diff --git a/content/200-concepts/100-components/02-prisma-client/070-case-sensitivity.mdx b/content/200-orm/100-prisma-client/070-case-sensitivity.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/070-case-sensitivity.mdx rename to content/200-orm/100-prisma-client/070-case-sensitivity.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/080-null-and-undefined.mdx b/content/200-orm/100-prisma-client/080-null-and-undefined.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/080-null-and-undefined.mdx rename to content/200-orm/100-prisma-client/080-null-and-undefined.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/090-raw-database-access.mdx b/content/200-orm/100-prisma-client/090-raw-database-access.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/090-raw-database-access.mdx rename to content/200-orm/100-prisma-client/090-raw-database-access.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/140-debugging.mdx b/content/200-orm/100-prisma-client/140-debugging.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/140-debugging.mdx rename to content/200-orm/100-prisma-client/140-debugging.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/210-module-bundlers.mdx b/content/200-orm/100-prisma-client/210-module-bundlers.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/210-module-bundlers.mdx rename to content/200-orm/100-prisma-client/210-module-bundlers.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/220-database-polyfills.mdx b/content/200-orm/100-prisma-client/220-database-polyfills.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/220-database-polyfills.mdx rename to content/200-orm/100-prisma-client/220-database-polyfills.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/230-handling-exceptions-and-errors.mdx b/content/200-orm/100-prisma-client/230-handling-exceptions-and-errors.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/230-handling-exceptions-and-errors.mdx rename to content/200-orm/100-prisma-client/230-handling-exceptions-and-errors.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/240-metrics.mdx b/content/200-orm/100-prisma-client/240-metrics.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/240-metrics.mdx rename to content/200-orm/100-prisma-client/240-metrics.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/250-opentelemetry-tracing.mdx b/content/200-orm/100-prisma-client/250-opentelemetry-tracing.mdx similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/250-opentelemetry-tracing.mdx rename to content/200-orm/100-prisma-client/250-opentelemetry-tracing.mdx diff --git a/content/200-concepts/100-components/02-prisma-client/index.mdx b/content/200-orm/100-prisma-client/index.mdx similarity index 99% rename from content/200-concepts/100-components/02-prisma-client/index.mdx rename to content/200-orm/100-prisma-client/index.mdx index fcc8759bf4..88e18dd73e 100644 --- a/content/200-concepts/100-components/02-prisma-client/index.mdx +++ b/content/200-orm/100-prisma-client/index.mdx @@ -2,6 +2,8 @@ title: 'Prisma Client' metaTitle: 'Prisma Client' metaDescription: 'Prisma Client is an auto-generated, type-safe query builder generated based on the models and attributes of your Prisma schema.' +staticLink: true +toc: false --- diff --git a/content/200-concepts/100-components/02-prisma-client/jaeger.png b/content/200-orm/100-prisma-client/jaeger.png similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/jaeger.png rename to content/200-orm/100-prisma-client/jaeger.png diff --git a/content/200-concepts/100-components/02-prisma-client/trace-diagram.png b/content/200-orm/100-prisma-client/trace-diagram.png similarity index 100% rename from content/200-concepts/100-components/02-prisma-client/trace-diagram.png rename to content/200-orm/100-prisma-client/trace-diagram.png diff --git a/content/200-concepts/100-components/01-prisma-schema/02-data-sources.mdx b/content/200-orm/150-components/01-prisma-schema/02-data-sources.mdx similarity index 100% rename from content/200-concepts/100-components/01-prisma-schema/02-data-sources.mdx rename to content/200-orm/150-components/01-prisma-schema/02-data-sources.mdx diff --git a/content/200-concepts/100-components/01-prisma-schema/03-generators.mdx b/content/200-orm/150-components/01-prisma-schema/03-generators.mdx similarity index 99% rename from content/200-concepts/100-components/01-prisma-schema/03-generators.mdx rename to content/200-orm/150-components/01-prisma-schema/03-generators.mdx index 51a192d22f..1aef048592 100644 --- a/content/200-concepts/100-components/01-prisma-schema/03-generators.mdx +++ b/content/200-orm/150-components/01-prisma-schema/03-generators.mdx @@ -96,4 +96,3 @@ The following is a list of community created generators. If you want to create y - [`prisma-markdown`](https://github.com/samchon/prisma-markdown): Generates markdown document composed with ERD diagrams and their descriptions. Supports pagination of ERD diagrams through `@namespace` comment tag. - [`prisma-models-graph`](https://github.com/dangchinh25/prisma-models-graph): Generates a bi-directional models graph for schema without strict relationship defined in the schema, works via a custom schema annotation. - [`prisma-generator-fake-data`](https://github.com/luisrudge/prisma-generator-fake-data): Generates realistic-looking fake data for your Prisma models that can be used in unit/integration tests, demos, and more. - diff --git a/content/200-concepts/100-components/01-prisma-schema/04-data-model.mdx b/content/200-orm/150-components/01-prisma-schema/04-data-model.mdx similarity index 99% rename from content/200-concepts/100-components/01-prisma-schema/04-data-model.mdx rename to content/200-orm/150-components/01-prisma-schema/04-data-model.mdx index 32a5758ca3..f594649e93 100644 --- a/content/200-concepts/100-components/01-prisma-schema/04-data-model.mdx +++ b/content/200-orm/150-components/01-prisma-schema/04-data-model.mdx @@ -98,22 +98,23 @@ model Profile { } model Post { - id String @id @default(auto()) @map("_id") @db.ObjectId - createdAt DateTime @default(now()) - title String - published Boolean @default(false) - author User @relation(fields: [authorId], references: [id]) - authorId String @db.ObjectId + id String @id @default(auto()) @map("_id") @db.ObjectId + createdAt DateTime @default(now()) + title String + published Boolean @default(false) + author User @relation(fields: [authorId], references: [id]) + authorId String @db.ObjectId categoryIDs String[] @db.ObjectId categories Category[] @relation(fields: [categoryIDs], references: [id]) } model Category { - id String @id @default(auto()) @map("_id") @db.ObjectId - name String + id String @id @default(auto()) @map("_id") @db.ObjectId + name String postIDs String[] @db.ObjectId posts Post[] @relation(fields: [postIDs], references: [id]) } + enum Role { USER ADMIN diff --git a/content/200-concepts/100-components/01-prisma-schema/05-names-in-underlying-database.mdx b/content/200-orm/150-components/01-prisma-schema/05-names-in-underlying-database.mdx similarity index 99% rename from content/200-concepts/100-components/01-prisma-schema/05-names-in-underlying-database.mdx rename to content/200-orm/150-components/01-prisma-schema/05-names-in-underlying-database.mdx index 06405ea4f1..10c7f4b9de 100644 --- a/content/200-concepts/100-components/01-prisma-schema/05-names-in-underlying-database.mdx +++ b/content/200-orm/150-components/01-prisma-schema/05-names-in-underlying-database.mdx @@ -68,7 +68,7 @@ You can also `@map` an enum value, or `@@map` an enum: ```prisma highlight=3,5;normal enum Type { Blog, - Twitter @map("comment_twitter") + Twitter @map("comment_twitter") @@map("comment_source_enum") } diff --git a/content/200-concepts/100-components/01-prisma-schema/06-features-without-psl-equivalent.mdx b/content/200-orm/150-components/01-prisma-schema/06-features-without-psl-equivalent.mdx similarity index 100% rename from content/200-concepts/100-components/01-prisma-schema/06-features-without-psl-equivalent.mdx rename to content/200-orm/150-components/01-prisma-schema/06-features-without-psl-equivalent.mdx diff --git a/content/200-concepts/100-components/01-prisma-schema/06-relations/100-one-to-one-relations.mdx b/content/200-orm/150-components/01-prisma-schema/06-relations/100-one-to-one-relations.mdx similarity index 99% rename from content/200-concepts/100-components/01-prisma-schema/06-relations/100-one-to-one-relations.mdx rename to content/200-orm/150-components/01-prisma-schema/06-relations/100-one-to-one-relations.mdx index 00f8495a9a..1495c4bf96 100644 --- a/content/200-concepts/100-components/01-prisma-schema/06-relations/100-one-to-one-relations.mdx +++ b/content/200-orm/150-components/01-prisma-schema/06-relations/100-one-to-one-relations.mdx @@ -199,7 +199,7 @@ model User { This restriction was introduced in 2.12.0. -However, you can choose if the side of the relation _with_ a relation scalar should be optional or mandatory. +However, you can choose if the side of the relation _with_ a relation scalar should be optional or mandatory. ### Mandatory 1-1 relation diff --git a/content/200-concepts/100-components/01-prisma-schema/06-relations/200-one-to-many-relations.mdx b/content/200-orm/150-components/01-prisma-schema/06-relations/200-one-to-many-relations.mdx similarity index 100% rename from content/200-concepts/100-components/01-prisma-schema/06-relations/200-one-to-many-relations.mdx rename to content/200-orm/150-components/01-prisma-schema/06-relations/200-one-to-many-relations.mdx diff --git a/content/200-concepts/100-components/01-prisma-schema/06-relations/300-many-to-many-relations.mdx b/content/200-orm/150-components/01-prisma-schema/06-relations/300-many-to-many-relations.mdx similarity index 100% rename from content/200-concepts/100-components/01-prisma-schema/06-relations/300-many-to-many-relations.mdx rename to content/200-orm/150-components/01-prisma-schema/06-relations/300-many-to-many-relations.mdx diff --git a/content/200-concepts/100-components/01-prisma-schema/06-relations/400-self-relations.mdx b/content/200-orm/150-components/01-prisma-schema/06-relations/400-self-relations.mdx similarity index 100% rename from content/200-concepts/100-components/01-prisma-schema/06-relations/400-self-relations.mdx rename to content/200-orm/150-components/01-prisma-schema/06-relations/400-self-relations.mdx diff --git a/content/200-concepts/100-components/01-prisma-schema/06-relations/410-referential-actions/100-special-rules-for-referential-actions.mdx b/content/200-orm/150-components/01-prisma-schema/06-relations/410-referential-actions/100-special-rules-for-referential-actions.mdx similarity index 100% rename from content/200-concepts/100-components/01-prisma-schema/06-relations/410-referential-actions/100-special-rules-for-referential-actions.mdx rename to content/200-orm/150-components/01-prisma-schema/06-relations/410-referential-actions/100-special-rules-for-referential-actions.mdx diff --git a/content/200-concepts/100-components/01-prisma-schema/06-relations/410-referential-actions/index.mdx b/content/200-orm/150-components/01-prisma-schema/06-relations/410-referential-actions/index.mdx similarity index 99% rename from content/200-concepts/100-components/01-prisma-schema/06-relations/410-referential-actions/index.mdx rename to content/200-orm/150-components/01-prisma-schema/06-relations/410-referential-actions/index.mdx index 91b12e2e96..6e0d8bac7d 100644 --- a/content/200-concepts/100-components/01-prisma-schema/06-relations/410-referential-actions/index.mdx +++ b/content/200-orm/150-components/01-prisma-schema/06-relations/410-referential-actions/index.mdx @@ -153,12 +153,11 @@ The following table shows which referential action each database supports. | Database | Cascade | Restrict | NoAction | SetNull | SetDefault | | :---------- | :------ | :------- | :------- | :------ | :--------- | | PostgreSQL | ✔️ | ✔️ | ✔️ | ✔️⌘ | ✔️ | -| MySQL | ✔️ | ✔️ | ✔️ | ✔️ | ❌ (✔️†) | +| MySQL | ✔️ | ✔️ | ✔️ | ✔️ | ❌ (✔️†) | | SQLite | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | -| SQL Server | ✔️ | ❌‡ | ✔️ | ✔️ | ✔️ | +| SQL Server | ✔️ | ❌‡ | ✔️ | ✔️ | ✔️ | | CockroachDB | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | -| MongoDB†† | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | - +| MongoDB†† | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | - † See [special cases for MySQL](#mysql). - ⌘ See [special cases for PostgreSQL](#postgresql). diff --git a/content/200-concepts/100-components/01-prisma-schema/06-relations/420-relation-mode.mdx b/content/200-orm/150-components/01-prisma-schema/06-relations/420-relation-mode.mdx similarity index 100% rename from content/200-concepts/100-components/01-prisma-schema/06-relations/420-relation-mode.mdx rename to content/200-orm/150-components/01-prisma-schema/06-relations/420-relation-mode.mdx diff --git a/content/200-concepts/100-components/01-prisma-schema/06-relations/500-troubleshooting-relations.mdx b/content/200-orm/150-components/01-prisma-schema/06-relations/500-troubleshooting-relations.mdx similarity index 100% rename from content/200-concepts/100-components/01-prisma-schema/06-relations/500-troubleshooting-relations.mdx rename to content/200-orm/150-components/01-prisma-schema/06-relations/500-troubleshooting-relations.mdx diff --git a/content/200-concepts/100-components/01-prisma-schema/06-relations/index.mdx b/content/200-orm/150-components/01-prisma-schema/06-relations/index.mdx similarity index 99% rename from content/200-concepts/100-components/01-prisma-schema/06-relations/index.mdx rename to content/200-orm/150-components/01-prisma-schema/06-relations/index.mdx index 6c7441ca57..07b151ca1a 100644 --- a/content/200-concepts/100-components/01-prisma-schema/06-relations/index.mdx +++ b/content/200-orm/150-components/01-prisma-schema/06-relations/index.mdx @@ -53,7 +53,6 @@ At a Prisma level, the `User` / `Post` relation is made up of: At a Prisma level, a connection between two models is **always** represented by a [relation field](#relation-fields) on **each side** of the relation. -
- -
diff --git a/content/300-guides/050-database/860-cockroachdb.mdx b/content/300-guides/050-database/860-cockroachdb.mdx deleted file mode 100644 index 27d5372c82..0000000000 --- a/content/300-guides/050-database/860-cockroachdb.mdx +++ /dev/null @@ -1,99 +0,0 @@ ---- -title: 'Using Prisma with CockroachDB' -metaTitle: 'Using Prisma with CockroachDB' -metaDescription: 'Guide to using Prisma with CockroachDB' -tocDepth: 3 -toc: true ---- - - - -This guide discusses the concepts behind using Prisma and CockroachDB, explains the commonalities and differences between CockroachDB and other database providers, and leads you through the process for configuring your application to integrate with CockroachDB. - - - -## What is CockroachDB? - -CockroachDB is a distributed database that is designed for scalability and high availability. Features include: - -- **Built-in scaling:** CockroachDB comes with automated replication, failover and repair capabilities to allow easy horizontal scaling of your application -- **Consistent transactions:** CockroachDB is a relational database that supports consistent transactions that maintain data integrity -- **Compatibility with PostgreSQL:** CockroachDB is compatible with PostgreSQL, allowing interoperability with a large ecosystem of existing products - -## Commonalities with other database providers - -CockroachDB is largely compatible with PostgreSQL, and can mostly be used with Prisma in the same way. You can still: - -- model your database with the [Prisma Schema Language](/concepts/components/prisma-schema) -- connect to your database, using Prisma's [`cockroachdb` database connector](/concepts/database-connectors/cockroachdb) -- use [Introspection](/concepts/components/introspection) for existing projects if you already have a CockroachDB database -- use [Prisma Migrate](/concepts/components/prisma-migrate) to migrate your database schema to a new version -- use [Prisma Client](/concepts/components/prisma-client) in your application to query your database in a type safe way based on your Prisma Schema - -## Differences to consider - -There are some CockroachDB-specific differences to be aware of when working with Prisma's `cockroachdb` connector: - -- **Cockroach-specific native types:** Prisma's `cockroachdb` database connector provides support for CockroachDB's native data types. To learn more, see [How to use CockroachDB's native types](#how-to-use-cockroachdbs-native-types). - -- **Creating database keys:** Prisma allows you to generate a unique identifier for each record using the [`autoincrement()`](/reference/api-reference/prisma-schema-reference#autoincrement) function. For more information, see [How to use database keys with CockroachDB](#how-to-use-database-keys-with-cockroachdb). - -## How to use Prisma with CockroachDB - -This section provides more details on how to use CockroachDB-specific features. - -### How to use CockroachDB's native types - -CockroachDB has its own set of native [data types](https://www.cockroachlabs.com/docs/stable/data-types.html) which are supported in Prisma. For example, CockroachDB uses the `STRING` data type instead of PostgreSQL's `VARCHAR`. - -As a demonstration of this, say you create a `User` table in your CockroachDB database using the following SQL command: - -```sql -CREATE TABLE public."Post" ( - "id" INT8 NOT NULL, - "title" VARCHAR(200) NOT NULL, - CONSTRAINT "Post_pkey" PRIMARY KEY ("id" ASC), - FAMILY "primary" ("id", "title") -); -``` - -After introspecting your database with `npx prisma db pull`, you will have a new `Post` model in your `schema.prisma` file: - -```prisma file=schema.prisma -model Post { - id BigInt @id - title String @db.String(200) -} -``` - -Notice that the `title` field has been annotated with `@db.String(200)` — this differs from PostgreSQL where the annotation would be `@db.VarChar(200)`. - -For a full list of type mappings, see our [connector documentation](/concepts/database-connectors/cockroachdb#type-mapping-between-cockroachdb-and-the-prisma-schema). - -### How to use database keys with CockroachDB - -When generating unique identifiers for records in a distributed database like CockroachDB, it is best to avoid using sequential IDs – for more information on this, see CockroachDB's [blog post on choosing index keys](https://cockroachlabs.com/blog/how-to-choose-db-index-keys). - -Instead, Prisma provides the [`autoincrement()`](/reference/api-reference/prisma-schema-reference#autoincrement) attribute function, which uses CockroachDB's [`unique_rowid()` function](https://www.cockroachlabs.com/docs/stable/serial.html) for generating unique identifiers. For example, the following `User` model has an `id` primary key, generated using the `autoincrement()` function: - -```prisma file=schema.prisma -model User { - id BigInt @id @default(autoincrement()) - name String -} -``` - -For compatibility with existing databases, you may sometimes still need to generate a fixed sequence of integer key values. In these cases, you can use Prisma's inbuilt [`sequence()`](/reference/api-reference/prisma-schema-reference#sequence) function for CockroachDB. For a list of available options for the `sequence()` function, see our [reference documentation](/reference/api-reference/prisma-schema-reference#sequence). - -For more information on generating database keys, see CockroachDB's [Primary key best practices](https://www.cockroachlabs.com/docs/v21.2/schema-design-table#primary-key-best-practices) guide. - -## More on using CockroachDB with Prisma - -The fastest way to start using CockroachDB with Prisma is to refer to our Getting Started documentation: - -- [Start from scratch](/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-cockroachdb) -- [Add to existing project](/getting-started/setup-prisma/add-to-existing-project/relational-databases-typescript-cockroachdb) - -These tutorials will take you through the process of connecting to CockroachDB, migrating your schema, and using Prisma Client. - -Further reference information is available in the [CockroachDB connector documentation](/concepts/database-connectors/cockroachdb). diff --git a/content/300-guides/050-database/870-mongodb.mdx b/content/300-guides/050-database/870-mongodb.mdx deleted file mode 100644 index 48ee2c0e88..0000000000 --- a/content/300-guides/050-database/870-mongodb.mdx +++ /dev/null @@ -1,344 +0,0 @@ ---- -title: 'Using Prisma with MongoDB' -metaTitle: 'Using Prisma with MongoDB' -metaDescription: 'Guide to using Prisma with MongoDB' -tocDepth: 3 -toc: true ---- - - - -This guide discusses the concepts behind using Prisma and MongoDB, explains the commonalities and differences between MongoDB and other database providers, and leads you through the process for configuring your application to integrate with MongoDB using Prisma. - - - -## What is MongoDB? - -[MongoDB](https://www.mongodb.com/) is a NoSQL database that stores data in [BSON](https://bsonspec.org/) format, a JSON-like document format designed for storing data in key-value pairs. It is commonly used in JavaScript application development because the document model maps easily to objects in application code, and there is built in support for high availability and horizontal scaling. - -MongoDB stores data in collections that do not need a schema to be defined in advance, as you would need to do with tables in a relational database. The structure of each collection can also be changed over time. This flexibility can allow rapid iteration of your data model, but it does mean that there are a number of differences when using Prisma to work with your MongoDB database. - -## Commonalities with other database providers - -Some aspects of using Prisma with MongoDB are the same as when using Prisma with a relational database. You can still: - -- model your database with the [Prisma Schema Language](/concepts/components/prisma-schema) -- connect to your database, using the [`mongodb` database connector](/concepts/database-connectors/mongodb) -- use [Introspection](/concepts/components/introspection) for existing projects if you already have a MongoDB database -- use [`db push`](/concepts/components/prisma-migrate/db-push) to push changes in your schema to the database -- use [Prisma Client](/concepts/components/prisma-client) in your application to query your database in a type safe way based on your Prisma Schema - -## Differences to consider - -MongoDB's document-based structure and flexible schemas means that using Prisma with MongoDB differs from using it with a relational database in a number of ways. These are some areas where there are differences that you need to be aware of: - -- **Defining IDs**: MongoDB documents have an `_id` field (that often contains an [ObjectID](https://www.mongodb.com/docs/manual/reference/bson-types/#std-label-objectid)). Prisma does not support fields starting with `_`, so this needs to be mapped to a Prisma field using the `@map` attribute. For more information, see [Defining IDs in MongoDB](/concepts/components/prisma-schema/data-model#defining-ids-in-mongodb). - -- **Migrating existing data to match your Prisma schema**: In relational databases, all your data must match your schema. If you change the type of a particular field in your schema when you migrate, all the data must also be updated to match. In contrast, MongoDB does not enforce any particular schema, so you need to take care when migrating. For more information, see [How to migrate old data to new schemas](#how-to-migrate-existing-data-to-match-your-prisma-schema). - -- **Introspection and Prisma relations**: When you introspect an existing MongoDB database, you will get a schema with no relations and will need to add the missing relations in manually. For more information, see [How to add in missing relations after Introspection](#how-to-add-in-missing-relations-after-introspection). - -- **Filtering for `null` and missing fields**: MongoDB makes a distinction between setting a field to `null` and not setting it at all, which is not present in relational databases. Prisma currently does not express this distinction, which means that you need to be careful when filtering for `null` and missing fields. For more information, see [How to filter for `null` and missing fields](#how-to-filter-for-null-and-missing-fields) - -- **Enabling replication**: Prisma uses [MongoDB transactions](https://www.mongodb.com/docs/manual/core/transactions/) internally to avoid partial writes on nested queries. When using transactions, MongoDB requires replication of your data set to be enabled. To do this, you will need to configure a [replica set](https://www.mongodb.com/docs/manual/replication/) — this is a group of MongoDB processes that maintain the same data set. Note that it is still possible to use a single database, by creating a replica set with only one node in it. If you use MongoDB's [Atlas](https://www.mongodb.com/atlas/database) hosting service, the replica set is configured for you, but if you are running MongoDB locally you will need to set up a replica set yourself. For more information, see MongoDB's [guide to deploying a replica set](https://www.mongodb.com/docs/manual/tutorial/deploy-replica-set/). - -## How to use Prisma with MongoDB - -This section provides instructions for how to carry out tasks that require steps specific to MongoDB. - -### How to migrate existing data to match your Prisma schema - -Migrating your database over time is an important part of the development cycle. During development, you will need to update your Prisma schema file (for example, to add new fields), then update the data in your development environment’s database, and eventually push both the updated schema and the new data to the production database. - - - -When using MongoDB, be aware that the “coupling” between your schema and the database is purposefully designed to be less rigid than with with SQL databases; MongoDB will not enforce the schema, so you have to verify data integrity. - - - -These iterative tasks of updating the schema and the database can result in inconsistencies between your schema and the actual data in the database. Let’s look at one scenario where this can happen, and then examine several strategies for you and your team to consider for handling these inconsistencies. - -**Scenario**: you need to include a phone number for users, as well as an email. You currently have the following `User` model in your `schema.prisma` file: - -```prisma file=prisma/schema.prisma -model User { - id String @id @default(auto()) @map("_id") @db.ObjectId - email String -} -``` - -There are a number of strategies you could use for migrating this schema: - -- **"On-demand" updates**: with this strategy, you and your team have agreed that updates can be made to the schema as needed. However, in order to avoid migration failures due to inconsistencies between the data and schema, there is agreement in the team that any new fields added are explicitly defined as optional. - - In our scenario above, you can add an optional `phoneNumber` field to the `User` model in your Prisma schema: - - ```prisma file=prisma/schema.prisma highlight=4;add - model User { - id String @id @default(auto()) @map("_id") @db.ObjectId - email String - phoneNumber String? - } - ``` - - Then regenerate your Prisma Client using the `npx prisma generate` command. Next, update your application to reflect the new field, and redeploy your app. - - As the `phoneNumber` field is optional, you can still query the old users where the phone number has not been defined. The records in the database will be updated "on demand" as the application's users begin to enter their phone number in the new field. - - Another option is to add a default value on a required field, for example: - - ```prisma file=prisma/schema.prisma highlight=4;add - model User { - id String @id @default(auto()) @map("_id") @db.ObjectId - email String - phoneNumber String @default("000-000-0000") - } - ``` - - Then when you encounter a missing `phoneNumber`, the value will be coerced into `000-000-0000`. - -- **"No breaking changes" updates**: this strategy builds on the first one, with further consensus amongst your team that you don't rename or delete fields, only add new fields, and always define the new fields as optional. This policy can be reenforced by adding checks in the CI/CD process to verify that there are no backwards-incompatible changes to the schema. - -- **"All-at-once" updates**: this strategy is similar to traditional migrations in relational databases, where all data is updated to reflect the new schema. In the scenario above, you would create a script to add a value for the phone number field to all existing users in your database. You can then make the field a required field in the application because the schema and the data are consistent. - -### How to add in missing relations after Introspection - -After introspecting an existing MongoDB database, you will need to manually add in relations between models. MongoDB does not have the concept of defining relations via foreign keys, as you would in a relational database. However, if you have a collection in MongoDB with a "foreign-key-like" field that matches the ID field of another collection, Prisma will allow you to emulate relations between the collections. - -As an example, take a MongoDB database with two collections, `User` and `Post`. The data in these collections has the following format, with a `userId` field linking users to posts: - -`User` collection: - -- `_id` field with a type of `objectId` -- `email` field with a type of `string` - -`Post` collection: - -- `_id` field with a type of `objectId` -- `title` field with a type of `string` -- `userId` with a type of `objectID` - -On introspection with `db pull`, this is pulled in to the Prisma schema file as follows: - -```prisma file=prisma/schema.prisma -model Post { - id String @id @default(auto()) @map("_id") @db.ObjectId - title String - userId String @db.ObjectId -} - -model User { - id String @id @default(auto()) @map("_id") @db.ObjectId - email String -} -``` - -This is missing the relation between the `User` and `Post` models. To fix this, manually add a `user` field to the `Post` model with a `@relation` attribute using `userId` as the `fields` value, linking it to the `User` model, and a `posts` field to the `User` model as the back relation: - -```prisma file=prisma/schema.prisma highlight=5;add|11;add -model Post { - id String @id @default(auto()) @map("_id") @db.ObjectId - title String - userId String @db.ObjectId - user User @relation(fields: [userId], references: [id]) -} - -model User { - id String @id @default(auto()) @map("_id") @db.ObjectId - email String - posts Post[] -} -``` - -For more information on how to use relations in Prisma, see [our documentation](/concepts/components/prisma-schema/relations). - -### How to filter for null and missing fields - -To understand how MongoDB distinguishes between `null` and missing fields, consider the example of a `User` model with an optional `name` field: - -```ts -model User { - id String @id @default(auto()) @map("_id") @db.ObjectId - email String - name String? -} -``` - -First, try creating a record with the `name` field explicitly set to `null`. Prisma will return `name: null` as expected: - - - - - -```ts -const createNull = await prisma.user.create({ - data: { - email: 'user1@prisma.io', - name: null, - }, -}) -console.log(createNull) -``` - - - - - -```code no-copy -{ - id: '6242c4ae032bc76da250b207', - email: 'user1@prisma.io', - name: null -} -``` - - - - - -If you check your MongoDB database directly, you will also see a new record with `name` set to `null`: - -```json -{ - "_id": "6242c4af032bc76da250b207", - "email": "user1@prisma.io", - "name": null -} -``` - -Next, try creating a record without explicitly setting the `name` field: - - - - - -```ts -const createMissing = await prisma.user.create({ - data: { - email: 'user2@prisma.io', - }, -}) -console.log(createMissing) -``` - - - - - -```code no-copy -{ - id: '6242c4ae032bc76da250b208', - email: 'user2@prisma.io', - name: null -} -``` - - - - - -Prisma still returns `name: null`, but if you look in the database directly you will see that the record has no `name` field defined at all: - -```json -{ - "_id": "6242c4af032bc76da250b208", - "email": "user2@prisma.io" -} -``` - -Prisma returns the same result in both cases, because we currently don't have a way to specify this difference in MongoDB between fields that are `null` in the underlying database, and fields that are not defined at all — see [this Github issue](https://github.com/prisma/prisma/issues/12555) for more information. - -This means that you currently have to be careful when filtering for `null` and missing fields. Filtering for records with `name: null` will only return the first record, with the `name` explicitly set to `null`: - - - - - -```ts -const findNulls = await prisma.user.findMany({ - where: { - name: null, - }, -}) -console.log(findNulls) -``` - - - - - -```terminal no-copy -[ - { - id: '6242c4ae032bc76da250b207', - email: 'user1@prisma.io', - name: null - } -] -``` - - - - - -This is because `name: null` is checking for equality, and a non-existing field isn't equal to `null`. - -To include missing fields as well, use the [`isSet` filter](/reference/api-reference/prisma-client-reference#isset) to explicitly search for fields which are either `null` or not set. This will return both records: - - - - - -```ts -const findNullOrMissing = await prisma.user.findMany({ - where: { - OR: [ - { - name: null, - }, - { - name: { - isSet: false, - }, - }, - ], - }, -}) -console.log(findNullOrMissing) -``` - - - - - -```terminal no-copy -[ - { - id: '6242c4ae032bc76da250b207', - email: 'user1@prisma.io', - name: null - }, - { - id: '6242c4ae032bc76da250b208', - email: 'user2@prisma.io', - name: null - } -] -``` - - - - - -## More on using MongoDB with Prisma - -The fastest way to start using MongoDB with Prisma is to refer to our Getting Started documentation: - -- [Start from scratch](/getting-started/setup-prisma/start-from-scratch/mongodb-typescript-mongodb) -- [Add to existing project](/getting-started/setup-prisma/add-to-existing-project/mongodb-typescript-mongodb) - -These tutorials will take you through the process of connecting to MongoDB, pushing schema changes, and using Prisma Client. - -Further reference information is available in the [MongoDB connector documentation](/concepts/database-connectors/mongodb). - -For more information on how to set up and manage a MongoDB database, see the [Prisma Data Guide](https://www.prisma.io/dataguide#mongodb). diff --git a/content/300-guides/050-database/880-supabase.mdx b/content/300-guides/050-database/880-supabase.mdx deleted file mode 100644 index 75a6b5a0c0..0000000000 --- a/content/300-guides/050-database/880-supabase.mdx +++ /dev/null @@ -1,73 +0,0 @@ ---- -title: 'Using Prisma with Supabase' -metaTitle: 'Using Prisma with Supabase' -metaDescription: 'Guide to using Prisma with Supabase' -tocDepth: 2 -toc: true ---- - - - -This guide discusses the concepts behind using Prisma and Supabase, explains the commonalities and differences between Supabase and other database providers, and leads you through the process for configuring your application to integrate with Supabase. - - - -## What is Supabase? - -[Supabase](https://supabase.com/) is a PostgreSQL hosting service and open source Firebase alternative providing all the backend features you need to build a product. Unlike Firebase, Supabase is backed by PostgreSQL which can be accessed directly using Prisma. - -To learn more about Supabase, you can check out their architecture [here](https://supabase.com/docs/guides/getting-started/architecture) and features [here](https://supabase.com/docs/guides/getting-started/features) - -## Commonalities with other database providers - -Many aspects of using Prisma with Supabase are just like using Prisma with any other relational database. You can still: - -- model your database with the [Prisma Schema Language](/concepts/components/prisma-schema) -- use Prisma's existing [`postgresql` database connector](/concepts/database-connectors/postgresql) in your schema, along with the [connection string Supabase provides you](https://supabase.com/docs/guides/database/connecting-to-postgres#finding-your-connection-string) -- use [Introspection](/concepts/components/introspection) for existing projects if you already have a database schema in Supabase -- use [`db push`](/concepts/components/prisma-migrate/db-push) to push changes in your schema to Supabase -- use [Prisma Client](/concepts/components/prisma-client) in your application to talk to the database server at Supabase - -## Specific considerations - -If you'd like to use the [connection pooling feature](https://supabase.com/docs/guides/integrations/prisma#connection-pooling-with-supabase) available with Supabase, you will -need to add `pgbouncer=true` to the end of the `DATABASE_URL` environment variable used in the `datasource.url` property: - -```env file=.env -# Connect to Supabase with PgBouncer. -DATABASE_URL="postgres://postgres.__YOUR_SUPABASE_PROJECT__:__PASSWORD__@aws-0-eu-central-1.pooler.supabase.com:6543/postgres?pgbouncer=true" -``` - -If you would like to use the Prisma CLI in order to perform other actions on your database (e.g. migrations) you will need to add a `DIRECT_URL` environment variable to use in the `datasource.directUrl` property so that the CLI can bypass PgBouncer: - -```env file=.env highlight=4-5;add -# Connect to Supabase with PgBouncer. -DATABASE_URL="postgres://postgres.__YOUR_SUPABASE_PROJECT__:__PASSWORD__@aws-0-eu-central-1.pooler.supabase.com:6543/postgres?pgbouncer=true" - -# Direct connection to the database. Used for migrations. -DIRECT_URL="postgres://postgres:__PASSWORD__@db.__YOUR SUPABASE_PROJECT__.supabase.co:5432/postgres" -``` - -You can then update your `schema.prisma` to use the new direct URL: - -```prisma file=schema.prisma highlight=4;add -datasource db { - provider = "postgresql" - url = env("DATABASE_URL") - directUrl = env("DIRECT_URL") -} -``` - -More information about the `directUrl` field can be found [here](/reference/api-reference/prisma-schema-reference#fields). - - - -We strongly recommend using `pgbouncer` in addition to `DIRECT_URL`. You will gain the great developer experience of the Prisma CLI while also allowing for connections to be pooled regardless of deployment strategy. While this is not strictly necessary for every app, serverless solutions will inevitably require connection pooling. - - - -## Getting started with Supabase - -If you're interested in learning more, Supabase has a great guide for connecting a database provided by Supabase to your Prisma project available [here](https://supabase.com/docs/guides/integrations/prisma). - -If you're running into issues integrating with Supabase, check out these [specific troubleshooting tips](https://supabase.com/docs/guides/integrations/prisma#troubleshooting) or [Prisma's GitHub Discussions](https://github.com/prisma/prisma/discussions) for more help. diff --git a/content/300-guides/050-database/890-neon.mdx b/content/300-guides/050-database/890-neon.mdx deleted file mode 100644 index 0dfc244da5..0000000000 --- a/content/300-guides/050-database/890-neon.mdx +++ /dev/null @@ -1,175 +0,0 @@ ---- -title: 'Using Prisma with Neon' -metaTitle: 'Using Prisma with Neon' -metaDescription: 'Guide to using Prisma with Neon' -tocDepth: 2 -toc: true ---- - - - -This guide explains how to: - -- [Connect Prisma using Neon's connection pooling feature](#how-to-use-neons-connection-pooling) -- [Resolve connection timeout issues](#resolving-connection-timeouts) -- [Use Neon's serverless driver with Prisma](#how-to-use-neons-serverless-driver-with-prisma-preview) - - - -## What is Neon? - -Neon's logo - -[Neon](https://neon.tech/) is a fully managed serverless PostgreSQL with a generous free tier. Neon separates storage and compute, and offers modern developer features such as serverless, branching, bottomless storage, and more. Neon is open source and written in Rust. - -Learn more about Neon [here](https://neon.tech/docs). - -## Commonalities with other database providers - -Many aspects of using Prisma with Neon are just like using Prisma with any other PostgreSQL database. You can: - -- model your database with the [Prisma Schema Language](/concepts/components/prisma-schema) -- use Prisma's [`postgresql` database connector](/concepts/database-connectors/postgresql) in your schema, along with the [connection string Neon provides you](https://neon.tech/docs/connect/connect-from-any-app) -- use [Introspection](/concepts/components/introspection) for existing projects if you already have a database schema on Neon -- use [`prisma migrate dev`](/concepts/components/prisma-migrate/migrate-development-production) to track schema migrations in your Neon database -- use [`prisma db push`](/concepts/components/prisma-migrate/db-push) to push changes in your schema to Neon -- use [Prisma Client](/concepts/components/prisma-client) in your application to communicate with the database hosted by Neon - -## Differences to consider - -There are a few differences between Neon and PostgreSQL you should be aware of the following when deciding to use Neon with Prisma: - -- **Neon's serverless model** — By default, Neon scales a [compute](https://neon.tech/docs/introduction/compute-lifecycle) to zero after 5 minutes of inactivity. During this state, a compute instance is in _idle_ state. A characteristic of this feature is the concept of a "cold start". Activating a compute from an idle state takes from 500ms to a few seconds. Depending on how long it takes to connect to your database, your application may timeout. To learn more, see: [Connection latency and timeouts](https://neon.tech/docs/guides/prisma#connection-timeouts). -- **Neon's connection pooler** — Neon offers connection pooling using PgBouncer, enabling up to 10,000 concurrent connections. To learn more, see: [Connection pooling](https://neon.tech/docs/connect/connection-pooling). - -## How to use Neon's connection pooling - -If you'd like to use the [connection pooling](https://neon.tech/blog/prisma-dx-improvements#providing-pooled-and-direct-connections-to-the-database) available in Neon, you will -need to add `pgbouncer=true` to the end of the `DATABASE_URL` environment variable used in the `url` property of the `datasource` block of your Prisma schema: - -```env file=.env -# Connect to Neon with PgBouncer. -DATABASE_URL=postgres://daniel:@ep-mute-rain-952417-pooler.us-east-2.aws.neon.tech:5432/neondb?pgbouncer=true -``` - -If you would like to use Prisma CLI in order to perform other actions on your database (e.g. for migrations) you will need to add a `DIRECT_URL` environment variable to use in the `directUrl` property of the `datasource` block of your Prisma schema so that the CLI will use a direct connection string (without PgBouncer): - -```env file=.env highlight=4-5;add -# Connect to Neon with PgBouncer. -DATABASE_URL=postgres://daniel:@ep-mute-rain-952417-pooler.us-east-2.aws.neon.tech/neondb?pgbouncer=true - -# Direct connection to the database used by Prisma CLI for e.g. migrations. -DIRECT_URL="postgres://daniel:@ep-mute-rain-952417.us-east-2.aws.neon.tech/neondb" -``` - -You can then update your `schema.prisma` to use the new direct URL: - -```prisma file=schema.prisma highlight=4;add -datasource db { - provider = "postgresql" - url = env("DATABASE_URL") - directUrl = env("DIRECT_URL") -} -``` - -More information about the `directUrl` field can be found [here](/reference/api-reference/prisma-schema-reference#fields). - - - -We strongly recommend using the pooled connection string in your `DATABASE_URL` environment variable. You will gain the great developer experience of the Prisma CLI while also allowing for connections to be pooled regardless of deployment strategy. While this is not strictly necessary for every app, serverless solutions will inevitably require connection pooling. - - - -## Resolving connection timeouts - -A connection timeout that occurs when connecting from Prisma to Neon causes an error similar to the following: - -```text no-copy -Error: P1001: Can't reach database server at `ep-white-thunder-826300.us-east-2.aws.neon.tech`:`5432` -Please make sure your database server is running at `ep-white-thunder-826300.us-east-2.aws.neon.tech`:`5432`. -``` - -This error most likely means that the connection created by Prisma Client timed out before the Neon compute was activated. - -A Neon compute has two main states: _Active_ and _Idle_. Active means that the compute is currently running. If there is no query activity for 5 minutes, Neon places a compute into an idle state by default. Refer to Neon's docs to [learn more](https://neon.tech/docs/introduction/compute-lifecycle). - -When you connect to an idle compute from Prisma, Neon automatically activates it. Activation typically happens within a few seconds but added latency can result in a connection timeout. To address this issue, your can adjust your Neon connection string by adding a `connect_timeout` parameter. This parameter defines the maximum number of seconds to wait for a new connection to be opened. The default value is 5 seconds. A higher setting should provide the time required to avoid connection timeout issues. For example: - -```text wrap -DATABASE_URL=postgres://daniel:@ep-mute-rain-952417.us-east-2.aws.neon.tech/neondb?connect_timeout=10 -``` - - - -A `connect_timeout` setting of 0 means no timeout. - - - -Another possible cause of connection timeouts is [Prisma's connection pool](https://www.prisma.io/docs/concepts/components/prisma-client/working-with-prismaclient/), which has a default timeout of 10 seconds. This is typically enough time for Neon, but if you are still experiencing connection timeouts, you can try increasing this limit (in addition to the `connect_timeout` setting described above) by setting the `pool_timeout` parameter to a higher value. For example: - -```text wrap -DATABASE_URL=postgres://daniel:@ep-mute-rain-952417.us-east-2.aws.neon.tech/neondb?connect_timeout=15&pool_timeout=15 -``` - -## How to use Neon's serverless driver with Prisma (Preview) - -The [Neon serverless driver](https://github.com/neondatabase/serverless) is a low-latency Postgres driver for JavaScript and TypeScript that allows you to query data from serverless and edge environments over HTTP or WebSockets in place of TCP. - -You can use Prisma along with the Neon serverless driver using a [driver adapter](/concepts/components/database-drivers#driver-adapters) . A driver adapter allows you to use a different database driver from the default Prisma provides to communicate with your database. - - - -This feature is available in Preview from Prisma versions 5.4.2 and later. - - - -To get started, enable the `driverAdapters` Preview feature flag: - -```prisma -generator client { - provider = "prisma-client-js" - previewFeatures = ["driverAdapters"] -} - -datasource db { - provider = "postgresql" - url = env("DATABASE_URL") -} -``` - -Generate Prisma Client: - -```sh -npx prisma generate -``` - -Install the Prisma adapter for Neon, Neon serverless driver and `ws` packages: - -```sh -npm install @prisma/adapter-neon @neondatabase/serverless ws -npm install --save-dev @types/ws -``` - -Update your Prisma Client instance: - -```ts -import { Pool, neonConfig } from '@neondatabase/serverless' -import { PrismaNeon } from '@prisma/adapter-neon' -import { PrismaClient } from '@prisma/client' -import dotenv from 'dotenv' -import ws from 'ws' - -dotenv.config() -neonConfig.webSocketConstructor = ws -const connectionString = `${process.env.DATABASE_URL}` - -const pool = new Pool({ connectionString }) -const adapter = new PrismaNeon(pool) -const prisma = new PrismaClient({ adapter }) -``` - -You can then use Prisma Client as you normally would with full type-safety. Prisma Migrate, introspection, and Prisma Studio will continue working as before, using the connection string defined in the Prisma schema. diff --git a/content/300-guides/050-database/900-turso.mdx b/content/300-guides/050-database/900-turso.mdx deleted file mode 100644 index 8c14deec49..0000000000 --- a/content/300-guides/050-database/900-turso.mdx +++ /dev/null @@ -1,213 +0,0 @@ ---- -title: 'Using Prisma with Turso' -metaTitle: 'Using Prisma with Turso (Early Access)' -metaDescription: 'Guide to using Prisma with Turso' -tocDepth: 3 ---- - - - -This guide discusses the concepts behind using Prisma and Turso, explains the commonalities and differences between Turso and other database providers, and leads you through the process for configuring your application to integrate with Turso. - -Prisma support for Turso is currently in [Early Access](/about/prisma/releases#early-access). We would appreciate your feedback in this [GitHub discussion](https://github.com/prisma/prisma/discussions/21345). - - - -## What is Turso? - -Turso's logo - -[Turso](https://turso.tech/) is an edge-hosted, distributed database that's based on [libSQL](https://turso.tech/libsql), an open-source and open-contribution fork of [SQLite](https://sqlite.org/), enabling you to bring data closer to your application and minimize query latency. Turso can also be hosted on a remote server. - - - -Support for Turso is available in [Early Access](/about/prisma/releases#early-access) from Prisma versions 5.4.2 and later. - - - -## Commonalities with other database providers - -libSQL is 100% compatible with SQLite. libSQL extends SQLite and adds the following features and capabilities: - -- Support for replication -- Support for automated backups -- Ability to embed Turso as part of other programs such as the Linux kernel -- Supports user-defined functions -- Support for asynchronous I/O - -> To learn more about the differences between libSQL and how it is different from SQLite, see [libSQL Manifesto](https://turso.tech/libsql-manifesto). - -Many aspects of using Prisma with Turso are just like using Prisma with any other relational database. You can still: - -- model your database with the [Prisma Schema Language](/concepts/components/prisma-schema) -- use Prisma's existing [`sqlite` database connector](/concepts/database-connectors/sqlite) in your schema -- use [Prisma Client](/concepts/components/prisma-client) in your application to talk to the database server at Turso - -## Differences to consider - -There are a number of differences between Turso and SQLite to consider. You should be aware of the following when deciding to use Turso and Prisma: - -- **Remote and embedded SQLite databases**. libSQL uses HTTP to connect to the remote SQLite database. libSQL also supports remote database replicas and embedded replicas. Embedded replicas enable you to replicate your primary database inside your application. -- **Making schema changes**. Since libSQL uses HTTP to connect to the remote database, this makes it incompatible with Prisma Migrate. However, you can use [`prisma migrate diff`](/reference/api-reference/command-reference#migrate-diff) to create a schema migration and then apply the changes to your database using [Turso's CLI](https://docs.turso.tech/reference/turso-cli). - -## How to connect and query a Turso database - -The subsequent section covers how you can create a Turso database, retrieve your database credentials and connect to your database. - -### How to provision a database and retrieve database credentials - - - -Ensure that you have the [Turso CLI](https://docs.turso.tech/reference/turso-cli) installed to manage your databases. - - - -If you don't have an existing database, you can provision a database by running the following command: - -```terminal -turso db create turso-prisma-db -``` - -The above command will create a database in the closest region to your location. - -Run the following command to retrieve your database's connection string: - -```terminal -turso db show turso-prisma-db -``` - -Next, create an authentication token that will allow you to connect to the database: - -```terminal -turso db tokens create turso-prisma-db -``` - -Update your `.env` file with the authentication token and connection string: - -```text file=.env -TURSO_AUTH_TOKEN="eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9..." -TURSO_DATABASE_URL="libsql://turso-prisma-db-user.turso.io" -``` - -### How to connect to a Turso database - -To get started, enable the `driverAdapters` Preview feature flag: - -```prisma highlight=3;add -generator client { - provider = "prisma-client-js" - previewFeatures = ["driverAdapters"] -} - -datasource db { - provider = "sqlite" - url = "file:./dev.db" -} -``` - -Generate Prisma Client: - -```terminal -npx prisma generate -``` - -Install the libSQL database client and Prisma driver adapter for libSQL packages: - -```terminal -npm install @libsql/client @prisma/adapter-libsql -``` - -Update your Prisma Client instance: - -```ts -import { PrismaClient } from '@prisma/client' -import { PrismaLibSQL } from '@prisma/adapter-libsql' -import { createClient } from '@libsql/client' - -const libsql = createClient({ - url: `${process.env.TURSO_DATABASE_URL}`, - authToken: `${process.env.TURSO_AUTH_TOKEN}`, -}) - -const adapter = new PrismaLibSQL(libsql) -const prisma = new PrismaClient({ adapter }) -``` - -You can use Prisma Client as you normally would with full type-safety in your project. - -## How to manage schema changes - -Prisma Migrate and Introspection workflows are currently not supported when working with Turso. This is because Turso uses HTTP to connect to your database, which Prisma Migrate doesn't support. - -To update your database schema: - -1. Generate a migration file using `prisma migrate dev` against a local SQLite database: - - ```terminal - npx prisma migrate dev --name init - ``` - -2. Apply the migration using Turso's CLI: - - ```terminal - turso db shell turso-prisma-db < ./prisma/migrations/20230922132717_init/migration.sql - ``` - - - - Replace `20230922132717_init` with the name of your migration. - - - -For subsequent migrations, repeat the above steps to apply changes to your database. This workflow does not support track the history of applied migrations to your remote database. - -## Embedded Turso database replicas - -Turso supports [embedded replicas](https://blog.turso.tech/introducing-embedded-replicas-deploy-turso-anywhere-2085aa0dc242). Turso's embedded replicas enable you to have a copy of your primary, remote database _inside_ your application. Embedded replicas behave similarly to a local SQLite database. Database queries are faster because your database is inside your application. - -### How embedded database replicas work - -When your app initially establishes a connection to your database, the primary database will fulfill the query: - -![Embedded Replica: First remote read](./images/embedded-replica-remote-read.png) - -Turso will (1) create an embedded replica inside your application and (2) copy data from your primary database to the replica so it is locally available: - -![Embedded Replica: Remote DB Copy](./images/embedded-replica-create-replica.png) - -The embedded replica will fulfill subsequent read queries. The libSQL client provides a [`sync()`]() method which you can invoke to ensure the embedded replica's data remains fresh. - -![Embedded Replica: Local DB reads](./images/embedded-replica-read.png) - -With embedded replicas, this setup guarantees a responsive application, because the data will be readily available locally and faster to access. - -Like a read replica setup you may be familiar with, write operations are forwarded to the primary remote database and executed before being propagated to all embedded replicas. - -![Embedded Replica: Write operation propagation](./images/embedded-replica-write-propagation.png) - -1. Write operations propagation are forwarded to the database. -1. Database responds to the server with the updates from 1. -1. Write operations are propagated to the database replica. - -Your application's data needs will determine how often you should synchronize data between your remote database and embedded database replica. For example, you can use either middleware functions (e.g. Express and Fastify) or a cron job to synchronize the data. - -### How to synchronize data between your remote database and embedded replica - -To get started using embedded replicas with Prisma, add the `sync()` method from libSQL in your application. The example below shows how you can synchronize data using Express middleware. - -```ts highlight=5-8;add; -import express from 'express' -const app = express() - -// ... the rest of your application code -app.use(async (req, res, next) => { - await libsql.sync() - next() -}) - -app.listen(3000, () => console.log(`Server ready at http://localhost:3000`)) -``` From 11b55789f21b7fc90b12dc6c6e51687b1e40a1f0 Mon Sep 17 00:00:00 2001 From: Nikolas Burk Date: Fri, 24 Nov 2023 16:59:55 +0100 Subject: [PATCH 005/100] arranged the ORM -> PRISMA MIGRATE section --- .../500-databases/01-database-drivers.mdx | 0 .../500-databases/03-postgresql.mdx | 0 .../500-databases/04-mysql.mdx | 0 .../500-databases/05-sqlite.mdx | 0 .../500-databases/07-mongodb.mdx | 0 .../500-databases/08-cockroachdb.mdx | 0 .../08-sql-server/020-sql-server-local.mdx | 0 .../08-sql-server/030-sql-server-docker.mdx | 0 .../500-databases/08-sql-server/index.mdx | 0 .../500-databases/850-planetscale.mdx | 0 .../500-databases/860-cockroachdb.mdx | 0 .../500-databases/880-supabase.mdx | 0 .../500-databases/890-neon.mdx | 0 .../500-databases/900-turso.mdx | 0 .../500-databases/index.mdx | 0 .../500-databases}/mongodb.png | Bin .../mysql-connection-string.png | Bin .../postgresql-connection-string.png | Bin .../node-js-db-tools-tradeoffs.png | Bin .../prisma-makes-devs-productive.png | Bin .../prisma-rest-apis.png | Bin .../user-post-relation-1-n.png | Bin .../{ => 100-introduction}/user-table.png | Bin .../{ => 100-introduction}/user-table.svg | 0 .../03-prisma-migrate/050-get-started.mdx | 145 ---------- .../03-prisma-migrate/150-db-push.mdx | 50 ---- .../200-orm/200-database-connectors/index.mdx | 15 - .../200-prisma-migrate/050-get-started.mdx} | 143 +++++++++- .../010-mental-model.mdx | 0 .../070-migration-histories.mdx | 0 .../200-shadow-database.mdx | 0 .../300-limitations-and-known-issues.mdx} | 5 +- .../600-legacy-migrate.mdx} | 0 .../index.mdx | 15 + .../database-first-migration-flow.png | Bin .../db-push-flow.png | Bin .../entity-first-migration-flow.png | Bin .../prisma-migrate-dev-flow.png | Bin .../prisma-migrate-diff-flow.png | Bin .../prisma-migrate-lifecycle.png | Bin .../prisma-migrate-state-mgt.png | Bin .../migrate-mapping.png | Bin .../shadow-database.png | Bin .../shadow-db.png | Bin .../300-workflows/10-seeding.mdx} | 3 +- .../300-workflows/100-team-development.mdx} | 3 +- .../110-native-database-types.mdx} | 4 +- .../120-native-database-functions.mdx} | 3 +- .../20-prototyping-your-schema.mdx} | 46 ++- .../300-workflows/200-troubleshooting.mdx} | 3 +- .../300-workflows/30-baselining.mdx} | 0 .../40-customizing-migrations.mdx} | 4 +- .../300-workflows/45-data-migration.mdx} | 18 +- .../50-squashing-migrations.mdx} | 0 .../60-generating-down-migrations.mdx} | 0 .../70-patching-and-hotfixing.mdx} | 62 +++- .../80-unsupported-database-features.mdx} | 3 +- .../90-development-and-production.mdx} | 6 +- .../300-workflows}/deploy-db.png | Bin .../300-workflows}/existing-database.png | Bin .../300-workflows/index.mdx | 15 + .../300-workflows}/migrate-team-dev.png | Bin .../300-workflows}/migration-history.png | Bin .../300-workflows}/new-dev-db.png | Bin .../index.mdx | 1 + .../01-prisma-schema/02-data-sources.mdx | 0 .../01-prisma-schema/03-generators.mdx | 0 .../01-prisma-schema/04-data-model.mdx | 0 .../05-names-in-underlying-database.mdx | 0 .../06-features-without-psl-equivalent.mdx | 0 .../06-relations/100-one-to-one-relations.mdx | 0 .../200-one-to-many-relations.mdx | 0 .../300-many-to-many-relations.mdx | 0 .../06-relations/400-self-relations.mdx | 0 ...-special-rules-for-referential-actions.mdx | 0 .../410-referential-actions/index.mdx | 0 .../06-relations/420-relation-mode.mdx | 0 .../500-troubleshooting-relations.mdx | 0 .../01-prisma-schema/06-relations/index.mdx | 0 .../06-relations/one-to-many.png | Bin .../06-relations/quick-fix-index.png | Bin .../06-relations/quick-fix-index.snagx | Bin .../06-relations/relations-intro.png | Bin .../06-relations/sample-schema.png | Bin .../01-prisma-schema/08-views.mdx | 0 .../01-prisma-schema/09-indexes.mdx | 0 .../10-postgresql-extensions.mdx | 0 .../01-prisma-schema/index.mdx | 0 .../prisma-schema/relations-intro.png | Bin .../prisma-schema/sample-database.png | Bin .../04-introspection.mdx | 0 .../05-prisma-cli.mdx | 0 .../06-prisma-studio.mdx | 0 .../08-prisma-engines/200-query-engine.mdx | 0 .../08-prisma-engines/index.mdx | 0 .../query-engine-node-js-at-runtime.png | Bin .../typical-flow-query-engine-at-runtime.png | Bin .../050-client-preview-features.mdx | 0 .../080-cli-preview-features.mdx | 0 .../250-preview-features/index.mdx | 0 .../drivers/qe-query-engine-adapter.png | Bin .../drivers/qe-query-execution-flow.png | Bin .../images/prisma-studio/01-models-view.png | Bin .../prisma-studio/02-open-close-models.png | Bin .../03-model-view-keyboard-shortcuts.png | Bin .../04-save-multiple-changes.png | Bin .../prisma-studio/05-add-remove-filters.png | Bin .../prisma-studio/06-show-hide-fields.png | Bin .../prisma-studio/07-show-hide-records.png | Bin .../images/prisma-studio/08-model-sort.png | Bin .../images/prisma-studio/array.svg | 0 .../images/prisma-studio/boolean.svg | 0 .../images/prisma-studio/database.svg | 0 .../images/prisma-studio/datetime.svg | 0 .../images/prisma-studio/enum.svg | 0 .../images/prisma-studio/number.svg | 0 .../images/prisma-studio/object.svg | 0 .../images/prisma-studio/string.svg | 0 .../index.mdx | 0 .../index.mdx | 264 ------------------ .../025-migrate/700-patching-production.mdx | 70 ----- content/300-guides/025-migrate/index.mdx | 15 - 122 files changed, 293 insertions(+), 600 deletions(-) rename content/200-orm/050-overview/{ => 100-introduction}/500-databases/01-database-drivers.mdx (100%) rename content/200-orm/050-overview/{ => 100-introduction}/500-databases/03-postgresql.mdx (100%) rename content/200-orm/050-overview/{ => 100-introduction}/500-databases/04-mysql.mdx (100%) rename content/200-orm/050-overview/{ => 100-introduction}/500-databases/05-sqlite.mdx (100%) rename content/200-orm/050-overview/{ => 100-introduction}/500-databases/07-mongodb.mdx (100%) rename content/200-orm/050-overview/{ => 100-introduction}/500-databases/08-cockroachdb.mdx (100%) rename content/200-orm/050-overview/{ => 100-introduction}/500-databases/08-sql-server/020-sql-server-local.mdx (100%) rename content/200-orm/050-overview/{ => 100-introduction}/500-databases/08-sql-server/030-sql-server-docker.mdx (100%) rename content/200-orm/050-overview/{ => 100-introduction}/500-databases/08-sql-server/index.mdx (100%) rename content/200-orm/050-overview/{ => 100-introduction}/500-databases/850-planetscale.mdx (100%) rename content/200-orm/050-overview/{ => 100-introduction}/500-databases/860-cockroachdb.mdx (100%) rename content/200-orm/050-overview/{ => 100-introduction}/500-databases/880-supabase.mdx (100%) rename content/200-orm/050-overview/{ => 100-introduction}/500-databases/890-neon.mdx (100%) rename content/200-orm/050-overview/{ => 100-introduction}/500-databases/900-turso.mdx (100%) rename content/200-orm/050-overview/{ => 100-introduction}/500-databases/index.mdx (100%) rename content/200-orm/{200-database-connectors => 050-overview/100-introduction/500-databases}/mongodb.png (100%) rename content/200-orm/{200-database-connectors => 050-overview/100-introduction/500-databases}/mysql-connection-string.png (100%) rename content/200-orm/{200-database-connectors => 050-overview/100-introduction/500-databases}/postgresql-connection-string.png (100%) rename content/200-orm/050-overview/{ => 100-introduction}/node-js-db-tools-tradeoffs.png (100%) rename content/200-orm/050-overview/{ => 100-introduction}/prisma-makes-devs-productive.png (100%) rename content/200-orm/050-overview/{ => 100-introduction}/prisma-rest-apis.png (100%) rename content/200-orm/050-overview/{ => 100-introduction}/user-post-relation-1-n.png (100%) rename content/200-orm/050-overview/{ => 100-introduction}/user-table.png (100%) rename content/200-orm/050-overview/{ => 100-introduction}/user-table.svg (100%) delete mode 100644 content/200-orm/150-components/03-prisma-migrate/050-get-started.mdx delete mode 100644 content/200-orm/150-components/03-prisma-migrate/150-db-push.mdx delete mode 100644 content/200-orm/200-database-connectors/index.mdx rename content/{300-guides/025-migrate/100-developing-with-prisma-migrate/050-add-prisma-migrate-to-a-project.mdx => 200-orm/200-prisma-migrate/050-get-started.mdx} (55%) rename content/200-orm/{150-components/03-prisma-migrate => 200-prisma-migrate/200-understanding-prisma-migrate}/010-mental-model.mdx (100%) rename content/200-orm/{150-components/03-prisma-migrate => 200-prisma-migrate/200-understanding-prisma-migrate}/070-migration-histories.mdx (100%) rename content/200-orm/{150-components/03-prisma-migrate => 200-prisma-migrate/200-understanding-prisma-migrate}/200-shadow-database.mdx (100%) rename content/200-orm/{150-components/03-prisma-migrate/300-prisma-migrate-limitations-issues.mdx => 200-prisma-migrate/200-understanding-prisma-migrate/300-limitations-and-known-issues.mdx} (96%) rename content/200-orm/{150-components/03-prisma-migrate/100-legacy-migrate.mdx => 200-prisma-migrate/200-understanding-prisma-migrate/600-legacy-migrate.mdx} (100%) create mode 100644 content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/index.mdx rename content/200-orm/{150-components/03-prisma-migrate => 200-prisma-migrate/200-understanding-prisma-migrate}/mental-model-illustrations/database-first-migration-flow.png (100%) rename content/200-orm/{150-components/03-prisma-migrate => 200-prisma-migrate/200-understanding-prisma-migrate}/mental-model-illustrations/db-push-flow.png (100%) rename content/200-orm/{150-components/03-prisma-migrate => 200-prisma-migrate/200-understanding-prisma-migrate}/mental-model-illustrations/entity-first-migration-flow.png (100%) rename content/200-orm/{150-components/03-prisma-migrate => 200-prisma-migrate/200-understanding-prisma-migrate}/mental-model-illustrations/prisma-migrate-dev-flow.png (100%) rename content/200-orm/{150-components/03-prisma-migrate => 200-prisma-migrate/200-understanding-prisma-migrate}/mental-model-illustrations/prisma-migrate-diff-flow.png (100%) rename content/200-orm/{150-components/03-prisma-migrate => 200-prisma-migrate/200-understanding-prisma-migrate}/mental-model-illustrations/prisma-migrate-lifecycle.png (100%) rename content/200-orm/{150-components/03-prisma-migrate => 200-prisma-migrate/200-understanding-prisma-migrate}/mental-model-illustrations/prisma-migrate-state-mgt.png (100%) rename content/200-orm/{150-components/03-prisma-migrate => 200-prisma-migrate/200-understanding-prisma-migrate}/migrate-mapping.png (100%) rename content/200-orm/{150-components/03-prisma-migrate => 200-prisma-migrate/200-understanding-prisma-migrate}/shadow-database.png (100%) rename content/200-orm/{150-components/03-prisma-migrate => 200-prisma-migrate/200-understanding-prisma-migrate}/shadow-db.png (100%) rename content/{300-guides/025-migrate/300-seed-database.mdx => 200-orm/200-prisma-migrate/300-workflows/10-seeding.mdx} (99%) rename content/{300-guides/025-migrate/100-developing-with-prisma-migrate/150-team-development.mdx => 200-orm/200-prisma-migrate/300-workflows/100-team-development.mdx} (99%) rename content/200-orm/{150-components/03-prisma-migrate/100-supported-types-and-db-features.mdx => 200-prisma-migrate/300-workflows/110-native-database-types.mdx} (97%) rename content/{300-guides/025-migrate/100-developing-with-prisma-migrate/165-enable-native-database-functions.mdx => 200-orm/200-prisma-migrate/300-workflows/120-native-database-functions.mdx} (98%) rename content/{300-guides/025-migrate/400-prototyping-schema-db-push.mdx => 200-orm/200-prisma-migrate/300-workflows/20-prototyping-your-schema.mdx} (65%) rename content/{300-guides/025-migrate/100-developing-with-prisma-migrate/200-troubleshooting-development.mdx => 200-orm/200-prisma-migrate/300-workflows/200-troubleshooting.mdx} (99%) rename content/{300-guides/025-migrate/100-developing-with-prisma-migrate/160-baselining.mdx => 200-orm/200-prisma-migrate/300-workflows/30-baselining.mdx} (100%) rename content/{300-guides/025-migrate/100-developing-with-prisma-migrate/170-customizing-migrations.mdx => 200-orm/200-prisma-migrate/300-workflows/40-customizing-migrations.mdx} (99%) rename content/{300-guides/025-migrate/500-data-migration.mdx => 200-orm/200-prisma-migrate/300-workflows/45-data-migration.mdx} (96%) rename content/{300-guides/025-migrate/100-developing-with-prisma-migrate/175-squashing-migrations.mdx => 200-orm/200-prisma-migrate/300-workflows/50-squashing-migrations.mdx} (100%) rename content/{300-guides/025-migrate/100-developing-with-prisma-migrate/180-generating-down-migrations.mdx => 200-orm/200-prisma-migrate/300-workflows/60-generating-down-migrations.mdx} (100%) rename content/{300-guides/025-migrate/800-production-troubleshooting.mdx => 200-orm/200-prisma-migrate/300-workflows/70-patching-and-hotfixing.mdx} (78%) rename content/{300-guides/025-migrate/100-developing-with-prisma-migrate/168-include-unsupported-database-features.mdx => 200-orm/200-prisma-migrate/300-workflows/80-unsupported-database-features.mdx} (95%) rename content/200-orm/{150-components/03-prisma-migrate/080-migrate-development-production.mdx => 200-prisma-migrate/300-workflows/90-development-and-production.mdx} (97%) rename content/{300-guides/025-migrate/100-developing-with-prisma-migrate => 200-orm/200-prisma-migrate/300-workflows}/deploy-db.png (100%) rename content/{300-guides/025-migrate/100-developing-with-prisma-migrate => 200-orm/200-prisma-migrate/300-workflows}/existing-database.png (100%) create mode 100644 content/200-orm/200-prisma-migrate/300-workflows/index.mdx rename content/{300-guides/025-migrate/100-developing-with-prisma-migrate => 200-orm/200-prisma-migrate/300-workflows}/migrate-team-dev.png (100%) rename content/{300-guides/025-migrate/100-developing-with-prisma-migrate => 200-orm/200-prisma-migrate/300-workflows}/migration-history.png (100%) rename content/{300-guides/025-migrate/100-developing-with-prisma-migrate => 200-orm/200-prisma-migrate/300-workflows}/new-dev-db.png (100%) rename content/200-orm/{150-components/03-prisma-migrate => 200-prisma-migrate}/index.mdx (99%) rename content/200-orm/{150-components => 500-components}/01-prisma-schema/02-data-sources.mdx (100%) rename content/200-orm/{150-components => 500-components}/01-prisma-schema/03-generators.mdx (100%) rename content/200-orm/{150-components => 500-components}/01-prisma-schema/04-data-model.mdx (100%) rename content/200-orm/{150-components => 500-components}/01-prisma-schema/05-names-in-underlying-database.mdx (100%) rename content/200-orm/{150-components => 500-components}/01-prisma-schema/06-features-without-psl-equivalent.mdx (100%) rename content/200-orm/{150-components => 500-components}/01-prisma-schema/06-relations/100-one-to-one-relations.mdx (100%) rename content/200-orm/{150-components => 500-components}/01-prisma-schema/06-relations/200-one-to-many-relations.mdx (100%) rename content/200-orm/{150-components => 500-components}/01-prisma-schema/06-relations/300-many-to-many-relations.mdx (100%) rename content/200-orm/{150-components => 500-components}/01-prisma-schema/06-relations/400-self-relations.mdx (100%) rename content/200-orm/{150-components => 500-components}/01-prisma-schema/06-relations/410-referential-actions/100-special-rules-for-referential-actions.mdx (100%) rename content/200-orm/{150-components => 500-components}/01-prisma-schema/06-relations/410-referential-actions/index.mdx (100%) rename content/200-orm/{150-components => 500-components}/01-prisma-schema/06-relations/420-relation-mode.mdx (100%) rename content/200-orm/{150-components => 500-components}/01-prisma-schema/06-relations/500-troubleshooting-relations.mdx (100%) rename content/200-orm/{150-components => 500-components}/01-prisma-schema/06-relations/index.mdx (100%) rename content/200-orm/{150-components => 500-components}/01-prisma-schema/06-relations/one-to-many.png (100%) rename content/200-orm/{150-components => 500-components}/01-prisma-schema/06-relations/quick-fix-index.png (100%) rename content/200-orm/{150-components => 500-components}/01-prisma-schema/06-relations/quick-fix-index.snagx (100%) rename content/200-orm/{150-components => 500-components}/01-prisma-schema/06-relations/relations-intro.png (100%) rename content/200-orm/{150-components => 500-components}/01-prisma-schema/06-relations/sample-schema.png (100%) rename content/200-orm/{150-components => 500-components}/01-prisma-schema/08-views.mdx (100%) rename content/200-orm/{150-components => 500-components}/01-prisma-schema/09-indexes.mdx (100%) rename content/200-orm/{150-components => 500-components}/01-prisma-schema/10-postgresql-extensions.mdx (100%) rename content/200-orm/{150-components => 500-components}/01-prisma-schema/index.mdx (100%) rename content/200-orm/{150-components => 500-components}/01-prisma-schema/prisma-schema/relations-intro.png (100%) rename content/200-orm/{150-components => 500-components}/01-prisma-schema/prisma-schema/sample-database.png (100%) rename content/200-orm/{150-components => 500-components}/04-introspection.mdx (100%) rename content/200-orm/{150-components => 500-components}/05-prisma-cli.mdx (100%) rename content/200-orm/{150-components => 500-components}/06-prisma-studio.mdx (100%) rename content/200-orm/{150-components => 500-components}/08-prisma-engines/200-query-engine.mdx (100%) rename content/200-orm/{150-components => 500-components}/08-prisma-engines/index.mdx (100%) rename content/200-orm/{150-components => 500-components}/08-prisma-engines/query-engine-node-js-at-runtime.png (100%) rename content/200-orm/{150-components => 500-components}/08-prisma-engines/typical-flow-query-engine-at-runtime.png (100%) rename content/200-orm/{150-components => 500-components}/250-preview-features/050-client-preview-features.mdx (100%) rename content/200-orm/{150-components => 500-components}/250-preview-features/080-cli-preview-features.mdx (100%) rename content/200-orm/{150-components => 500-components}/250-preview-features/index.mdx (100%) rename content/200-orm/{150-components => 500-components}/images/drivers/qe-query-engine-adapter.png (100%) rename content/200-orm/{150-components => 500-components}/images/drivers/qe-query-execution-flow.png (100%) rename content/200-orm/{150-components => 500-components}/images/prisma-studio/01-models-view.png (100%) rename content/200-orm/{150-components => 500-components}/images/prisma-studio/02-open-close-models.png (100%) rename content/200-orm/{150-components => 500-components}/images/prisma-studio/03-model-view-keyboard-shortcuts.png (100%) rename content/200-orm/{150-components => 500-components}/images/prisma-studio/04-save-multiple-changes.png (100%) rename content/200-orm/{150-components => 500-components}/images/prisma-studio/05-add-remove-filters.png (100%) rename content/200-orm/{150-components => 500-components}/images/prisma-studio/06-show-hide-fields.png (100%) rename content/200-orm/{150-components => 500-components}/images/prisma-studio/07-show-hide-records.png (100%) rename content/200-orm/{150-components => 500-components}/images/prisma-studio/08-model-sort.png (100%) rename content/200-orm/{150-components => 500-components}/images/prisma-studio/array.svg (100%) rename content/200-orm/{150-components => 500-components}/images/prisma-studio/boolean.svg (100%) rename content/200-orm/{150-components => 500-components}/images/prisma-studio/database.svg (100%) rename content/200-orm/{150-components => 500-components}/images/prisma-studio/datetime.svg (100%) rename content/200-orm/{150-components => 500-components}/images/prisma-studio/enum.svg (100%) rename content/200-orm/{150-components => 500-components}/images/prisma-studio/number.svg (100%) rename content/200-orm/{150-components => 500-components}/images/prisma-studio/object.svg (100%) rename content/200-orm/{150-components => 500-components}/images/prisma-studio/string.svg (100%) rename content/200-orm/{150-components => 500-components}/index.mdx (100%) delete mode 100644 content/300-guides/025-migrate/100-developing-with-prisma-migrate/index.mdx delete mode 100644 content/300-guides/025-migrate/700-patching-production.mdx delete mode 100644 content/300-guides/025-migrate/index.mdx diff --git a/content/200-orm/050-overview/500-databases/01-database-drivers.mdx b/content/200-orm/050-overview/100-introduction/500-databases/01-database-drivers.mdx similarity index 100% rename from content/200-orm/050-overview/500-databases/01-database-drivers.mdx rename to content/200-orm/050-overview/100-introduction/500-databases/01-database-drivers.mdx diff --git a/content/200-orm/050-overview/500-databases/03-postgresql.mdx b/content/200-orm/050-overview/100-introduction/500-databases/03-postgresql.mdx similarity index 100% rename from content/200-orm/050-overview/500-databases/03-postgresql.mdx rename to content/200-orm/050-overview/100-introduction/500-databases/03-postgresql.mdx diff --git a/content/200-orm/050-overview/500-databases/04-mysql.mdx b/content/200-orm/050-overview/100-introduction/500-databases/04-mysql.mdx similarity index 100% rename from content/200-orm/050-overview/500-databases/04-mysql.mdx rename to content/200-orm/050-overview/100-introduction/500-databases/04-mysql.mdx diff --git a/content/200-orm/050-overview/500-databases/05-sqlite.mdx b/content/200-orm/050-overview/100-introduction/500-databases/05-sqlite.mdx similarity index 100% rename from content/200-orm/050-overview/500-databases/05-sqlite.mdx rename to content/200-orm/050-overview/100-introduction/500-databases/05-sqlite.mdx diff --git a/content/200-orm/050-overview/500-databases/07-mongodb.mdx b/content/200-orm/050-overview/100-introduction/500-databases/07-mongodb.mdx similarity index 100% rename from content/200-orm/050-overview/500-databases/07-mongodb.mdx rename to content/200-orm/050-overview/100-introduction/500-databases/07-mongodb.mdx diff --git a/content/200-orm/050-overview/500-databases/08-cockroachdb.mdx b/content/200-orm/050-overview/100-introduction/500-databases/08-cockroachdb.mdx similarity index 100% rename from content/200-orm/050-overview/500-databases/08-cockroachdb.mdx rename to content/200-orm/050-overview/100-introduction/500-databases/08-cockroachdb.mdx diff --git a/content/200-orm/050-overview/500-databases/08-sql-server/020-sql-server-local.mdx b/content/200-orm/050-overview/100-introduction/500-databases/08-sql-server/020-sql-server-local.mdx similarity index 100% rename from content/200-orm/050-overview/500-databases/08-sql-server/020-sql-server-local.mdx rename to content/200-orm/050-overview/100-introduction/500-databases/08-sql-server/020-sql-server-local.mdx diff --git a/content/200-orm/050-overview/500-databases/08-sql-server/030-sql-server-docker.mdx b/content/200-orm/050-overview/100-introduction/500-databases/08-sql-server/030-sql-server-docker.mdx similarity index 100% rename from content/200-orm/050-overview/500-databases/08-sql-server/030-sql-server-docker.mdx rename to content/200-orm/050-overview/100-introduction/500-databases/08-sql-server/030-sql-server-docker.mdx diff --git a/content/200-orm/050-overview/500-databases/08-sql-server/index.mdx b/content/200-orm/050-overview/100-introduction/500-databases/08-sql-server/index.mdx similarity index 100% rename from content/200-orm/050-overview/500-databases/08-sql-server/index.mdx rename to content/200-orm/050-overview/100-introduction/500-databases/08-sql-server/index.mdx diff --git a/content/200-orm/050-overview/500-databases/850-planetscale.mdx b/content/200-orm/050-overview/100-introduction/500-databases/850-planetscale.mdx similarity index 100% rename from content/200-orm/050-overview/500-databases/850-planetscale.mdx rename to content/200-orm/050-overview/100-introduction/500-databases/850-planetscale.mdx diff --git a/content/200-orm/050-overview/500-databases/860-cockroachdb.mdx b/content/200-orm/050-overview/100-introduction/500-databases/860-cockroachdb.mdx similarity index 100% rename from content/200-orm/050-overview/500-databases/860-cockroachdb.mdx rename to content/200-orm/050-overview/100-introduction/500-databases/860-cockroachdb.mdx diff --git a/content/200-orm/050-overview/500-databases/880-supabase.mdx b/content/200-orm/050-overview/100-introduction/500-databases/880-supabase.mdx similarity index 100% rename from content/200-orm/050-overview/500-databases/880-supabase.mdx rename to content/200-orm/050-overview/100-introduction/500-databases/880-supabase.mdx diff --git a/content/200-orm/050-overview/500-databases/890-neon.mdx b/content/200-orm/050-overview/100-introduction/500-databases/890-neon.mdx similarity index 100% rename from content/200-orm/050-overview/500-databases/890-neon.mdx rename to content/200-orm/050-overview/100-introduction/500-databases/890-neon.mdx diff --git a/content/200-orm/050-overview/500-databases/900-turso.mdx b/content/200-orm/050-overview/100-introduction/500-databases/900-turso.mdx similarity index 100% rename from content/200-orm/050-overview/500-databases/900-turso.mdx rename to content/200-orm/050-overview/100-introduction/500-databases/900-turso.mdx diff --git a/content/200-orm/050-overview/500-databases/index.mdx b/content/200-orm/050-overview/100-introduction/500-databases/index.mdx similarity index 100% rename from content/200-orm/050-overview/500-databases/index.mdx rename to content/200-orm/050-overview/100-introduction/500-databases/index.mdx diff --git a/content/200-orm/200-database-connectors/mongodb.png b/content/200-orm/050-overview/100-introduction/500-databases/mongodb.png similarity index 100% rename from content/200-orm/200-database-connectors/mongodb.png rename to content/200-orm/050-overview/100-introduction/500-databases/mongodb.png diff --git a/content/200-orm/200-database-connectors/mysql-connection-string.png b/content/200-orm/050-overview/100-introduction/500-databases/mysql-connection-string.png similarity index 100% rename from content/200-orm/200-database-connectors/mysql-connection-string.png rename to content/200-orm/050-overview/100-introduction/500-databases/mysql-connection-string.png diff --git a/content/200-orm/200-database-connectors/postgresql-connection-string.png b/content/200-orm/050-overview/100-introduction/500-databases/postgresql-connection-string.png similarity index 100% rename from content/200-orm/200-database-connectors/postgresql-connection-string.png rename to content/200-orm/050-overview/100-introduction/500-databases/postgresql-connection-string.png diff --git a/content/200-orm/050-overview/node-js-db-tools-tradeoffs.png b/content/200-orm/050-overview/100-introduction/node-js-db-tools-tradeoffs.png similarity index 100% rename from content/200-orm/050-overview/node-js-db-tools-tradeoffs.png rename to content/200-orm/050-overview/100-introduction/node-js-db-tools-tradeoffs.png diff --git a/content/200-orm/050-overview/prisma-makes-devs-productive.png b/content/200-orm/050-overview/100-introduction/prisma-makes-devs-productive.png similarity index 100% rename from content/200-orm/050-overview/prisma-makes-devs-productive.png rename to content/200-orm/050-overview/100-introduction/prisma-makes-devs-productive.png diff --git a/content/200-orm/050-overview/prisma-rest-apis.png b/content/200-orm/050-overview/100-introduction/prisma-rest-apis.png similarity index 100% rename from content/200-orm/050-overview/prisma-rest-apis.png rename to content/200-orm/050-overview/100-introduction/prisma-rest-apis.png diff --git a/content/200-orm/050-overview/user-post-relation-1-n.png b/content/200-orm/050-overview/100-introduction/user-post-relation-1-n.png similarity index 100% rename from content/200-orm/050-overview/user-post-relation-1-n.png rename to content/200-orm/050-overview/100-introduction/user-post-relation-1-n.png diff --git a/content/200-orm/050-overview/user-table.png b/content/200-orm/050-overview/100-introduction/user-table.png similarity index 100% rename from content/200-orm/050-overview/user-table.png rename to content/200-orm/050-overview/100-introduction/user-table.png diff --git a/content/200-orm/050-overview/user-table.svg b/content/200-orm/050-overview/100-introduction/user-table.svg similarity index 100% rename from content/200-orm/050-overview/user-table.svg rename to content/200-orm/050-overview/100-introduction/user-table.svg diff --git a/content/200-orm/150-components/03-prisma-migrate/050-get-started.mdx b/content/200-orm/150-components/03-prisma-migrate/050-get-started.mdx deleted file mode 100644 index c9a7528a3c..0000000000 --- a/content/200-orm/150-components/03-prisma-migrate/050-get-started.mdx +++ /dev/null @@ -1,145 +0,0 @@ ---- -title: 'Get started with Prisma Migrate' -metaTitle: 'Get started with Prisma Migrate' -metaDescription: 'Get started with Prisma Migrate' -tocDepth: 3 ---- - - - -This page explains how to get started with migrating your schema in a development environment using Prisma Migrate. See [Developing with Prisma Migrate](/guides/migrate/developing-with-prisma-migrate) for a more in-depth development workflow. - - - -## Get started with Prisma Migrate - -To get started with Prisma Migrate in a development environment: - -1. Create a Prisma schema: - - ```prisma file=schema.prisma - datasource db { - provider = "postgresql" - url = env("DATABASE_URL") - } - - model User { - id Int @id @default(autoincrement()) - name String - posts Post[] - } - - model Post { - id Int @id @default(autoincrement()) - title String - published Boolean @default(true) - authorId Int - author User @relation(fields: [authorId], references: [id]) - } - ``` - - - - You can use [native type mapping attributes](supported-types-and-db-features#mapping-fields-to-a-specific-native-type) in your schema to decide which exact database type to create (for example, `String` can map to `varchar(100)` or `text`). - - - - - - 1. Create the first migration: - - - - - - ```terminal - prisma migrate dev --name init - ``` - - - - - - ```sql no-copy - -- CreateTable - CREATE TABLE "User" ( - "id" SERIAL, - "name" TEXT NOT NULL, - - PRIMARY KEY ("id") - ); - -- CreateTable - CREATE TABLE "Post" ( - "id" SERIAL, - "title" TEXT NOT NULL, - "published" BOOLEAN NOT NULL DEFAULT true, - "authorId" INTEGER NOT NULL, - - PRIMARY KEY ("id") - ); - - -- AddForeignKey - ALTER TABLE "Post" ADD FOREIGN KEY("authorId")REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE; - ``` - - - - > **Note**: If you do not provide a `--name`, Prisma CLI will prompt you for a name. - - - - Your Prisma schema is now in sync with your database schema and you have initialized a migration history: - - ``` - migrations/ - └─ 20210313140442_init/ - └─ migration.sql - ``` - -1. Add additional fields to your schema: - - ```prisma highlight=3;add - model User { - id Int @id @default(autoincrement()) - jobTitle String - name String - posts Post[] - } - ``` - -1. Create the second migration: - - - - - - ```terminal - prisma migrate dev --name added_job_title - ``` - - - - - - ```sql no-copy - -- AlterTable - ALTER TABLE "User" ADD COLUMN "jobTitle" TEXT NOT NULL; - ``` - - - - - - Your Prisma schema is once again in sync with your database schema, and your migration history contains two migrations: - - ``` - migrations/ - └─ 20210313140442_init/ - └─ migration.sql - └─ 20210313140442_added_job_title/ - └─ migration.sql - ``` - - - -You now have a migration history that you can [source control](/concepts/components/prisma-migrate/migration-histories#committing-the-migration-history-to-source-control) and use to [deploy changes to test environments and production](/concepts/components/prisma-migrate/migrate-development-production#production-and-testing-environments). diff --git a/content/200-orm/150-components/03-prisma-migrate/150-db-push.mdx b/content/200-orm/150-components/03-prisma-migrate/150-db-push.mdx deleted file mode 100644 index 020230babe..0000000000 --- a/content/200-orm/150-components/03-prisma-migrate/150-db-push.mdx +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: 'Prototype your schema' -metaTitle: 'Prototype your schema' -metaDescription: 'Prototype your schema' -codeStyle: false ---- - - - -The Prisma CLI has a dedicated command for prototyping schemas: [`db push`](/reference/api-reference/command-reference#db-push) - -`db push` uses the same engine as Prisma Migrate to synchronize your Prisma schema with your database schema. The `db push` command: - -1. Introspects the database to infer and executes the changes required to make your database schema reflect the state of your Prisma schema. -2. By default, after changes have been applied to the database schema, generators are triggered (for example, Prisma Client). You do not need to manually invoke `prisma generate`. -3. If `db push` anticipates that the changes could result in data loss, it will: - - - Throw an error - - Require the `--accept-data-loss` option if you still want to make the changes - -> **Notes**: -> -> - `db push` does not interact with or rely on migrations. The migrations table `_prisma_migrations` will not be created or updated, and no migration files will be generated. -> - When working with PlanetScale, we recommend that you use `db push` instead of `migrate`. For details refer to our Getting Started documentation, either [Start from scratch](/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-planetscale) or [Add to existing project](/getting-started/setup-prisma/add-to-existing-project/relational-databases-typescript-planetscale) depending on your situation. - - - -## Choosing db push or Prisma Migrate - -`db push` works well if: - -- You want to **quickly prototype and iterate** on schema design locally without the need to deploy these changes to other environments such as other developers, or staging and production environments. -- You are prioritizing reaching a **desired end-state** and not the changes or steps executed to reach that end-state (there is no way to preview changes made by `db push`) -- You do not need to control how schema changes impact data. There is no way to orchestrate schema and data migrations—if `db push` anticipates that changes will result in data loss, you can either accept data loss with the `--accept-data-loss` option or stop the process. There is no way to customize the changes. - -See [Schema prototyping with `db push`](/guides/migrate/prototyping-schema-db-push) for an example of how to use `db push` in this way. - -`db push` is **not recommended** if: - -- You want to replicate your schema changes in other environments without losing data. You can use `db push` for prototyping, but you should use migrations to commit the schema changes and apply these in your other environments. -- You want fine-grained control over how the schema changes are executed - for example, [renaming a column instead of dropping it and creating a new one](/guides/migrate/developing-with-prisma-migrate/customizing-migrations#example-rename-a-field). -- You want to keep track of changes made to the database schema over time. `db push` does not create any artifacts that allow you to keep track of these changes. -- You want the schema changes to be reversible. You can use `db push` again to revert to the original state, but this might result in data loss. - -## Can I use Prisma Migrate and db push together? - -Yes, you can [use `db push` and Prisma Migrate together in your development workflow](/guides/migrate/prototyping-schema-db-push) . For example, you can: - -- Use `db push` to prototype a schema at the start of a project and initialize a migration history when you are happy with the first draft -- Use `db push` to prototype a change to an existing schema, then run `prisma migrate dev` to generate a migration from your changes (you will be asked to reset) diff --git a/content/200-orm/200-database-connectors/index.mdx b/content/200-orm/200-database-connectors/index.mdx deleted file mode 100644 index 86f24e59fe..0000000000 --- a/content/200-orm/200-database-connectors/index.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: 'Database connectors' -metaTitle: '' -metaDescription: '' -staticLink: true -toc: false ---- - -## Overview - -Prisma provides connectors for several databases. Refer to the [Database features](/reference/database-reference/database-features) section for information about supported features and types for each database. - -## In this section - - diff --git a/content/300-guides/025-migrate/100-developing-with-prisma-migrate/050-add-prisma-migrate-to-a-project.mdx b/content/200-orm/200-prisma-migrate/050-get-started.mdx similarity index 55% rename from content/300-guides/025-migrate/100-developing-with-prisma-migrate/050-add-prisma-migrate-to-a-project.mdx rename to content/200-orm/200-prisma-migrate/050-get-started.mdx index d4a11ae84e..ff209562d2 100644 --- a/content/300-guides/025-migrate/100-developing-with-prisma-migrate/050-add-prisma-migrate-to-a-project.mdx +++ b/content/200-orm/200-prisma-migrate/050-get-started.mdx @@ -1,21 +1,148 @@ --- -title: Adding Prisma Migrate to an existing project -metaDescription: Learn how to add Prisma Migrate to an existing project. +title: 'Get started' +metaTitle: 'Get started' +metaDescription: 'Get started' tocDepth: 3 --- -This guide describes how to add [Prisma Migrate](/concepts/components/prisma-migrate) to an existing project. +This page explains how to get started with migrating your schema in a development environment using Prisma Migrate. See [Developing with Prisma Migrate](/guides/migrate/developing-with-prisma-migrate) for a more in-depth development workflow. - + -This guide **does not apply for MongoDB**.
-Instead of `migrate dev`, [`db push`](/concepts/components/prisma-migrate/db-push) is used for [MongoDB](/concepts/database-connectors/mongodb). +## Get started with Prisma Migrate - +To get started with Prisma Migrate in a development environment: -
+1. Create a Prisma schema: + + ```prisma file=schema.prisma + datasource db { + provider = "postgresql" + url = env("DATABASE_URL") + } + + model User { + id Int @id @default(autoincrement()) + name String + posts Post[] + } + + model Post { + id Int @id @default(autoincrement()) + title String + published Boolean @default(true) + authorId Int + author User @relation(fields: [authorId], references: [id]) + } + ``` + + + + You can use [native type mapping attributes](supported-types-and-db-features#mapping-fields-to-a-specific-native-type) in your schema to decide which exact database type to create (for example, `String` can map to `varchar(100)` or `text`). + + + + + + 1. Create the first migration: + + + + + + ```terminal + prisma migrate dev --name init + ``` + + + + + + ```sql no-copy + -- CreateTable + CREATE TABLE "User" ( + "id" SERIAL, + "name" TEXT NOT NULL, + + PRIMARY KEY ("id") + ); + -- CreateTable + CREATE TABLE "Post" ( + "id" SERIAL, + "title" TEXT NOT NULL, + "published" BOOLEAN NOT NULL DEFAULT true, + "authorId" INTEGER NOT NULL, + + PRIMARY KEY ("id") + ); + + -- AddForeignKey + ALTER TABLE "Post" ADD FOREIGN KEY("authorId")REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE; + ``` + + + + > **Note**: If you do not provide a `--name`, Prisma CLI will prompt you for a name. + + + + Your Prisma schema is now in sync with your database schema and you have initialized a migration history: + + ``` + migrations/ + └─ 20210313140442_init/ + └─ migration.sql + ``` + +1. Add additional fields to your schema: + + ```prisma highlight=3;add + model User { + id Int @id @default(autoincrement()) + jobTitle String + name String + posts Post[] + } + ``` + +1. Create the second migration: + + + + + + ```terminal + prisma migrate dev --name added_job_title + ``` + + + + + + ```sql no-copy + -- AlterTable + ALTER TABLE "User" ADD COLUMN "jobTitle" TEXT NOT NULL; + ``` + + + + + + Your Prisma schema is once again in sync with your database schema, and your migration history contains two migrations: + + ``` + migrations/ + └─ 20210313140442_init/ + └─ migration.sql + └─ 20210313140442_added_job_title/ + └─ migration.sql + ``` + + + +You now have a migration history that you can [source control](/concepts/components/prisma-migrate/migration-histories#committing-the-migration-history-to-source-control) and use to [deploy changes to test environments and production](/concepts/components/prisma-migrate/migrate-development-production#production-and-testing-environments). ## Overview of the steps diff --git a/content/200-orm/150-components/03-prisma-migrate/010-mental-model.mdx b/content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/010-mental-model.mdx similarity index 100% rename from content/200-orm/150-components/03-prisma-migrate/010-mental-model.mdx rename to content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/010-mental-model.mdx diff --git a/content/200-orm/150-components/03-prisma-migrate/070-migration-histories.mdx b/content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/070-migration-histories.mdx similarity index 100% rename from content/200-orm/150-components/03-prisma-migrate/070-migration-histories.mdx rename to content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/070-migration-histories.mdx diff --git a/content/200-orm/150-components/03-prisma-migrate/200-shadow-database.mdx b/content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/200-shadow-database.mdx similarity index 100% rename from content/200-orm/150-components/03-prisma-migrate/200-shadow-database.mdx rename to content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/200-shadow-database.mdx diff --git a/content/200-orm/150-components/03-prisma-migrate/300-prisma-migrate-limitations-issues.mdx b/content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/300-limitations-and-known-issues.mdx similarity index 96% rename from content/200-orm/150-components/03-prisma-migrate/300-prisma-migrate-limitations-issues.mdx rename to content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/300-limitations-and-known-issues.mdx index 28d8dbbc6d..258e99916a 100644 --- a/content/200-orm/150-components/03-prisma-migrate/300-prisma-migrate-limitations-issues.mdx +++ b/content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/300-limitations-and-known-issues.mdx @@ -1,6 +1,7 @@ --- -title: Prisma Migrate limitations and known issues -metaDescriptions: Limitations that apply to Prisma Migrate. +title: Limitations and known issues +metaTitle: Limitations and known issues +metaDescriptions: Limitations and known issues --- diff --git a/content/200-orm/150-components/03-prisma-migrate/100-legacy-migrate.mdx b/content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/600-legacy-migrate.mdx similarity index 100% rename from content/200-orm/150-components/03-prisma-migrate/100-legacy-migrate.mdx rename to content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/600-legacy-migrate.mdx diff --git a/content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/index.mdx b/content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/index.mdx new file mode 100644 index 0000000000..7371450a98 --- /dev/null +++ b/content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/index.mdx @@ -0,0 +1,15 @@ +--- +title: 'Understanding Prisma Migrate' +metaTitle: 'Understanding Prisma Migrate' +metaDescription: 'Understanding Prisma Migrate' +--- + + + +Understanding Prisma Migrate. + + + +## In this section + + diff --git a/content/200-orm/150-components/03-prisma-migrate/mental-model-illustrations/database-first-migration-flow.png b/content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/mental-model-illustrations/database-first-migration-flow.png similarity index 100% rename from content/200-orm/150-components/03-prisma-migrate/mental-model-illustrations/database-first-migration-flow.png rename to content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/mental-model-illustrations/database-first-migration-flow.png diff --git a/content/200-orm/150-components/03-prisma-migrate/mental-model-illustrations/db-push-flow.png b/content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/mental-model-illustrations/db-push-flow.png similarity index 100% rename from content/200-orm/150-components/03-prisma-migrate/mental-model-illustrations/db-push-flow.png rename to content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/mental-model-illustrations/db-push-flow.png diff --git a/content/200-orm/150-components/03-prisma-migrate/mental-model-illustrations/entity-first-migration-flow.png b/content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/mental-model-illustrations/entity-first-migration-flow.png similarity index 100% rename from content/200-orm/150-components/03-prisma-migrate/mental-model-illustrations/entity-first-migration-flow.png rename to content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/mental-model-illustrations/entity-first-migration-flow.png diff --git a/content/200-orm/150-components/03-prisma-migrate/mental-model-illustrations/prisma-migrate-dev-flow.png b/content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/mental-model-illustrations/prisma-migrate-dev-flow.png similarity index 100% rename from content/200-orm/150-components/03-prisma-migrate/mental-model-illustrations/prisma-migrate-dev-flow.png rename to content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/mental-model-illustrations/prisma-migrate-dev-flow.png diff --git a/content/200-orm/150-components/03-prisma-migrate/mental-model-illustrations/prisma-migrate-diff-flow.png b/content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/mental-model-illustrations/prisma-migrate-diff-flow.png similarity index 100% rename from content/200-orm/150-components/03-prisma-migrate/mental-model-illustrations/prisma-migrate-diff-flow.png rename to content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/mental-model-illustrations/prisma-migrate-diff-flow.png diff --git a/content/200-orm/150-components/03-prisma-migrate/mental-model-illustrations/prisma-migrate-lifecycle.png b/content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/mental-model-illustrations/prisma-migrate-lifecycle.png similarity index 100% rename from content/200-orm/150-components/03-prisma-migrate/mental-model-illustrations/prisma-migrate-lifecycle.png rename to content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/mental-model-illustrations/prisma-migrate-lifecycle.png diff --git a/content/200-orm/150-components/03-prisma-migrate/mental-model-illustrations/prisma-migrate-state-mgt.png b/content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/mental-model-illustrations/prisma-migrate-state-mgt.png similarity index 100% rename from content/200-orm/150-components/03-prisma-migrate/mental-model-illustrations/prisma-migrate-state-mgt.png rename to content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/mental-model-illustrations/prisma-migrate-state-mgt.png diff --git a/content/200-orm/150-components/03-prisma-migrate/migrate-mapping.png b/content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/migrate-mapping.png similarity index 100% rename from content/200-orm/150-components/03-prisma-migrate/migrate-mapping.png rename to content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/migrate-mapping.png diff --git a/content/200-orm/150-components/03-prisma-migrate/shadow-database.png b/content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/shadow-database.png similarity index 100% rename from content/200-orm/150-components/03-prisma-migrate/shadow-database.png rename to content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/shadow-database.png diff --git a/content/200-orm/150-components/03-prisma-migrate/shadow-db.png b/content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/shadow-db.png similarity index 100% rename from content/200-orm/150-components/03-prisma-migrate/shadow-db.png rename to content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/shadow-db.png diff --git a/content/300-guides/025-migrate/300-seed-database.mdx b/content/200-orm/200-prisma-migrate/300-workflows/10-seeding.mdx similarity index 99% rename from content/300-guides/025-migrate/300-seed-database.mdx rename to content/200-orm/200-prisma-migrate/300-workflows/10-seeding.mdx index 8107449de9..4f0a047239 100644 --- a/content/300-guides/025-migrate/300-seed-database.mdx +++ b/content/200-orm/200-prisma-migrate/300-workflows/10-seeding.mdx @@ -1,5 +1,6 @@ --- -title: Seeding your database +title: Seeding +metaTitle: Seeding metaDescription: Learn how to seed your database using Prisma's integrated seeding functionality and Prisma Client tocDepth: 3 --- diff --git a/content/300-guides/025-migrate/100-developing-with-prisma-migrate/150-team-development.mdx b/content/200-orm/200-prisma-migrate/300-workflows/100-team-development.mdx similarity index 99% rename from content/300-guides/025-migrate/100-developing-with-prisma-migrate/150-team-development.mdx rename to content/200-orm/200-prisma-migrate/300-workflows/100-team-development.mdx index eba9774218..c03d4a2261 100644 --- a/content/300-guides/025-migrate/100-developing-with-prisma-migrate/150-team-development.mdx +++ b/content/200-orm/200-prisma-migrate/300-workflows/100-team-development.mdx @@ -1,5 +1,6 @@ --- -title: Team development with Prisma Migrate +title: Team development +metaTitle: Team development metaDescription: How to use Prisma Migrate when collaborating on a project as a team. --- diff --git a/content/200-orm/150-components/03-prisma-migrate/100-supported-types-and-db-features.mdx b/content/200-orm/200-prisma-migrate/300-workflows/110-native-database-types.mdx similarity index 97% rename from content/200-orm/150-components/03-prisma-migrate/100-supported-types-and-db-features.mdx rename to content/200-orm/200-prisma-migrate/300-workflows/110-native-database-types.mdx index 0b6ce2789a..8352229c73 100644 --- a/content/200-orm/150-components/03-prisma-migrate/100-supported-types-and-db-features.mdx +++ b/content/200-orm/200-prisma-migrate/300-workflows/110-native-database-types.mdx @@ -1,5 +1,7 @@ --- -title: Supported database types and features +title: Native database types +metaTitle: Native database types +metaDescription: Native database types --- diff --git a/content/300-guides/025-migrate/100-developing-with-prisma-migrate/165-enable-native-database-functions.mdx b/content/200-orm/200-prisma-migrate/300-workflows/120-native-database-functions.mdx similarity index 98% rename from content/300-guides/025-migrate/100-developing-with-prisma-migrate/165-enable-native-database-functions.mdx rename to content/200-orm/200-prisma-migrate/300-workflows/120-native-database-functions.mdx index 041afedcfd..b91eefbd1b 100644 --- a/content/300-guides/025-migrate/100-developing-with-prisma-migrate/165-enable-native-database-functions.mdx +++ b/content/200-orm/200-prisma-migrate/300-workflows/120-native-database-functions.mdx @@ -1,5 +1,6 @@ --- -title: Enable PostgreSQL extensions for native database functions +title: Native database functions +metaTitle: Native database functions metaDescription: How to enable PostgreSQL native database functions for projects that use Prisma Migrate. --- diff --git a/content/300-guides/025-migrate/400-prototyping-schema-db-push.mdx b/content/200-orm/200-prisma-migrate/300-workflows/20-prototyping-your-schema.mdx similarity index 65% rename from content/300-guides/025-migrate/400-prototyping-schema-db-push.mdx rename to content/200-orm/200-prisma-migrate/300-workflows/20-prototyping-your-schema.mdx index 20cb7b7cd9..e6a654bff5 100644 --- a/content/300-guides/025-migrate/400-prototyping-schema-db-push.mdx +++ b/content/200-orm/200-prisma-migrate/300-workflows/20-prototyping-your-schema.mdx @@ -1,16 +1,54 @@ --- -title: Schema prototyping with db push -metaDescription: How to use db push to prototype a new feature or an entirely new schema. +title: 'Prototyping your schema' +metaTitle: 'Prototyping your schema' +metaDescription: 'Prototyping your schema' +codeStyle: false --- -This guide demonstrates how to use [`db push`](/reference/api-reference/command-reference#db-push) to prototype a new schema or a new feature for an existing schema. +The Prisma CLI has a dedicated command for prototyping schemas: [`db push`](/reference/api-reference/command-reference#db-push) -Although `db push` and Prisma Migrate both synchronize your Prisma schema and database schema, they play [different roles in the development workflow](/concepts/components/prisma-migrate/db-push#choosing-db-push-or-prisma-migrate) and should not be used interchangeably. +`db push` uses the same engine as Prisma Migrate to synchronize your Prisma schema with your database schema. The `db push` command: + +1. Introspects the database to infer and executes the changes required to make your database schema reflect the state of your Prisma schema. +2. By default, after changes have been applied to the database schema, generators are triggered (for example, Prisma Client). You do not need to manually invoke `prisma generate`. +3. If `db push` anticipates that the changes could result in data loss, it will: + + - Throw an error + - Require the `--accept-data-loss` option if you still want to make the changes + +> **Notes**: +> +> - `db push` does not interact with or rely on migrations. The migrations table `_prisma_migrations` will not be created or updated, and no migration files will be generated. +> - When working with PlanetScale, we recommend that you use `db push` instead of `migrate`. For details refer to our Getting Started documentation, either [Start from scratch](/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-planetscale) or [Add to existing project](/getting-started/setup-prisma/add-to-existing-project/relational-databases-typescript-planetscale) depending on your situation. +## Choosing db push or Prisma Migrate + +`db push` works well if: + +- You want to **quickly prototype and iterate** on schema design locally without the need to deploy these changes to other environments such as other developers, or staging and production environments. +- You are prioritizing reaching a **desired end-state** and not the changes or steps executed to reach that end-state (there is no way to preview changes made by `db push`) +- You do not need to control how schema changes impact data. There is no way to orchestrate schema and data migrations—if `db push` anticipates that changes will result in data loss, you can either accept data loss with the `--accept-data-loss` option or stop the process. There is no way to customize the changes. + +See [Schema prototyping with `db push`](/guides/migrate/prototyping-schema-db-push) for an example of how to use `db push` in this way. + +`db push` is **not recommended** if: + +- You want to replicate your schema changes in other environments without losing data. You can use `db push` for prototyping, but you should use migrations to commit the schema changes and apply these in your other environments. +- You want fine-grained control over how the schema changes are executed - for example, [renaming a column instead of dropping it and creating a new one](/guides/migrate/developing-with-prisma-migrate/customizing-migrations#example-rename-a-field). +- You want to keep track of changes made to the database schema over time. `db push` does not create any artifacts that allow you to keep track of these changes. +- You want the schema changes to be reversible. You can use `db push` again to revert to the original state, but this might result in data loss. + +## Can I use Prisma Migrate and db push together? + +Yes, you can [use `db push` and Prisma Migrate together in your development workflow](/guides/migrate/prototyping-schema-db-push) . For example, you can: + +- Use `db push` to prototype a schema at the start of a project and initialize a migration history when you are happy with the first draft +- Use `db push` to prototype a change to an existing schema, then run `prisma migrate dev` to generate a migration from your changes (you will be asked to reset) + ## Prototyping a new schema The following scenario demonstrates how to use `db push` to synchronize a new schema with an empty database, and evolve that schema - including what happens when `db push` detects that a change will result in data loss. diff --git a/content/300-guides/025-migrate/100-developing-with-prisma-migrate/200-troubleshooting-development.mdx b/content/200-orm/200-prisma-migrate/300-workflows/200-troubleshooting.mdx similarity index 99% rename from content/300-guides/025-migrate/100-developing-with-prisma-migrate/200-troubleshooting-development.mdx rename to content/200-orm/200-prisma-migrate/300-workflows/200-troubleshooting.mdx index 8d4d1202b2..30ca1dcc75 100644 --- a/content/300-guides/025-migrate/100-developing-with-prisma-migrate/200-troubleshooting-development.mdx +++ b/content/200-orm/200-prisma-migrate/300-workflows/200-troubleshooting.mdx @@ -1,5 +1,6 @@ --- -title: Migration troubleshooting in development +title: Troubleshooting +metaTitle: Troubleshooting metaDescription: Troubleshooting issues with Prisma Migrate in a development environment. --- diff --git a/content/300-guides/025-migrate/100-developing-with-prisma-migrate/160-baselining.mdx b/content/200-orm/200-prisma-migrate/300-workflows/30-baselining.mdx similarity index 100% rename from content/300-guides/025-migrate/100-developing-with-prisma-migrate/160-baselining.mdx rename to content/200-orm/200-prisma-migrate/300-workflows/30-baselining.mdx diff --git a/content/300-guides/025-migrate/100-developing-with-prisma-migrate/170-customizing-migrations.mdx b/content/200-orm/200-prisma-migrate/300-workflows/40-customizing-migrations.mdx similarity index 99% rename from content/300-guides/025-migrate/100-developing-with-prisma-migrate/170-customizing-migrations.mdx rename to content/200-orm/200-prisma-migrate/300-workflows/40-customizing-migrations.mdx index 81988e8f94..d593a81acf 100644 --- a/content/300-guides/025-migrate/100-developing-with-prisma-migrate/170-customizing-migrations.mdx +++ b/content/200-orm/200-prisma-migrate/300-workflows/40-customizing-migrations.mdx @@ -1,6 +1,6 @@ --- -title: Customize a migration file -metaTitle: Customize a migration file +title: Customizing migrations +metaTitle: Customizing migrations metaDescription: How to edit a migration file before applying it to avoid data loss in production. tocDepth: 3 --- diff --git a/content/300-guides/025-migrate/500-data-migration.mdx b/content/200-orm/200-prisma-migrate/300-workflows/45-data-migration.mdx similarity index 96% rename from content/300-guides/025-migrate/500-data-migration.mdx rename to content/200-orm/200-prisma-migrate/300-workflows/45-data-migration.mdx index 6da657257a..5640babf88 100644 --- a/content/300-guides/025-migrate/500-data-migration.mdx +++ b/content/200-orm/200-prisma-migrate/300-workflows/45-data-migration.mdx @@ -27,7 +27,7 @@ This tutorial will walk you through the following steps: It also makes the following assumptions: - The production database is accessible from the development machine -- `prisma migrate dev` is only run against development database +- `prisma migrate dev` is only run against development database - The expanding and contracting steps are handled in separate branches For this guide, you will modify the following schema by replacing the `published` boolean field with a `status` enum: @@ -43,10 +43,10 @@ datasource db { } model Post { - id Int @id @default(autoincrement()) + id Int @id @default(autoincrement()) title String content String? - published Boolean @default(false) + published Boolean @default(false) } ``` @@ -94,7 +94,7 @@ Prisma Migrate will give you the following warning because the field being added -``` no-copy +```no-copy Prisma schema loaded from prisma/schema.prisma Datasource "db": PostgreSQL database "data-migration", schema "public" at "localhost:5401" @@ -136,7 +136,6 @@ Generate and execute the migration using the following command: npx prisma migrate dev --name add-default ``` - ## Create and run the data migration file ### Create a data migration file @@ -160,7 +159,7 @@ async function main() { where: { id: post.id }, data: { status: post.published ? 'Published' : 'Unknown', - } + }, }) } }) @@ -170,13 +169,12 @@ main() .catch(async (e) => { console.error(e) process.exit(1) - }).finally(async () => await prisma.$disconnect() - ) + }) + .finally(async () => await prisma.$disconnect()) ``` The data migration is wrapped in a transaction to ensure that the query is rolled back, allowing you to iterate on your data migration file - Next steps: 1. Push your changes to a remote origin and create a new pull request. @@ -184,7 +182,6 @@ Next steps: To apply the changes to your production database, add `prisma migrate deploy` as part of your deployment/ build step in CI - ### Run the data migration Update the `package.json` file with the script to execute the data-migration file. Be sure to update the `20230417131956_add-status-column` with the name of your migration file. @@ -251,7 +248,6 @@ Next steps: To apply the changes to your production database, add `prisma migrate deploy` as part of your deployment/ build step in CI - ```terminal npx prisma migrate deploy ``` diff --git a/content/300-guides/025-migrate/100-developing-with-prisma-migrate/175-squashing-migrations.mdx b/content/200-orm/200-prisma-migrate/300-workflows/50-squashing-migrations.mdx similarity index 100% rename from content/300-guides/025-migrate/100-developing-with-prisma-migrate/175-squashing-migrations.mdx rename to content/200-orm/200-prisma-migrate/300-workflows/50-squashing-migrations.mdx diff --git a/content/300-guides/025-migrate/100-developing-with-prisma-migrate/180-generating-down-migrations.mdx b/content/200-orm/200-prisma-migrate/300-workflows/60-generating-down-migrations.mdx similarity index 100% rename from content/300-guides/025-migrate/100-developing-with-prisma-migrate/180-generating-down-migrations.mdx rename to content/200-orm/200-prisma-migrate/300-workflows/60-generating-down-migrations.mdx diff --git a/content/300-guides/025-migrate/800-production-troubleshooting.mdx b/content/200-orm/200-prisma-migrate/300-workflows/70-patching-and-hotfixing.mdx similarity index 78% rename from content/300-guides/025-migrate/800-production-troubleshooting.mdx rename to content/200-orm/200-prisma-migrate/300-workflows/70-patching-and-hotfixing.mdx index 30e467f50d..438f82c353 100644 --- a/content/300-guides/025-migrate/800-production-troubleshooting.mdx +++ b/content/200-orm/200-prisma-migrate/300-workflows/70-patching-and-hotfixing.mdx @@ -1,22 +1,74 @@ --- -title: Migration troubleshooting in production -navTitle: Migration troubleshooting -metaDescription: Troubleshooting Prisma Migrate issues in production environments. +title: Patching & hotfixing +navTitle: Patching & hotfixing +metaDescription: How to reconcile the migration history after applying a hotfix or patch to a production environment. --- -The following guide describes issues relating to Prisma Migrate that can occur in production, and how to resolve them. +Patching or hotfixing a database involves making an often time critical change directly in production. For example, you might add an index directly to a production database to resolve an issue with a slow-running query. + +Patching the production database directly results in **schema drift**: your database schema has 'drifted away' from the source of truth, and is out of sync with your migration history. You can use the `prisma migrate resolve` command to reconcile your migration history _without_ having to remove and re-apply the hotfix with `prisma migrate deploy`. This guide **does not apply for MongoDB**.
-Instead of `migrate deploy`, [`db push`](/concepts/components/prisma-migrate/db-push) is used for [MongoDB](/concepts/database-connectors/mongodb). +Instead of `migrate dev`, [`db push`](/concepts/components/prisma-migrate/db-push) is used for [MongoDB](/concepts/database-connectors/mongodb).
+## Reconciling your migration history with a patch or hotfix + +The following scenario assumes that you made a manual change in production and want to propagate that change to your migration history and other databases. + +To reconcile your migration history and database schema in production: + + + +1. Replicate the change you made in production in the schema - for example, add an `@@index` to a particular model. +1. Generate a new migration and take note of the full migration name, including a timestamp, which is written to the CLI:(`20210316150542_retroactively_add_index`): + + + + + ```terminal + npx prisma migrate dev --name retroactively-add-index + ``` + + + + + ```bash no-copy + migrations/ + └─ 20210316150542_retroactively_add_index/ + └─ migration.sql + + Your database is now in sync with your schema. + + ✔ Generated Prisma Client (2.19.0-dev.29) to .\node_modules\@prisma\client in 190ms + ``` + + + + +1. Push the migration to production **without running `migrate deploy`**. Instead, mark the migration created in the previous step as 'already applied' so that Prisma Migrate does not attempt to apply your hotfix a second time: + + ```terminal + prisma migrate resolve --applied "20201127134938-retroactively-add-index" + ``` + + This command adds the migration to the migration history table without running the actual SQL. + +1. Repeat the previous step for other databases that were patched - for example, if you applied the patch to a staging database. + +1. Propagate the migration to other databases that were not patched - for example, by committing the migration to source control and allowing your CI/CD pipeline to apply it to all databases. + + + +> **Note**: The migration will not be applied to databases where it has been marked as already applied by the `prisma migrate resolve` command. + ## Failed migration A migration might fail if: diff --git a/content/300-guides/025-migrate/100-developing-with-prisma-migrate/168-include-unsupported-database-features.mdx b/content/200-orm/200-prisma-migrate/300-workflows/80-unsupported-database-features.mdx similarity index 95% rename from content/300-guides/025-migrate/100-developing-with-prisma-migrate/168-include-unsupported-database-features.mdx rename to content/200-orm/200-prisma-migrate/300-workflows/80-unsupported-database-features.mdx index 051d56860a..fc7db82208 100644 --- a/content/300-guides/025-migrate/100-developing-with-prisma-migrate/168-include-unsupported-database-features.mdx +++ b/content/200-orm/200-prisma-migrate/300-workflows/80-unsupported-database-features.mdx @@ -1,5 +1,6 @@ --- -title: Include unsupported database features +title: Unsupported database features +metaTitle: Unsupported database features metaDescription: How to include unsupported database features for projects that use Prisma Migrate. --- diff --git a/content/200-orm/150-components/03-prisma-migrate/080-migrate-development-production.mdx b/content/200-orm/200-prisma-migrate/300-workflows/90-development-and-production.mdx similarity index 97% rename from content/200-orm/150-components/03-prisma-migrate/080-migrate-development-production.mdx rename to content/200-orm/200-prisma-migrate/300-workflows/90-development-and-production.mdx index a6e0136ed3..e2a9669a2d 100644 --- a/content/200-orm/150-components/03-prisma-migrate/080-migrate-development-production.mdx +++ b/content/200-orm/200-prisma-migrate/300-workflows/90-development-and-production.mdx @@ -1,7 +1,7 @@ --- -title: 'Prisma Migrate in development and production' -metaTitle: 'Prisma Migrate in development and production' -metaDescription: 'Prisma Migrate in development and production' +title: 'Development and production' +metaTitle: 'Development and production' +metaDescription: 'Development and production' tocDepth: 3 --- diff --git a/content/300-guides/025-migrate/100-developing-with-prisma-migrate/deploy-db.png b/content/200-orm/200-prisma-migrate/300-workflows/deploy-db.png similarity index 100% rename from content/300-guides/025-migrate/100-developing-with-prisma-migrate/deploy-db.png rename to content/200-orm/200-prisma-migrate/300-workflows/deploy-db.png diff --git a/content/300-guides/025-migrate/100-developing-with-prisma-migrate/existing-database.png b/content/200-orm/200-prisma-migrate/300-workflows/existing-database.png similarity index 100% rename from content/300-guides/025-migrate/100-developing-with-prisma-migrate/existing-database.png rename to content/200-orm/200-prisma-migrate/300-workflows/existing-database.png diff --git a/content/200-orm/200-prisma-migrate/300-workflows/index.mdx b/content/200-orm/200-prisma-migrate/300-workflows/index.mdx new file mode 100644 index 0000000000..066bc90ede --- /dev/null +++ b/content/200-orm/200-prisma-migrate/300-workflows/index.mdx @@ -0,0 +1,15 @@ +--- +title: 'Workflows' +metaTitle: 'Workflows' +metaDescription: 'Workflows' +--- + + + +Prisma Migrate workflows. + + + +## In this section + + diff --git a/content/300-guides/025-migrate/100-developing-with-prisma-migrate/migrate-team-dev.png b/content/200-orm/200-prisma-migrate/300-workflows/migrate-team-dev.png similarity index 100% rename from content/300-guides/025-migrate/100-developing-with-prisma-migrate/migrate-team-dev.png rename to content/200-orm/200-prisma-migrate/300-workflows/migrate-team-dev.png diff --git a/content/300-guides/025-migrate/100-developing-with-prisma-migrate/migration-history.png b/content/200-orm/200-prisma-migrate/300-workflows/migration-history.png similarity index 100% rename from content/300-guides/025-migrate/100-developing-with-prisma-migrate/migration-history.png rename to content/200-orm/200-prisma-migrate/300-workflows/migration-history.png diff --git a/content/300-guides/025-migrate/100-developing-with-prisma-migrate/new-dev-db.png b/content/200-orm/200-prisma-migrate/300-workflows/new-dev-db.png similarity index 100% rename from content/300-guides/025-migrate/100-developing-with-prisma-migrate/new-dev-db.png rename to content/200-orm/200-prisma-migrate/300-workflows/new-dev-db.png diff --git a/content/200-orm/150-components/03-prisma-migrate/index.mdx b/content/200-orm/200-prisma-migrate/index.mdx similarity index 99% rename from content/200-orm/150-components/03-prisma-migrate/index.mdx rename to content/200-orm/200-prisma-migrate/index.mdx index 395a72c2e5..04106b1059 100644 --- a/content/200-orm/150-components/03-prisma-migrate/index.mdx +++ b/content/200-orm/200-prisma-migrate/index.mdx @@ -2,6 +2,7 @@ title: 'Prisma Migrate' metaTitle: 'Prisma Migrate | Database, Schema, SQL Migration Tool' metaDescription: 'Prisma Migrate is a database migration tool available via the Prisma CLI that integrates with Prisma schema for data modeling.' +staticLink: true toc: false --- diff --git a/content/200-orm/150-components/01-prisma-schema/02-data-sources.mdx b/content/200-orm/500-components/01-prisma-schema/02-data-sources.mdx similarity index 100% rename from content/200-orm/150-components/01-prisma-schema/02-data-sources.mdx rename to content/200-orm/500-components/01-prisma-schema/02-data-sources.mdx diff --git a/content/200-orm/150-components/01-prisma-schema/03-generators.mdx b/content/200-orm/500-components/01-prisma-schema/03-generators.mdx similarity index 100% rename from content/200-orm/150-components/01-prisma-schema/03-generators.mdx rename to content/200-orm/500-components/01-prisma-schema/03-generators.mdx diff --git a/content/200-orm/150-components/01-prisma-schema/04-data-model.mdx b/content/200-orm/500-components/01-prisma-schema/04-data-model.mdx similarity index 100% rename from content/200-orm/150-components/01-prisma-schema/04-data-model.mdx rename to content/200-orm/500-components/01-prisma-schema/04-data-model.mdx diff --git a/content/200-orm/150-components/01-prisma-schema/05-names-in-underlying-database.mdx b/content/200-orm/500-components/01-prisma-schema/05-names-in-underlying-database.mdx similarity index 100% rename from content/200-orm/150-components/01-prisma-schema/05-names-in-underlying-database.mdx rename to content/200-orm/500-components/01-prisma-schema/05-names-in-underlying-database.mdx diff --git a/content/200-orm/150-components/01-prisma-schema/06-features-without-psl-equivalent.mdx b/content/200-orm/500-components/01-prisma-schema/06-features-without-psl-equivalent.mdx similarity index 100% rename from content/200-orm/150-components/01-prisma-schema/06-features-without-psl-equivalent.mdx rename to content/200-orm/500-components/01-prisma-schema/06-features-without-psl-equivalent.mdx diff --git a/content/200-orm/150-components/01-prisma-schema/06-relations/100-one-to-one-relations.mdx b/content/200-orm/500-components/01-prisma-schema/06-relations/100-one-to-one-relations.mdx similarity index 100% rename from content/200-orm/150-components/01-prisma-schema/06-relations/100-one-to-one-relations.mdx rename to content/200-orm/500-components/01-prisma-schema/06-relations/100-one-to-one-relations.mdx diff --git a/content/200-orm/150-components/01-prisma-schema/06-relations/200-one-to-many-relations.mdx b/content/200-orm/500-components/01-prisma-schema/06-relations/200-one-to-many-relations.mdx similarity index 100% rename from content/200-orm/150-components/01-prisma-schema/06-relations/200-one-to-many-relations.mdx rename to content/200-orm/500-components/01-prisma-schema/06-relations/200-one-to-many-relations.mdx diff --git a/content/200-orm/150-components/01-prisma-schema/06-relations/300-many-to-many-relations.mdx b/content/200-orm/500-components/01-prisma-schema/06-relations/300-many-to-many-relations.mdx similarity index 100% rename from content/200-orm/150-components/01-prisma-schema/06-relations/300-many-to-many-relations.mdx rename to content/200-orm/500-components/01-prisma-schema/06-relations/300-many-to-many-relations.mdx diff --git a/content/200-orm/150-components/01-prisma-schema/06-relations/400-self-relations.mdx b/content/200-orm/500-components/01-prisma-schema/06-relations/400-self-relations.mdx similarity index 100% rename from content/200-orm/150-components/01-prisma-schema/06-relations/400-self-relations.mdx rename to content/200-orm/500-components/01-prisma-schema/06-relations/400-self-relations.mdx diff --git a/content/200-orm/150-components/01-prisma-schema/06-relations/410-referential-actions/100-special-rules-for-referential-actions.mdx b/content/200-orm/500-components/01-prisma-schema/06-relations/410-referential-actions/100-special-rules-for-referential-actions.mdx similarity index 100% rename from content/200-orm/150-components/01-prisma-schema/06-relations/410-referential-actions/100-special-rules-for-referential-actions.mdx rename to content/200-orm/500-components/01-prisma-schema/06-relations/410-referential-actions/100-special-rules-for-referential-actions.mdx diff --git a/content/200-orm/150-components/01-prisma-schema/06-relations/410-referential-actions/index.mdx b/content/200-orm/500-components/01-prisma-schema/06-relations/410-referential-actions/index.mdx similarity index 100% rename from content/200-orm/150-components/01-prisma-schema/06-relations/410-referential-actions/index.mdx rename to content/200-orm/500-components/01-prisma-schema/06-relations/410-referential-actions/index.mdx diff --git a/content/200-orm/150-components/01-prisma-schema/06-relations/420-relation-mode.mdx b/content/200-orm/500-components/01-prisma-schema/06-relations/420-relation-mode.mdx similarity index 100% rename from content/200-orm/150-components/01-prisma-schema/06-relations/420-relation-mode.mdx rename to content/200-orm/500-components/01-prisma-schema/06-relations/420-relation-mode.mdx diff --git a/content/200-orm/150-components/01-prisma-schema/06-relations/500-troubleshooting-relations.mdx b/content/200-orm/500-components/01-prisma-schema/06-relations/500-troubleshooting-relations.mdx similarity index 100% rename from content/200-orm/150-components/01-prisma-schema/06-relations/500-troubleshooting-relations.mdx rename to content/200-orm/500-components/01-prisma-schema/06-relations/500-troubleshooting-relations.mdx diff --git a/content/200-orm/150-components/01-prisma-schema/06-relations/index.mdx b/content/200-orm/500-components/01-prisma-schema/06-relations/index.mdx similarity index 100% rename from content/200-orm/150-components/01-prisma-schema/06-relations/index.mdx rename to content/200-orm/500-components/01-prisma-schema/06-relations/index.mdx diff --git a/content/200-orm/150-components/01-prisma-schema/06-relations/one-to-many.png b/content/200-orm/500-components/01-prisma-schema/06-relations/one-to-many.png similarity index 100% rename from content/200-orm/150-components/01-prisma-schema/06-relations/one-to-many.png rename to content/200-orm/500-components/01-prisma-schema/06-relations/one-to-many.png diff --git a/content/200-orm/150-components/01-prisma-schema/06-relations/quick-fix-index.png b/content/200-orm/500-components/01-prisma-schema/06-relations/quick-fix-index.png similarity index 100% rename from content/200-orm/150-components/01-prisma-schema/06-relations/quick-fix-index.png rename to content/200-orm/500-components/01-prisma-schema/06-relations/quick-fix-index.png diff --git a/content/200-orm/150-components/01-prisma-schema/06-relations/quick-fix-index.snagx b/content/200-orm/500-components/01-prisma-schema/06-relations/quick-fix-index.snagx similarity index 100% rename from content/200-orm/150-components/01-prisma-schema/06-relations/quick-fix-index.snagx rename to content/200-orm/500-components/01-prisma-schema/06-relations/quick-fix-index.snagx diff --git a/content/200-orm/150-components/01-prisma-schema/06-relations/relations-intro.png b/content/200-orm/500-components/01-prisma-schema/06-relations/relations-intro.png similarity index 100% rename from content/200-orm/150-components/01-prisma-schema/06-relations/relations-intro.png rename to content/200-orm/500-components/01-prisma-schema/06-relations/relations-intro.png diff --git a/content/200-orm/150-components/01-prisma-schema/06-relations/sample-schema.png b/content/200-orm/500-components/01-prisma-schema/06-relations/sample-schema.png similarity index 100% rename from content/200-orm/150-components/01-prisma-schema/06-relations/sample-schema.png rename to content/200-orm/500-components/01-prisma-schema/06-relations/sample-schema.png diff --git a/content/200-orm/150-components/01-prisma-schema/08-views.mdx b/content/200-orm/500-components/01-prisma-schema/08-views.mdx similarity index 100% rename from content/200-orm/150-components/01-prisma-schema/08-views.mdx rename to content/200-orm/500-components/01-prisma-schema/08-views.mdx diff --git a/content/200-orm/150-components/01-prisma-schema/09-indexes.mdx b/content/200-orm/500-components/01-prisma-schema/09-indexes.mdx similarity index 100% rename from content/200-orm/150-components/01-prisma-schema/09-indexes.mdx rename to content/200-orm/500-components/01-prisma-schema/09-indexes.mdx diff --git a/content/200-orm/150-components/01-prisma-schema/10-postgresql-extensions.mdx b/content/200-orm/500-components/01-prisma-schema/10-postgresql-extensions.mdx similarity index 100% rename from content/200-orm/150-components/01-prisma-schema/10-postgresql-extensions.mdx rename to content/200-orm/500-components/01-prisma-schema/10-postgresql-extensions.mdx diff --git a/content/200-orm/150-components/01-prisma-schema/index.mdx b/content/200-orm/500-components/01-prisma-schema/index.mdx similarity index 100% rename from content/200-orm/150-components/01-prisma-schema/index.mdx rename to content/200-orm/500-components/01-prisma-schema/index.mdx diff --git a/content/200-orm/150-components/01-prisma-schema/prisma-schema/relations-intro.png b/content/200-orm/500-components/01-prisma-schema/prisma-schema/relations-intro.png similarity index 100% rename from content/200-orm/150-components/01-prisma-schema/prisma-schema/relations-intro.png rename to content/200-orm/500-components/01-prisma-schema/prisma-schema/relations-intro.png diff --git a/content/200-orm/150-components/01-prisma-schema/prisma-schema/sample-database.png b/content/200-orm/500-components/01-prisma-schema/prisma-schema/sample-database.png similarity index 100% rename from content/200-orm/150-components/01-prisma-schema/prisma-schema/sample-database.png rename to content/200-orm/500-components/01-prisma-schema/prisma-schema/sample-database.png diff --git a/content/200-orm/150-components/04-introspection.mdx b/content/200-orm/500-components/04-introspection.mdx similarity index 100% rename from content/200-orm/150-components/04-introspection.mdx rename to content/200-orm/500-components/04-introspection.mdx diff --git a/content/200-orm/150-components/05-prisma-cli.mdx b/content/200-orm/500-components/05-prisma-cli.mdx similarity index 100% rename from content/200-orm/150-components/05-prisma-cli.mdx rename to content/200-orm/500-components/05-prisma-cli.mdx diff --git a/content/200-orm/150-components/06-prisma-studio.mdx b/content/200-orm/500-components/06-prisma-studio.mdx similarity index 100% rename from content/200-orm/150-components/06-prisma-studio.mdx rename to content/200-orm/500-components/06-prisma-studio.mdx diff --git a/content/200-orm/150-components/08-prisma-engines/200-query-engine.mdx b/content/200-orm/500-components/08-prisma-engines/200-query-engine.mdx similarity index 100% rename from content/200-orm/150-components/08-prisma-engines/200-query-engine.mdx rename to content/200-orm/500-components/08-prisma-engines/200-query-engine.mdx diff --git a/content/200-orm/150-components/08-prisma-engines/index.mdx b/content/200-orm/500-components/08-prisma-engines/index.mdx similarity index 100% rename from content/200-orm/150-components/08-prisma-engines/index.mdx rename to content/200-orm/500-components/08-prisma-engines/index.mdx diff --git a/content/200-orm/150-components/08-prisma-engines/query-engine-node-js-at-runtime.png b/content/200-orm/500-components/08-prisma-engines/query-engine-node-js-at-runtime.png similarity index 100% rename from content/200-orm/150-components/08-prisma-engines/query-engine-node-js-at-runtime.png rename to content/200-orm/500-components/08-prisma-engines/query-engine-node-js-at-runtime.png diff --git a/content/200-orm/150-components/08-prisma-engines/typical-flow-query-engine-at-runtime.png b/content/200-orm/500-components/08-prisma-engines/typical-flow-query-engine-at-runtime.png similarity index 100% rename from content/200-orm/150-components/08-prisma-engines/typical-flow-query-engine-at-runtime.png rename to content/200-orm/500-components/08-prisma-engines/typical-flow-query-engine-at-runtime.png diff --git a/content/200-orm/150-components/250-preview-features/050-client-preview-features.mdx b/content/200-orm/500-components/250-preview-features/050-client-preview-features.mdx similarity index 100% rename from content/200-orm/150-components/250-preview-features/050-client-preview-features.mdx rename to content/200-orm/500-components/250-preview-features/050-client-preview-features.mdx diff --git a/content/200-orm/150-components/250-preview-features/080-cli-preview-features.mdx b/content/200-orm/500-components/250-preview-features/080-cli-preview-features.mdx similarity index 100% rename from content/200-orm/150-components/250-preview-features/080-cli-preview-features.mdx rename to content/200-orm/500-components/250-preview-features/080-cli-preview-features.mdx diff --git a/content/200-orm/150-components/250-preview-features/index.mdx b/content/200-orm/500-components/250-preview-features/index.mdx similarity index 100% rename from content/200-orm/150-components/250-preview-features/index.mdx rename to content/200-orm/500-components/250-preview-features/index.mdx diff --git a/content/200-orm/150-components/images/drivers/qe-query-engine-adapter.png b/content/200-orm/500-components/images/drivers/qe-query-engine-adapter.png similarity index 100% rename from content/200-orm/150-components/images/drivers/qe-query-engine-adapter.png rename to content/200-orm/500-components/images/drivers/qe-query-engine-adapter.png diff --git a/content/200-orm/150-components/images/drivers/qe-query-execution-flow.png b/content/200-orm/500-components/images/drivers/qe-query-execution-flow.png similarity index 100% rename from content/200-orm/150-components/images/drivers/qe-query-execution-flow.png rename to content/200-orm/500-components/images/drivers/qe-query-execution-flow.png diff --git a/content/200-orm/150-components/images/prisma-studio/01-models-view.png b/content/200-orm/500-components/images/prisma-studio/01-models-view.png similarity index 100% rename from content/200-orm/150-components/images/prisma-studio/01-models-view.png rename to content/200-orm/500-components/images/prisma-studio/01-models-view.png diff --git a/content/200-orm/150-components/images/prisma-studio/02-open-close-models.png b/content/200-orm/500-components/images/prisma-studio/02-open-close-models.png similarity index 100% rename from content/200-orm/150-components/images/prisma-studio/02-open-close-models.png rename to content/200-orm/500-components/images/prisma-studio/02-open-close-models.png diff --git a/content/200-orm/150-components/images/prisma-studio/03-model-view-keyboard-shortcuts.png b/content/200-orm/500-components/images/prisma-studio/03-model-view-keyboard-shortcuts.png similarity index 100% rename from content/200-orm/150-components/images/prisma-studio/03-model-view-keyboard-shortcuts.png rename to content/200-orm/500-components/images/prisma-studio/03-model-view-keyboard-shortcuts.png diff --git a/content/200-orm/150-components/images/prisma-studio/04-save-multiple-changes.png b/content/200-orm/500-components/images/prisma-studio/04-save-multiple-changes.png similarity index 100% rename from content/200-orm/150-components/images/prisma-studio/04-save-multiple-changes.png rename to content/200-orm/500-components/images/prisma-studio/04-save-multiple-changes.png diff --git a/content/200-orm/150-components/images/prisma-studio/05-add-remove-filters.png b/content/200-orm/500-components/images/prisma-studio/05-add-remove-filters.png similarity index 100% rename from content/200-orm/150-components/images/prisma-studio/05-add-remove-filters.png rename to content/200-orm/500-components/images/prisma-studio/05-add-remove-filters.png diff --git a/content/200-orm/150-components/images/prisma-studio/06-show-hide-fields.png b/content/200-orm/500-components/images/prisma-studio/06-show-hide-fields.png similarity index 100% rename from content/200-orm/150-components/images/prisma-studio/06-show-hide-fields.png rename to content/200-orm/500-components/images/prisma-studio/06-show-hide-fields.png diff --git a/content/200-orm/150-components/images/prisma-studio/07-show-hide-records.png b/content/200-orm/500-components/images/prisma-studio/07-show-hide-records.png similarity index 100% rename from content/200-orm/150-components/images/prisma-studio/07-show-hide-records.png rename to content/200-orm/500-components/images/prisma-studio/07-show-hide-records.png diff --git a/content/200-orm/150-components/images/prisma-studio/08-model-sort.png b/content/200-orm/500-components/images/prisma-studio/08-model-sort.png similarity index 100% rename from content/200-orm/150-components/images/prisma-studio/08-model-sort.png rename to content/200-orm/500-components/images/prisma-studio/08-model-sort.png diff --git a/content/200-orm/150-components/images/prisma-studio/array.svg b/content/200-orm/500-components/images/prisma-studio/array.svg similarity index 100% rename from content/200-orm/150-components/images/prisma-studio/array.svg rename to content/200-orm/500-components/images/prisma-studio/array.svg diff --git a/content/200-orm/150-components/images/prisma-studio/boolean.svg b/content/200-orm/500-components/images/prisma-studio/boolean.svg similarity index 100% rename from content/200-orm/150-components/images/prisma-studio/boolean.svg rename to content/200-orm/500-components/images/prisma-studio/boolean.svg diff --git a/content/200-orm/150-components/images/prisma-studio/database.svg b/content/200-orm/500-components/images/prisma-studio/database.svg similarity index 100% rename from content/200-orm/150-components/images/prisma-studio/database.svg rename to content/200-orm/500-components/images/prisma-studio/database.svg diff --git a/content/200-orm/150-components/images/prisma-studio/datetime.svg b/content/200-orm/500-components/images/prisma-studio/datetime.svg similarity index 100% rename from content/200-orm/150-components/images/prisma-studio/datetime.svg rename to content/200-orm/500-components/images/prisma-studio/datetime.svg diff --git a/content/200-orm/150-components/images/prisma-studio/enum.svg b/content/200-orm/500-components/images/prisma-studio/enum.svg similarity index 100% rename from content/200-orm/150-components/images/prisma-studio/enum.svg rename to content/200-orm/500-components/images/prisma-studio/enum.svg diff --git a/content/200-orm/150-components/images/prisma-studio/number.svg b/content/200-orm/500-components/images/prisma-studio/number.svg similarity index 100% rename from content/200-orm/150-components/images/prisma-studio/number.svg rename to content/200-orm/500-components/images/prisma-studio/number.svg diff --git a/content/200-orm/150-components/images/prisma-studio/object.svg b/content/200-orm/500-components/images/prisma-studio/object.svg similarity index 100% rename from content/200-orm/150-components/images/prisma-studio/object.svg rename to content/200-orm/500-components/images/prisma-studio/object.svg diff --git a/content/200-orm/150-components/images/prisma-studio/string.svg b/content/200-orm/500-components/images/prisma-studio/string.svg similarity index 100% rename from content/200-orm/150-components/images/prisma-studio/string.svg rename to content/200-orm/500-components/images/prisma-studio/string.svg diff --git a/content/200-orm/150-components/index.mdx b/content/200-orm/500-components/index.mdx similarity index 100% rename from content/200-orm/150-components/index.mdx rename to content/200-orm/500-components/index.mdx diff --git a/content/300-guides/025-migrate/100-developing-with-prisma-migrate/index.mdx b/content/300-guides/025-migrate/100-developing-with-prisma-migrate/index.mdx deleted file mode 100644 index 3ada2b3066..0000000000 --- a/content/300-guides/025-migrate/100-developing-with-prisma-migrate/index.mdx +++ /dev/null @@ -1,264 +0,0 @@ ---- -title: Developing with Prisma Migrate -metaDescription: Learn how to add Prisma Migrate to an existing project. -tocDepth: 3 ---- - - - -This guide takes you through a typical **development workflow** with [Prisma Migrate](/concepts/components/prisma-migrate), from defining a schema to committing migrations to source control. This guide starts with an empty database, but you can also [add Prisma Migrate to an existing project](add-prisma-migrate-to-a-project). - -In a development environment, you use the `migrate dev` command to create and apply migrations: - -```terminal -npx prisma migrate dev -``` - -> **Prototyping?** Use the [`db push`](/reference/api-reference/command-reference#db-push) command if you are [prototyping](/guides/migrate/prototyping-schema-db-push) and are not concerned with data loss or replicating your changes in other environments. You can start or continue your migration history when you are happy with your changes. - -When you are comfortable with using Prisma Migrate in development, consider the following more advanced guides: - -- [How to use Prisma Migrate as a team](team-development) -- [Advanced migration techniques](customizing-migrations) - - - -This guide **does not apply for MongoDB**.
-Instead of `migrate dev`, [`db push`](/concepts/components/prisma-migrate/db-push) is used for [MongoDB](/concepts/database-connectors/mongodb). - -
- -
- -## Create a schema - -This guide uses the following schema as a starting point: - -```prisma -generator client { - provider = "prisma-client-js" -} - -datasource db { - provider = "postgresql" - url = env("DATABASE_URL") -} - -model User { - id Int @id @default(autoincrement()) - name String - posts Post[] - profile Profile? -} - -model Profile { - id Int @id @default(autoincrement()) - biograpy String // Intentional typo! - userId Int @unique - user User @relation(fields: [userId], references: [id]) -} - -model Post { - id Int @id @default(autoincrement()) - title String - published Boolean @default(true) - content String - authorId Int - author User @relation(fields: [authorId], references: [id]) - categories Category[] -} - -model Category { - id Int @id @default(autoincrement()) - name String - posts Post[] - - @@unique([name]) -} -``` - -### Refine your schema with native type attributes - -Prisma Migrate supports [native field type attributes](/concepts/components/prisma-schema/data-model#native-types-mapping) , which allow you to specify which underlying database type should be created. - -For example, the PostgreSQL provider maps `String` to `text` by default. To change the default mapping: - -1. Add a native type annotation to make the `title` field a `varchar(200)` in the underlying database: - - ```prisma highlight=5;normal; - // ... - - model Post { - id Int @id @default(autoincrement()) - title String @db.VarChar(200) - published Boolean @default(true) - content String - authorId Int - author User @relation(fields: [authorId], references: [id]) - categories Category[] - } - - // ... - ``` - -## Configure the shadow database - -In a **development environment only**, Prisma Migrate uses a [temporary shadow database](/concepts/components/prisma-migrate/shadow-database) to perform tasks such as detecting schema drift. - -- If you are developing against a locally hosted database, [make sure your user has sufficient privileges](/concepts/components/prisma-migrate/shadow-database#shadow-database-user-permissions) -- If you are developing against a cloud-hosted database, you need to [provision a shadow database and set the `shadowDatabaseUrl` field](/concepts/components/prisma-migrate/shadow-database#cloud-hosted-shadow-databases-must-be-created-manually) - -## Create migrations - -To create a migration, make a change to your schema and run the following command to create and apply migrations: - -```terminal -npx prisma migrate dev -``` - -The following example results in a migration history with three migrations. - -### First migration: Initialize migration history - -Run the following command to initialize a migration history and get started with Prisma Migrate: - - - - -```terminal -npx prisma migrate dev --name first-migration -``` - - - - -```code no-copy -√ Name of migration ... first-migration -The following migration(s) have been created and applied from new schema changes: - -migrations/ - └─ 20210305110829_first_migration/ - └─ migration.sql -``` - - - - -> **Note**: If you do not provide a `--name`, Prisma CLI will prompt you for a name. - -When you run the `migrate dev` command for the first time, Prisma Migrate: - -- Creates a `./prisma/migrations` folder with your initial migration: - - ``` - migrations/ - └─ 20210305110829_first_migration/ - └─ migration.sql - ``` - -- Creates a table named `_prisma_migrations` in the database with an entry for the first migration: - - | id | checksum | finished_at | migration_name | logs | rolled_back_at | started_at | applied_steps_count | - | :----------------------------------- | :------------------------------------------------------------ | :------------------------- | :----------------------------- | :--- | :------------- | :------------------------- | :------------------ | - | 5f285eeb-3714-461c-bb3a-03a7adad6aad | 1beaf4ec9e8cfdc1f fa546aa0b0d94ba2b382293d 7b7237619202f2372c | 2021-03-09 14:55:38.712883 | 20210305110829_first_migration | NULL | NULL | 2021-03-09 14:55:38.542458 | 1 | - -### Second migration: Add new fields - -1. Add two fields to your schema: - - ```prisma highlight=4,16;add - model User { - id Int @id @default(autoincrement()) - name String - jobTitle String @db.VarChar(100) - posts Post[] - profile Profile? - } - - model Post { - id Int @id @default(autoincrement()) - title String - published Boolean @default(true) - content String - authorId Int - author User @relation(fields: [authorId], references: [id]) - tags String[] - categories Category[] - } - ``` - -1. Generate a migration: - - ```terminal - npx prisma migrate dev --name add-fields - ``` - - Your `_prisma_migrations` table now has two entries: - - | id | checksum | finished_at | migration_name | logs | rolled_back_at | started_at | applied_steps_count | - | :----------------------------------- | :--------------------------------------------------------------- | :------------------------- | :----------------------------- | :--- | :------------- | :------------------------- | :------------------ | - | 5f285eeb-3714-461c-bb3a-03a7adad6aad | 1beaf4ec9e8cfdc1ffa 546aa0b0d94ba2b382293d 7b7237619202f2372c | 2021-03-09 14:55:38.712883 | 20210305110829_first_migration | NULL | NULL | 2021-03-09 14:55:38.542458 | 1 | - | 034e198c-dd9f-482a-afdc-26437708ed1e | b12be494d0f81 716d6732ae221b02a65677c6 2aafbb76f6e3fea4929f77f3d | 2021-03-09 14:55:38.767893 | 20210305120829_add_fields | NULL | NULL | 2021-03-09 14:55:38.724587 | 1 | - - Your `migrations` folder now has two migrations: - - ``` - migrations/ - └─ 20210305110829_first_migration/ - └─ migration.sql - └─ 20210305120829_add_fields/ - └─ migration.sql - ``` - -### Third migration: Change a field type to a compatible type - -1. Change the `name` field to a `varchar(50)` (default is `text`): - -```prisma highlight=3;delete|4;add -model Category { - id Int @id @default(autoincrement()) - name String - name String @db.VarChar(50) - posts Post[] - - @@unique([name]) -} -``` - -1. Generate a migration: - - ```terminal - npx prisma migrate dev --name type-change - ``` - - Your `_prisma_migrations` table now has three entries: - - | id | checksum | finished_at | migration_name | logs | rolled_back_at | started_at | applied_steps_count | - | :----------------------------------- | :--------------------------------------------------------------- | :------------------------- | :----------------------------- | :--- | :------------- | :------------------------- | :------------------ | - | 5f285eeb-3714-461c-bb3a-03a7adad6aad | 1beaf4ec9e8cfdc1ffa 546aa0b0d94ba2b382293d 7b7237619202f2372c | 2021-03-09 14:55:38.712883 | 20210305110829_first_migration | NULL | NULL | 2021-03-09 14:55:38.542458 | 1 | - | 034e198c-dd9f-482a-afdc-26437708ed1e | b12be494d0f81 716d6732ae221b02a65677c6 2aafbb76f6e3fea4929f77f3d | 2021-03-09 14:55:38.767893 | 20210305120829_add_fields | NULL | NULL | 2021-03-09 14:55:38.724587 | 1 | - | 932e198c-2d9f-182a-afdc-26437708ed1e | cd14e494d0f81 216d3732ae221b02a65677c6 fddfbb76f6e3fea4929f77f3d | 2021-03-09 14:55:38.767893 | 20210308102042_type_change | NULL | NULL | 2021-03-09 14:55:38.724587 | 1 | - - Your `migrations` folder now has three migrations: - - ``` - migrations/ - └─ 20210305110829_first_migration/ - └─ migration.sql - └─ 20210305120829_add_fields/ - └─ migration.sql - └─ 20210308102042_type-change/ - └─ migration.sql - ``` - -### Advanced scenarios - -Schema changes are often **additive**, such as adding a new field, model, or relation. If you move, rename, or significantly refactor a part of your schema, you will most likely need to edit the generated SQL before applying it to preserve existing data. - -See [Advanced migration scenarios](customizing-migrations) for examples. - -## Write a seed script - -You should expect to reset your database in a development environment - for example, if you regularly switch between branches that have different migration histories, Prisma Migrate will prompt you to `migrate reset` when you run `prisma migrate dev`. If a seed script is available, Prisma Migrate runs that script after resetting the database. - -See [Seeding your database](/guides/migrate/seed-database) for examples. diff --git a/content/300-guides/025-migrate/700-patching-production.mdx b/content/300-guides/025-migrate/700-patching-production.mdx deleted file mode 100644 index 9701971880..0000000000 --- a/content/300-guides/025-migrate/700-patching-production.mdx +++ /dev/null @@ -1,70 +0,0 @@ ---- -title: Patching / hotfixing a database in production -navTitle: Patching / hotfixing -metaDescription: How to reconcile the migration history after applying a hotfix or patch to a production environment. ---- - - - -Patching or hotfixing a database involves making an often time critical change directly in production. For example, you might add an index directly to a production database to resolve an issue with a slow-running query. - -Patching the production database directly results in **schema drift**: your database schema has 'drifted away' from the source of truth, and is out of sync with your migration history. You can use the `prisma migrate resolve` command to reconcile your migration history _without_ having to remove and re-apply the hotfix with `prisma migrate deploy`. - - - -This guide **does not apply for MongoDB**.
-Instead of `migrate dev`, [`db push`](/concepts/components/prisma-migrate/db-push) is used for [MongoDB](/concepts/database-connectors/mongodb). - -
- -
- -## Reconciling your migration history with a patch or hotfix - -The following scenario assumes that you made a manual change in production and want to propagate that change to your migration history and other databases. - -To reconcile your migration history and database schema in production: - - - -1. Replicate the change you made in production in the schema - for example, add an `@@index` to a particular model. -1. Generate a new migration and take note of the full migration name, including a timestamp, which is written to the CLI:(`20210316150542_retroactively_add_index`): - - - - - ```terminal - npx prisma migrate dev --name retroactively-add-index - ``` - - - - - ```bash no-copy - migrations/ - └─ 20210316150542_retroactively_add_index/ - └─ migration.sql - - Your database is now in sync with your schema. - - ✔ Generated Prisma Client (2.19.0-dev.29) to .\node_modules\@prisma\client in 190ms - ``` - - - - -1. Push the migration to production **without running `migrate deploy`**. Instead, mark the migration created in the previous step as 'already applied' so that Prisma Migrate does not attempt to apply your hotfix a second time: - - ```terminal - prisma migrate resolve --applied "20201127134938-retroactively-add-index" - ``` - - This command adds the migration to the migration history table without running the actual SQL. - -1. Repeat the previous step for other databases that were patched - for example, if you applied the patch to a staging database. - -1. Propagate the migration to other databases that were not patched - for example, by committing the migration to source control and allowing your CI/CD pipeline to apply it to all databases. - - - -> **Note**: The migration will not be applied to databases where it has been marked as already applied by the `prisma migrate resolve` command. diff --git a/content/300-guides/025-migrate/index.mdx b/content/300-guides/025-migrate/index.mdx deleted file mode 100644 index 5f4627bb85..0000000000 --- a/content/300-guides/025-migrate/index.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Database migrations -navTitle: Migrations -metaTitle: Migrations (Guides) -metaDescription: Migrations, seeding and prototyping. -staticLink: true ---- - - - - - -## In this section - - From 7917f09ca704373cb284f44e2870002e89a960f5 Mon Sep 17 00:00:00 2001 From: Nikolas Burk Date: Fri, 24 Nov 2023 17:13:41 +0100 Subject: [PATCH 006/100] arranged the ORM -> PRISMA SCHEMA section --- .../10-overview}/02-data-sources.mdx | 0 .../10-overview}/03-generators.mdx | 0 .../300-prisma-schema/10-overview/index.mdx | 10 + .../20-data-model/10-models.mdx} | 4 +- .../100-one-to-one-relations.mdx | 0 .../200-one-to-many-relations.mdx | 0 .../300-many-to-many-relations.mdx | 0 .../20-relations}/400-self-relations.mdx | 0 ...-special-rules-for-referential-actions.mdx | 0 .../410-referential-actions/index.mdx | 0 .../20-relations}/420-relation-mode.mdx | 0 .../500-troubleshooting-relations.mdx | 0 .../20-data-model/20-relations}/index.mdx | 0 .../20-relations}/one-to-many.png | Bin .../20-relations}/quick-fix-index.png | Bin .../20-relations}/quick-fix-index.snagx | Bin .../20-relations}/relations-intro.png | Bin .../20-relations}/sample-schema.png | Bin .../20-data-model/30-indexes.mdx} | 0 .../20-data-model/40-views.mdx} | 0 .../20-data-model/50-database-mapping.mdx} | 3 +- .../70-unsupported-database-features.mdx} | 2 +- .../300-prisma-schema/20-data-model/index.mdx | 10 + .../50-introspection.mdx} | 0 .../80-postgresql-extensions.mdx} | 1 - content/200-orm/300-prisma-schema/index.mdx | 11 + .../prisma-schema/relations-intro.png | Bin .../prisma-schema/sample-database.png | Bin .../05-prisma-cli.mdx | 0 .../06-prisma-studio.mdx | 0 .../08-prisma-engines/200-query-engine.mdx | 0 .../08-prisma-engines/index.mdx | 0 .../query-engine-node-js-at-runtime.png | Bin .../typical-flow-query-engine-at-runtime.png | Bin .../050-client-preview-features.mdx | 0 .../080-cli-preview-features.mdx | 0 .../250-preview-features/index.mdx | 0 .../drivers/qe-query-engine-adapter.png | Bin .../drivers/qe-query-execution-flow.png | Bin .../images/prisma-studio/01-models-view.png | Bin .../prisma-studio/02-open-close-models.png | Bin .../03-model-view-keyboard-shortcuts.png | Bin .../04-save-multiple-changes.png | Bin .../prisma-studio/05-add-remove-filters.png | Bin .../prisma-studio/06-show-hide-fields.png | Bin .../prisma-studio/07-show-hide-records.png | Bin .../images/prisma-studio/08-model-sort.png | Bin .../images/prisma-studio/array.svg | 0 .../images/prisma-studio/boolean.svg | 0 .../images/prisma-studio/database.svg | 0 .../images/prisma-studio/datetime.svg | 0 .../images/prisma-studio/enum.svg | 0 .../images/prisma-studio/number.svg | 0 .../images/prisma-studio/object.svg | 0 .../images/prisma-studio/string.svg | 0 .../{500-components => 400-tools}/index.mdx | 6 +- .../500-components/01-prisma-schema/index.mdx | 324 ------------------ .../{300-more => 800-more}/300-telemetry.mdx | 0 .../400-comparisons/01-prisma-and-typeorm.mdx | 0 .../02-prisma-and-sequelize.mdx | 0 .../03-prisma-and-mongoose.mdx | 0 .../400-comparisons/04-prisma-and-drizzle.mdx | 0 .../400-comparisons/index.mdx | 0 .../200-orm/{300-more => 800-more}/index.mdx | 0 64 files changed, 39 insertions(+), 332 deletions(-) rename content/200-orm/{500-components/01-prisma-schema => 300-prisma-schema/10-overview}/02-data-sources.mdx (100%) rename content/200-orm/{500-components/01-prisma-schema => 300-prisma-schema/10-overview}/03-generators.mdx (100%) create mode 100644 content/200-orm/300-prisma-schema/10-overview/index.mdx rename content/200-orm/{500-components/01-prisma-schema/04-data-model.mdx => 300-prisma-schema/20-data-model/10-models.mdx} (99%) rename content/200-orm/{500-components/01-prisma-schema/06-relations => 300-prisma-schema/20-data-model/20-relations}/100-one-to-one-relations.mdx (100%) rename content/200-orm/{500-components/01-prisma-schema/06-relations => 300-prisma-schema/20-data-model/20-relations}/200-one-to-many-relations.mdx (100%) rename content/200-orm/{500-components/01-prisma-schema/06-relations => 300-prisma-schema/20-data-model/20-relations}/300-many-to-many-relations.mdx (100%) rename content/200-orm/{500-components/01-prisma-schema/06-relations => 300-prisma-schema/20-data-model/20-relations}/400-self-relations.mdx (100%) rename content/200-orm/{500-components/01-prisma-schema/06-relations => 300-prisma-schema/20-data-model/20-relations}/410-referential-actions/100-special-rules-for-referential-actions.mdx (100%) rename content/200-orm/{500-components/01-prisma-schema/06-relations => 300-prisma-schema/20-data-model/20-relations}/410-referential-actions/index.mdx (100%) rename content/200-orm/{500-components/01-prisma-schema/06-relations => 300-prisma-schema/20-data-model/20-relations}/420-relation-mode.mdx (100%) rename content/200-orm/{500-components/01-prisma-schema/06-relations => 300-prisma-schema/20-data-model/20-relations}/500-troubleshooting-relations.mdx (100%) rename content/200-orm/{500-components/01-prisma-schema/06-relations => 300-prisma-schema/20-data-model/20-relations}/index.mdx (100%) rename content/200-orm/{500-components/01-prisma-schema/06-relations => 300-prisma-schema/20-data-model/20-relations}/one-to-many.png (100%) rename content/200-orm/{500-components/01-prisma-schema/06-relations => 300-prisma-schema/20-data-model/20-relations}/quick-fix-index.png (100%) rename content/200-orm/{500-components/01-prisma-schema/06-relations => 300-prisma-schema/20-data-model/20-relations}/quick-fix-index.snagx (100%) rename content/200-orm/{500-components/01-prisma-schema/06-relations => 300-prisma-schema/20-data-model/20-relations}/relations-intro.png (100%) rename content/200-orm/{500-components/01-prisma-schema/06-relations => 300-prisma-schema/20-data-model/20-relations}/sample-schema.png (100%) rename content/200-orm/{500-components/01-prisma-schema/09-indexes.mdx => 300-prisma-schema/20-data-model/30-indexes.mdx} (100%) rename content/200-orm/{500-components/01-prisma-schema/08-views.mdx => 300-prisma-schema/20-data-model/40-views.mdx} (100%) rename content/200-orm/{500-components/01-prisma-schema/05-names-in-underlying-database.mdx => 300-prisma-schema/20-data-model/50-database-mapping.mdx} (99%) rename content/200-orm/{500-components/01-prisma-schema/06-features-without-psl-equivalent.mdx => 300-prisma-schema/20-data-model/70-unsupported-database-features.mdx} (98%) create mode 100644 content/200-orm/300-prisma-schema/20-data-model/index.mdx rename content/200-orm/{500-components/04-introspection.mdx => 300-prisma-schema/50-introspection.mdx} (100%) rename content/200-orm/{500-components/01-prisma-schema/10-postgresql-extensions.mdx => 300-prisma-schema/80-postgresql-extensions.mdx} (99%) create mode 100644 content/200-orm/300-prisma-schema/index.mdx rename content/200-orm/{500-components/01-prisma-schema => 300-prisma-schema}/prisma-schema/relations-intro.png (100%) rename content/200-orm/{500-components/01-prisma-schema => 300-prisma-schema}/prisma-schema/sample-database.png (100%) rename content/200-orm/{500-components => 400-tools}/05-prisma-cli.mdx (100%) rename content/200-orm/{500-components => 400-tools}/06-prisma-studio.mdx (100%) rename content/200-orm/{500-components => 400-tools}/08-prisma-engines/200-query-engine.mdx (100%) rename content/200-orm/{500-components => 400-tools}/08-prisma-engines/index.mdx (100%) rename content/200-orm/{500-components => 400-tools}/08-prisma-engines/query-engine-node-js-at-runtime.png (100%) rename content/200-orm/{500-components => 400-tools}/08-prisma-engines/typical-flow-query-engine-at-runtime.png (100%) rename content/200-orm/{500-components => 400-tools}/250-preview-features/050-client-preview-features.mdx (100%) rename content/200-orm/{500-components => 400-tools}/250-preview-features/080-cli-preview-features.mdx (100%) rename content/200-orm/{500-components => 400-tools}/250-preview-features/index.mdx (100%) rename content/200-orm/{500-components => 400-tools}/images/drivers/qe-query-engine-adapter.png (100%) rename content/200-orm/{500-components => 400-tools}/images/drivers/qe-query-execution-flow.png (100%) rename content/200-orm/{500-components => 400-tools}/images/prisma-studio/01-models-view.png (100%) rename content/200-orm/{500-components => 400-tools}/images/prisma-studio/02-open-close-models.png (100%) rename content/200-orm/{500-components => 400-tools}/images/prisma-studio/03-model-view-keyboard-shortcuts.png (100%) rename content/200-orm/{500-components => 400-tools}/images/prisma-studio/04-save-multiple-changes.png (100%) rename content/200-orm/{500-components => 400-tools}/images/prisma-studio/05-add-remove-filters.png (100%) rename content/200-orm/{500-components => 400-tools}/images/prisma-studio/06-show-hide-fields.png (100%) rename content/200-orm/{500-components => 400-tools}/images/prisma-studio/07-show-hide-records.png (100%) rename content/200-orm/{500-components => 400-tools}/images/prisma-studio/08-model-sort.png (100%) rename content/200-orm/{500-components => 400-tools}/images/prisma-studio/array.svg (100%) rename content/200-orm/{500-components => 400-tools}/images/prisma-studio/boolean.svg (100%) rename content/200-orm/{500-components => 400-tools}/images/prisma-studio/database.svg (100%) rename content/200-orm/{500-components => 400-tools}/images/prisma-studio/datetime.svg (100%) rename content/200-orm/{500-components => 400-tools}/images/prisma-studio/enum.svg (100%) rename content/200-orm/{500-components => 400-tools}/images/prisma-studio/number.svg (100%) rename content/200-orm/{500-components => 400-tools}/images/prisma-studio/object.svg (100%) rename content/200-orm/{500-components => 400-tools}/images/prisma-studio/string.svg (100%) rename content/200-orm/{500-components => 400-tools}/index.mdx (52%) delete mode 100644 content/200-orm/500-components/01-prisma-schema/index.mdx rename content/200-orm/{300-more => 800-more}/300-telemetry.mdx (100%) rename content/200-orm/{300-more => 800-more}/400-comparisons/01-prisma-and-typeorm.mdx (100%) rename content/200-orm/{300-more => 800-more}/400-comparisons/02-prisma-and-sequelize.mdx (100%) rename content/200-orm/{300-more => 800-more}/400-comparisons/03-prisma-and-mongoose.mdx (100%) rename content/200-orm/{300-more => 800-more}/400-comparisons/04-prisma-and-drizzle.mdx (100%) rename content/200-orm/{300-more => 800-more}/400-comparisons/index.mdx (100%) rename content/200-orm/{300-more => 800-more}/index.mdx (100%) diff --git a/content/200-orm/500-components/01-prisma-schema/02-data-sources.mdx b/content/200-orm/300-prisma-schema/10-overview/02-data-sources.mdx similarity index 100% rename from content/200-orm/500-components/01-prisma-schema/02-data-sources.mdx rename to content/200-orm/300-prisma-schema/10-overview/02-data-sources.mdx diff --git a/content/200-orm/500-components/01-prisma-schema/03-generators.mdx b/content/200-orm/300-prisma-schema/10-overview/03-generators.mdx similarity index 100% rename from content/200-orm/500-components/01-prisma-schema/03-generators.mdx rename to content/200-orm/300-prisma-schema/10-overview/03-generators.mdx diff --git a/content/200-orm/300-prisma-schema/10-overview/index.mdx b/content/200-orm/300-prisma-schema/10-overview/index.mdx new file mode 100644 index 0000000000..030fb767bc --- /dev/null +++ b/content/200-orm/300-prisma-schema/10-overview/index.mdx @@ -0,0 +1,10 @@ +--- +title: 'Overview' +metaTitle: 'Overview' +metaDescription: 'Overview' +toc: false +--- + +## In this section + + diff --git a/content/200-orm/500-components/01-prisma-schema/04-data-model.mdx b/content/200-orm/300-prisma-schema/20-data-model/10-models.mdx similarity index 99% rename from content/200-orm/500-components/01-prisma-schema/04-data-model.mdx rename to content/200-orm/300-prisma-schema/20-data-model/10-models.mdx index f594649e93..cd5a643d5d 100644 --- a/content/200-orm/500-components/01-prisma-schema/04-data-model.mdx +++ b/content/200-orm/300-prisma-schema/20-data-model/10-models.mdx @@ -1,6 +1,6 @@ --- -title: 'Data model' -metaTitle: 'Data model (Reference)' +title: 'Models' +metaTitle: 'Models' metaDescription: 'Learn about the concepts for building your data model with Prisma: Models, scalar types, enums, attributes, functions, IDs, default values and more.' tocDepth: 3 --- diff --git a/content/200-orm/500-components/01-prisma-schema/06-relations/100-one-to-one-relations.mdx b/content/200-orm/300-prisma-schema/20-data-model/20-relations/100-one-to-one-relations.mdx similarity index 100% rename from content/200-orm/500-components/01-prisma-schema/06-relations/100-one-to-one-relations.mdx rename to content/200-orm/300-prisma-schema/20-data-model/20-relations/100-one-to-one-relations.mdx diff --git a/content/200-orm/500-components/01-prisma-schema/06-relations/200-one-to-many-relations.mdx b/content/200-orm/300-prisma-schema/20-data-model/20-relations/200-one-to-many-relations.mdx similarity index 100% rename from content/200-orm/500-components/01-prisma-schema/06-relations/200-one-to-many-relations.mdx rename to content/200-orm/300-prisma-schema/20-data-model/20-relations/200-one-to-many-relations.mdx diff --git a/content/200-orm/500-components/01-prisma-schema/06-relations/300-many-to-many-relations.mdx b/content/200-orm/300-prisma-schema/20-data-model/20-relations/300-many-to-many-relations.mdx similarity index 100% rename from content/200-orm/500-components/01-prisma-schema/06-relations/300-many-to-many-relations.mdx rename to content/200-orm/300-prisma-schema/20-data-model/20-relations/300-many-to-many-relations.mdx diff --git a/content/200-orm/500-components/01-prisma-schema/06-relations/400-self-relations.mdx b/content/200-orm/300-prisma-schema/20-data-model/20-relations/400-self-relations.mdx similarity index 100% rename from content/200-orm/500-components/01-prisma-schema/06-relations/400-self-relations.mdx rename to content/200-orm/300-prisma-schema/20-data-model/20-relations/400-self-relations.mdx diff --git a/content/200-orm/500-components/01-prisma-schema/06-relations/410-referential-actions/100-special-rules-for-referential-actions.mdx b/content/200-orm/300-prisma-schema/20-data-model/20-relations/410-referential-actions/100-special-rules-for-referential-actions.mdx similarity index 100% rename from content/200-orm/500-components/01-prisma-schema/06-relations/410-referential-actions/100-special-rules-for-referential-actions.mdx rename to content/200-orm/300-prisma-schema/20-data-model/20-relations/410-referential-actions/100-special-rules-for-referential-actions.mdx diff --git a/content/200-orm/500-components/01-prisma-schema/06-relations/410-referential-actions/index.mdx b/content/200-orm/300-prisma-schema/20-data-model/20-relations/410-referential-actions/index.mdx similarity index 100% rename from content/200-orm/500-components/01-prisma-schema/06-relations/410-referential-actions/index.mdx rename to content/200-orm/300-prisma-schema/20-data-model/20-relations/410-referential-actions/index.mdx diff --git a/content/200-orm/500-components/01-prisma-schema/06-relations/420-relation-mode.mdx b/content/200-orm/300-prisma-schema/20-data-model/20-relations/420-relation-mode.mdx similarity index 100% rename from content/200-orm/500-components/01-prisma-schema/06-relations/420-relation-mode.mdx rename to content/200-orm/300-prisma-schema/20-data-model/20-relations/420-relation-mode.mdx diff --git a/content/200-orm/500-components/01-prisma-schema/06-relations/500-troubleshooting-relations.mdx b/content/200-orm/300-prisma-schema/20-data-model/20-relations/500-troubleshooting-relations.mdx similarity index 100% rename from content/200-orm/500-components/01-prisma-schema/06-relations/500-troubleshooting-relations.mdx rename to content/200-orm/300-prisma-schema/20-data-model/20-relations/500-troubleshooting-relations.mdx diff --git a/content/200-orm/500-components/01-prisma-schema/06-relations/index.mdx b/content/200-orm/300-prisma-schema/20-data-model/20-relations/index.mdx similarity index 100% rename from content/200-orm/500-components/01-prisma-schema/06-relations/index.mdx rename to content/200-orm/300-prisma-schema/20-data-model/20-relations/index.mdx diff --git a/content/200-orm/500-components/01-prisma-schema/06-relations/one-to-many.png b/content/200-orm/300-prisma-schema/20-data-model/20-relations/one-to-many.png similarity index 100% rename from content/200-orm/500-components/01-prisma-schema/06-relations/one-to-many.png rename to content/200-orm/300-prisma-schema/20-data-model/20-relations/one-to-many.png diff --git a/content/200-orm/500-components/01-prisma-schema/06-relations/quick-fix-index.png b/content/200-orm/300-prisma-schema/20-data-model/20-relations/quick-fix-index.png similarity index 100% rename from content/200-orm/500-components/01-prisma-schema/06-relations/quick-fix-index.png rename to content/200-orm/300-prisma-schema/20-data-model/20-relations/quick-fix-index.png diff --git a/content/200-orm/500-components/01-prisma-schema/06-relations/quick-fix-index.snagx b/content/200-orm/300-prisma-schema/20-data-model/20-relations/quick-fix-index.snagx similarity index 100% rename from content/200-orm/500-components/01-prisma-schema/06-relations/quick-fix-index.snagx rename to content/200-orm/300-prisma-schema/20-data-model/20-relations/quick-fix-index.snagx diff --git a/content/200-orm/500-components/01-prisma-schema/06-relations/relations-intro.png b/content/200-orm/300-prisma-schema/20-data-model/20-relations/relations-intro.png similarity index 100% rename from content/200-orm/500-components/01-prisma-schema/06-relations/relations-intro.png rename to content/200-orm/300-prisma-schema/20-data-model/20-relations/relations-intro.png diff --git a/content/200-orm/500-components/01-prisma-schema/06-relations/sample-schema.png b/content/200-orm/300-prisma-schema/20-data-model/20-relations/sample-schema.png similarity index 100% rename from content/200-orm/500-components/01-prisma-schema/06-relations/sample-schema.png rename to content/200-orm/300-prisma-schema/20-data-model/20-relations/sample-schema.png diff --git a/content/200-orm/500-components/01-prisma-schema/09-indexes.mdx b/content/200-orm/300-prisma-schema/20-data-model/30-indexes.mdx similarity index 100% rename from content/200-orm/500-components/01-prisma-schema/09-indexes.mdx rename to content/200-orm/300-prisma-schema/20-data-model/30-indexes.mdx diff --git a/content/200-orm/500-components/01-prisma-schema/08-views.mdx b/content/200-orm/300-prisma-schema/20-data-model/40-views.mdx similarity index 100% rename from content/200-orm/500-components/01-prisma-schema/08-views.mdx rename to content/200-orm/300-prisma-schema/20-data-model/40-views.mdx diff --git a/content/200-orm/500-components/01-prisma-schema/05-names-in-underlying-database.mdx b/content/200-orm/300-prisma-schema/20-data-model/50-database-mapping.mdx similarity index 99% rename from content/200-orm/500-components/01-prisma-schema/05-names-in-underlying-database.mdx rename to content/200-orm/300-prisma-schema/20-data-model/50-database-mapping.mdx index 10c7f4b9de..e9f4d00a7b 100644 --- a/content/200-orm/500-components/01-prisma-schema/05-names-in-underlying-database.mdx +++ b/content/200-orm/300-prisma-schema/20-data-model/50-database-mapping.mdx @@ -1,5 +1,6 @@ --- -title: 'Names in the underlying database' +title: 'Database mapping' +metaTitle: 'Database mapping' metaDescription: '' tocDepth: 3 --- diff --git a/content/200-orm/500-components/01-prisma-schema/06-features-without-psl-equivalent.mdx b/content/200-orm/300-prisma-schema/20-data-model/70-unsupported-database-features.mdx similarity index 98% rename from content/200-orm/500-components/01-prisma-schema/06-features-without-psl-equivalent.mdx rename to content/200-orm/300-prisma-schema/20-data-model/70-unsupported-database-features.mdx index 0621f041c1..a65f19bded 100644 --- a/content/200-orm/500-components/01-prisma-schema/06-features-without-psl-equivalent.mdx +++ b/content/200-orm/300-prisma-schema/20-data-model/70-unsupported-database-features.mdx @@ -1,5 +1,5 @@ --- -title: Supporting features without a PSL equivalent +title: 'Unsupported database features' metaDescription: How to support database features that do not have an equivalent syntax in Prisma Schema Language. tocDepth: 2 --- diff --git a/content/200-orm/300-prisma-schema/20-data-model/index.mdx b/content/200-orm/300-prisma-schema/20-data-model/index.mdx new file mode 100644 index 0000000000..67b16f37c7 --- /dev/null +++ b/content/200-orm/300-prisma-schema/20-data-model/index.mdx @@ -0,0 +1,10 @@ +--- +title: 'Data model' +metaTitle: 'Data model' +metaDescription: 'Data model' +toc: false +--- + +## In this section + + diff --git a/content/200-orm/500-components/04-introspection.mdx b/content/200-orm/300-prisma-schema/50-introspection.mdx similarity index 100% rename from content/200-orm/500-components/04-introspection.mdx rename to content/200-orm/300-prisma-schema/50-introspection.mdx diff --git a/content/200-orm/500-components/01-prisma-schema/10-postgresql-extensions.mdx b/content/200-orm/300-prisma-schema/80-postgresql-extensions.mdx similarity index 99% rename from content/200-orm/500-components/01-prisma-schema/10-postgresql-extensions.mdx rename to content/200-orm/300-prisma-schema/80-postgresql-extensions.mdx index 4bd3eba139..3dd529de8a 100644 --- a/content/200-orm/500-components/01-prisma-schema/10-postgresql-extensions.mdx +++ b/content/200-orm/300-prisma-schema/80-postgresql-extensions.mdx @@ -2,7 +2,6 @@ title: 'PostgreSQL extensions' metaTitle: 'How to represent PostgreSQL extensions in your Prisma schema' metaDescription: 'How to represent PostgreSQL extensions in your Prisma scheme, introspect extensions in your database, and apply changes to extensions with Prisma Migrate' -hidePage: false preview: true tocDepth: 3 --- diff --git a/content/200-orm/300-prisma-schema/index.mdx b/content/200-orm/300-prisma-schema/index.mdx new file mode 100644 index 0000000000..c0e58dd62e --- /dev/null +++ b/content/200-orm/300-prisma-schema/index.mdx @@ -0,0 +1,11 @@ +--- +title: 'Prisma schema' +metaTitle: 'Prisma schema' +metaDescription: 'Prisma schema' +staticLink: true +toc: false +--- + +## In this section + + diff --git a/content/200-orm/500-components/01-prisma-schema/prisma-schema/relations-intro.png b/content/200-orm/300-prisma-schema/prisma-schema/relations-intro.png similarity index 100% rename from content/200-orm/500-components/01-prisma-schema/prisma-schema/relations-intro.png rename to content/200-orm/300-prisma-schema/prisma-schema/relations-intro.png diff --git a/content/200-orm/500-components/01-prisma-schema/prisma-schema/sample-database.png b/content/200-orm/300-prisma-schema/prisma-schema/sample-database.png similarity index 100% rename from content/200-orm/500-components/01-prisma-schema/prisma-schema/sample-database.png rename to content/200-orm/300-prisma-schema/prisma-schema/sample-database.png diff --git a/content/200-orm/500-components/05-prisma-cli.mdx b/content/200-orm/400-tools/05-prisma-cli.mdx similarity index 100% rename from content/200-orm/500-components/05-prisma-cli.mdx rename to content/200-orm/400-tools/05-prisma-cli.mdx diff --git a/content/200-orm/500-components/06-prisma-studio.mdx b/content/200-orm/400-tools/06-prisma-studio.mdx similarity index 100% rename from content/200-orm/500-components/06-prisma-studio.mdx rename to content/200-orm/400-tools/06-prisma-studio.mdx diff --git a/content/200-orm/500-components/08-prisma-engines/200-query-engine.mdx b/content/200-orm/400-tools/08-prisma-engines/200-query-engine.mdx similarity index 100% rename from content/200-orm/500-components/08-prisma-engines/200-query-engine.mdx rename to content/200-orm/400-tools/08-prisma-engines/200-query-engine.mdx diff --git a/content/200-orm/500-components/08-prisma-engines/index.mdx b/content/200-orm/400-tools/08-prisma-engines/index.mdx similarity index 100% rename from content/200-orm/500-components/08-prisma-engines/index.mdx rename to content/200-orm/400-tools/08-prisma-engines/index.mdx diff --git a/content/200-orm/500-components/08-prisma-engines/query-engine-node-js-at-runtime.png b/content/200-orm/400-tools/08-prisma-engines/query-engine-node-js-at-runtime.png similarity index 100% rename from content/200-orm/500-components/08-prisma-engines/query-engine-node-js-at-runtime.png rename to content/200-orm/400-tools/08-prisma-engines/query-engine-node-js-at-runtime.png diff --git a/content/200-orm/500-components/08-prisma-engines/typical-flow-query-engine-at-runtime.png b/content/200-orm/400-tools/08-prisma-engines/typical-flow-query-engine-at-runtime.png similarity index 100% rename from content/200-orm/500-components/08-prisma-engines/typical-flow-query-engine-at-runtime.png rename to content/200-orm/400-tools/08-prisma-engines/typical-flow-query-engine-at-runtime.png diff --git a/content/200-orm/500-components/250-preview-features/050-client-preview-features.mdx b/content/200-orm/400-tools/250-preview-features/050-client-preview-features.mdx similarity index 100% rename from content/200-orm/500-components/250-preview-features/050-client-preview-features.mdx rename to content/200-orm/400-tools/250-preview-features/050-client-preview-features.mdx diff --git a/content/200-orm/500-components/250-preview-features/080-cli-preview-features.mdx b/content/200-orm/400-tools/250-preview-features/080-cli-preview-features.mdx similarity index 100% rename from content/200-orm/500-components/250-preview-features/080-cli-preview-features.mdx rename to content/200-orm/400-tools/250-preview-features/080-cli-preview-features.mdx diff --git a/content/200-orm/500-components/250-preview-features/index.mdx b/content/200-orm/400-tools/250-preview-features/index.mdx similarity index 100% rename from content/200-orm/500-components/250-preview-features/index.mdx rename to content/200-orm/400-tools/250-preview-features/index.mdx diff --git a/content/200-orm/500-components/images/drivers/qe-query-engine-adapter.png b/content/200-orm/400-tools/images/drivers/qe-query-engine-adapter.png similarity index 100% rename from content/200-orm/500-components/images/drivers/qe-query-engine-adapter.png rename to content/200-orm/400-tools/images/drivers/qe-query-engine-adapter.png diff --git a/content/200-orm/500-components/images/drivers/qe-query-execution-flow.png b/content/200-orm/400-tools/images/drivers/qe-query-execution-flow.png similarity index 100% rename from content/200-orm/500-components/images/drivers/qe-query-execution-flow.png rename to content/200-orm/400-tools/images/drivers/qe-query-execution-flow.png diff --git a/content/200-orm/500-components/images/prisma-studio/01-models-view.png b/content/200-orm/400-tools/images/prisma-studio/01-models-view.png similarity index 100% rename from content/200-orm/500-components/images/prisma-studio/01-models-view.png rename to content/200-orm/400-tools/images/prisma-studio/01-models-view.png diff --git a/content/200-orm/500-components/images/prisma-studio/02-open-close-models.png b/content/200-orm/400-tools/images/prisma-studio/02-open-close-models.png similarity index 100% rename from content/200-orm/500-components/images/prisma-studio/02-open-close-models.png rename to content/200-orm/400-tools/images/prisma-studio/02-open-close-models.png diff --git a/content/200-orm/500-components/images/prisma-studio/03-model-view-keyboard-shortcuts.png b/content/200-orm/400-tools/images/prisma-studio/03-model-view-keyboard-shortcuts.png similarity index 100% rename from content/200-orm/500-components/images/prisma-studio/03-model-view-keyboard-shortcuts.png rename to content/200-orm/400-tools/images/prisma-studio/03-model-view-keyboard-shortcuts.png diff --git a/content/200-orm/500-components/images/prisma-studio/04-save-multiple-changes.png b/content/200-orm/400-tools/images/prisma-studio/04-save-multiple-changes.png similarity index 100% rename from content/200-orm/500-components/images/prisma-studio/04-save-multiple-changes.png rename to content/200-orm/400-tools/images/prisma-studio/04-save-multiple-changes.png diff --git a/content/200-orm/500-components/images/prisma-studio/05-add-remove-filters.png b/content/200-orm/400-tools/images/prisma-studio/05-add-remove-filters.png similarity index 100% rename from content/200-orm/500-components/images/prisma-studio/05-add-remove-filters.png rename to content/200-orm/400-tools/images/prisma-studio/05-add-remove-filters.png diff --git a/content/200-orm/500-components/images/prisma-studio/06-show-hide-fields.png b/content/200-orm/400-tools/images/prisma-studio/06-show-hide-fields.png similarity index 100% rename from content/200-orm/500-components/images/prisma-studio/06-show-hide-fields.png rename to content/200-orm/400-tools/images/prisma-studio/06-show-hide-fields.png diff --git a/content/200-orm/500-components/images/prisma-studio/07-show-hide-records.png b/content/200-orm/400-tools/images/prisma-studio/07-show-hide-records.png similarity index 100% rename from content/200-orm/500-components/images/prisma-studio/07-show-hide-records.png rename to content/200-orm/400-tools/images/prisma-studio/07-show-hide-records.png diff --git a/content/200-orm/500-components/images/prisma-studio/08-model-sort.png b/content/200-orm/400-tools/images/prisma-studio/08-model-sort.png similarity index 100% rename from content/200-orm/500-components/images/prisma-studio/08-model-sort.png rename to content/200-orm/400-tools/images/prisma-studio/08-model-sort.png diff --git a/content/200-orm/500-components/images/prisma-studio/array.svg b/content/200-orm/400-tools/images/prisma-studio/array.svg similarity index 100% rename from content/200-orm/500-components/images/prisma-studio/array.svg rename to content/200-orm/400-tools/images/prisma-studio/array.svg diff --git a/content/200-orm/500-components/images/prisma-studio/boolean.svg b/content/200-orm/400-tools/images/prisma-studio/boolean.svg similarity index 100% rename from content/200-orm/500-components/images/prisma-studio/boolean.svg rename to content/200-orm/400-tools/images/prisma-studio/boolean.svg diff --git a/content/200-orm/500-components/images/prisma-studio/database.svg b/content/200-orm/400-tools/images/prisma-studio/database.svg similarity index 100% rename from content/200-orm/500-components/images/prisma-studio/database.svg rename to content/200-orm/400-tools/images/prisma-studio/database.svg diff --git a/content/200-orm/500-components/images/prisma-studio/datetime.svg b/content/200-orm/400-tools/images/prisma-studio/datetime.svg similarity index 100% rename from content/200-orm/500-components/images/prisma-studio/datetime.svg rename to content/200-orm/400-tools/images/prisma-studio/datetime.svg diff --git a/content/200-orm/500-components/images/prisma-studio/enum.svg b/content/200-orm/400-tools/images/prisma-studio/enum.svg similarity index 100% rename from content/200-orm/500-components/images/prisma-studio/enum.svg rename to content/200-orm/400-tools/images/prisma-studio/enum.svg diff --git a/content/200-orm/500-components/images/prisma-studio/number.svg b/content/200-orm/400-tools/images/prisma-studio/number.svg similarity index 100% rename from content/200-orm/500-components/images/prisma-studio/number.svg rename to content/200-orm/400-tools/images/prisma-studio/number.svg diff --git a/content/200-orm/500-components/images/prisma-studio/object.svg b/content/200-orm/400-tools/images/prisma-studio/object.svg similarity index 100% rename from content/200-orm/500-components/images/prisma-studio/object.svg rename to content/200-orm/400-tools/images/prisma-studio/object.svg diff --git a/content/200-orm/500-components/images/prisma-studio/string.svg b/content/200-orm/400-tools/images/prisma-studio/string.svg similarity index 100% rename from content/200-orm/500-components/images/prisma-studio/string.svg rename to content/200-orm/400-tools/images/prisma-studio/string.svg diff --git a/content/200-orm/500-components/index.mdx b/content/200-orm/400-tools/index.mdx similarity index 52% rename from content/200-orm/500-components/index.mdx rename to content/200-orm/400-tools/index.mdx index a3d620d071..9b3880e32c 100644 --- a/content/200-orm/500-components/index.mdx +++ b/content/200-orm/400-tools/index.mdx @@ -1,7 +1,7 @@ --- -title: 'Components' -metaTitle: 'Components' -metaDescription: 'Components' +title: 'Tools' +metaTitle: 'Tools' +metaDescription: 'Tools' staticLink: true toc: false --- diff --git a/content/200-orm/500-components/01-prisma-schema/index.mdx b/content/200-orm/500-components/01-prisma-schema/index.mdx deleted file mode 100644 index 65e49e632e..0000000000 --- a/content/200-orm/500-components/01-prisma-schema/index.mdx +++ /dev/null @@ -1,324 +0,0 @@ ---- -title: 'Prisma schema' -metaTitle: 'Prisma schema (Reference)' -metaDescription: 'The Prisma schema is the main configuration file when using Prisma. It is typically called schema.prisma and contains your database connection and data model.' ---- - - - -The Prisma schema file (short: _schema file_, _Prisma schema_ or _schema_) is the main configuration file for your Prisma setup. It is typically called `schema.prisma` and consists of the following parts: - -- [**Data sources**](data-sources): Specify the details of the data sources Prisma should connect to (e.g. a PostgreSQL database) -- [**Generators**](generators): Specifies what clients should be generated based on the data model (e.g. Prisma Client) -- [**Data model definition**](/concepts/components/prisma-schema/data-model): Specifies your application [models](/concepts/components/prisma-schema/data-model#defining-models) (the shape of the data per data source) and their [relations](relations) - -See the [Prisma schema API reference](/reference/api-reference/prisma-schema-reference) for detailed information about each section of the schema. - -Whenever a `prisma` command is invoked, the CLI typically reads some information from the schema file, e.g.: - -- `prisma generate`: Reads _all_ above mentioned information from the Prisma schema to generate the correct data source client code (e.g. Prisma Client). -- `prisma migrate dev`: Reads the data sources and data model definition to create a new migration. - -You can also [use environment variables](#accessing-environment-variables-from-the-schema) inside the schema file to provide configuration options when a CLI command is invoked. - - - -## Example - -The following is an example of a Prisma schema file that specifies: - -- A data source (PostgreSQL or MongoDB) -- A generator (Prisma Client) -- A data model definition with two models (with one relation) and one `enum` -- Several [native data type attributes](/concepts/components/prisma-schema/data-model#native-types-mapping) (`@db.VarChar(255)`, `@db.ObjectId`) - -, ]}> - - -```prisma -datasource db { - provider = "postgresql" - url = env("DATABASE_URL") -} - -generator client { - provider = "prisma-client-js" -} - -model User { - id Int @id @default(autoincrement()) - createdAt DateTime @default(now()) - email String @unique - name String? - role Role @default(USER) - posts Post[] -} - -model Post { - id Int @id @default(autoincrement()) - createdAt DateTime @default(now()) - updatedAt DateTime @updatedAt - published Boolean @default(false) - title String @db.VarChar(255) - author User? @relation(fields: [authorId], references: [id]) - authorId Int? -} - -enum Role { - USER - ADMIN -} -``` - - - - -```prisma -datasource db { - provider = "mongodb" - url = env("DATABASE_URL") -} - -generator client { - provider = "prisma-client-js" -} - -model User { - id String @id @default(auto()) @map("_id") @db.ObjectId - createdAt DateTime @default(now()) - email String @unique - name String? - role Role @default(USER) - posts Post[] -} - -model Post { - id String @id @default(auto()) @map("_id") @db.ObjectId - createdAt DateTime @default(now()) - updatedAt DateTime @updatedAt - published Boolean @default(false) - title String - author User? @relation(fields: [authorId], references: [id]) - authorId String @db.ObjectId -} - -enum Role { - USER - ADMIN -} -``` - - - - -## Naming - -The default name for the schema file is `schema.prisma`. When your schema file is named like this, the Prisma CLI will detect it automatically in the directory where you invoke the CLI command (or any of its subdirectories). - -If the file is named differently, you can provide the `--schema` argument to the Prisma CLI with the path to the schema file, e.g.: - -``` -prisma generate --schema ./database/myschema.prisma -``` - -## Syntax - -The schema file is written in Prisma Schema Language (PSL). - -### VS Code - -Syntax highlighting for PSL is available via a [VS Code extension](https://marketplace.visualstudio.com/items?itemName=Prisma.prisma) (which also lets you auto-format the contents of your Prisma schema and indicates syntax errors with red squiggly lines). Learn more about [setting up Prisma in your editor](/guides/development-environment/editor-setup). - -### GitHub - -PSL code snippets on GitHub can be rendered with syntax highlighting as well by using the `.prisma` file extension or annotating fenced code blocks in Markdown with `prisma`: - -```` -```prisma -model User { - id Int @id @default(autoincrement()) - createdAt DateTime @default(now()) - email String @unique - name String? -} -``` -```` - -## Prisma schema file location - -The Prisma CLI looks for the Prisma schema file in the following locations, in the following order: - -1. The location specified by the [`--schema` flag](/reference/api-reference/command-reference), which is available when you `introspect`, `generate`, `migrate`, and `studio`: - - ```terminal - prisma generate --schema=./alternative/schema.prisma - ``` - -2. The location specified in the `package.json` file (version 2.7.0 and later): - - ```json - "prisma": { - "schema": "db/schema.prisma" - } - ``` - -3. Default locations: - - - `./prisma/schema.prisma` - - `./schema.prisma` - -The Prisma CLI outputs the path of the schema file that will be used. The following example shows the terminal output for `prisma db pull`: - -```no-lines -Environment variables loaded from .env -|Prisma Schema loaded from prisma/schema.prisma - -Introspecting based on datasource defined in prisma/schema.prisma … - -✔ Introspected 4 models and wrote them into prisma/schema.prisma in 239ms - -Run prisma generate to generate Prisma Client. -``` - -## Accessing environment variables from the schema - -You can use environment variables to provide configuration options when a CLI command is invoked, or a Prisma Client query is run. - -Hardcoding URLs directly in your schema is possible but is discouraged because it poses a security risk. Using environment variables in the schema allows you to **keep secrets out of the schema file** which in turn **improves the portability of the schema** by allowing you to use it in different environments. - -Environment variables can be accessed using the `env()` function: - -```prisma -datasource db { - provider = "postgresql" - url = env("DATABASE_URL") -} -``` - -You can use the `env()` function in the following places: - -- A datasource url -- Generator binary targets - -See [Environment variables](/guides/development-environment/environment-variables) for more information about how to use an `.env` file during development. - -## Comments - -There are two types of comments that are supported in the schema file: - -- `// comment`: This comment is for the reader's clarity and is not present in the abstract syntax tree (AST) of the schema file. -- `/// comment`: These comments will show up in the abstract syntax tree (AST) of the schema file as descriptions to AST nodes. Tools can then use these comments to provide additional information. All comments are attached to the next available node - [free-floating comments](https://github.com/prisma/prisma/issues/3544) are not supported and are not included in the AST. - -Here are some different examples: - -```prisma -/// This comment will get attached to the `User` node in the AST -model User { - /// This comment will get attached to the `id` node in the AST - id Int @default(autoincrement()) - // This comment is just for you - weight Float /// This comment gets attached to the `weight` node -} - -// This comment is just for you. It will not -// show up in the AST. - -/// This comment will get attached to the -/// Customer node. -model Customer {} -``` - -## Auto formatting - -Prisma supports formatting `.prisma` files automatically. There are two ways to format `.prisma` files: - -- Run the [`prisma format`](/reference/api-reference/command-reference#format) command. -- Install the [Prisma VS Code extension](https://marketplace.visualstudio.com/items?itemName=Prisma.prisma) and invoke the [VS Code format action](https://code.visualstudio.com/docs/editor/codebasics#_formatting) - manually or on save. - -There are no configuration options - [formatting rules](#formatting-rules) are fixed (similar to Golang's `gofmt` but unlike Javascript's `prettier`): - -### Formatting rules - -#### Configuration blocks are aligned by their `=` sign. - -``` -block _ { - key = "value" - key2 = 1 - long_key = true -} -``` - -A newline resets block alignment: - -``` -block _ { - key = "value" - key2 = 1 - key10 = true - - long_key = true - long_key_2 = true -} -``` - - - -#### Field definitions are aligned into columns separated by 2 or more spaces - -``` -block _ { - id String @id - first_name LongNumeric @default -} -``` - -#### Multiline field attributes are properly aligned with the rest of the field attributes - -``` -block _ { - id String @id - @default - first_name LongNumeric @default -} -``` - -A newline resets formatting rules: - -``` -block _ { - id String @id - @default - - first_name LongNumeric @default -} - -``` - -#### Block attributes are sorted to the end of the block - -``` -block _ { - key = "value" - - @@attribute -} -``` diff --git a/content/200-orm/300-more/300-telemetry.mdx b/content/200-orm/800-more/300-telemetry.mdx similarity index 100% rename from content/200-orm/300-more/300-telemetry.mdx rename to content/200-orm/800-more/300-telemetry.mdx diff --git a/content/200-orm/300-more/400-comparisons/01-prisma-and-typeorm.mdx b/content/200-orm/800-more/400-comparisons/01-prisma-and-typeorm.mdx similarity index 100% rename from content/200-orm/300-more/400-comparisons/01-prisma-and-typeorm.mdx rename to content/200-orm/800-more/400-comparisons/01-prisma-and-typeorm.mdx diff --git a/content/200-orm/300-more/400-comparisons/02-prisma-and-sequelize.mdx b/content/200-orm/800-more/400-comparisons/02-prisma-and-sequelize.mdx similarity index 100% rename from content/200-orm/300-more/400-comparisons/02-prisma-and-sequelize.mdx rename to content/200-orm/800-more/400-comparisons/02-prisma-and-sequelize.mdx diff --git a/content/200-orm/300-more/400-comparisons/03-prisma-and-mongoose.mdx b/content/200-orm/800-more/400-comparisons/03-prisma-and-mongoose.mdx similarity index 100% rename from content/200-orm/300-more/400-comparisons/03-prisma-and-mongoose.mdx rename to content/200-orm/800-more/400-comparisons/03-prisma-and-mongoose.mdx diff --git a/content/200-orm/300-more/400-comparisons/04-prisma-and-drizzle.mdx b/content/200-orm/800-more/400-comparisons/04-prisma-and-drizzle.mdx similarity index 100% rename from content/200-orm/300-more/400-comparisons/04-prisma-and-drizzle.mdx rename to content/200-orm/800-more/400-comparisons/04-prisma-and-drizzle.mdx diff --git a/content/200-orm/300-more/400-comparisons/index.mdx b/content/200-orm/800-more/400-comparisons/index.mdx similarity index 100% rename from content/200-orm/300-more/400-comparisons/index.mdx rename to content/200-orm/800-more/400-comparisons/index.mdx diff --git a/content/200-orm/300-more/index.mdx b/content/200-orm/800-more/index.mdx similarity index 100% rename from content/200-orm/300-more/index.mdx rename to content/200-orm/800-more/index.mdx From d339459166cfaf2ea106a944787f56b0880ad6ee Mon Sep 17 00:00:00 2001 From: Nikolas Burk Date: Fri, 24 Nov 2023 17:34:54 +0100 Subject: [PATCH 007/100] arranged the ORM -> TOOLS and REFERENCE sections; MORE still needs some work --- .../20-data-model/60-multi-schema.mdx} | 0 content/200-orm/400-tools/05-prisma-cli.mdx | 249 +++++++++++++++++- .../400-tools/08-prisma-engines/index.mdx | 154 ----------- .../050-prisma-client-reference.mdx | 6 +- .../100-prisma-schema-reference.mdx | 17 +- .../200-prisma-cli-reference.mdx} | 183 +------------ .../500-reference}/250-error-reference.mdx | 4 +- .../300-environment-variables-reference.mdx | 5 +- .../500-reference/350-database-features.mdx} | 2 +- .../375-supported-databases.mdx} | 40 +-- .../500-reference/380-connection-urls.mdx} | 0 .../400-system-requirements.mdx} | 0 .../050-client-preview-features.mdx | 5 +- .../080-cli-preview-features.mdx | 3 +- .../500-preview-features}/index.mdx | 0 .../500-reference}/index.mdx | 1 + .../100-under-the-hood/100-engines.mdx} | 143 +++++++++- .../800-more/100-under-the-hood/index.mdx | 15 ++ .../query-engine-node-js-at-runtime.png | Bin .../typical-flow-query-engine-at-runtime.png | Bin content/200-orm/800-more/300-telemetry.mdx | 71 ----- .../001-rejectonnotfound-changes.mdx | 0 .../101-jsonprotocol-changes.mdx | 0 .../600-upgrading-to-prisma-5/index.mdx | 0 .../700-upgrading-to-prisma-4.mdx | 0 .../100-named-constraints.mdx | 0 .../150-referential-actions.mdx | 0 .../800-upgrading-to-prisma-3/index.mdx | 0 .../200-upgrading-versions/900-codemods.mdx | 0 .../200-upgrading-versions/index.mdx | 0 .../250-upgrading-to-use-preview-features.mdx | 0 .../01-how-to-upgrade.mdx | 0 .../02-schema-incompatibilities.mdx | 0 .../03-upgrading-the-prisma-layer.mdx | 0 .../04-upgrading-nexus-prisma-to-nexus.mdx | 0 .../05-upgrading-prisma-binding-to-nexus.mdx | 0 ...-upgrading-prisma-binding-to-sdl-first.mdx | 0 .../07-upgrading-a-rest-api.mdx | 0 .../08-upgrade-from-mongodb-beta.mdx | 0 .../images/TablePlus-GUI.png | Bin ...missing-default-constraints-to-columns.png | Bin .../images/altering-columns-to-use-enum.png | Bin .../images/download-graphql-schema.png | Bin ...xpose-prisma-model-fields-with-t-model.png | Bin .../fix-columns-with-json-data-types.png | Bin .../fix-incorrect-m-n-relations-sql.png | Bin .../images/fix-schema-incompatibilities.png | Bin .../images/prisma-cli-introspection-flow.png | Bin .../regenerate-resolvers-with-t-crud.png | Bin .../run-sql-command-to-alter-column.png | Bin .../use-t-crud-to-generate-resolvers.png | Bin .../800-upgrade-from-prisma-1/index.mdx | 0 .../800-more/300-upgrade-guides/index.mdx | 10 + .../300-guides/300-upgrade-guides/index.mdx | 11 - .../400-reference/200-api-reference/index.mdx | 11 - .../300-database-reference/index.mdx | 11 - 56 files changed, 457 insertions(+), 484 deletions(-) rename content/{300-guides/500-other/820-multi-schema.mdx => 200-orm/300-prisma-schema/20-data-model/60-multi-schema.mdx} (100%) delete mode 100644 content/200-orm/400-tools/08-prisma-engines/index.mdx rename content/{400-reference/200-api-reference => 200-orm/500-reference}/050-prisma-client-reference.mdx (99%) rename content/{400-reference/200-api-reference => 200-orm/500-reference}/100-prisma-schema-reference.mdx (99%) rename content/{400-reference/200-api-reference/200-command-reference.mdx => 200-orm/500-reference/200-prisma-cli-reference.mdx} (94%) rename content/{400-reference/200-api-reference => 200-orm/500-reference}/250-error-reference.mdx (99%) rename content/{400-reference/200-api-reference => 200-orm/500-reference}/300-environment-variables-reference.mdx (99%) rename content/{400-reference/300-database-reference/01-database-features.mdx => 200-orm/500-reference/350-database-features.mdx} (99%) rename content/{400-reference/300-database-reference/03-supported-databases.mdx => 200-orm/500-reference/375-supported-databases.mdx} (53%) rename content/{400-reference/300-database-reference/02-connection-urls.mdx => 200-orm/500-reference/380-connection-urls.mdx} (100%) rename content/{400-reference/100-system-requirements.mdx => 200-orm/500-reference/400-system-requirements.mdx} (100%) rename content/200-orm/{400-tools/250-preview-features => 500-reference/500-preview-features}/050-client-preview-features.mdx (99%) rename content/200-orm/{400-tools/250-preview-features => 500-reference/500-preview-features}/080-cli-preview-features.mdx (98%) rename content/200-orm/{400-tools/250-preview-features => 500-reference/500-preview-features}/index.mdx (100%) rename content/{400-reference => 200-orm/500-reference}/index.mdx (95%) rename content/200-orm/{400-tools/08-prisma-engines/200-query-engine.mdx => 800-more/100-under-the-hood/100-engines.mdx} (51%) create mode 100644 content/200-orm/800-more/100-under-the-hood/index.mdx rename content/200-orm/{400-tools/08-prisma-engines => 800-more/100-under-the-hood}/query-engine-node-js-at-runtime.png (100%) rename content/200-orm/{400-tools/08-prisma-engines => 800-more/100-under-the-hood}/typical-flow-query-engine-at-runtime.png (100%) delete mode 100644 content/200-orm/800-more/300-telemetry.mdx rename content/{300-guides => 200-orm/800-more}/300-upgrade-guides/200-upgrading-versions/600-upgrading-to-prisma-5/001-rejectonnotfound-changes.mdx (100%) rename content/{300-guides => 200-orm/800-more}/300-upgrade-guides/200-upgrading-versions/600-upgrading-to-prisma-5/101-jsonprotocol-changes.mdx (100%) rename content/{300-guides => 200-orm/800-more}/300-upgrade-guides/200-upgrading-versions/600-upgrading-to-prisma-5/index.mdx (100%) rename content/{300-guides => 200-orm/800-more}/300-upgrade-guides/200-upgrading-versions/700-upgrading-to-prisma-4.mdx (100%) rename content/{300-guides => 200-orm/800-more}/300-upgrade-guides/200-upgrading-versions/800-upgrading-to-prisma-3/100-named-constraints.mdx (100%) rename content/{300-guides => 200-orm/800-more}/300-upgrade-guides/200-upgrading-versions/800-upgrading-to-prisma-3/150-referential-actions.mdx (100%) rename content/{300-guides => 200-orm/800-more}/300-upgrade-guides/200-upgrading-versions/800-upgrading-to-prisma-3/index.mdx (100%) rename content/{300-guides => 200-orm/800-more}/300-upgrade-guides/200-upgrading-versions/900-codemods.mdx (100%) rename content/{300-guides => 200-orm/800-more}/300-upgrade-guides/200-upgrading-versions/index.mdx (100%) rename content/{300-guides => 200-orm/800-more}/300-upgrade-guides/250-upgrading-to-use-preview-features.mdx (100%) rename content/{300-guides => 200-orm/800-more}/300-upgrade-guides/800-upgrade-from-prisma-1/01-how-to-upgrade.mdx (100%) rename content/{300-guides => 200-orm/800-more}/300-upgrade-guides/800-upgrade-from-prisma-1/02-schema-incompatibilities.mdx (100%) rename content/{300-guides => 200-orm/800-more}/300-upgrade-guides/800-upgrade-from-prisma-1/03-upgrading-the-prisma-layer.mdx (100%) rename content/{300-guides => 200-orm/800-more}/300-upgrade-guides/800-upgrade-from-prisma-1/04-upgrading-nexus-prisma-to-nexus.mdx (100%) rename content/{300-guides => 200-orm/800-more}/300-upgrade-guides/800-upgrade-from-prisma-1/05-upgrading-prisma-binding-to-nexus.mdx (100%) rename content/{300-guides => 200-orm/800-more}/300-upgrade-guides/800-upgrade-from-prisma-1/06-upgrading-prisma-binding-to-sdl-first.mdx (100%) rename content/{300-guides => 200-orm/800-more}/300-upgrade-guides/800-upgrade-from-prisma-1/07-upgrading-a-rest-api.mdx (100%) rename content/{300-guides => 200-orm/800-more}/300-upgrade-guides/800-upgrade-from-prisma-1/08-upgrade-from-mongodb-beta.mdx (100%) rename content/{300-guides => 200-orm/800-more}/300-upgrade-guides/800-upgrade-from-prisma-1/images/TablePlus-GUI.png (100%) rename content/{300-guides => 200-orm/800-more}/300-upgrade-guides/800-upgrade-from-prisma-1/images/add-missing-default-constraints-to-columns.png (100%) rename content/{300-guides => 200-orm/800-more}/300-upgrade-guides/800-upgrade-from-prisma-1/images/altering-columns-to-use-enum.png (100%) rename content/{300-guides => 200-orm/800-more}/300-upgrade-guides/800-upgrade-from-prisma-1/images/download-graphql-schema.png (100%) rename content/{300-guides => 200-orm/800-more}/300-upgrade-guides/800-upgrade-from-prisma-1/images/expose-prisma-model-fields-with-t-model.png (100%) rename content/{300-guides => 200-orm/800-more}/300-upgrade-guides/800-upgrade-from-prisma-1/images/fix-columns-with-json-data-types.png (100%) rename content/{300-guides => 200-orm/800-more}/300-upgrade-guides/800-upgrade-from-prisma-1/images/fix-incorrect-m-n-relations-sql.png (100%) rename content/{300-guides => 200-orm/800-more}/300-upgrade-guides/800-upgrade-from-prisma-1/images/fix-schema-incompatibilities.png (100%) rename content/{300-guides => 200-orm/800-more}/300-upgrade-guides/800-upgrade-from-prisma-1/images/prisma-cli-introspection-flow.png (100%) rename content/{300-guides => 200-orm/800-more}/300-upgrade-guides/800-upgrade-from-prisma-1/images/regenerate-resolvers-with-t-crud.png (100%) rename content/{300-guides => 200-orm/800-more}/300-upgrade-guides/800-upgrade-from-prisma-1/images/run-sql-command-to-alter-column.png (100%) rename content/{300-guides => 200-orm/800-more}/300-upgrade-guides/800-upgrade-from-prisma-1/images/use-t-crud-to-generate-resolvers.png (100%) rename content/{300-guides => 200-orm/800-more}/300-upgrade-guides/800-upgrade-from-prisma-1/index.mdx (100%) create mode 100644 content/200-orm/800-more/300-upgrade-guides/index.mdx delete mode 100644 content/300-guides/300-upgrade-guides/index.mdx delete mode 100644 content/400-reference/200-api-reference/index.mdx delete mode 100644 content/400-reference/300-database-reference/index.mdx diff --git a/content/300-guides/500-other/820-multi-schema.mdx b/content/200-orm/300-prisma-schema/20-data-model/60-multi-schema.mdx similarity index 100% rename from content/300-guides/500-other/820-multi-schema.mdx rename to content/200-orm/300-prisma-schema/20-data-model/60-multi-schema.mdx diff --git a/content/200-orm/400-tools/05-prisma-cli.mdx b/content/200-orm/400-tools/05-prisma-cli.mdx index b4fc54e784..11641d3add 100644 --- a/content/200-orm/400-tools/05-prisma-cli.mdx +++ b/content/200-orm/400-tools/05-prisma-cli.mdx @@ -2,7 +2,7 @@ title: 'Prisma CLI' metaTitle: '' metaDescription: '' -toc: false +toc: true --- @@ -11,6 +11,251 @@ The Prisma command line interface (CLI) is the primary way to interact with your -## Prisma CLI command reference +## Command reference See [Prisma CLI command reference](/reference/api-reference/command-reference) for a complete list of commands. + +## Installation + +The Prisma CLI is typically installed locally as a **development dependency**, that's why the `--save-dev` (npm) and `--dev` (Yarn) options are used in the commands below. + + + +We **recommend that you install the Prisma CLI locally** in your project's `package.json` to avoid version conflicts that can happen with a global installation. + + + +### npm + +Install with [npm](https://www.npmjs.com/): + +``` +npm install prisma --save-dev +``` + +### Yarn + +Install with [yarn](https://yarnpkg.dev/): + +``` +yarn add prisma --dev +``` + +### pnpm + +Install with [pnpm](https://pnpm.io/): + +``` +pnpm install prisma --save-dev +``` + +### Bun + +Install with [Bun](https://bun.sh/): + +``` +bun add prisma +``` + +
+Global installation (Not recommended) + +- **npm** + +Install with npm: + +``` +npm install -g prisma +``` + +- **Yarn** + +Install with Yarn: + +``` +yarn global add prisma +``` + +- **pnpm** + +Install with pnpm: + +``` +pnpm install prisma --global +``` + +- **Bun** + +Install with [Bun](https://bun.sh): + +``` +bun add --global prisma +``` + +
+ +## Usage + +If you installed Prisma as a development dependency, you need to prefix the `prisma` command with your package runner. + +### npm + +``` +npx prisma +``` + +### Yarn + +``` +yarn prisma +``` + +### pnpm + +``` +pnpm dlx prisma +``` + +### Bun + +``` +bunx prisma +``` + +## Synopsis + +The `prisma` command can be called from command line once installed. When called without arguments, it will display its command usage and help document: + + + + + +```terminal +prisma +``` + + + + + +```code no-copy +Prisma is a modern DB toolkit to query, migrate and model your database (https://www.prisma.io) + +Usage + + $ prisma [command] + +Commands + + init Setup Prisma for your app + generate Generate artifacts (e.g. Prisma Client) + db Manage your database schema and lifecycle + migrate Migrate your database + studio Browse your data with Prisma Studio + validate Validate your Prisma schema + format Format your Prisma schema + +Flags + + --preview-feature Run Preview Prisma commands + +Examples + + Setup a new Prisma project + $ prisma init + + Generate artifacts (e.g. Prisma Client) + $ prisma generate + + Browse your data + $ prisma studio + + Create migrations from your Prisma schema, apply them to the database, generate artifacts (e.g. Prisma Client) + $ prisma migrate dev + + Pull the schema from an existing database, updating the Prisma schema + $ prisma db pull + + Push the Prisma schema state to the database + $ prisma db push +``` + + + + + +You can get additional help on any of the `prisma` commands by adding the `--help` flag after the command. + +## Exit codes + +All `prisma` CLI commands return the following codes when they exit: + +- exit code 0 when a command runs successfully +- exit code 1 when a command errors +- exit code 130 when the CLI receives a signal interrupt (SIGINT) message or if the user cancels a prompt. This exit code is available in Prisma versions 4.3.0 and later. + +## Telemetry + +The term **telemetry** refers to the collection of certain usage data to help _improve the quality of a piece of software_. Prisma uses telemetry in two contexts: + +- when it collects CLI usage data +- when it submits CLI error reports + +This page describes the overall telemetry approach for Prisma, what kind of data is collected and how to opt-out of data collection. + +### Why does Prisma collect metrics? + +Telemetry helps us better understand _how many users_ are using our products and _how often_ they are using our products. Unlike many telemetry services, our telemetry implementation is intentionally limited in scope and is actually useful for the developer: + +- **Limited in scope**: We use telemetry to answer one question: how many monthly active developers are using Prisma CLI? +- **Provides value**: Our telemetry service also checks for version updates and offers security notices. + +### When is data collected? + +Data is collected in two scenarios that are described below. + +#### Usage data + +Invocations of the `prisma` CLI and general usage of Studio results in data being sent to the telemetry server at https://checkpoint.prisma.io. Note that: + +- The data does **not** include your schema or the data in your database +- Prisma only sends information after you execute a CLI command + +Here is an overview of the data that's being submitted: + +| Field | Attributes | Description | +| -------------: | :--------: | :------------------------------------------------------------------------------------- | +| `product` | _string_ | Name of the product (e.g. `prisma`) | +| `version` | _string_ | Currently installed version of the product (e.g. `1.0.0-rc0`) | +| `arch` | _string_ | Client's operating system architecture (e.g. `amd64`). | +| `os` | _string_ | Client's operating system (e.g. `darwin`). | +| `node_version` | _string_ | Client's node version (e.g. `v12.12.0`). | +| `signature` | _string_ | Random, non-identifiable signature UUID (e.g. `91b014df3-9dda-4a27-a8a7-15474fd899f8`) | +| `user_agent` | _string_ | User agent of the checkpoint client (e.g. `prisma/js-checkpoint`) | +| `timestamp` | _string_ | When the request was made in RFC3339 format (e.g. `2019-12-12T17:45:56Z`) | + +You can opt-out of this behavior by setting the `CHECKPOINT_DISABLE` environment variable to `1`, e.g.: + +```terminal +export CHECKPOINT_DISABLE=1 +``` + +#### Error reporting + +Prisma potentially collects error data when there is a crash in the CLI. + +Before an error report is submitted, there will _always_ be a prompt asking you to confirm or deny the submission of the error report! Error reports are never submitted without your explicit consent! + +### How to opt-out of data collection? + +#### Usage data + +You can opt-out of usage data collection by setting the `CHECKPOINT_DISABLE` environment variable to `1`, e.g.: + +```terminal +export CHECKPOINT_DISABLE=1 +``` + +#### Error reporting + +You can opt-out of data collection by responding to the interactive prompt with _no_. diff --git a/content/200-orm/400-tools/08-prisma-engines/index.mdx b/content/200-orm/400-tools/08-prisma-engines/index.mdx deleted file mode 100644 index d787df29ff..0000000000 --- a/content/200-orm/400-tools/08-prisma-engines/index.mdx +++ /dev/null @@ -1,154 +0,0 @@ ---- -title: 'Prisma engines' -metaTitle: 'Prisma engines' -metaDescription: 'Learn about Prisma internals and how it works "under the hood". Prisma tools are based on an engine-layer which manages the communication with the database.' ---- - - - -This page gives an overview of the Prisma internals and how it works "under the hood". - -Note that **this page does not contain any practical information that is relevant for _using_ Prisma**. It rather aims at providing a _mental model_ for what the Prisma toolkit _actually_ is and how the different tools that are available to developers are structured. - -If you're new to Prisma, be sure to check out the [Quickstart](/getting-started/quickstart) and [Introduction](/concepts/overview/what-is-prisma) pages first. - - - -## Prisma engines - -At the core of each module, there typically is a [Prisma engine](https://github.com/prisma/prisma-engines) that implements the core set of functionality. Engines are implemented in [Rust](https://www.rust-lang.org/) and expose a low-level API that is used by the higher-level interfaces. - -A Prisma engine is the **direct interface to the database**, any higher-level interfaces always communicate with the database _through_ the engine-layer. - -As an example, Prisma Client connects to the [query engine](/concepts/components/prisma-engines/query-engine) in order to read and write data in a database: - -![Prisma engine](typical-flow-query-engine-at-runtime.png) - -### Using custom engine libraries or binaries - -By default, all engine files are automatically downloaded into the `node_modules/@prisma/engines` folder when you install or update `prisma`, the Prisma CLI package. The [query engine](/concepts/components/prisma-engines/query-engine) is also copied to the generated Prisma Client when you call `prisma generate`. -You might want to use a [custom library or binary](https://github.com/prisma/prisma-engines) file if: - -- Automated download of engine files is not possible. -- You have created your own engine library or binary for testing purposes, or for an OS that is not officially supported. - -Use the following environment variables to specify custom locations for your binaries: - -- [`PRISMA_QUERY_ENGINE_LIBRARY`](/reference/api-reference/environment-variables-reference#prisma_query_engine_library) (Query engine, library) -- [`PRISMA_QUERY_ENGINE_BINARY`](/reference/api-reference/environment-variables-reference#prisma_query_engine_binary) (Query engine, binary) -- [`PRISMA_SCHEMA_ENGINE_BINARY`](/reference/api-reference/environment-variables-reference#prisma_schema_engine_binary) (Schema engine) -- [`PRISMA_MIGRATION_ENGINE_BINARY`](/reference/api-reference/environment-variables-reference#prisma_migration_engine_binary) (Migration engine) -- [`PRISMA_INTROSPECTION_ENGINE_BINARY`](/reference/api-reference/environment-variables-reference#prisma_introspection_engine_binary) (Introspection engine) - - - -- `PRISMA_MIGRATION_ENGINE_BINARY` variable is deprecated in [5.0.0](https://github.com/prisma/prisma/releases/tag/5.0.0). -- The Introspection Engine is served by the Migration Engine from [4.9.0](https://github.com/prisma/prisma/releases/tag/4.9.0). Therefore, the `PRISMA_INTROSPECTION_ENGINE` environment variable will not be used. -- The `PRISMA_FMT_BINARY` variable is used in versions [4.2.0](https://github.com/prisma/prisma/releases/tag/4.2.0) or lower. - - - -#### Setting the environment variable - -You can define environment variables globally on your machine or in the `.env` file. - -##### a) The `.env` file - -Add the environment variable to the [`.env` file](/guides/development-environment/environment-variables#using-env-files). - -, ]} - defaultTabType="OS" -> - - - -``` -PRISMA_QUERY_ENGINE_BINARY=custom/my-query-engine-unix -``` - - - - -``` -PRISMA_QUERY_ENGINE_BINARY=c:\custom\path\my-query-engine-binary.exe -``` - - - - -> **Note**: It is possible to [use an `.env` file in a location outside the `prisma` folder](/guides/development-environment/environment-variables/managing-env-files-and-setting-variables). - -##### b) Global environment variable - -Run the following command to set the environment variable globally (in this example, `PRISMA_QUERY_ENGINE_BINARY`): - -, ]} - defaultTabType="OS" -> - - - -```terminal -export PRISMA_QUERY_ENGINE_BINARY=/custom/my-query-engine-unix -``` - - - - - -```terminal -set PRISMA_QUERY_ENGINE_BINARY=c:\custom\my-query-engine-windows.exe -``` - - - - - -#### Test your environment variable - -Run the following command to output the paths to all binaries: - -```terminal -npx prisma -v -``` - -The output shows that the query engine path comes from the `PRISMA_QUERY_ENGINE_BINARY` environment variable: - -, ]} - defaultTabType="OS" -> - - - -```terminal highlight=2;normal -Current platform : darwin -Query Engine : query-engine d6ff7119649922b84e413b3b69660e2f49e2ddf3 (at /custom/my-query-engine-unix) -Migration Engine : migration-engine-cli d6ff7119649922b84e413b3b69660e2f49e2ddf3 (at /myproject/node_modules/@prisma/engines/migration-engine-unix) -Introspection Engine : introspection-core d6ff7119649922b84e413b3b69660e2f49e2ddf3 (at /myproject/node_modules/@prisma/engines/introspection-engine-unix) -``` - - - - -```terminal highlight=2;normal -Current platform : windows -Query Engine : query-engine d6ff7119649922b84e413b3b69660e2f49e2ddf3 (at c:\custom\my-query-engine-windows.exe) -Migration Engine : migration-engine-cli d6ff7119649922b84e413b3b69660e2f49e2ddf3 (at c:\myproject\node_modules\@prisma\engines\migration-engine-windows.exe) -Introspection Engine : introspection-core d6ff7119649922b84e413b3b69660e2f49e2ddf3 (at c:\myproject\node_modules\@prisma\engines\introspection-engine-windows.exe) -``` - - - - - -### Hosting engines - -The [`PRISMA_ENGINES_MIRROR`](/reference/api-reference/environment-variables-reference#prisma_engines_mirror) environment variable allows you to host engine files via a private server, AWS bucket or other cloud storage. -This can be useful if you have a custom OS that requires custom-built engines. - -```terminal -PRISMA_ENGINES_MIRROR=https://my-aws-bucket -``` diff --git a/content/400-reference/200-api-reference/050-prisma-client-reference.mdx b/content/200-orm/500-reference/050-prisma-client-reference.mdx similarity index 99% rename from content/400-reference/200-api-reference/050-prisma-client-reference.mdx rename to content/200-orm/500-reference/050-prisma-client-reference.mdx index 56e05836af..0533345d9f 100644 --- a/content/400-reference/200-api-reference/050-prisma-client-reference.mdx +++ b/content/200-orm/500-reference/050-prisma-client-reference.mdx @@ -1,6 +1,6 @@ --- -title: 'Prisma Client API reference' -metaTitle: 'Prisma Client API (Reference)' +title: 'Prisma Client API' +metaTitle: 'Prisma Client API' metaDescription: 'API reference documentation for Prisma Client.' tocDepth: 3 toc: true @@ -3227,8 +3227,8 @@ const result = await prisma.user.update({ ``` ## Filter conditions and operators - + - From version 4.3.0, you can also use these operators to compare _fields_ in the same model [with the `.fields` property](#compare-columns-in-the-same-table). - In versions before 4.3.0, you can compare fields in the same model [with raw queries](/guides/other/troubleshooting-orm/help-articles/comparing-columns-through-raw-queries). diff --git a/content/400-reference/200-api-reference/100-prisma-schema-reference.mdx b/content/200-orm/500-reference/100-prisma-schema-reference.mdx similarity index 99% rename from content/400-reference/200-api-reference/100-prisma-schema-reference.mdx rename to content/200-orm/500-reference/100-prisma-schema-reference.mdx index f7e65d8a1d..5662cacf64 100644 --- a/content/400-reference/200-api-reference/100-prisma-schema-reference.mdx +++ b/content/200-orm/500-reference/100-prisma-schema-reference.mdx @@ -1,6 +1,6 @@ --- -title: 'Prisma schema reference' -metaTitle: 'Prisma schema API (Reference)' +title: 'Prisma schema' +metaTitle: 'Prisma schema API' metaDescription: 'API reference documentation for the Prisma Schema Language (PSL).' tocDepth: 3 toc: true @@ -193,8 +193,8 @@ Unless specified otherwise, the default supported CPU architecture is x86_64. ##### Linux (Alpine on x86_64 architectures) -| Build OS | Prisma engine build name | OpenSSL | -| :------------------ | :--------------------------- | :-----: | +| Build OS | Prisma engine build name | OpenSSL | +| :---------------------- | :--------------------------- | :-----: | | Alpine (3.17 and newer) | `linux-musl-openssl-3.0.x`\* | 3.0.x | | Alpine (3.16 and older) | `linux-musl` | 1.1.x | @@ -202,8 +202,8 @@ Unless specified otherwise, the default supported CPU architecture is x86_64. ##### Linux (Alpine on ARM64 architectures) -| Build OS | Prisma engine build name | OpenSSL | -| :------------------ | :--------------------------------- | :-----: | +| Build OS | Prisma engine build name | OpenSSL | +| :---------------------- | :--------------------------------- | :-----: | | Alpine (3.17 and newer) | `linux-musl-arm64-openssl-3.0.x`\* | 3.0.x | | Alpine (3.16 and older) | `linux-musl-arm64-openssl-1.1.x`\* | 1.1.x | @@ -3250,7 +3250,7 @@ Set a timestamp of the time when a record is created. ```prisma model User { - id String @id + id String @id createdAt DateTime @default(now()) } ``` @@ -3260,7 +3260,7 @@ model User { ```prisma model User { - id String @id @default(auto()) @map("_id") @db.ObjectId + id String @id @default(auto()) @map("_id") @db.ObjectId createdAt DateTime @default(now()) } ``` @@ -3268,7 +3268,6 @@ model User { - ### dbgenerated() Represents **default values** that cannot be expressed in the Prisma schema (such as `random()`). diff --git a/content/400-reference/200-api-reference/200-command-reference.mdx b/content/200-orm/500-reference/200-prisma-cli-reference.mdx similarity index 94% rename from content/400-reference/200-api-reference/200-command-reference.mdx rename to content/200-orm/500-reference/200-prisma-cli-reference.mdx index d1a2db4863..07f51a2cef 100644 --- a/content/400-reference/200-api-reference/200-command-reference.mdx +++ b/content/200-orm/500-reference/200-prisma-cli-reference.mdx @@ -1,6 +1,6 @@ --- -title: 'Prisma CLI reference' -metaTitle: 'Prisma CLI Command Reference' +title: 'Prisma CLI' +metaTitle: 'Prisma CLI' metaDescription: 'This page gives an overview of all available Prisma CLI commands, explains their options and shows numerous usage examples.' tocDepth: 3 --- @@ -11,185 +11,6 @@ This document describes the Prisma CLI commands, arguments, and options.
-## Installation - -The Prisma CLI is typically installed locally as a **development dependency**, that's why the `--save-dev` (npm) and `--dev` (Yarn) options are used in the commands below. - - - -We **recommend that you install the Prisma CLI locally** in your project's `package.json` to avoid version conflicts that can happen with a global installation. - - - -### npm - -Install with [npm](https://www.npmjs.com/): - -``` -npm install prisma --save-dev -``` - -### Yarn - -Install with [yarn](https://yarnpkg.dev/): - -``` -yarn add prisma --dev -``` - -### pnpm - -Install with [pnpm](https://pnpm.io/): - -``` -pnpm install prisma --save-dev -``` - -### Bun - -Install with [Bun](https://bun.sh/): - -``` -bun add prisma -``` - -
-Global installation (Not recommended) - -- **npm** - -Install with npm: - -``` -npm install -g prisma -``` - -- **Yarn** - -Install with Yarn: - -``` -yarn global add prisma -``` - -- **pnpm** - -Install with pnpm: - -``` -pnpm install prisma --global -``` - -- **Bun** - -Install with [Bun](https://bun.sh): - -``` -bun add --global prisma -``` - -
- -## Usage - -If you installed Prisma as a development dependency, you need to prefix the `prisma` command with your package runner. - -### npm - -``` -npx prisma -``` - -### Yarn - -``` -yarn prisma -``` - -### pnpm - -``` -pnpm dlx prisma -``` - -### Bun - -``` -bunx prisma -``` - -## Synopsis - -The `prisma` command can be called from command line once installed. When called without arguments, it will display its command usage and help document: - - - - - -```terminal -prisma -``` - - - - - -```code no-copy -Prisma is a modern DB toolkit to query, migrate and model your database (https://www.prisma.io) - -Usage - - $ prisma [command] - -Commands - - init Setup Prisma for your app - generate Generate artifacts (e.g. Prisma Client) - db Manage your database schema and lifecycle - migrate Migrate your database - studio Browse your data with Prisma Studio - validate Validate your Prisma schema - format Format your Prisma schema - -Flags - - --preview-feature Run Preview Prisma commands - -Examples - - Setup a new Prisma project - $ prisma init - - Generate artifacts (e.g. Prisma Client) - $ prisma generate - - Browse your data - $ prisma studio - - Create migrations from your Prisma schema, apply them to the database, generate artifacts (e.g. Prisma Client) - $ prisma migrate dev - - Pull the schema from an existing database, updating the Prisma schema - $ prisma db pull - - Push the Prisma schema state to the database - $ prisma db push -``` - - - - - -You can get additional help on any of the `prisma` commands by adding the `--help` flag after the command. - -## Exit codes - -All `prisma` CLI commands return the following codes when they exit: - -- exit code 0 when a command runs successfully -- exit code 1 when a command errors -- exit code 130 when the CLI receives a signal interrupt (SIGINT) message or if the user cancels a prompt. This exit code is available in Prisma versions 4.3.0 and later. - ## Commands ### version (-v) diff --git a/content/400-reference/200-api-reference/250-error-reference.mdx b/content/200-orm/500-reference/250-error-reference.mdx similarity index 99% rename from content/400-reference/200-api-reference/250-error-reference.mdx rename to content/200-orm/500-reference/250-error-reference.mdx index 1e100fd233..e045ac4c24 100644 --- a/content/400-reference/200-api-reference/250-error-reference.mdx +++ b/content/200-orm/500-reference/250-error-reference.mdx @@ -1,6 +1,6 @@ --- -title: 'Error message reference' -metaTitle: 'Prisma error message reference (Reference)' +title: 'Errors' +metaTitle: 'Errors' metaDescription: 'Prisma Client, Migrate, Introspection error message reference' tocDepth: 3 --- diff --git a/content/400-reference/200-api-reference/300-environment-variables-reference.mdx b/content/200-orm/500-reference/300-environment-variables-reference.mdx similarity index 99% rename from content/400-reference/200-api-reference/300-environment-variables-reference.mdx rename to content/200-orm/500-reference/300-environment-variables-reference.mdx index ce651bb61d..dfb2ab8e39 100644 --- a/content/400-reference/200-api-reference/300-environment-variables-reference.mdx +++ b/content/200-orm/500-reference/300-environment-variables-reference.mdx @@ -1,6 +1,6 @@ --- -title: 'Environment variables reference' -metaTitle: 'Prisma environment variables reference' +title: 'Environment variables' +metaTitle: 'Prisma environment variables' metaDescription: 'This page gives an overview of all environment variables available for use.' tocDepth: 3 --- @@ -102,7 +102,6 @@ This environment variable is available since version `5.3.0` `PRISMA_SCHEMA_DISABLE_ADVISORY_LOCK` can be set to a truthy value to disable the [advisory locking](/concepts/components/prisma-migrate/migrate-development-production#advisory-locking) used by Prisma Migrate. This might be needed, depending on the database configuration, for example, for a Percona-XtraDB-Cluster or MariaDB Galera Cluster. - ## Proxy environment variables The Prisma CLI supports custom HTTP(S) proxies to download the Prisma engines. These can be helpful to use when working behind a corporate firewall. See [Using a HTTP proxy for the CLI](/reference/api-reference/command-reference#using-a-http-proxy-for-the-cli) for more information. diff --git a/content/400-reference/300-database-reference/01-database-features.mdx b/content/200-orm/500-reference/350-database-features.mdx similarity index 99% rename from content/400-reference/300-database-reference/01-database-features.mdx rename to content/200-orm/500-reference/350-database-features.mdx index 11bfadf8bc..50253ced84 100644 --- a/content/400-reference/300-database-reference/01-database-features.mdx +++ b/content/200-orm/500-reference/350-database-features.mdx @@ -1,6 +1,6 @@ --- title: 'Database features matrix' -metaTitle: 'Database features matrix (Reference)' +metaTitle: 'Database features matrix' metaDescription: 'Learn which database features are supported in Prisma and how they map to the different Prisma tools.' wide: true tocDepth: 3 diff --git a/content/400-reference/300-database-reference/03-supported-databases.mdx b/content/200-orm/500-reference/375-supported-databases.mdx similarity index 53% rename from content/400-reference/300-database-reference/03-supported-databases.mdx rename to content/200-orm/500-reference/375-supported-databases.mdx index 39cd0a0b76..d1344ffbee 100644 --- a/content/400-reference/300-database-reference/03-supported-databases.mdx +++ b/content/200-orm/500-reference/375-supported-databases.mdx @@ -6,7 +6,7 @@ metaDescription: 'This page lists all the databases and their versions that are -Prisma currently supports the following databases. +Prisma currently supports the following databases. > See also: [System requirements](/reference/system-requirements). @@ -16,25 +16,25 @@ An asterisk (\*) indicates that the version number is not relevant; either all v ## Self-hosted databases -| Database | Version | -| ---------------------------- | ------- | -| PostgreSQL | 9.6 | -| PostgreSQL | 10 | -| PostgreSQL | 11 | -| PostgreSQL | 12 | -| PostgreSQL | 13 | -| PostgreSQL | 14 | -| PostgreSQL | 15 | -| MySQL | 5.6 | -| MySQL | 5.7 | -| MySQL | 8 | -| MariaDB | 10 | -| SQLite | \* | -| Microsoft SQL Server | 2017 | -| Microsoft SQL Server | 2019 | -| Microsoft SQL Server | 2022 | -| MongoDB | 4.2+ | -| CockroachDB | 21.2.4+ | +| Database | Version | +| -------------------- | ------- | +| PostgreSQL | 9.6 | +| PostgreSQL | 10 | +| PostgreSQL | 11 | +| PostgreSQL | 12 | +| PostgreSQL | 13 | +| PostgreSQL | 14 | +| PostgreSQL | 15 | +| MySQL | 5.6 | +| MySQL | 5.7 | +| MySQL | 8 | +| MariaDB | 10 | +| SQLite | \* | +| Microsoft SQL Server | 2017 | +| Microsoft SQL Server | 2019 | +| Microsoft SQL Server | 2022 | +| MongoDB | 4.2+ | +| CockroachDB | 21.2.4+ | Note that a fixed version of SQLite is shipped with every Prisma release. diff --git a/content/400-reference/300-database-reference/02-connection-urls.mdx b/content/200-orm/500-reference/380-connection-urls.mdx similarity index 100% rename from content/400-reference/300-database-reference/02-connection-urls.mdx rename to content/200-orm/500-reference/380-connection-urls.mdx diff --git a/content/400-reference/100-system-requirements.mdx b/content/200-orm/500-reference/400-system-requirements.mdx similarity index 100% rename from content/400-reference/100-system-requirements.mdx rename to content/200-orm/500-reference/400-system-requirements.mdx diff --git a/content/200-orm/400-tools/250-preview-features/050-client-preview-features.mdx b/content/200-orm/500-reference/500-preview-features/050-client-preview-features.mdx similarity index 99% rename from content/200-orm/400-tools/250-preview-features/050-client-preview-features.mdx rename to content/200-orm/500-reference/500-preview-features/050-client-preview-features.mdx index 6cec26e232..e6919230a2 100644 --- a/content/200-orm/400-tools/250-preview-features/050-client-preview-features.mdx +++ b/content/200-orm/500-reference/500-preview-features/050-client-preview-features.mdx @@ -1,6 +1,7 @@ --- -title: Prisma Client and Prisma schema Preview features -metaDescription: Prisma Client and Prisma schema features that are currently in Preview. +title: 'Prisma Client & Prisma schema' +metaTitle: 'Prisma Client & Prisma schema' +metaDescription: 'Prisma Client and Prisma schema features that are currently in Preview.' --- diff --git a/content/200-orm/400-tools/250-preview-features/080-cli-preview-features.mdx b/content/200-orm/500-reference/500-preview-features/080-cli-preview-features.mdx similarity index 98% rename from content/200-orm/400-tools/250-preview-features/080-cli-preview-features.mdx rename to content/200-orm/500-reference/500-preview-features/080-cli-preview-features.mdx index ff3389a0ec..7ff860cc8d 100644 --- a/content/200-orm/400-tools/250-preview-features/080-cli-preview-features.mdx +++ b/content/200-orm/500-reference/500-preview-features/080-cli-preview-features.mdx @@ -1,5 +1,6 @@ --- -title: Prisma CLI Preview features +title: 'Prisma CLI' +metaTitle: 'Prisma CLI' metaDescription: Prisma CLI features that are currently in Preview. tocDepth: 3 --- diff --git a/content/200-orm/400-tools/250-preview-features/index.mdx b/content/200-orm/500-reference/500-preview-features/index.mdx similarity index 100% rename from content/200-orm/400-tools/250-preview-features/index.mdx rename to content/200-orm/500-reference/500-preview-features/index.mdx diff --git a/content/400-reference/index.mdx b/content/200-orm/500-reference/index.mdx similarity index 95% rename from content/400-reference/index.mdx rename to content/200-orm/500-reference/index.mdx index fe6b870082..799aaba8b8 100644 --- a/content/400-reference/index.mdx +++ b/content/200-orm/500-reference/index.mdx @@ -2,6 +2,7 @@ title: 'Reference' metaTitle: 'Reference' metaDescription: 'Reference' +staticLink: true toc: false --- diff --git a/content/200-orm/400-tools/08-prisma-engines/200-query-engine.mdx b/content/200-orm/800-more/100-under-the-hood/100-engines.mdx similarity index 51% rename from content/200-orm/400-tools/08-prisma-engines/200-query-engine.mdx rename to content/200-orm/800-more/100-under-the-hood/100-engines.mdx index 12f1da38c9..2b70af3bb8 100644 --- a/content/200-orm/400-tools/08-prisma-engines/200-query-engine.mdx +++ b/content/200-orm/800-more/100-under-the-hood/100-engines.mdx @@ -1,6 +1,6 @@ --- -title: 'Query engine' -metaTitle: 'Query engine (Concepts)' +title: 'Engines' +metaTitle: 'Engines' metaDescription: "Prisma's query engine manages the communication with the database when using Prisma Client. Learn how it works on this page." --- @@ -18,6 +18,145 @@ This page covers relevant technical details about the query engine. +## Prisma engines + +At the core of each module, there typically is a [Prisma engine](https://github.com/prisma/prisma-engines) that implements the core set of functionality. Engines are implemented in [Rust](https://www.rust-lang.org/) and expose a low-level API that is used by the higher-level interfaces. + +A Prisma engine is the **direct interface to the database**, any higher-level interfaces always communicate with the database _through_ the engine-layer. + +As an example, Prisma Client connects to the [query engine](/concepts/components/prisma-engines/query-engine) in order to read and write data in a database: + +![Prisma engine](typical-flow-query-engine-at-runtime.png) + +### Using custom engine libraries or binaries + +By default, all engine files are automatically downloaded into the `node_modules/@prisma/engines` folder when you install or update `prisma`, the Prisma CLI package. The [query engine](/concepts/components/prisma-engines/query-engine) is also copied to the generated Prisma Client when you call `prisma generate`. +You might want to use a [custom library or binary](https://github.com/prisma/prisma-engines) file if: + +- Automated download of engine files is not possible. +- You have created your own engine library or binary for testing purposes, or for an OS that is not officially supported. + +Use the following environment variables to specify custom locations for your binaries: + +- [`PRISMA_QUERY_ENGINE_LIBRARY`](/reference/api-reference/environment-variables-reference#prisma_query_engine_library) (Query engine, library) +- [`PRISMA_QUERY_ENGINE_BINARY`](/reference/api-reference/environment-variables-reference#prisma_query_engine_binary) (Query engine, binary) +- [`PRISMA_SCHEMA_ENGINE_BINARY`](/reference/api-reference/environment-variables-reference#prisma_schema_engine_binary) (Schema engine) +- [`PRISMA_MIGRATION_ENGINE_BINARY`](/reference/api-reference/environment-variables-reference#prisma_migration_engine_binary) (Migration engine) +- [`PRISMA_INTROSPECTION_ENGINE_BINARY`](/reference/api-reference/environment-variables-reference#prisma_introspection_engine_binary) (Introspection engine) + + + +- `PRISMA_MIGRATION_ENGINE_BINARY` variable is deprecated in [5.0.0](https://github.com/prisma/prisma/releases/tag/5.0.0). +- The Introspection Engine is served by the Migration Engine from [4.9.0](https://github.com/prisma/prisma/releases/tag/4.9.0). Therefore, the `PRISMA_INTROSPECTION_ENGINE` environment variable will not be used. +- The `PRISMA_FMT_BINARY` variable is used in versions [4.2.0](https://github.com/prisma/prisma/releases/tag/4.2.0) or lower. + + + +#### Setting the environment variable + +You can define environment variables globally on your machine or in the `.env` file. + +##### a) The `.env` file + +Add the environment variable to the [`.env` file](/guides/development-environment/environment-variables#using-env-files). + +, ]} + defaultTabType="OS" +> + + + +``` +PRISMA_QUERY_ENGINE_BINARY=custom/my-query-engine-unix +``` + + + + +``` +PRISMA_QUERY_ENGINE_BINARY=c:\custom\path\my-query-engine-binary.exe +``` + + + + +> **Note**: It is possible to [use an `.env` file in a location outside the `prisma` folder](/guides/development-environment/environment-variables/managing-env-files-and-setting-variables). + +##### b) Global environment variable + +Run the following command to set the environment variable globally (in this example, `PRISMA_QUERY_ENGINE_BINARY`): + +, ]} + defaultTabType="OS" +> + + + +```terminal +export PRISMA_QUERY_ENGINE_BINARY=/custom/my-query-engine-unix +``` + + + + + +```terminal +set PRISMA_QUERY_ENGINE_BINARY=c:\custom\my-query-engine-windows.exe +``` + + + + + +#### Test your environment variable + +Run the following command to output the paths to all binaries: + +```terminal +npx prisma -v +``` + +The output shows that the query engine path comes from the `PRISMA_QUERY_ENGINE_BINARY` environment variable: + +, ]} + defaultTabType="OS" +> + + + +```terminal highlight=2;normal +Current platform : darwin +Query Engine : query-engine d6ff7119649922b84e413b3b69660e2f49e2ddf3 (at /custom/my-query-engine-unix) +Migration Engine : migration-engine-cli d6ff7119649922b84e413b3b69660e2f49e2ddf3 (at /myproject/node_modules/@prisma/engines/migration-engine-unix) +Introspection Engine : introspection-core d6ff7119649922b84e413b3b69660e2f49e2ddf3 (at /myproject/node_modules/@prisma/engines/introspection-engine-unix) +``` + + + + +```terminal highlight=2;normal +Current platform : windows +Query Engine : query-engine d6ff7119649922b84e413b3b69660e2f49e2ddf3 (at c:\custom\my-query-engine-windows.exe) +Migration Engine : migration-engine-cli d6ff7119649922b84e413b3b69660e2f49e2ddf3 (at c:\myproject\node_modules\@prisma\engines\migration-engine-windows.exe) +Introspection Engine : introspection-core d6ff7119649922b84e413b3b69660e2f49e2ddf3 (at c:\myproject\node_modules\@prisma\engines\introspection-engine-windows.exe) +``` + + + + + +### Hosting engines + +The [`PRISMA_ENGINES_MIRROR`](/reference/api-reference/environment-variables-reference#prisma_engines_mirror) environment variable allows you to host engine files via a private server, AWS bucket or other cloud storage. +This can be useful if you have a custom OS that requires custom-built engines. + +```terminal +PRISMA_ENGINES_MIRROR=https://my-aws-bucket +``` + ## The query engine file The **query engine file** is different for each operating system. It is named `query-engine-PLATFORM` or `libquery_engine-PLATFORM` where `PLATFORM` corresponds to the name of a compile target. Query engine file extensions depend on the platform as well. As an example, if the query engine must run on a [Darwin]() operating system such as macOS Intel, it is called `libquery_engine-darwin.dylib.node` or `query-engine-darwin`. You can find an overview of all supported platforms [here](/reference/api-reference/prisma-schema-reference#binarytargets-options). diff --git a/content/200-orm/800-more/100-under-the-hood/index.mdx b/content/200-orm/800-more/100-under-the-hood/index.mdx new file mode 100644 index 0000000000..e252c3fa96 --- /dev/null +++ b/content/200-orm/800-more/100-under-the-hood/index.mdx @@ -0,0 +1,15 @@ +--- +title: 'Prisma engines' +metaTitle: 'Prisma engines' +metaDescription: 'Learn about Prisma internals and how it works "under the hood". Prisma tools are based on an engine-layer which manages the communication with the database.' +--- + + + +This page gives an overview of the Prisma internals and how it works "under the hood". + +Note that **this page does not contain any practical information that is relevant for _using_ Prisma**. It rather aims at providing a _mental model_ for what the Prisma toolkit _actually_ is and how the different tools that are available to developers are structured. + +If you're new to Prisma, be sure to check out the [Quickstart](/getting-started/quickstart) and [Introduction](/concepts/overview/what-is-prisma) pages first. + + diff --git a/content/200-orm/400-tools/08-prisma-engines/query-engine-node-js-at-runtime.png b/content/200-orm/800-more/100-under-the-hood/query-engine-node-js-at-runtime.png similarity index 100% rename from content/200-orm/400-tools/08-prisma-engines/query-engine-node-js-at-runtime.png rename to content/200-orm/800-more/100-under-the-hood/query-engine-node-js-at-runtime.png diff --git a/content/200-orm/400-tools/08-prisma-engines/typical-flow-query-engine-at-runtime.png b/content/200-orm/800-more/100-under-the-hood/typical-flow-query-engine-at-runtime.png similarity index 100% rename from content/200-orm/400-tools/08-prisma-engines/typical-flow-query-engine-at-runtime.png rename to content/200-orm/800-more/100-under-the-hood/typical-flow-query-engine-at-runtime.png diff --git a/content/200-orm/800-more/300-telemetry.mdx b/content/200-orm/800-more/300-telemetry.mdx deleted file mode 100644 index 2d15e8b129..0000000000 --- a/content/200-orm/800-more/300-telemetry.mdx +++ /dev/null @@ -1,71 +0,0 @@ ---- -title: 'Telemetry' -metaTitle: 'Telemetry (Reference)' -metaDescription: 'This page explains how Prisma uses telemetry features to improve the Prisma developer experience.' ---- - -## Overview - -The term **telemetry** refers to the collection of certain usage data to help _improve the quality of a piece of software_. Prisma uses telemetry in two contexts: - -- when it collects CLI usage data -- when it submits CLI error reports - -This page describes the overall telemetry approach for Prisma, what kind of data is collected and how to opt-out of data collection. - -## Why does Prisma collect metrics? - -Telemetry helps us better understand _how many users_ are using our products and _how often_ they are using our products. Unlike many telemetry services, our telemetry implementation is intentionally limited in scope and is actually useful for the developer: - -- **Limited in scope**: We use telemetry to answer one question: how many monthly active developers are using Prisma CLI? -- **Provides value**: Our telemetry service also checks for version updates and offers security notices. - -## When is data collected? - -Data is collected in two scenarios that are described below. - -### Usage data - -Invocations of the `prisma` CLI and general usage of Studio results in data being sent to the telemetry server at https://checkpoint.prisma.io. Note that: - -- The data does **not** include your schema or the data in your database -- Prisma only sends information after you execute a CLI command - -Here is an overview of the data that's being submitted: - -| Field | Attributes | Description | -| -------------: | :--------: | :------------------------------------------------------------------------------------- | -| `product` | _string_ | Name of the product (e.g. `prisma`) | -| `version` | _string_ | Currently installed version of the product (e.g. `1.0.0-rc0`) | -| `arch` | _string_ | Client's operating system architecture (e.g. `amd64`). | -| `os` | _string_ | Client's operating system (e.g. `darwin`). | -| `node_version` | _string_ | Client's node version (e.g. `v12.12.0`). | -| `signature` | _string_ | Random, non-identifiable signature UUID (e.g. `91b014df3-9dda-4a27-a8a7-15474fd899f8`) | -| `user_agent` | _string_ | User agent of the checkpoint client (e.g. `prisma/js-checkpoint`) | -| `timestamp` | _string_ | When the request was made in RFC3339 format (e.g. `2019-12-12T17:45:56Z`) | - -You can opt-out of this behavior by setting the `CHECKPOINT_DISABLE` environment variable to `1`, e.g.: - -```terminal -export CHECKPOINT_DISABLE=1 -``` - -### Error reporting - -Prisma potentially collects error data when there is a crash in the CLI. - -Before an error report is submitted, there will _always_ be a prompt asking you to confirm or deny the submission of the error report! Error reports are never submitted without your explicit consent! - -## How to opt-out of data collection? - -### Usage data - -You can opt-out of usage data collection by setting the `CHECKPOINT_DISABLE` environment variable to `1`, e.g.: - -```terminal -export CHECKPOINT_DISABLE=1 -``` - -### Error reporting - -You can opt-out of data collection by responding to the interactive prompt with _no_. diff --git a/content/300-guides/300-upgrade-guides/200-upgrading-versions/600-upgrading-to-prisma-5/001-rejectonnotfound-changes.mdx b/content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/600-upgrading-to-prisma-5/001-rejectonnotfound-changes.mdx similarity index 100% rename from content/300-guides/300-upgrade-guides/200-upgrading-versions/600-upgrading-to-prisma-5/001-rejectonnotfound-changes.mdx rename to content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/600-upgrading-to-prisma-5/001-rejectonnotfound-changes.mdx diff --git a/content/300-guides/300-upgrade-guides/200-upgrading-versions/600-upgrading-to-prisma-5/101-jsonprotocol-changes.mdx b/content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/600-upgrading-to-prisma-5/101-jsonprotocol-changes.mdx similarity index 100% rename from content/300-guides/300-upgrade-guides/200-upgrading-versions/600-upgrading-to-prisma-5/101-jsonprotocol-changes.mdx rename to content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/600-upgrading-to-prisma-5/101-jsonprotocol-changes.mdx diff --git a/content/300-guides/300-upgrade-guides/200-upgrading-versions/600-upgrading-to-prisma-5/index.mdx b/content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/600-upgrading-to-prisma-5/index.mdx similarity index 100% rename from content/300-guides/300-upgrade-guides/200-upgrading-versions/600-upgrading-to-prisma-5/index.mdx rename to content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/600-upgrading-to-prisma-5/index.mdx diff --git a/content/300-guides/300-upgrade-guides/200-upgrading-versions/700-upgrading-to-prisma-4.mdx b/content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/700-upgrading-to-prisma-4.mdx similarity index 100% rename from content/300-guides/300-upgrade-guides/200-upgrading-versions/700-upgrading-to-prisma-4.mdx rename to content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/700-upgrading-to-prisma-4.mdx diff --git a/content/300-guides/300-upgrade-guides/200-upgrading-versions/800-upgrading-to-prisma-3/100-named-constraints.mdx b/content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/800-upgrading-to-prisma-3/100-named-constraints.mdx similarity index 100% rename from content/300-guides/300-upgrade-guides/200-upgrading-versions/800-upgrading-to-prisma-3/100-named-constraints.mdx rename to content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/800-upgrading-to-prisma-3/100-named-constraints.mdx diff --git a/content/300-guides/300-upgrade-guides/200-upgrading-versions/800-upgrading-to-prisma-3/150-referential-actions.mdx b/content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/800-upgrading-to-prisma-3/150-referential-actions.mdx similarity index 100% rename from content/300-guides/300-upgrade-guides/200-upgrading-versions/800-upgrading-to-prisma-3/150-referential-actions.mdx rename to content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/800-upgrading-to-prisma-3/150-referential-actions.mdx diff --git a/content/300-guides/300-upgrade-guides/200-upgrading-versions/800-upgrading-to-prisma-3/index.mdx b/content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/800-upgrading-to-prisma-3/index.mdx similarity index 100% rename from content/300-guides/300-upgrade-guides/200-upgrading-versions/800-upgrading-to-prisma-3/index.mdx rename to content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/800-upgrading-to-prisma-3/index.mdx diff --git a/content/300-guides/300-upgrade-guides/200-upgrading-versions/900-codemods.mdx b/content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/900-codemods.mdx similarity index 100% rename from content/300-guides/300-upgrade-guides/200-upgrading-versions/900-codemods.mdx rename to content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/900-codemods.mdx diff --git a/content/300-guides/300-upgrade-guides/200-upgrading-versions/index.mdx b/content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/index.mdx similarity index 100% rename from content/300-guides/300-upgrade-guides/200-upgrading-versions/index.mdx rename to content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/index.mdx diff --git a/content/300-guides/300-upgrade-guides/250-upgrading-to-use-preview-features.mdx b/content/200-orm/800-more/300-upgrade-guides/250-upgrading-to-use-preview-features.mdx similarity index 100% rename from content/300-guides/300-upgrade-guides/250-upgrading-to-use-preview-features.mdx rename to content/200-orm/800-more/300-upgrade-guides/250-upgrading-to-use-preview-features.mdx diff --git a/content/300-guides/300-upgrade-guides/800-upgrade-from-prisma-1/01-how-to-upgrade.mdx b/content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/01-how-to-upgrade.mdx similarity index 100% rename from content/300-guides/300-upgrade-guides/800-upgrade-from-prisma-1/01-how-to-upgrade.mdx rename to content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/01-how-to-upgrade.mdx diff --git a/content/300-guides/300-upgrade-guides/800-upgrade-from-prisma-1/02-schema-incompatibilities.mdx b/content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/02-schema-incompatibilities.mdx similarity index 100% rename from content/300-guides/300-upgrade-guides/800-upgrade-from-prisma-1/02-schema-incompatibilities.mdx rename to content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/02-schema-incompatibilities.mdx diff --git a/content/300-guides/300-upgrade-guides/800-upgrade-from-prisma-1/03-upgrading-the-prisma-layer.mdx b/content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/03-upgrading-the-prisma-layer.mdx similarity index 100% rename from content/300-guides/300-upgrade-guides/800-upgrade-from-prisma-1/03-upgrading-the-prisma-layer.mdx rename to content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/03-upgrading-the-prisma-layer.mdx diff --git a/content/300-guides/300-upgrade-guides/800-upgrade-from-prisma-1/04-upgrading-nexus-prisma-to-nexus.mdx b/content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/04-upgrading-nexus-prisma-to-nexus.mdx similarity index 100% rename from content/300-guides/300-upgrade-guides/800-upgrade-from-prisma-1/04-upgrading-nexus-prisma-to-nexus.mdx rename to content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/04-upgrading-nexus-prisma-to-nexus.mdx diff --git a/content/300-guides/300-upgrade-guides/800-upgrade-from-prisma-1/05-upgrading-prisma-binding-to-nexus.mdx b/content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/05-upgrading-prisma-binding-to-nexus.mdx similarity index 100% rename from content/300-guides/300-upgrade-guides/800-upgrade-from-prisma-1/05-upgrading-prisma-binding-to-nexus.mdx rename to content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/05-upgrading-prisma-binding-to-nexus.mdx diff --git a/content/300-guides/300-upgrade-guides/800-upgrade-from-prisma-1/06-upgrading-prisma-binding-to-sdl-first.mdx b/content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/06-upgrading-prisma-binding-to-sdl-first.mdx similarity index 100% rename from content/300-guides/300-upgrade-guides/800-upgrade-from-prisma-1/06-upgrading-prisma-binding-to-sdl-first.mdx rename to content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/06-upgrading-prisma-binding-to-sdl-first.mdx diff --git a/content/300-guides/300-upgrade-guides/800-upgrade-from-prisma-1/07-upgrading-a-rest-api.mdx b/content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/07-upgrading-a-rest-api.mdx similarity index 100% rename from content/300-guides/300-upgrade-guides/800-upgrade-from-prisma-1/07-upgrading-a-rest-api.mdx rename to content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/07-upgrading-a-rest-api.mdx diff --git a/content/300-guides/300-upgrade-guides/800-upgrade-from-prisma-1/08-upgrade-from-mongodb-beta.mdx b/content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/08-upgrade-from-mongodb-beta.mdx similarity index 100% rename from content/300-guides/300-upgrade-guides/800-upgrade-from-prisma-1/08-upgrade-from-mongodb-beta.mdx rename to content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/08-upgrade-from-mongodb-beta.mdx diff --git a/content/300-guides/300-upgrade-guides/800-upgrade-from-prisma-1/images/TablePlus-GUI.png b/content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/images/TablePlus-GUI.png similarity index 100% rename from content/300-guides/300-upgrade-guides/800-upgrade-from-prisma-1/images/TablePlus-GUI.png rename to content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/images/TablePlus-GUI.png diff --git a/content/300-guides/300-upgrade-guides/800-upgrade-from-prisma-1/images/add-missing-default-constraints-to-columns.png b/content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/images/add-missing-default-constraints-to-columns.png similarity index 100% rename from content/300-guides/300-upgrade-guides/800-upgrade-from-prisma-1/images/add-missing-default-constraints-to-columns.png rename to content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/images/add-missing-default-constraints-to-columns.png diff --git a/content/300-guides/300-upgrade-guides/800-upgrade-from-prisma-1/images/altering-columns-to-use-enum.png b/content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/images/altering-columns-to-use-enum.png similarity index 100% rename from content/300-guides/300-upgrade-guides/800-upgrade-from-prisma-1/images/altering-columns-to-use-enum.png rename to content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/images/altering-columns-to-use-enum.png diff --git a/content/300-guides/300-upgrade-guides/800-upgrade-from-prisma-1/images/download-graphql-schema.png b/content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/images/download-graphql-schema.png similarity index 100% rename from content/300-guides/300-upgrade-guides/800-upgrade-from-prisma-1/images/download-graphql-schema.png rename to content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/images/download-graphql-schema.png diff --git a/content/300-guides/300-upgrade-guides/800-upgrade-from-prisma-1/images/expose-prisma-model-fields-with-t-model.png b/content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/images/expose-prisma-model-fields-with-t-model.png similarity index 100% rename from content/300-guides/300-upgrade-guides/800-upgrade-from-prisma-1/images/expose-prisma-model-fields-with-t-model.png rename to content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/images/expose-prisma-model-fields-with-t-model.png diff --git a/content/300-guides/300-upgrade-guides/800-upgrade-from-prisma-1/images/fix-columns-with-json-data-types.png b/content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/images/fix-columns-with-json-data-types.png similarity index 100% rename from content/300-guides/300-upgrade-guides/800-upgrade-from-prisma-1/images/fix-columns-with-json-data-types.png rename to content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/images/fix-columns-with-json-data-types.png diff --git a/content/300-guides/300-upgrade-guides/800-upgrade-from-prisma-1/images/fix-incorrect-m-n-relations-sql.png b/content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/images/fix-incorrect-m-n-relations-sql.png similarity index 100% rename from content/300-guides/300-upgrade-guides/800-upgrade-from-prisma-1/images/fix-incorrect-m-n-relations-sql.png rename to content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/images/fix-incorrect-m-n-relations-sql.png diff --git a/content/300-guides/300-upgrade-guides/800-upgrade-from-prisma-1/images/fix-schema-incompatibilities.png b/content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/images/fix-schema-incompatibilities.png similarity index 100% rename from content/300-guides/300-upgrade-guides/800-upgrade-from-prisma-1/images/fix-schema-incompatibilities.png rename to content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/images/fix-schema-incompatibilities.png diff --git a/content/300-guides/300-upgrade-guides/800-upgrade-from-prisma-1/images/prisma-cli-introspection-flow.png b/content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/images/prisma-cli-introspection-flow.png similarity index 100% rename from content/300-guides/300-upgrade-guides/800-upgrade-from-prisma-1/images/prisma-cli-introspection-flow.png rename to content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/images/prisma-cli-introspection-flow.png diff --git a/content/300-guides/300-upgrade-guides/800-upgrade-from-prisma-1/images/regenerate-resolvers-with-t-crud.png b/content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/images/regenerate-resolvers-with-t-crud.png similarity index 100% rename from content/300-guides/300-upgrade-guides/800-upgrade-from-prisma-1/images/regenerate-resolvers-with-t-crud.png rename to content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/images/regenerate-resolvers-with-t-crud.png diff --git a/content/300-guides/300-upgrade-guides/800-upgrade-from-prisma-1/images/run-sql-command-to-alter-column.png b/content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/images/run-sql-command-to-alter-column.png similarity index 100% rename from content/300-guides/300-upgrade-guides/800-upgrade-from-prisma-1/images/run-sql-command-to-alter-column.png rename to content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/images/run-sql-command-to-alter-column.png diff --git a/content/300-guides/300-upgrade-guides/800-upgrade-from-prisma-1/images/use-t-crud-to-generate-resolvers.png b/content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/images/use-t-crud-to-generate-resolvers.png similarity index 100% rename from content/300-guides/300-upgrade-guides/800-upgrade-from-prisma-1/images/use-t-crud-to-generate-resolvers.png rename to content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/images/use-t-crud-to-generate-resolvers.png diff --git a/content/300-guides/300-upgrade-guides/800-upgrade-from-prisma-1/index.mdx b/content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/index.mdx similarity index 100% rename from content/300-guides/300-upgrade-guides/800-upgrade-from-prisma-1/index.mdx rename to content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/index.mdx diff --git a/content/200-orm/800-more/300-upgrade-guides/index.mdx b/content/200-orm/800-more/300-upgrade-guides/index.mdx new file mode 100644 index 0000000000..c1dcfb7b46 --- /dev/null +++ b/content/200-orm/800-more/300-upgrade-guides/index.mdx @@ -0,0 +1,10 @@ +--- +title: 'Upgrade guides' +metaTitle: 'Upgrade guides' +metaDescription: 'Upgrade guides' +toc: false +--- + +## In this section + + diff --git a/content/300-guides/300-upgrade-guides/index.mdx b/content/300-guides/300-upgrade-guides/index.mdx deleted file mode 100644 index ed99992763..0000000000 --- a/content/300-guides/300-upgrade-guides/index.mdx +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 'Upgrading' -metaTitle: 'Upgrading (Guides)' -metaDescription: 'How to upgrade from Prisma 1 to Prisma 2.' -staticLink: true -toc: false ---- - -## In this section - - diff --git a/content/400-reference/200-api-reference/index.mdx b/content/400-reference/200-api-reference/index.mdx deleted file mode 100644 index 3b79a51cac..0000000000 --- a/content/400-reference/200-api-reference/index.mdx +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 'API reference' -metaTitle: 'API Reference' -metaDescription: 'API Reference' -toc: false -staticLink: true ---- - -## In this section - - diff --git a/content/400-reference/300-database-reference/index.mdx b/content/400-reference/300-database-reference/index.mdx deleted file mode 100644 index a16347e353..0000000000 --- a/content/400-reference/300-database-reference/index.mdx +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 'Database reference' -metaTitle: 'Database Reference' -metaDescription: 'Database Reference' -toc: false -staticLink: true ---- - -## In this section - - From 6d7dd6580805a141b88226bfac1d5a8f2309b4f6 Mon Sep 17 00:00:00 2001 From: Nikolas Burk Date: Mon, 27 Nov 2023 14:42:40 +0100 Subject: [PATCH 008/100] finalized structure but with bug --- config.ts | 18 +- .../embedded-replica-create-replica.png | Bin .../images/embedded-replica-read.png | Bin .../images/embedded-replica-remote-read.png | Bin .../embedded-replica-write-propagation.png | Bin .../050-raw-queries.mdx} | 4 +- .../100-custom-and-type-safe-queries.mdx} | 6 +- .../090-raw-database-access/index.mdx | 15 + .../100-query-optimization-performance.mdx} | 0 .../830-prisma-type-system.mdx | 0 .../450-testing}/100-unit-testing.mdx | 0 .../450-testing}/150-integration-testing.mdx | 0 .../450-testing}/Docker_Diagram_V1.png | Bin .../100-prisma-client/450-testing}/index.mdx | 1 - ...et-started.mdx => 050-getting-started.mdx} | 6 +- .../800-more/100-under-the-hood/index.mdx | 4 +- .../01-migrate-from-typeorm.mdx | 0 .../02-migrate-from-sequelize.mdx | 0 .../03-migrate-from-mongoose.mdx | 0 .../450-migrating-to-prisma}/index.mdx | 4 +- .../040-env-files.mdx | 0 ...naging-env-files-and-setting-variables.mdx | 0 .../200-using-multiple-env-files.mdx | 0 .../050-environment-variables/index.mdx | 0 .../100-editor-setup.mdx | 2 - .../500-development-environment}/index.mdx | 6 +- .../050-creating-bug-reports.mdx | 0 ...ompletion-in-graphql-resolvers-with-js.mdx | 0 ...00-working-with-many-to-many-relations.mdx | 2 +- ...400-nextjs-prisma-client-dev-practices.mdx | 0 .../425-nextjs-prisma-client-monorepo.mdx | 0 .../100-help-articles/450-pkg-issue.mdx | 0 ...-comparing-columns-through-raw-queries.mdx | 0 .../600-vercel-caching-issue.mdx | 0 .../700-netlify-caching-issue.mdx | 0 .../800-check-constraints.mdx} | 0 .../100-help-articles/index.mdx | 0 .../netlify-build-command-filled.png | Bin .../netlify-edit-settings.png | Bin .../prisma-autocompletion-in-js.png | Bin ...unwanted-autocomplete-values-in-vscode.png | Bin .../vercel-ui-build-command-filled.png | Bin .../vercel-ui-build-command.png | Bin .../600-help-and-troubleshooting/index.mdx | 15 + .../100-what-is-accelerate.mdx | 0 .../200-getting-started.mdx | 0 .../300-concepts.mdx | 0 .../400-api-reference.mdx | 0 .../500-limitations.mdx | 0 .../550-evaluating.mdx | 0 .../600-faq.mdx | 0 .../700-feedback.mdx | 0 ...rate-update-database-connection-string.png | Bin .../images/accelerate.png | Bin .../images/no-cache.png | Bin .../images/speed-test.png | Bin .../images/swr.png | Bin .../images/ttl.png | Bin .../images/ttl_and_swr.png | Bin content/300-accelerate/index.mdx | 16 + content/300-guides/050-database/index.mdx | 15 - .../090-metrics.mdx | 16 - .../095-query-tracing.mdx | 14 - .../index.mdx | 15 - .../880-troubleshooting-orm/index.mdx | 56 - .../06-typesafe-raw-sql/index.mdx | 16 - .../07-data-validation/index.mdx | 21 - .../900-advanced-database-tasks/index.mdx | 15 - content/300-guides/500-other/index.mdx | 15 - content/300-guides/index.mdx | 15 - .../100-what-is-pulse.mdx | 0 .../200-getting-started.mdx | 0 .../200-pulse => 400-pulse}/300-concepts.mdx | 0 .../400-api-reference.mdx | 0 .../500-current-limitations.mdx | 0 .../200-pulse => 400-pulse}/600-faq.mdx | 0 .../200-pulse => 400-pulse}/700-feedback.mdx | 0 content/400-pulse/index.mdx | 16 + .../100-accelerate/index.mdx | 10 - content/800-data-platform/200-pulse/index.mdx | 11 - .../300-platform-console/10-about.mdx | 0 .../20-concepts/10-workspaces.mdx | 0 .../20-concepts/20-projects.mdx | 0 .../20-concepts/index.mdx | 0 .../30-maturity-levels.mdx | 0 .../300-platform-console/40-limits.mdx | 0 .../300-platform-console/50-support.mdx | 0 .../300-platform-console/index.mdx | 0 .../050-data-proxy/100-use-data-proxy.mdx | 0 .../050-data-proxy/500-deploy.mdx | 0 .../700-prisma-cli-with-data-proxy.mdx | 0 .../900-considerations-limitations.mdx | 0 .../050-data-proxy/index.mdx | 0 .../100-platform/060-static-ips.mdx | 0 .../100-platform/200-projects/100-create.mdx | 0 .../200-projects/200-edit-settings.mdx | 0 .../200-projects/300-delete-project.mdx | 0 .../100-platform/200-projects/index.mdx | 0 .../250-environments/100-view-all.mdx | 0 .../250-environments/200-create.mdx | 0 .../100-edit-name-and-url-handle.mdx | 0 .../300-change-default-environment.mdx | 0 .../300-edit-settings/index.mdx | 0 .../250-environments/400-delete.mdx | 0 .../100-platform/250-environments/index.mdx | 0 .../400-members/050-roles-permissions.mdx | 0 .../100-platform/400-members/100-add.mdx | 0 .../400-members/300-change-role.mdx | 0 .../100-platform/400-members/400-remove.mdx | 0 .../team-members-invite-and-select-role.png | Bin .../team-members-invite-and-select-role.snagx | Bin .../100-platform/400-members/index.mdx | 0 .../100-platform/500-data-browser.mdx | 0 .../100-platform/600-query-console.mdx | 0 .../100-platform/700-schema-viewer.mdx | 0 .../100-platform/800-account.mdx | 0 .../100-platform/825-github-integration.mdx | 0 .../050-connection-to-db-timed-out.mdx | 0 .../080-cannot-change-db-of-env.mdx | 0 .../100-cannot-edit-schema-file.mdx | 0 .../200-schema-file-does-not-update.mdx | 0 .../900-troubleshooting/index.mdx | 0 .../100-platform/index.mdx | 0 .../600-classic-projects/980-support.mdx | 0 .../account/profile-menu-github-account.png | Bin .../account/profile-menu-github-account.snagx | Bin .../sign-up-01-create-first-project.png | Bin .../sign-up-01-create-first-project.snagx | Bin .../images/common/open-project-settings.png | Bin .../images/common/open-project-settings.snagx | Bin .../images/common/support-pop-up.png | Bin .../images/common/support-pop-up.snagx | Bin .../images/data-browser/01-models-view.png | Bin .../images/data-browser/01-models-view.snagx | Bin .../data-browser/02-open-close-models.png | Bin .../data-browser/02-open-close-models.snagx | Bin .../03-model-view-keyboard-shortcuts.png | Bin .../03-model-view-keyboard-shortcuts.snagx | Bin .../data-browser/04-save-multiple-changes.png | Bin .../04-save-multiple-changes.snagx | Bin .../data-browser/05-add-remove-filters.png | Bin .../data-browser/05-add-remove-filters.snagx | Bin .../data-browser/06-show-hide-fields.png | Bin .../data-browser/06-show-hide-fields.snagx | Bin .../data-browser/07-show-hide-records.png | Bin .../data-browser/07-show-hide-records.snagx | Bin .../images/data-browser/08-model-sort.png | Bin .../images/data-browser/08-model-sort.snagx | Bin .../images/data-browser/array.svg | 0 .../images/data-browser/boolean.svg | 0 .../images/data-browser/database.svg | 0 .../images/data-browser/datetime.svg | 0 .../images/data-browser/enum.svg | 0 .../images/data-browser/number.svg | 0 .../images/data-browser/object.svg | 0 .../images/data-browser/string.svg | 0 .../data-proxy/copy-connection-string.png | Bin .../data-proxy/copy-connection-string.snagx | Bin .../create-and-name-new-connection-string.png | Bin ...reate-and-name-new-connection-string.snagx | Bin .../prisma-bundle-with-data-proxy.svg | 0 .../prisma-bundle-without-data-proxy.svg | 0 .../create-01-drop-down-select-create.png | Bin .../create-01-drop-down-select-create.snagx | Bin .../create-env-upload-schema-file.png | Bin ...-database-connection-string-data-proxy.png | Bin ...atabase-connection-string-data-proxy.snagx | Bin ...on-string-static-ips-data-proxy-region.png | Bin ...-string-static-ips-data-proxy-region.snagx | Bin .../environments/default-environment.png | Bin .../environments/default-environment.snagx | Bin ...elete-01-click-three-dot-select-delete.png | Bin ...ete-01-click-three-dot-select-delete.snagx | Bin ...t-01-change-database-connection-string.png | Bin ...01-change-database-connection-string.snagx | Bin .../environments/edit-01-change-default.png | Bin .../environments/edit-01-change-default.snagx | Bin .../edit-01-change-name-and-URL-handle.png | Bin .../edit-01-change-name-and-URL-handle.snagx | Bin .../environments/list-all-environments.png | Bin .../environments/list-all-environments.snagx | Bin .../environments/switch-environment.png | Bin .../environments/switch-environment.snagx | Bin ...all-01-environments-drop-down-view-all.png | Bin ...l-01-environments-drop-down-view-all.snagx | Bin .../github/add-github-account-or-org.png | Bin .../github/add-github-account-or-org.snagx | Bin .../images/github/grant-access-github-app.png | Bin .../github/grant-access-github-app.snagx | Bin ...t-access-to-select-github-repositories.png | Bin ...access-to-select-github-repositories.snagx | Bin ...sync-github-account-branch-schema-path.png | Bin ...nc-github-account-branch-schema-path.snagx | Bin ...-02-link-schema-file-from-a-repository.png | Bin .../projects/create-02-upload-schema-file.png | Bin .../prisma-data-platform-projects-page.png | Bin .../prisma-data-platform-projects-page.snagx | Bin .../add-query-with-autocomplete.png | Bin .../add-query-with-autocomplete.snagx | Bin .../images/query-console/components.png | Bin .../images/query-console/components.snagx | Bin .../images/query-console/run-query.png | Bin .../images/query-console/run-query.snagx | Bin .../images/schema-viewer/overview.png | Bin .../images/schema-viewer/overview.snagx | Bin .../project-introspected-schema.png | Bin .../project-introspected-schema.snagx | Bin .../project-no-models-no-schema.png | Bin .../project-no-models-no-schema.snagx | Bin .../schema-viewer/project-schema-viewer.png | Bin .../schema-viewer/provide-prisma-schema.png | Bin .../schema-viewer/provide-prisma-schema.snagx | Bin .../600-classic-projects/index.mdx | 0 .../index.mdx | 4 +- content/doc-images/unused/DxuOs88.png | Bin 23303 -> 0 bytes content/doc-images/unused/H2TCRc5.png | Bin 18476 -> 0 bytes content/doc-images/unused/OImder6.png | Bin 32802 -> 0 bytes content/doc-images/unused/kOO4eh2.png | Bin 15222 -> 0 bytes content/doc-images/unused/nycymr8.png | Bin 17667 -> 0 bytes package-lock.json | 5262 +++++++++-------- 220 files changed, 2976 insertions(+), 2624 deletions(-) rename content/{300-guides/050-database => 200-orm/050-overview/100-introduction/500-databases}/images/embedded-replica-create-replica.png (100%) rename content/{300-guides/050-database => 200-orm/050-overview/100-introduction/500-databases}/images/embedded-replica-read.png (100%) rename content/{300-guides/050-database => 200-orm/050-overview/100-introduction/500-databases}/images/embedded-replica-remote-read.png (100%) rename content/{300-guides/050-database => 200-orm/050-overview/100-introduction/500-databases}/images/embedded-replica-write-propagation.png (100%) rename content/200-orm/100-prisma-client/100-queries/{090-raw-database-access.mdx => 090-raw-database-access/050-raw-queries.mdx} (99%) rename content/{300-guides/500-other/900-advanced-database-tasks/06-typesafe-raw-sql/01-safeql.mdx => 200-orm/100-prisma-client/100-queries/090-raw-database-access/100-custom-and-type-safe-queries.mdx} (97%) create mode 100644 content/200-orm/100-prisma-client/100-queries/090-raw-database-access/index.mdx rename content/{300-guides/100-performance-and-optimization/085-query-optimization-performance.mdx => 200-orm/100-prisma-client/100-queries/100-query-optimization-performance.mdx} (100%) rename content/{300-guides/500-other => 200-orm/100-prisma-client/400-type-safety}/830-prisma-type-system.mdx (100%) rename content/{300-guides/150-testing => 200-orm/100-prisma-client/450-testing}/100-unit-testing.mdx (100%) rename content/{300-guides/150-testing => 200-orm/100-prisma-client/450-testing}/150-integration-testing.mdx (100%) rename content/{300-guides/150-testing => 200-orm/100-prisma-client/450-testing}/Docker_Diagram_V1.png (100%) rename content/{300-guides/150-testing => 200-orm/100-prisma-client/450-testing}/index.mdx (94%) rename content/200-orm/200-prisma-migrate/{050-get-started.mdx => 050-getting-started.mdx} (98%) rename content/{300-guides/400-migrate-to-prisma => 200-orm/800-more/450-migrating-to-prisma}/01-migrate-from-typeorm.mdx (100%) rename content/{300-guides/400-migrate-to-prisma => 200-orm/800-more/450-migrating-to-prisma}/02-migrate-from-sequelize.mdx (100%) rename content/{300-guides/400-migrate-to-prisma => 200-orm/800-more/450-migrating-to-prisma}/03-migrate-from-mongoose.mdx (100%) rename content/{300-guides/400-migrate-to-prisma => 200-orm/800-more/450-migrating-to-prisma}/index.mdx (66%) rename content/{300-guides/125-development-environment => 200-orm/800-more/500-development-environment}/050-environment-variables/040-env-files.mdx (100%) rename content/{300-guides/125-development-environment => 200-orm/800-more/500-development-environment}/050-environment-variables/100-managing-env-files-and-setting-variables.mdx (100%) rename content/{300-guides/125-development-environment => 200-orm/800-more/500-development-environment}/050-environment-variables/200-using-multiple-env-files.mdx (100%) rename content/{300-guides/125-development-environment => 200-orm/800-more/500-development-environment}/050-environment-variables/index.mdx (100%) rename content/{300-guides/125-development-environment => 200-orm/800-more/500-development-environment}/100-editor-setup.mdx (99%) rename content/{300-guides/125-development-environment => 200-orm/800-more/500-development-environment}/index.mdx (94%) rename content/{300-guides/500-other/880-troubleshooting-orm => 200-orm/800-more/600-help-and-troubleshooting}/050-creating-bug-reports.mdx (100%) rename content/{300-guides/500-other/880-troubleshooting-orm => 200-orm/800-more/600-help-and-troubleshooting}/100-help-articles/100-autocompletion-in-graphql-resolvers-with-js.mdx (100%) rename content/{300-guides/500-other/880-troubleshooting-orm => 200-orm/800-more/600-help-and-troubleshooting}/100-help-articles/200-working-with-many-to-many-relations.mdx (99%) rename content/{300-guides/500-other/880-troubleshooting-orm => 200-orm/800-more/600-help-and-troubleshooting}/100-help-articles/400-nextjs-prisma-client-dev-practices.mdx (100%) rename content/{300-guides/500-other/880-troubleshooting-orm => 200-orm/800-more/600-help-and-troubleshooting}/100-help-articles/425-nextjs-prisma-client-monorepo.mdx (100%) rename content/{300-guides/500-other/880-troubleshooting-orm => 200-orm/800-more/600-help-and-troubleshooting}/100-help-articles/450-pkg-issue.mdx (100%) rename content/{300-guides/500-other/880-troubleshooting-orm => 200-orm/800-more/600-help-and-troubleshooting}/100-help-articles/500-comparing-columns-through-raw-queries.mdx (100%) rename content/{300-guides/500-other/880-troubleshooting-orm => 200-orm/800-more/600-help-and-troubleshooting}/100-help-articles/600-vercel-caching-issue.mdx (100%) rename content/{300-guides/500-other/880-troubleshooting-orm => 200-orm/800-more/600-help-and-troubleshooting}/100-help-articles/700-netlify-caching-issue.mdx (100%) rename content/{300-guides/500-other/900-advanced-database-tasks/07-data-validation/01-postgresql.mdx => 200-orm/800-more/600-help-and-troubleshooting/100-help-articles/800-check-constraints.mdx} (100%) rename content/{300-guides/500-other/880-troubleshooting-orm => 200-orm/800-more/600-help-and-troubleshooting}/100-help-articles/index.mdx (100%) rename content/{300-guides/500-other/880-troubleshooting-orm => 200-orm/800-more/600-help-and-troubleshooting}/100-help-articles/netlify-build-command-filled.png (100%) rename content/{300-guides/500-other/880-troubleshooting-orm => 200-orm/800-more/600-help-and-troubleshooting}/100-help-articles/netlify-edit-settings.png (100%) rename content/{300-guides/500-other/880-troubleshooting-orm => 200-orm/800-more/600-help-and-troubleshooting}/100-help-articles/prisma-autocompletion-in-js.png (100%) rename content/{300-guides/500-other/880-troubleshooting-orm => 200-orm/800-more/600-help-and-troubleshooting}/100-help-articles/unwanted-autocomplete-values-in-vscode.png (100%) rename content/{300-guides/500-other/880-troubleshooting-orm => 200-orm/800-more/600-help-and-troubleshooting}/100-help-articles/vercel-ui-build-command-filled.png (100%) rename content/{300-guides/500-other/880-troubleshooting-orm => 200-orm/800-more/600-help-and-troubleshooting}/100-help-articles/vercel-ui-build-command.png (100%) create mode 100644 content/200-orm/800-more/600-help-and-troubleshooting/index.mdx rename content/{800-data-platform/100-accelerate => 300-accelerate}/100-what-is-accelerate.mdx (100%) rename content/{800-data-platform/100-accelerate => 300-accelerate}/200-getting-started.mdx (100%) rename content/{800-data-platform/100-accelerate => 300-accelerate}/300-concepts.mdx (100%) rename content/{800-data-platform/100-accelerate => 300-accelerate}/400-api-reference.mdx (100%) rename content/{800-data-platform/100-accelerate => 300-accelerate}/500-limitations.mdx (100%) rename content/{800-data-platform/100-accelerate => 300-accelerate}/550-evaluating.mdx (100%) rename content/{800-data-platform/100-accelerate => 300-accelerate}/600-faq.mdx (100%) rename content/{800-data-platform/100-accelerate => 300-accelerate}/700-feedback.mdx (100%) rename content/{800-data-platform/100-accelerate => 300-accelerate}/images/accelerate-update-database-connection-string.png (100%) rename content/{800-data-platform/100-accelerate => 300-accelerate}/images/accelerate.png (100%) rename content/{800-data-platform/100-accelerate => 300-accelerate}/images/no-cache.png (100%) rename content/{800-data-platform/100-accelerate => 300-accelerate}/images/speed-test.png (100%) rename content/{800-data-platform/100-accelerate => 300-accelerate}/images/swr.png (100%) rename content/{800-data-platform/100-accelerate => 300-accelerate}/images/ttl.png (100%) rename content/{800-data-platform/100-accelerate => 300-accelerate}/images/ttl_and_swr.png (100%) create mode 100644 content/300-accelerate/index.mdx delete mode 100644 content/300-guides/050-database/index.mdx delete mode 100644 content/300-guides/100-performance-and-optimization/090-metrics.mdx delete mode 100644 content/300-guides/100-performance-and-optimization/095-query-tracing.mdx delete mode 100644 content/300-guides/100-performance-and-optimization/index.mdx delete mode 100644 content/300-guides/500-other/880-troubleshooting-orm/index.mdx delete mode 100644 content/300-guides/500-other/900-advanced-database-tasks/06-typesafe-raw-sql/index.mdx delete mode 100644 content/300-guides/500-other/900-advanced-database-tasks/07-data-validation/index.mdx delete mode 100644 content/300-guides/500-other/900-advanced-database-tasks/index.mdx delete mode 100644 content/300-guides/500-other/index.mdx delete mode 100644 content/300-guides/index.mdx rename content/{800-data-platform/200-pulse => 400-pulse}/100-what-is-pulse.mdx (100%) rename content/{800-data-platform/200-pulse => 400-pulse}/200-getting-started.mdx (100%) rename content/{800-data-platform/200-pulse => 400-pulse}/300-concepts.mdx (100%) rename content/{800-data-platform/200-pulse => 400-pulse}/400-api-reference.mdx (100%) rename content/{800-data-platform/200-pulse => 400-pulse}/500-current-limitations.mdx (100%) rename content/{800-data-platform/200-pulse => 400-pulse}/600-faq.mdx (100%) rename content/{800-data-platform/200-pulse => 400-pulse}/700-feedback.mdx (100%) create mode 100644 content/400-pulse/index.mdx delete mode 100644 content/800-data-platform/100-accelerate/index.mdx delete mode 100644 content/800-data-platform/200-pulse/index.mdx rename content/{800-data-platform => 800-platform}/300-platform-console/10-about.mdx (100%) rename content/{800-data-platform => 800-platform}/300-platform-console/20-concepts/10-workspaces.mdx (100%) rename content/{800-data-platform => 800-platform}/300-platform-console/20-concepts/20-projects.mdx (100%) rename content/{800-data-platform => 800-platform}/300-platform-console/20-concepts/index.mdx (100%) rename content/{800-data-platform => 800-platform}/300-platform-console/30-maturity-levels.mdx (100%) rename content/{800-data-platform => 800-platform}/300-platform-console/40-limits.mdx (100%) rename content/{800-data-platform => 800-platform}/300-platform-console/50-support.mdx (100%) rename content/{800-data-platform => 800-platform}/300-platform-console/index.mdx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/050-data-proxy/100-use-data-proxy.mdx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/050-data-proxy/500-deploy.mdx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/050-data-proxy/700-prisma-cli-with-data-proxy.mdx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/050-data-proxy/900-considerations-limitations.mdx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/050-data-proxy/index.mdx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/100-platform/060-static-ips.mdx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/100-platform/200-projects/100-create.mdx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/100-platform/200-projects/200-edit-settings.mdx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/100-platform/200-projects/300-delete-project.mdx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/100-platform/200-projects/index.mdx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/100-platform/250-environments/100-view-all.mdx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/100-platform/250-environments/200-create.mdx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/100-platform/250-environments/300-edit-settings/100-edit-name-and-url-handle.mdx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/100-platform/250-environments/300-edit-settings/300-change-default-environment.mdx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/100-platform/250-environments/300-edit-settings/index.mdx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/100-platform/250-environments/400-delete.mdx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/100-platform/250-environments/index.mdx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/100-platform/400-members/050-roles-permissions.mdx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/100-platform/400-members/100-add.mdx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/100-platform/400-members/300-change-role.mdx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/100-platform/400-members/400-remove.mdx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/100-platform/400-members/images/team-members-invite-and-select-role.png (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/100-platform/400-members/images/team-members-invite-and-select-role.snagx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/100-platform/400-members/index.mdx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/100-platform/500-data-browser.mdx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/100-platform/600-query-console.mdx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/100-platform/700-schema-viewer.mdx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/100-platform/800-account.mdx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/100-platform/825-github-integration.mdx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/100-platform/900-troubleshooting/050-connection-to-db-timed-out.mdx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/100-platform/900-troubleshooting/080-cannot-change-db-of-env.mdx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/100-platform/900-troubleshooting/100-cannot-edit-schema-file.mdx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/100-platform/900-troubleshooting/200-schema-file-does-not-update.mdx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/100-platform/900-troubleshooting/index.mdx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/100-platform/index.mdx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/980-support.mdx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/account/profile-menu-github-account.png (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/account/profile-menu-github-account.snagx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/account/sign-up-01-create-first-project.png (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/account/sign-up-01-create-first-project.snagx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/common/open-project-settings.png (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/common/open-project-settings.snagx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/common/support-pop-up.png (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/common/support-pop-up.snagx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/data-browser/01-models-view.png (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/data-browser/01-models-view.snagx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/data-browser/02-open-close-models.png (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/data-browser/02-open-close-models.snagx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/data-browser/03-model-view-keyboard-shortcuts.png (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/data-browser/03-model-view-keyboard-shortcuts.snagx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/data-browser/04-save-multiple-changes.png (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/data-browser/04-save-multiple-changes.snagx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/data-browser/05-add-remove-filters.png (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/data-browser/05-add-remove-filters.snagx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/data-browser/06-show-hide-fields.png (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/data-browser/06-show-hide-fields.snagx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/data-browser/07-show-hide-records.png (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/data-browser/07-show-hide-records.snagx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/data-browser/08-model-sort.png (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/data-browser/08-model-sort.snagx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/data-browser/array.svg (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/data-browser/boolean.svg (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/data-browser/database.svg (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/data-browser/datetime.svg (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/data-browser/enum.svg (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/data-browser/number.svg (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/data-browser/object.svg (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/data-browser/string.svg (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/data-proxy/copy-connection-string.png (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/data-proxy/copy-connection-string.snagx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/data-proxy/create-and-name-new-connection-string.png (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/data-proxy/create-and-name-new-connection-string.snagx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/data-proxy/prisma-bundle-with-data-proxy.svg (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/data-proxy/prisma-bundle-without-data-proxy.svg (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/environments/create-01-drop-down-select-create.png (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/environments/create-01-drop-down-select-create.snagx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/environments/create-env-upload-schema-file.png (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/environments/create-no-schema-sync-02-repo-branch-database-connection-string-data-proxy.png (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/environments/create-no-schema-sync-02-repo-branch-database-connection-string-data-proxy.snagx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/environments/create-on-schema-sync-02-connection-string-static-ips-data-proxy-region.png (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/environments/create-on-schema-sync-02-connection-string-static-ips-data-proxy-region.snagx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/environments/default-environment.png (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/environments/default-environment.snagx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/environments/delete-01-click-three-dot-select-delete.png (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/environments/delete-01-click-three-dot-select-delete.snagx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/environments/edit-01-change-database-connection-string.png (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/environments/edit-01-change-database-connection-string.snagx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/environments/edit-01-change-default.png (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/environments/edit-01-change-default.snagx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/environments/edit-01-change-name-and-URL-handle.png (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/environments/edit-01-change-name-and-URL-handle.snagx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/environments/list-all-environments.png (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/environments/list-all-environments.snagx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/environments/switch-environment.png (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/environments/switch-environment.snagx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/environments/view-all-01-environments-drop-down-view-all.png (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/environments/view-all-01-environments-drop-down-view-all.snagx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/github/add-github-account-or-org.png (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/github/add-github-account-or-org.snagx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/github/grant-access-github-app.png (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/github/grant-access-github-app.snagx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/github/grant-access-to-select-github-repositories.png (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/github/grant-access-to-select-github-repositories.snagx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/projects/create-02-enable-schema-sync-github-account-branch-schema-path.png (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/projects/create-02-enable-schema-sync-github-account-branch-schema-path.snagx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/projects/create-02-link-schema-file-from-a-repository.png (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/projects/create-02-upload-schema-file.png (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/projects/prisma-data-platform-projects-page.png (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/projects/prisma-data-platform-projects-page.snagx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/query-console/add-query-with-autocomplete.png (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/query-console/add-query-with-autocomplete.snagx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/query-console/components.png (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/query-console/components.snagx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/query-console/run-query.png (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/query-console/run-query.snagx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/schema-viewer/overview.png (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/schema-viewer/overview.snagx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/schema-viewer/project-introspected-schema.png (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/schema-viewer/project-introspected-schema.snagx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/schema-viewer/project-no-models-no-schema.png (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/schema-viewer/project-no-models-no-schema.snagx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/schema-viewer/project-schema-viewer.png (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/schema-viewer/provide-prisma-schema.png (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/images/schema-viewer/provide-prisma-schema.snagx (100%) rename content/{800-data-platform => 800-platform}/600-classic-projects/index.mdx (100%) rename content/{800-data-platform => 800-platform}/index.mdx (76%) delete mode 100644 content/doc-images/unused/DxuOs88.png delete mode 100644 content/doc-images/unused/H2TCRc5.png delete mode 100644 content/doc-images/unused/OImder6.png delete mode 100644 content/doc-images/unused/kOO4eh2.png delete mode 100644 content/doc-images/unused/nycymr8.png diff --git a/config.ts b/config.ts index 3392b58a2a..1b365f4750 100644 --- a/config.ts +++ b/config.ts @@ -28,22 +28,22 @@ const siteConfig = { bucketName: '/200-orm', }, { - text: 'Guides', - to: '/guides', + text: 'Accelerate', + to: '/accelerate', type: 'bucket', - bucketName: '/300-guides', + bucketName: '/300-accelerate', }, { - text: 'Reference', - to: '/reference', + text: 'Pulse', + to: '/pulse', type: 'bucket', - bucketName: '/400-reference', + bucketName: '/400-pulse', }, { - text: 'Prisma Data Platform', - to: '/data-platform', + text: 'Platform', + to: '/platform', type: 'bucket', - bucketName: '/800-data-platform', + bucketName: '/800-platform', }, { text: 'About', to: '/about', type: 'bucket', bucketName: '/600-about' }, ], diff --git a/content/300-guides/050-database/images/embedded-replica-create-replica.png b/content/200-orm/050-overview/100-introduction/500-databases/images/embedded-replica-create-replica.png similarity index 100% rename from content/300-guides/050-database/images/embedded-replica-create-replica.png rename to content/200-orm/050-overview/100-introduction/500-databases/images/embedded-replica-create-replica.png diff --git a/content/300-guides/050-database/images/embedded-replica-read.png b/content/200-orm/050-overview/100-introduction/500-databases/images/embedded-replica-read.png similarity index 100% rename from content/300-guides/050-database/images/embedded-replica-read.png rename to content/200-orm/050-overview/100-introduction/500-databases/images/embedded-replica-read.png diff --git a/content/300-guides/050-database/images/embedded-replica-remote-read.png b/content/200-orm/050-overview/100-introduction/500-databases/images/embedded-replica-remote-read.png similarity index 100% rename from content/300-guides/050-database/images/embedded-replica-remote-read.png rename to content/200-orm/050-overview/100-introduction/500-databases/images/embedded-replica-remote-read.png diff --git a/content/300-guides/050-database/images/embedded-replica-write-propagation.png b/content/200-orm/050-overview/100-introduction/500-databases/images/embedded-replica-write-propagation.png similarity index 100% rename from content/300-guides/050-database/images/embedded-replica-write-propagation.png rename to content/200-orm/050-overview/100-introduction/500-databases/images/embedded-replica-write-propagation.png diff --git a/content/200-orm/100-prisma-client/100-queries/090-raw-database-access.mdx b/content/200-orm/100-prisma-client/100-queries/090-raw-database-access/050-raw-queries.mdx similarity index 99% rename from content/200-orm/100-prisma-client/100-queries/090-raw-database-access.mdx rename to content/200-orm/100-prisma-client/100-queries/090-raw-database-access/050-raw-queries.mdx index 84ed00e38f..2c7a8d2369 100644 --- a/content/200-orm/100-prisma-client/100-queries/090-raw-database-access.mdx +++ b/content/200-orm/100-prisma-client/100-queries/090-raw-database-access/050-raw-queries.mdx @@ -1,6 +1,6 @@ --- -title: 'Raw database access' -metaTitle: 'Raw database access (Reference)' +title: 'Raw queries' +metaTitle: 'Raw queries' metaDescription: 'Learn how you can send raw SQL and MongoDB queries to your database using the raw() methods from the Prisma Client API.' tocDepth: 3 --- diff --git a/content/300-guides/500-other/900-advanced-database-tasks/06-typesafe-raw-sql/01-safeql.mdx b/content/200-orm/100-prisma-client/100-queries/090-raw-database-access/100-custom-and-type-safe-queries.mdx similarity index 97% rename from content/300-guides/500-other/900-advanced-database-tasks/06-typesafe-raw-sql/01-safeql.mdx rename to content/200-orm/100-prisma-client/100-queries/090-raw-database-access/100-custom-and-type-safe-queries.mdx index c4f1c69dfc..f5ebbb80e5 100644 --- a/content/300-guides/500-other/900-advanced-database-tasks/06-typesafe-raw-sql/01-safeql.mdx +++ b/content/200-orm/100-prisma-client/100-queries/090-raw-database-access/100-custom-and-type-safe-queries.mdx @@ -1,12 +1,12 @@ --- -title: 'Create custom, type-safe Prisma Client queries for raw SQL' -metaTitle: 'Create custom, type-safe Prisma Client queries for raw SQL (Guide)' +title: 'Custom & type-safe queries' +metaTitle: 'Custom & type-safe queries' metaDescription: 'Learn how to use SafeQL and Prisma Client extensions to work around features not natively supported by Prisma, such as PostGIS.' --- ## Overview -This page explains how to improve the experience of writing raw SQL in Prisma ORM. It uses [Prisma Client extensions](/concepts/components/prisma-client/client-extensions) and [SafeQL](https://safeql.dev) to create custom, type-safe Prisma Client queries which abstract custom SQL that your app might need (using `$queryRaw`). +This page explains how to improve the experience of writing raw SQL in Prisma ORM. It uses [Prisma Client extensions](/concepts/components/prisma-client/client-extensions) and [SafeQL](https://safeql.dev) to create custom, type-safe Prisma Client queries which abstract custom SQL that your app might need (using `$queryRaw`). The example will be using [PostGIS](https://postgis.net/) and PostgreSQL, but is applicable to any raw SQL queries that you might need in your application. diff --git a/content/200-orm/100-prisma-client/100-queries/090-raw-database-access/index.mdx b/content/200-orm/100-prisma-client/100-queries/090-raw-database-access/index.mdx new file mode 100644 index 0000000000..63a4cf1c6b --- /dev/null +++ b/content/200-orm/100-prisma-client/100-queries/090-raw-database-access/index.mdx @@ -0,0 +1,15 @@ +--- +title: 'Raw database access' +metaTitle: 'Raw database access' +metaDescription: 'Raw database access' +--- + + + +Raw database access. + + + +## In this section + + diff --git a/content/300-guides/100-performance-and-optimization/085-query-optimization-performance.mdx b/content/200-orm/100-prisma-client/100-queries/100-query-optimization-performance.mdx similarity index 100% rename from content/300-guides/100-performance-and-optimization/085-query-optimization-performance.mdx rename to content/200-orm/100-prisma-client/100-queries/100-query-optimization-performance.mdx diff --git a/content/300-guides/500-other/830-prisma-type-system.mdx b/content/200-orm/100-prisma-client/400-type-safety/830-prisma-type-system.mdx similarity index 100% rename from content/300-guides/500-other/830-prisma-type-system.mdx rename to content/200-orm/100-prisma-client/400-type-safety/830-prisma-type-system.mdx diff --git a/content/300-guides/150-testing/100-unit-testing.mdx b/content/200-orm/100-prisma-client/450-testing/100-unit-testing.mdx similarity index 100% rename from content/300-guides/150-testing/100-unit-testing.mdx rename to content/200-orm/100-prisma-client/450-testing/100-unit-testing.mdx diff --git a/content/300-guides/150-testing/150-integration-testing.mdx b/content/200-orm/100-prisma-client/450-testing/150-integration-testing.mdx similarity index 100% rename from content/300-guides/150-testing/150-integration-testing.mdx rename to content/200-orm/100-prisma-client/450-testing/150-integration-testing.mdx diff --git a/content/300-guides/150-testing/Docker_Diagram_V1.png b/content/200-orm/100-prisma-client/450-testing/Docker_Diagram_V1.png similarity index 100% rename from content/300-guides/150-testing/Docker_Diagram_V1.png rename to content/200-orm/100-prisma-client/450-testing/Docker_Diagram_V1.png diff --git a/content/300-guides/150-testing/index.mdx b/content/200-orm/100-prisma-client/450-testing/index.mdx similarity index 94% rename from content/300-guides/150-testing/index.mdx rename to content/200-orm/100-prisma-client/450-testing/index.mdx index 39e54a2831..9523cc79c8 100644 --- a/content/300-guides/150-testing/index.mdx +++ b/content/200-orm/100-prisma-client/450-testing/index.mdx @@ -3,7 +3,6 @@ title: 'Testing' navTitle: Testing metaTitle: 'Testing with Prisma' metaDescription: 'How to implement unit and integration testing with Prisma' -staticLink: true --- diff --git a/content/200-orm/200-prisma-migrate/050-get-started.mdx b/content/200-orm/200-prisma-migrate/050-getting-started.mdx similarity index 98% rename from content/200-orm/200-prisma-migrate/050-get-started.mdx rename to content/200-orm/200-prisma-migrate/050-getting-started.mdx index ff209562d2..7465cc0d98 100644 --- a/content/200-orm/200-prisma-migrate/050-get-started.mdx +++ b/content/200-orm/200-prisma-migrate/050-getting-started.mdx @@ -1,7 +1,7 @@ --- -title: 'Get started' -metaTitle: 'Get started' -metaDescription: 'Get started' +title: 'Getting started' +metaTitle: 'Getting started' +metaDescription: 'Getting started' tocDepth: 3 --- diff --git a/content/200-orm/800-more/100-under-the-hood/index.mdx b/content/200-orm/800-more/100-under-the-hood/index.mdx index e252c3fa96..eadaf3c0c5 100644 --- a/content/200-orm/800-more/100-under-the-hood/index.mdx +++ b/content/200-orm/800-more/100-under-the-hood/index.mdx @@ -1,6 +1,6 @@ --- -title: 'Prisma engines' -metaTitle: 'Prisma engines' +title: 'Under the hood' +metaTitle: 'Under the hood' metaDescription: 'Learn about Prisma internals and how it works "under the hood". Prisma tools are based on an engine-layer which manages the communication with the database.' --- diff --git a/content/300-guides/400-migrate-to-prisma/01-migrate-from-typeorm.mdx b/content/200-orm/800-more/450-migrating-to-prisma/01-migrate-from-typeorm.mdx similarity index 100% rename from content/300-guides/400-migrate-to-prisma/01-migrate-from-typeorm.mdx rename to content/200-orm/800-more/450-migrating-to-prisma/01-migrate-from-typeorm.mdx diff --git a/content/300-guides/400-migrate-to-prisma/02-migrate-from-sequelize.mdx b/content/200-orm/800-more/450-migrating-to-prisma/02-migrate-from-sequelize.mdx similarity index 100% rename from content/300-guides/400-migrate-to-prisma/02-migrate-from-sequelize.mdx rename to content/200-orm/800-more/450-migrating-to-prisma/02-migrate-from-sequelize.mdx diff --git a/content/300-guides/400-migrate-to-prisma/03-migrate-from-mongoose.mdx b/content/200-orm/800-more/450-migrating-to-prisma/03-migrate-from-mongoose.mdx similarity index 100% rename from content/300-guides/400-migrate-to-prisma/03-migrate-from-mongoose.mdx rename to content/200-orm/800-more/450-migrating-to-prisma/03-migrate-from-mongoose.mdx diff --git a/content/300-guides/400-migrate-to-prisma/index.mdx b/content/200-orm/800-more/450-migrating-to-prisma/index.mdx similarity index 66% rename from content/300-guides/400-migrate-to-prisma/index.mdx rename to content/200-orm/800-more/450-migrating-to-prisma/index.mdx index 969abf06b9..8f15dc711c 100644 --- a/content/300-guides/400-migrate-to-prisma/index.mdx +++ b/content/200-orm/800-more/450-migrating-to-prisma/index.mdx @@ -1,9 +1,7 @@ --- title: 'Migrate to Prisma' -metaTitle: 'Migrate to Prisma (Guides)' +metaTitle: 'Migrate to Prisma' metaDescription: 'How to migrate to Prisma from other ORMs' -staticLink: true -toc: false --- ## In this section diff --git a/content/300-guides/125-development-environment/050-environment-variables/040-env-files.mdx b/content/200-orm/800-more/500-development-environment/050-environment-variables/040-env-files.mdx similarity index 100% rename from content/300-guides/125-development-environment/050-environment-variables/040-env-files.mdx rename to content/200-orm/800-more/500-development-environment/050-environment-variables/040-env-files.mdx diff --git a/content/300-guides/125-development-environment/050-environment-variables/100-managing-env-files-and-setting-variables.mdx b/content/200-orm/800-more/500-development-environment/050-environment-variables/100-managing-env-files-and-setting-variables.mdx similarity index 100% rename from content/300-guides/125-development-environment/050-environment-variables/100-managing-env-files-and-setting-variables.mdx rename to content/200-orm/800-more/500-development-environment/050-environment-variables/100-managing-env-files-and-setting-variables.mdx diff --git a/content/300-guides/125-development-environment/050-environment-variables/200-using-multiple-env-files.mdx b/content/200-orm/800-more/500-development-environment/050-environment-variables/200-using-multiple-env-files.mdx similarity index 100% rename from content/300-guides/125-development-environment/050-environment-variables/200-using-multiple-env-files.mdx rename to content/200-orm/800-more/500-development-environment/050-environment-variables/200-using-multiple-env-files.mdx diff --git a/content/300-guides/125-development-environment/050-environment-variables/index.mdx b/content/200-orm/800-more/500-development-environment/050-environment-variables/index.mdx similarity index 100% rename from content/300-guides/125-development-environment/050-environment-variables/index.mdx rename to content/200-orm/800-more/500-development-environment/050-environment-variables/index.mdx diff --git a/content/300-guides/125-development-environment/100-editor-setup.mdx b/content/200-orm/800-more/500-development-environment/100-editor-setup.mdx similarity index 99% rename from content/300-guides/125-development-environment/100-editor-setup.mdx rename to content/200-orm/800-more/500-development-environment/100-editor-setup.mdx index 8bf05ee66b..3bdadf6ee9 100644 --- a/content/300-guides/125-development-environment/100-editor-setup.mdx +++ b/content/200-orm/800-more/500-development-environment/100-editor-setup.mdx @@ -50,7 +50,6 @@ You can install the official [Prisma VS Code extension](https://marketplace.visu - [Helix](https://helix-editor.com/) (from version 22.08) provides syntax highlighting of the Prisma Schema Language and uses the Prisma Language Server. - ### CLI autocomplete #### inshellisense @@ -67,7 +66,6 @@ npm install -g @microsoft/inshellisense `inshellisense` is built on top of [Fig](https://fig.io/) which you can also use directly. It works in bash, zsh, and fish. - To install, run: ```shell diff --git a/content/300-guides/125-development-environment/index.mdx b/content/200-orm/800-more/500-development-environment/index.mdx similarity index 94% rename from content/300-guides/125-development-environment/index.mdx rename to content/200-orm/800-more/500-development-environment/index.mdx index 790e08e616..ad67f5529e 100644 --- a/content/300-guides/125-development-environment/index.mdx +++ b/content/200-orm/800-more/500-development-environment/index.mdx @@ -10,6 +10,8 @@ staticLink: true This section describes using `env` variables, editors, and workspaces in your development environment. - - + +## In this section + + diff --git a/content/300-guides/500-other/880-troubleshooting-orm/050-creating-bug-reports.mdx b/content/200-orm/800-more/600-help-and-troubleshooting/050-creating-bug-reports.mdx similarity index 100% rename from content/300-guides/500-other/880-troubleshooting-orm/050-creating-bug-reports.mdx rename to content/200-orm/800-more/600-help-and-troubleshooting/050-creating-bug-reports.mdx diff --git a/content/300-guides/500-other/880-troubleshooting-orm/100-help-articles/100-autocompletion-in-graphql-resolvers-with-js.mdx b/content/200-orm/800-more/600-help-and-troubleshooting/100-help-articles/100-autocompletion-in-graphql-resolvers-with-js.mdx similarity index 100% rename from content/300-guides/500-other/880-troubleshooting-orm/100-help-articles/100-autocompletion-in-graphql-resolvers-with-js.mdx rename to content/200-orm/800-more/600-help-and-troubleshooting/100-help-articles/100-autocompletion-in-graphql-resolvers-with-js.mdx diff --git a/content/300-guides/500-other/880-troubleshooting-orm/100-help-articles/200-working-with-many-to-many-relations.mdx b/content/200-orm/800-more/600-help-and-troubleshooting/100-help-articles/200-working-with-many-to-many-relations.mdx similarity index 99% rename from content/300-guides/500-other/880-troubleshooting-orm/100-help-articles/200-working-with-many-to-many-relations.mdx rename to content/200-orm/800-more/600-help-and-troubleshooting/100-help-articles/200-working-with-many-to-many-relations.mdx index a20509a2df..685f2c1572 100644 --- a/content/300-guides/500-other/880-troubleshooting-orm/100-help-articles/200-working-with-many-to-many-relations.mdx +++ b/content/200-orm/800-more/600-help-and-troubleshooting/100-help-articles/200-working-with-many-to-many-relations.mdx @@ -98,7 +98,7 @@ model PostTags { tag Tag? @relation(fields: [tagId], references: [id]) postId Int? tagId Int? - + @@index([postId, tagId]) } diff --git a/content/300-guides/500-other/880-troubleshooting-orm/100-help-articles/400-nextjs-prisma-client-dev-practices.mdx b/content/200-orm/800-more/600-help-and-troubleshooting/100-help-articles/400-nextjs-prisma-client-dev-practices.mdx similarity index 100% rename from content/300-guides/500-other/880-troubleshooting-orm/100-help-articles/400-nextjs-prisma-client-dev-practices.mdx rename to content/200-orm/800-more/600-help-and-troubleshooting/100-help-articles/400-nextjs-prisma-client-dev-practices.mdx diff --git a/content/300-guides/500-other/880-troubleshooting-orm/100-help-articles/425-nextjs-prisma-client-monorepo.mdx b/content/200-orm/800-more/600-help-and-troubleshooting/100-help-articles/425-nextjs-prisma-client-monorepo.mdx similarity index 100% rename from content/300-guides/500-other/880-troubleshooting-orm/100-help-articles/425-nextjs-prisma-client-monorepo.mdx rename to content/200-orm/800-more/600-help-and-troubleshooting/100-help-articles/425-nextjs-prisma-client-monorepo.mdx diff --git a/content/300-guides/500-other/880-troubleshooting-orm/100-help-articles/450-pkg-issue.mdx b/content/200-orm/800-more/600-help-and-troubleshooting/100-help-articles/450-pkg-issue.mdx similarity index 100% rename from content/300-guides/500-other/880-troubleshooting-orm/100-help-articles/450-pkg-issue.mdx rename to content/200-orm/800-more/600-help-and-troubleshooting/100-help-articles/450-pkg-issue.mdx diff --git a/content/300-guides/500-other/880-troubleshooting-orm/100-help-articles/500-comparing-columns-through-raw-queries.mdx b/content/200-orm/800-more/600-help-and-troubleshooting/100-help-articles/500-comparing-columns-through-raw-queries.mdx similarity index 100% rename from content/300-guides/500-other/880-troubleshooting-orm/100-help-articles/500-comparing-columns-through-raw-queries.mdx rename to content/200-orm/800-more/600-help-and-troubleshooting/100-help-articles/500-comparing-columns-through-raw-queries.mdx diff --git a/content/300-guides/500-other/880-troubleshooting-orm/100-help-articles/600-vercel-caching-issue.mdx b/content/200-orm/800-more/600-help-and-troubleshooting/100-help-articles/600-vercel-caching-issue.mdx similarity index 100% rename from content/300-guides/500-other/880-troubleshooting-orm/100-help-articles/600-vercel-caching-issue.mdx rename to content/200-orm/800-more/600-help-and-troubleshooting/100-help-articles/600-vercel-caching-issue.mdx diff --git a/content/300-guides/500-other/880-troubleshooting-orm/100-help-articles/700-netlify-caching-issue.mdx b/content/200-orm/800-more/600-help-and-troubleshooting/100-help-articles/700-netlify-caching-issue.mdx similarity index 100% rename from content/300-guides/500-other/880-troubleshooting-orm/100-help-articles/700-netlify-caching-issue.mdx rename to content/200-orm/800-more/600-help-and-troubleshooting/100-help-articles/700-netlify-caching-issue.mdx diff --git a/content/300-guides/500-other/900-advanced-database-tasks/07-data-validation/01-postgresql.mdx b/content/200-orm/800-more/600-help-and-troubleshooting/100-help-articles/800-check-constraints.mdx similarity index 100% rename from content/300-guides/500-other/900-advanced-database-tasks/07-data-validation/01-postgresql.mdx rename to content/200-orm/800-more/600-help-and-troubleshooting/100-help-articles/800-check-constraints.mdx diff --git a/content/300-guides/500-other/880-troubleshooting-orm/100-help-articles/index.mdx b/content/200-orm/800-more/600-help-and-troubleshooting/100-help-articles/index.mdx similarity index 100% rename from content/300-guides/500-other/880-troubleshooting-orm/100-help-articles/index.mdx rename to content/200-orm/800-more/600-help-and-troubleshooting/100-help-articles/index.mdx diff --git a/content/300-guides/500-other/880-troubleshooting-orm/100-help-articles/netlify-build-command-filled.png b/content/200-orm/800-more/600-help-and-troubleshooting/100-help-articles/netlify-build-command-filled.png similarity index 100% rename from content/300-guides/500-other/880-troubleshooting-orm/100-help-articles/netlify-build-command-filled.png rename to content/200-orm/800-more/600-help-and-troubleshooting/100-help-articles/netlify-build-command-filled.png diff --git a/content/300-guides/500-other/880-troubleshooting-orm/100-help-articles/netlify-edit-settings.png b/content/200-orm/800-more/600-help-and-troubleshooting/100-help-articles/netlify-edit-settings.png similarity index 100% rename from content/300-guides/500-other/880-troubleshooting-orm/100-help-articles/netlify-edit-settings.png rename to content/200-orm/800-more/600-help-and-troubleshooting/100-help-articles/netlify-edit-settings.png diff --git a/content/300-guides/500-other/880-troubleshooting-orm/100-help-articles/prisma-autocompletion-in-js.png b/content/200-orm/800-more/600-help-and-troubleshooting/100-help-articles/prisma-autocompletion-in-js.png similarity index 100% rename from content/300-guides/500-other/880-troubleshooting-orm/100-help-articles/prisma-autocompletion-in-js.png rename to content/200-orm/800-more/600-help-and-troubleshooting/100-help-articles/prisma-autocompletion-in-js.png diff --git a/content/300-guides/500-other/880-troubleshooting-orm/100-help-articles/unwanted-autocomplete-values-in-vscode.png b/content/200-orm/800-more/600-help-and-troubleshooting/100-help-articles/unwanted-autocomplete-values-in-vscode.png similarity index 100% rename from content/300-guides/500-other/880-troubleshooting-orm/100-help-articles/unwanted-autocomplete-values-in-vscode.png rename to content/200-orm/800-more/600-help-and-troubleshooting/100-help-articles/unwanted-autocomplete-values-in-vscode.png diff --git a/content/300-guides/500-other/880-troubleshooting-orm/100-help-articles/vercel-ui-build-command-filled.png b/content/200-orm/800-more/600-help-and-troubleshooting/100-help-articles/vercel-ui-build-command-filled.png similarity index 100% rename from content/300-guides/500-other/880-troubleshooting-orm/100-help-articles/vercel-ui-build-command-filled.png rename to content/200-orm/800-more/600-help-and-troubleshooting/100-help-articles/vercel-ui-build-command-filled.png diff --git a/content/300-guides/500-other/880-troubleshooting-orm/100-help-articles/vercel-ui-build-command.png b/content/200-orm/800-more/600-help-and-troubleshooting/100-help-articles/vercel-ui-build-command.png similarity index 100% rename from content/300-guides/500-other/880-troubleshooting-orm/100-help-articles/vercel-ui-build-command.png rename to content/200-orm/800-more/600-help-and-troubleshooting/100-help-articles/vercel-ui-build-command.png diff --git a/content/200-orm/800-more/600-help-and-troubleshooting/index.mdx b/content/200-orm/800-more/600-help-and-troubleshooting/index.mdx new file mode 100644 index 0000000000..c4ed5edd00 --- /dev/null +++ b/content/200-orm/800-more/600-help-and-troubleshooting/index.mdx @@ -0,0 +1,15 @@ +--- +title: 'Help & troubleshooting' +metaTitle: 'Help & troubleshooting' +metaDescription: 'Help & troubleshooting' +--- + + + +Help & troubleshooting. + + + +## In this section + + diff --git a/content/800-data-platform/100-accelerate/100-what-is-accelerate.mdx b/content/300-accelerate/100-what-is-accelerate.mdx similarity index 100% rename from content/800-data-platform/100-accelerate/100-what-is-accelerate.mdx rename to content/300-accelerate/100-what-is-accelerate.mdx diff --git a/content/800-data-platform/100-accelerate/200-getting-started.mdx b/content/300-accelerate/200-getting-started.mdx similarity index 100% rename from content/800-data-platform/100-accelerate/200-getting-started.mdx rename to content/300-accelerate/200-getting-started.mdx diff --git a/content/800-data-platform/100-accelerate/300-concepts.mdx b/content/300-accelerate/300-concepts.mdx similarity index 100% rename from content/800-data-platform/100-accelerate/300-concepts.mdx rename to content/300-accelerate/300-concepts.mdx diff --git a/content/800-data-platform/100-accelerate/400-api-reference.mdx b/content/300-accelerate/400-api-reference.mdx similarity index 100% rename from content/800-data-platform/100-accelerate/400-api-reference.mdx rename to content/300-accelerate/400-api-reference.mdx diff --git a/content/800-data-platform/100-accelerate/500-limitations.mdx b/content/300-accelerate/500-limitations.mdx similarity index 100% rename from content/800-data-platform/100-accelerate/500-limitations.mdx rename to content/300-accelerate/500-limitations.mdx diff --git a/content/800-data-platform/100-accelerate/550-evaluating.mdx b/content/300-accelerate/550-evaluating.mdx similarity index 100% rename from content/800-data-platform/100-accelerate/550-evaluating.mdx rename to content/300-accelerate/550-evaluating.mdx diff --git a/content/800-data-platform/100-accelerate/600-faq.mdx b/content/300-accelerate/600-faq.mdx similarity index 100% rename from content/800-data-platform/100-accelerate/600-faq.mdx rename to content/300-accelerate/600-faq.mdx diff --git a/content/800-data-platform/100-accelerate/700-feedback.mdx b/content/300-accelerate/700-feedback.mdx similarity index 100% rename from content/800-data-platform/100-accelerate/700-feedback.mdx rename to content/300-accelerate/700-feedback.mdx diff --git a/content/800-data-platform/100-accelerate/images/accelerate-update-database-connection-string.png b/content/300-accelerate/images/accelerate-update-database-connection-string.png similarity index 100% rename from content/800-data-platform/100-accelerate/images/accelerate-update-database-connection-string.png rename to content/300-accelerate/images/accelerate-update-database-connection-string.png diff --git a/content/800-data-platform/100-accelerate/images/accelerate.png b/content/300-accelerate/images/accelerate.png similarity index 100% rename from content/800-data-platform/100-accelerate/images/accelerate.png rename to content/300-accelerate/images/accelerate.png diff --git a/content/800-data-platform/100-accelerate/images/no-cache.png b/content/300-accelerate/images/no-cache.png similarity index 100% rename from content/800-data-platform/100-accelerate/images/no-cache.png rename to content/300-accelerate/images/no-cache.png diff --git a/content/800-data-platform/100-accelerate/images/speed-test.png b/content/300-accelerate/images/speed-test.png similarity index 100% rename from content/800-data-platform/100-accelerate/images/speed-test.png rename to content/300-accelerate/images/speed-test.png diff --git a/content/800-data-platform/100-accelerate/images/swr.png b/content/300-accelerate/images/swr.png similarity index 100% rename from content/800-data-platform/100-accelerate/images/swr.png rename to content/300-accelerate/images/swr.png diff --git a/content/800-data-platform/100-accelerate/images/ttl.png b/content/300-accelerate/images/ttl.png similarity index 100% rename from content/800-data-platform/100-accelerate/images/ttl.png rename to content/300-accelerate/images/ttl.png diff --git a/content/800-data-platform/100-accelerate/images/ttl_and_swr.png b/content/300-accelerate/images/ttl_and_swr.png similarity index 100% rename from content/800-data-platform/100-accelerate/images/ttl_and_swr.png rename to content/300-accelerate/images/ttl_and_swr.png diff --git a/content/300-accelerate/index.mdx b/content/300-accelerate/index.mdx new file mode 100644 index 0000000000..928d3a4e55 --- /dev/null +++ b/content/300-accelerate/index.mdx @@ -0,0 +1,16 @@ +--- +title: 'Accelerate' +metaTitle: 'Accelerate' +metaDescription: 'Accelerate' +toc: false +--- + + + +Accelerate + + + +## In this section + + diff --git a/content/300-guides/050-database/index.mdx b/content/300-guides/050-database/index.mdx deleted file mode 100644 index b8e65cf3b0..0000000000 --- a/content/300-guides/050-database/index.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Database guides -navTitle: Database -metaTitle: Database (Guides) -metaDescription: Using Prisma with specific databases. -staticLink: true ---- - - - - - -## In this section - - diff --git a/content/300-guides/100-performance-and-optimization/090-metrics.mdx b/content/300-guides/100-performance-and-optimization/090-metrics.mdx deleted file mode 100644 index 25112c9572..0000000000 --- a/content/300-guides/100-performance-and-optimization/090-metrics.mdx +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: 'Metrics' -metaTitle: 'Metrics' -metaDescription: 'Diagnose application performance with insights into Prisma Client database activity' -tocDepth: 4 ---- - - - -Prisma metrics give you a detailed insight into how Prisma Client interacts with your database. You can use this insight to help diagnose performance issues with your application. - -You can export metrics in JSON or Prometheus formats and view them in a console log, or integrate them into an external metrics system, such as StatsD or Prometheus. - -Learn more: [Metrics](/concepts/components/prisma-client/metrics) - - diff --git a/content/300-guides/100-performance-and-optimization/095-query-tracing.mdx b/content/300-guides/100-performance-and-optimization/095-query-tracing.mdx deleted file mode 100644 index 918e7a2c34..0000000000 --- a/content/300-guides/100-performance-and-optimization/095-query-tracing.mdx +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 'Query tracing' -metaTitle: 'Query tracing' -metaDescription: 'Diagnose application performance at a query level' -tocDepth: 4 ---- - - - -Tracing gives you a query-level insight into how Prisma Client interacts with your database. Tracing is fully compliant with OpenTelemetry, so you can use it as part of your end-to-end application tracing path. - -Learn more: [Tracing](/concepts/components/prisma-client/opentelemetry-tracing) - - diff --git a/content/300-guides/100-performance-and-optimization/index.mdx b/content/300-guides/100-performance-and-optimization/index.mdx deleted file mode 100644 index 7438001803..0000000000 --- a/content/300-guides/100-performance-and-optimization/index.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Performance and optimization -staticLink: true -metaDescription: 'Guides on performance, query optimization, and transactions when using Prisma.' ---- - - - -Refer to the following guides for information about optimizing your queries, debugging performance issues, handling transactions, and using metrics to learn more about your application's performance. - - - -## In this section - - diff --git a/content/300-guides/500-other/880-troubleshooting-orm/index.mdx b/content/300-guides/500-other/880-troubleshooting-orm/index.mdx deleted file mode 100644 index b3965c229c..0000000000 --- a/content/300-guides/500-other/880-troubleshooting-orm/index.mdx +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: 'Troubleshooting' -metaTitle: 'Troubleshooting' -metaDescription: 'Learn common troubleshooting tips, how to raise an issue or open a PR. ' -hidePage: false ---- - -## Need help? - -Refer to our [Support site](/guides/other/troubleshooting-orm) for full information about getting help. - -Take a look at some common issues and their resolutions in our [Help Articles](/guides/other/troubleshooting-orm/help-articles). - -To detailed information about how to open an Issue or PR in our GitHub repositories, see [Creating bug reports](/guides/other/troubleshooting-orm/creating-bug-reports). - -For the Prisma ORM, we have a large and supportive [community](https://www.prisma.io/community) of enthusiastic application developers which is active on [Slack](https://slack.prisma.io), [Discord](https://discord.gg/KQyTW2H5ca), and on [GitHub](https://github.com/prisma/prisma). - -You can ask questions and initiate [discussions](https://github.com/prisma/prisma/discussions/) about Prisma-related topics in the `prisma` repository on GitHub. - - - Ask a question - -
-
- -## Create an Issue or PR for Prisma ORM - -If you see problems or room for improvement in the ORM product, you can create an Issue (or better yet a PR!) in our GitHub repository. You can find [best practices for creating bug reports](creating-bug-reports) (like including additional debugging output) in these docs. - - - Create bug report - -
-
- -## Create an Issue or PR for Prisma Docs - -If you see problems or room for improvement in the technical documentation, you can create an Issue or a PR in our Docs GitHub repository. - - - Create a Docs Issue - -
-
diff --git a/content/300-guides/500-other/900-advanced-database-tasks/06-typesafe-raw-sql/index.mdx b/content/300-guides/500-other/900-advanced-database-tasks/06-typesafe-raw-sql/index.mdx deleted file mode 100644 index 11f43e00f0..0000000000 --- a/content/300-guides/500-other/900-advanced-database-tasks/06-typesafe-raw-sql/index.mdx +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: Advanced features using raw SQL -metaTitle: Advanced features using raw SQL (Guides) -metaDescription: Learn how to use raw SQL and Prisma Client extensions to cover areas not natively supported by Prisma. -toc: false ---- - - - -There are certain database features that are not natively supported by Prisma. In these cases, it's possible to use [Prisma Client extensions](/concepts/components/prisma-client/client-extensions) and tools like [SafeQL](https://safeql.dev/) in order to keep the great developer experience of Prisma when working with raw SQL. - - - -## In this section - - diff --git a/content/300-guides/500-other/900-advanced-database-tasks/07-data-validation/index.mdx b/content/300-guides/500-other/900-advanced-database-tasks/07-data-validation/index.mdx deleted file mode 100644 index 10ee807164..0000000000 --- a/content/300-guides/500-other/900-advanced-database-tasks/07-data-validation/index.mdx +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: 'Advanced data validation' -metaTitle: 'Advanced data validation (Guides)' -metaDescription: "Learn how to use the database's mechanism for validating input using CHECK constraints in this practical guide." -toc: false ---- - - - -All databases include a mechanism for validating input. In a SQL context, `CHECK` constraints allow you to specify a set of conditions a value must satisfy - for example, Column X should not be larger than Column Y. This section describes how to configure custom `CHECK` constraints. - -You can already define the following constraints in the Prisma schema: - -- [Field must be unique](/concepts/components/prisma-schema/data-model#defining-a-unique-field) (`UNIQUE` constraint) -- [Field is mandatory](/concepts/components/prisma-schema/data-model#optional-and-mandatory-fields) (`NOT NULL` constraint) - - - -## In this section - - diff --git a/content/300-guides/500-other/900-advanced-database-tasks/index.mdx b/content/300-guides/500-other/900-advanced-database-tasks/index.mdx deleted file mode 100644 index 257ff93ec1..0000000000 --- a/content/300-guides/500-other/900-advanced-database-tasks/index.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Advanced database tasks -metaTitle: Advanced database tasks (Guides) -metaDescription: How to perform database tasks that are partially supported or not supported natively by Prisma. ---- - - - -This section describes how to implement functionality that is partially supported or not supported natively by Prisma, and how to validate the changes. - - - -## In this section - - diff --git a/content/300-guides/500-other/index.mdx b/content/300-guides/500-other/index.mdx deleted file mode 100644 index 061fd3bbff..0000000000 --- a/content/300-guides/500-other/index.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Other guides -navTitle: Other -metaTitle: Other (Guides) -metaDescription: ... -staticLink: true ---- - - - - - -## In this section - - diff --git a/content/300-guides/index.mdx b/content/300-guides/index.mdx deleted file mode 100644 index 4507439feb..0000000000 --- a/content/300-guides/index.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: 'Guides' -metaTitle: 'Guides' -metaDescription: 'Guides' -toc: false ---- - - - -This section includes end-to-end guides for upgrading and deploying Node.js applications that use Prisma, as well as guides for common database-related tasks. - - - - - diff --git a/content/800-data-platform/200-pulse/100-what-is-pulse.mdx b/content/400-pulse/100-what-is-pulse.mdx similarity index 100% rename from content/800-data-platform/200-pulse/100-what-is-pulse.mdx rename to content/400-pulse/100-what-is-pulse.mdx diff --git a/content/800-data-platform/200-pulse/200-getting-started.mdx b/content/400-pulse/200-getting-started.mdx similarity index 100% rename from content/800-data-platform/200-pulse/200-getting-started.mdx rename to content/400-pulse/200-getting-started.mdx diff --git a/content/800-data-platform/200-pulse/300-concepts.mdx b/content/400-pulse/300-concepts.mdx similarity index 100% rename from content/800-data-platform/200-pulse/300-concepts.mdx rename to content/400-pulse/300-concepts.mdx diff --git a/content/800-data-platform/200-pulse/400-api-reference.mdx b/content/400-pulse/400-api-reference.mdx similarity index 100% rename from content/800-data-platform/200-pulse/400-api-reference.mdx rename to content/400-pulse/400-api-reference.mdx diff --git a/content/800-data-platform/200-pulse/500-current-limitations.mdx b/content/400-pulse/500-current-limitations.mdx similarity index 100% rename from content/800-data-platform/200-pulse/500-current-limitations.mdx rename to content/400-pulse/500-current-limitations.mdx diff --git a/content/800-data-platform/200-pulse/600-faq.mdx b/content/400-pulse/600-faq.mdx similarity index 100% rename from content/800-data-platform/200-pulse/600-faq.mdx rename to content/400-pulse/600-faq.mdx diff --git a/content/800-data-platform/200-pulse/700-feedback.mdx b/content/400-pulse/700-feedback.mdx similarity index 100% rename from content/800-data-platform/200-pulse/700-feedback.mdx rename to content/400-pulse/700-feedback.mdx diff --git a/content/400-pulse/index.mdx b/content/400-pulse/index.mdx new file mode 100644 index 0000000000..a371f889bb --- /dev/null +++ b/content/400-pulse/index.mdx @@ -0,0 +1,16 @@ +--- +title: 'Pulse' +metaTitle: 'Pulse' +metaDescription: 'Pulse' +toc: false +--- + + + +Pulse + + + +## In this section + + diff --git a/content/800-data-platform/100-accelerate/index.mdx b/content/800-data-platform/100-accelerate/index.mdx deleted file mode 100644 index 4fb20cc978..0000000000 --- a/content/800-data-platform/100-accelerate/index.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 'Accelerate' -staticLink: true ---- - - - - - - diff --git a/content/800-data-platform/200-pulse/index.mdx b/content/800-data-platform/200-pulse/index.mdx deleted file mode 100644 index fdf1523efb..0000000000 --- a/content/800-data-platform/200-pulse/index.mdx +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 'Pulse' -staticLink: true -earlyaccess: true ---- - - - - - - diff --git a/content/800-data-platform/300-platform-console/10-about.mdx b/content/800-platform/300-platform-console/10-about.mdx similarity index 100% rename from content/800-data-platform/300-platform-console/10-about.mdx rename to content/800-platform/300-platform-console/10-about.mdx diff --git a/content/800-data-platform/300-platform-console/20-concepts/10-workspaces.mdx b/content/800-platform/300-platform-console/20-concepts/10-workspaces.mdx similarity index 100% rename from content/800-data-platform/300-platform-console/20-concepts/10-workspaces.mdx rename to content/800-platform/300-platform-console/20-concepts/10-workspaces.mdx diff --git a/content/800-data-platform/300-platform-console/20-concepts/20-projects.mdx b/content/800-platform/300-platform-console/20-concepts/20-projects.mdx similarity index 100% rename from content/800-data-platform/300-platform-console/20-concepts/20-projects.mdx rename to content/800-platform/300-platform-console/20-concepts/20-projects.mdx diff --git a/content/800-data-platform/300-platform-console/20-concepts/index.mdx b/content/800-platform/300-platform-console/20-concepts/index.mdx similarity index 100% rename from content/800-data-platform/300-platform-console/20-concepts/index.mdx rename to content/800-platform/300-platform-console/20-concepts/index.mdx diff --git a/content/800-data-platform/300-platform-console/30-maturity-levels.mdx b/content/800-platform/300-platform-console/30-maturity-levels.mdx similarity index 100% rename from content/800-data-platform/300-platform-console/30-maturity-levels.mdx rename to content/800-platform/300-platform-console/30-maturity-levels.mdx diff --git a/content/800-data-platform/300-platform-console/40-limits.mdx b/content/800-platform/300-platform-console/40-limits.mdx similarity index 100% rename from content/800-data-platform/300-platform-console/40-limits.mdx rename to content/800-platform/300-platform-console/40-limits.mdx diff --git a/content/800-data-platform/300-platform-console/50-support.mdx b/content/800-platform/300-platform-console/50-support.mdx similarity index 100% rename from content/800-data-platform/300-platform-console/50-support.mdx rename to content/800-platform/300-platform-console/50-support.mdx diff --git a/content/800-data-platform/300-platform-console/index.mdx b/content/800-platform/300-platform-console/index.mdx similarity index 100% rename from content/800-data-platform/300-platform-console/index.mdx rename to content/800-platform/300-platform-console/index.mdx diff --git a/content/800-data-platform/600-classic-projects/050-data-proxy/100-use-data-proxy.mdx b/content/800-platform/600-classic-projects/050-data-proxy/100-use-data-proxy.mdx similarity index 100% rename from content/800-data-platform/600-classic-projects/050-data-proxy/100-use-data-proxy.mdx rename to content/800-platform/600-classic-projects/050-data-proxy/100-use-data-proxy.mdx diff --git a/content/800-data-platform/600-classic-projects/050-data-proxy/500-deploy.mdx b/content/800-platform/600-classic-projects/050-data-proxy/500-deploy.mdx similarity index 100% rename from content/800-data-platform/600-classic-projects/050-data-proxy/500-deploy.mdx rename to content/800-platform/600-classic-projects/050-data-proxy/500-deploy.mdx diff --git a/content/800-data-platform/600-classic-projects/050-data-proxy/700-prisma-cli-with-data-proxy.mdx b/content/800-platform/600-classic-projects/050-data-proxy/700-prisma-cli-with-data-proxy.mdx similarity index 100% rename from content/800-data-platform/600-classic-projects/050-data-proxy/700-prisma-cli-with-data-proxy.mdx rename to content/800-platform/600-classic-projects/050-data-proxy/700-prisma-cli-with-data-proxy.mdx diff --git a/content/800-data-platform/600-classic-projects/050-data-proxy/900-considerations-limitations.mdx b/content/800-platform/600-classic-projects/050-data-proxy/900-considerations-limitations.mdx similarity index 100% rename from content/800-data-platform/600-classic-projects/050-data-proxy/900-considerations-limitations.mdx rename to content/800-platform/600-classic-projects/050-data-proxy/900-considerations-limitations.mdx diff --git a/content/800-data-platform/600-classic-projects/050-data-proxy/index.mdx b/content/800-platform/600-classic-projects/050-data-proxy/index.mdx similarity index 100% rename from content/800-data-platform/600-classic-projects/050-data-proxy/index.mdx rename to content/800-platform/600-classic-projects/050-data-proxy/index.mdx diff --git a/content/800-data-platform/600-classic-projects/100-platform/060-static-ips.mdx b/content/800-platform/600-classic-projects/100-platform/060-static-ips.mdx similarity index 100% rename from content/800-data-platform/600-classic-projects/100-platform/060-static-ips.mdx rename to content/800-platform/600-classic-projects/100-platform/060-static-ips.mdx diff --git a/content/800-data-platform/600-classic-projects/100-platform/200-projects/100-create.mdx b/content/800-platform/600-classic-projects/100-platform/200-projects/100-create.mdx similarity index 100% rename from content/800-data-platform/600-classic-projects/100-platform/200-projects/100-create.mdx rename to content/800-platform/600-classic-projects/100-platform/200-projects/100-create.mdx diff --git a/content/800-data-platform/600-classic-projects/100-platform/200-projects/200-edit-settings.mdx b/content/800-platform/600-classic-projects/100-platform/200-projects/200-edit-settings.mdx similarity index 100% rename from content/800-data-platform/600-classic-projects/100-platform/200-projects/200-edit-settings.mdx rename to content/800-platform/600-classic-projects/100-platform/200-projects/200-edit-settings.mdx diff --git a/content/800-data-platform/600-classic-projects/100-platform/200-projects/300-delete-project.mdx b/content/800-platform/600-classic-projects/100-platform/200-projects/300-delete-project.mdx similarity index 100% rename from content/800-data-platform/600-classic-projects/100-platform/200-projects/300-delete-project.mdx rename to content/800-platform/600-classic-projects/100-platform/200-projects/300-delete-project.mdx diff --git a/content/800-data-platform/600-classic-projects/100-platform/200-projects/index.mdx b/content/800-platform/600-classic-projects/100-platform/200-projects/index.mdx similarity index 100% rename from content/800-data-platform/600-classic-projects/100-platform/200-projects/index.mdx rename to content/800-platform/600-classic-projects/100-platform/200-projects/index.mdx diff --git a/content/800-data-platform/600-classic-projects/100-platform/250-environments/100-view-all.mdx b/content/800-platform/600-classic-projects/100-platform/250-environments/100-view-all.mdx similarity index 100% rename from content/800-data-platform/600-classic-projects/100-platform/250-environments/100-view-all.mdx rename to content/800-platform/600-classic-projects/100-platform/250-environments/100-view-all.mdx diff --git a/content/800-data-platform/600-classic-projects/100-platform/250-environments/200-create.mdx b/content/800-platform/600-classic-projects/100-platform/250-environments/200-create.mdx similarity index 100% rename from content/800-data-platform/600-classic-projects/100-platform/250-environments/200-create.mdx rename to content/800-platform/600-classic-projects/100-platform/250-environments/200-create.mdx diff --git a/content/800-data-platform/600-classic-projects/100-platform/250-environments/300-edit-settings/100-edit-name-and-url-handle.mdx b/content/800-platform/600-classic-projects/100-platform/250-environments/300-edit-settings/100-edit-name-and-url-handle.mdx similarity index 100% rename from content/800-data-platform/600-classic-projects/100-platform/250-environments/300-edit-settings/100-edit-name-and-url-handle.mdx rename to content/800-platform/600-classic-projects/100-platform/250-environments/300-edit-settings/100-edit-name-and-url-handle.mdx diff --git a/content/800-data-platform/600-classic-projects/100-platform/250-environments/300-edit-settings/300-change-default-environment.mdx b/content/800-platform/600-classic-projects/100-platform/250-environments/300-edit-settings/300-change-default-environment.mdx similarity index 100% rename from content/800-data-platform/600-classic-projects/100-platform/250-environments/300-edit-settings/300-change-default-environment.mdx rename to content/800-platform/600-classic-projects/100-platform/250-environments/300-edit-settings/300-change-default-environment.mdx diff --git a/content/800-data-platform/600-classic-projects/100-platform/250-environments/300-edit-settings/index.mdx b/content/800-platform/600-classic-projects/100-platform/250-environments/300-edit-settings/index.mdx similarity index 100% rename from content/800-data-platform/600-classic-projects/100-platform/250-environments/300-edit-settings/index.mdx rename to content/800-platform/600-classic-projects/100-platform/250-environments/300-edit-settings/index.mdx diff --git a/content/800-data-platform/600-classic-projects/100-platform/250-environments/400-delete.mdx b/content/800-platform/600-classic-projects/100-platform/250-environments/400-delete.mdx similarity index 100% rename from content/800-data-platform/600-classic-projects/100-platform/250-environments/400-delete.mdx rename to content/800-platform/600-classic-projects/100-platform/250-environments/400-delete.mdx diff --git a/content/800-data-platform/600-classic-projects/100-platform/250-environments/index.mdx b/content/800-platform/600-classic-projects/100-platform/250-environments/index.mdx similarity index 100% rename from content/800-data-platform/600-classic-projects/100-platform/250-environments/index.mdx rename to content/800-platform/600-classic-projects/100-platform/250-environments/index.mdx diff --git a/content/800-data-platform/600-classic-projects/100-platform/400-members/050-roles-permissions.mdx b/content/800-platform/600-classic-projects/100-platform/400-members/050-roles-permissions.mdx similarity index 100% rename from content/800-data-platform/600-classic-projects/100-platform/400-members/050-roles-permissions.mdx rename to content/800-platform/600-classic-projects/100-platform/400-members/050-roles-permissions.mdx diff --git a/content/800-data-platform/600-classic-projects/100-platform/400-members/100-add.mdx b/content/800-platform/600-classic-projects/100-platform/400-members/100-add.mdx similarity index 100% rename from content/800-data-platform/600-classic-projects/100-platform/400-members/100-add.mdx rename to content/800-platform/600-classic-projects/100-platform/400-members/100-add.mdx diff --git a/content/800-data-platform/600-classic-projects/100-platform/400-members/300-change-role.mdx b/content/800-platform/600-classic-projects/100-platform/400-members/300-change-role.mdx similarity index 100% rename from content/800-data-platform/600-classic-projects/100-platform/400-members/300-change-role.mdx rename to content/800-platform/600-classic-projects/100-platform/400-members/300-change-role.mdx diff --git a/content/800-data-platform/600-classic-projects/100-platform/400-members/400-remove.mdx b/content/800-platform/600-classic-projects/100-platform/400-members/400-remove.mdx similarity index 100% rename from content/800-data-platform/600-classic-projects/100-platform/400-members/400-remove.mdx rename to content/800-platform/600-classic-projects/100-platform/400-members/400-remove.mdx diff --git a/content/800-data-platform/600-classic-projects/100-platform/400-members/images/team-members-invite-and-select-role.png b/content/800-platform/600-classic-projects/100-platform/400-members/images/team-members-invite-and-select-role.png similarity index 100% rename from content/800-data-platform/600-classic-projects/100-platform/400-members/images/team-members-invite-and-select-role.png rename to content/800-platform/600-classic-projects/100-platform/400-members/images/team-members-invite-and-select-role.png diff --git a/content/800-data-platform/600-classic-projects/100-platform/400-members/images/team-members-invite-and-select-role.snagx b/content/800-platform/600-classic-projects/100-platform/400-members/images/team-members-invite-and-select-role.snagx similarity index 100% rename from content/800-data-platform/600-classic-projects/100-platform/400-members/images/team-members-invite-and-select-role.snagx rename to content/800-platform/600-classic-projects/100-platform/400-members/images/team-members-invite-and-select-role.snagx diff --git a/content/800-data-platform/600-classic-projects/100-platform/400-members/index.mdx b/content/800-platform/600-classic-projects/100-platform/400-members/index.mdx similarity index 100% rename from content/800-data-platform/600-classic-projects/100-platform/400-members/index.mdx rename to content/800-platform/600-classic-projects/100-platform/400-members/index.mdx diff --git a/content/800-data-platform/600-classic-projects/100-platform/500-data-browser.mdx b/content/800-platform/600-classic-projects/100-platform/500-data-browser.mdx similarity index 100% rename from content/800-data-platform/600-classic-projects/100-platform/500-data-browser.mdx rename to content/800-platform/600-classic-projects/100-platform/500-data-browser.mdx diff --git a/content/800-data-platform/600-classic-projects/100-platform/600-query-console.mdx b/content/800-platform/600-classic-projects/100-platform/600-query-console.mdx similarity index 100% rename from content/800-data-platform/600-classic-projects/100-platform/600-query-console.mdx rename to content/800-platform/600-classic-projects/100-platform/600-query-console.mdx diff --git a/content/800-data-platform/600-classic-projects/100-platform/700-schema-viewer.mdx b/content/800-platform/600-classic-projects/100-platform/700-schema-viewer.mdx similarity index 100% rename from content/800-data-platform/600-classic-projects/100-platform/700-schema-viewer.mdx rename to content/800-platform/600-classic-projects/100-platform/700-schema-viewer.mdx diff --git a/content/800-data-platform/600-classic-projects/100-platform/800-account.mdx b/content/800-platform/600-classic-projects/100-platform/800-account.mdx similarity index 100% rename from content/800-data-platform/600-classic-projects/100-platform/800-account.mdx rename to content/800-platform/600-classic-projects/100-platform/800-account.mdx diff --git a/content/800-data-platform/600-classic-projects/100-platform/825-github-integration.mdx b/content/800-platform/600-classic-projects/100-platform/825-github-integration.mdx similarity index 100% rename from content/800-data-platform/600-classic-projects/100-platform/825-github-integration.mdx rename to content/800-platform/600-classic-projects/100-platform/825-github-integration.mdx diff --git a/content/800-data-platform/600-classic-projects/100-platform/900-troubleshooting/050-connection-to-db-timed-out.mdx b/content/800-platform/600-classic-projects/100-platform/900-troubleshooting/050-connection-to-db-timed-out.mdx similarity index 100% rename from content/800-data-platform/600-classic-projects/100-platform/900-troubleshooting/050-connection-to-db-timed-out.mdx rename to content/800-platform/600-classic-projects/100-platform/900-troubleshooting/050-connection-to-db-timed-out.mdx diff --git a/content/800-data-platform/600-classic-projects/100-platform/900-troubleshooting/080-cannot-change-db-of-env.mdx b/content/800-platform/600-classic-projects/100-platform/900-troubleshooting/080-cannot-change-db-of-env.mdx similarity index 100% rename from content/800-data-platform/600-classic-projects/100-platform/900-troubleshooting/080-cannot-change-db-of-env.mdx rename to content/800-platform/600-classic-projects/100-platform/900-troubleshooting/080-cannot-change-db-of-env.mdx diff --git a/content/800-data-platform/600-classic-projects/100-platform/900-troubleshooting/100-cannot-edit-schema-file.mdx b/content/800-platform/600-classic-projects/100-platform/900-troubleshooting/100-cannot-edit-schema-file.mdx similarity index 100% rename from content/800-data-platform/600-classic-projects/100-platform/900-troubleshooting/100-cannot-edit-schema-file.mdx rename to content/800-platform/600-classic-projects/100-platform/900-troubleshooting/100-cannot-edit-schema-file.mdx diff --git a/content/800-data-platform/600-classic-projects/100-platform/900-troubleshooting/200-schema-file-does-not-update.mdx b/content/800-platform/600-classic-projects/100-platform/900-troubleshooting/200-schema-file-does-not-update.mdx similarity index 100% rename from content/800-data-platform/600-classic-projects/100-platform/900-troubleshooting/200-schema-file-does-not-update.mdx rename to content/800-platform/600-classic-projects/100-platform/900-troubleshooting/200-schema-file-does-not-update.mdx diff --git a/content/800-data-platform/600-classic-projects/100-platform/900-troubleshooting/index.mdx b/content/800-platform/600-classic-projects/100-platform/900-troubleshooting/index.mdx similarity index 100% rename from content/800-data-platform/600-classic-projects/100-platform/900-troubleshooting/index.mdx rename to content/800-platform/600-classic-projects/100-platform/900-troubleshooting/index.mdx diff --git a/content/800-data-platform/600-classic-projects/100-platform/index.mdx b/content/800-platform/600-classic-projects/100-platform/index.mdx similarity index 100% rename from content/800-data-platform/600-classic-projects/100-platform/index.mdx rename to content/800-platform/600-classic-projects/100-platform/index.mdx diff --git a/content/800-data-platform/600-classic-projects/980-support.mdx b/content/800-platform/600-classic-projects/980-support.mdx similarity index 100% rename from content/800-data-platform/600-classic-projects/980-support.mdx rename to content/800-platform/600-classic-projects/980-support.mdx diff --git a/content/800-data-platform/600-classic-projects/images/account/profile-menu-github-account.png b/content/800-platform/600-classic-projects/images/account/profile-menu-github-account.png similarity index 100% rename from content/800-data-platform/600-classic-projects/images/account/profile-menu-github-account.png rename to content/800-platform/600-classic-projects/images/account/profile-menu-github-account.png diff --git a/content/800-data-platform/600-classic-projects/images/account/profile-menu-github-account.snagx b/content/800-platform/600-classic-projects/images/account/profile-menu-github-account.snagx similarity index 100% rename from content/800-data-platform/600-classic-projects/images/account/profile-menu-github-account.snagx rename to content/800-platform/600-classic-projects/images/account/profile-menu-github-account.snagx diff --git a/content/800-data-platform/600-classic-projects/images/account/sign-up-01-create-first-project.png b/content/800-platform/600-classic-projects/images/account/sign-up-01-create-first-project.png similarity index 100% rename from content/800-data-platform/600-classic-projects/images/account/sign-up-01-create-first-project.png rename to content/800-platform/600-classic-projects/images/account/sign-up-01-create-first-project.png diff --git a/content/800-data-platform/600-classic-projects/images/account/sign-up-01-create-first-project.snagx b/content/800-platform/600-classic-projects/images/account/sign-up-01-create-first-project.snagx similarity index 100% rename from content/800-data-platform/600-classic-projects/images/account/sign-up-01-create-first-project.snagx rename to content/800-platform/600-classic-projects/images/account/sign-up-01-create-first-project.snagx diff --git a/content/800-data-platform/600-classic-projects/images/common/open-project-settings.png b/content/800-platform/600-classic-projects/images/common/open-project-settings.png similarity index 100% rename from content/800-data-platform/600-classic-projects/images/common/open-project-settings.png rename to content/800-platform/600-classic-projects/images/common/open-project-settings.png diff --git a/content/800-data-platform/600-classic-projects/images/common/open-project-settings.snagx b/content/800-platform/600-classic-projects/images/common/open-project-settings.snagx similarity index 100% rename from content/800-data-platform/600-classic-projects/images/common/open-project-settings.snagx rename to content/800-platform/600-classic-projects/images/common/open-project-settings.snagx diff --git a/content/800-data-platform/600-classic-projects/images/common/support-pop-up.png b/content/800-platform/600-classic-projects/images/common/support-pop-up.png similarity index 100% rename from content/800-data-platform/600-classic-projects/images/common/support-pop-up.png rename to content/800-platform/600-classic-projects/images/common/support-pop-up.png diff --git a/content/800-data-platform/600-classic-projects/images/common/support-pop-up.snagx b/content/800-platform/600-classic-projects/images/common/support-pop-up.snagx similarity index 100% rename from content/800-data-platform/600-classic-projects/images/common/support-pop-up.snagx rename to content/800-platform/600-classic-projects/images/common/support-pop-up.snagx diff --git a/content/800-data-platform/600-classic-projects/images/data-browser/01-models-view.png b/content/800-platform/600-classic-projects/images/data-browser/01-models-view.png similarity index 100% rename from content/800-data-platform/600-classic-projects/images/data-browser/01-models-view.png rename to content/800-platform/600-classic-projects/images/data-browser/01-models-view.png diff --git a/content/800-data-platform/600-classic-projects/images/data-browser/01-models-view.snagx b/content/800-platform/600-classic-projects/images/data-browser/01-models-view.snagx similarity index 100% rename from content/800-data-platform/600-classic-projects/images/data-browser/01-models-view.snagx rename to content/800-platform/600-classic-projects/images/data-browser/01-models-view.snagx diff --git a/content/800-data-platform/600-classic-projects/images/data-browser/02-open-close-models.png b/content/800-platform/600-classic-projects/images/data-browser/02-open-close-models.png similarity index 100% rename from content/800-data-platform/600-classic-projects/images/data-browser/02-open-close-models.png rename to content/800-platform/600-classic-projects/images/data-browser/02-open-close-models.png diff --git a/content/800-data-platform/600-classic-projects/images/data-browser/02-open-close-models.snagx b/content/800-platform/600-classic-projects/images/data-browser/02-open-close-models.snagx similarity index 100% rename from content/800-data-platform/600-classic-projects/images/data-browser/02-open-close-models.snagx rename to content/800-platform/600-classic-projects/images/data-browser/02-open-close-models.snagx diff --git a/content/800-data-platform/600-classic-projects/images/data-browser/03-model-view-keyboard-shortcuts.png b/content/800-platform/600-classic-projects/images/data-browser/03-model-view-keyboard-shortcuts.png similarity index 100% rename from content/800-data-platform/600-classic-projects/images/data-browser/03-model-view-keyboard-shortcuts.png rename to content/800-platform/600-classic-projects/images/data-browser/03-model-view-keyboard-shortcuts.png diff --git a/content/800-data-platform/600-classic-projects/images/data-browser/03-model-view-keyboard-shortcuts.snagx b/content/800-platform/600-classic-projects/images/data-browser/03-model-view-keyboard-shortcuts.snagx similarity index 100% rename from content/800-data-platform/600-classic-projects/images/data-browser/03-model-view-keyboard-shortcuts.snagx rename to content/800-platform/600-classic-projects/images/data-browser/03-model-view-keyboard-shortcuts.snagx diff --git a/content/800-data-platform/600-classic-projects/images/data-browser/04-save-multiple-changes.png b/content/800-platform/600-classic-projects/images/data-browser/04-save-multiple-changes.png similarity index 100% rename from content/800-data-platform/600-classic-projects/images/data-browser/04-save-multiple-changes.png rename to content/800-platform/600-classic-projects/images/data-browser/04-save-multiple-changes.png diff --git a/content/800-data-platform/600-classic-projects/images/data-browser/04-save-multiple-changes.snagx b/content/800-platform/600-classic-projects/images/data-browser/04-save-multiple-changes.snagx similarity index 100% rename from content/800-data-platform/600-classic-projects/images/data-browser/04-save-multiple-changes.snagx rename to content/800-platform/600-classic-projects/images/data-browser/04-save-multiple-changes.snagx diff --git a/content/800-data-platform/600-classic-projects/images/data-browser/05-add-remove-filters.png b/content/800-platform/600-classic-projects/images/data-browser/05-add-remove-filters.png similarity index 100% rename from content/800-data-platform/600-classic-projects/images/data-browser/05-add-remove-filters.png rename to content/800-platform/600-classic-projects/images/data-browser/05-add-remove-filters.png diff --git a/content/800-data-platform/600-classic-projects/images/data-browser/05-add-remove-filters.snagx b/content/800-platform/600-classic-projects/images/data-browser/05-add-remove-filters.snagx similarity index 100% rename from content/800-data-platform/600-classic-projects/images/data-browser/05-add-remove-filters.snagx rename to content/800-platform/600-classic-projects/images/data-browser/05-add-remove-filters.snagx diff --git a/content/800-data-platform/600-classic-projects/images/data-browser/06-show-hide-fields.png b/content/800-platform/600-classic-projects/images/data-browser/06-show-hide-fields.png similarity index 100% rename from content/800-data-platform/600-classic-projects/images/data-browser/06-show-hide-fields.png rename to content/800-platform/600-classic-projects/images/data-browser/06-show-hide-fields.png diff --git a/content/800-data-platform/600-classic-projects/images/data-browser/06-show-hide-fields.snagx b/content/800-platform/600-classic-projects/images/data-browser/06-show-hide-fields.snagx similarity index 100% rename from content/800-data-platform/600-classic-projects/images/data-browser/06-show-hide-fields.snagx rename to content/800-platform/600-classic-projects/images/data-browser/06-show-hide-fields.snagx diff --git a/content/800-data-platform/600-classic-projects/images/data-browser/07-show-hide-records.png b/content/800-platform/600-classic-projects/images/data-browser/07-show-hide-records.png similarity index 100% rename from content/800-data-platform/600-classic-projects/images/data-browser/07-show-hide-records.png rename to content/800-platform/600-classic-projects/images/data-browser/07-show-hide-records.png diff --git a/content/800-data-platform/600-classic-projects/images/data-browser/07-show-hide-records.snagx b/content/800-platform/600-classic-projects/images/data-browser/07-show-hide-records.snagx similarity index 100% rename from content/800-data-platform/600-classic-projects/images/data-browser/07-show-hide-records.snagx rename to content/800-platform/600-classic-projects/images/data-browser/07-show-hide-records.snagx diff --git a/content/800-data-platform/600-classic-projects/images/data-browser/08-model-sort.png b/content/800-platform/600-classic-projects/images/data-browser/08-model-sort.png similarity index 100% rename from content/800-data-platform/600-classic-projects/images/data-browser/08-model-sort.png rename to content/800-platform/600-classic-projects/images/data-browser/08-model-sort.png diff --git a/content/800-data-platform/600-classic-projects/images/data-browser/08-model-sort.snagx b/content/800-platform/600-classic-projects/images/data-browser/08-model-sort.snagx similarity index 100% rename from content/800-data-platform/600-classic-projects/images/data-browser/08-model-sort.snagx rename to content/800-platform/600-classic-projects/images/data-browser/08-model-sort.snagx diff --git a/content/800-data-platform/600-classic-projects/images/data-browser/array.svg b/content/800-platform/600-classic-projects/images/data-browser/array.svg similarity index 100% rename from content/800-data-platform/600-classic-projects/images/data-browser/array.svg rename to content/800-platform/600-classic-projects/images/data-browser/array.svg diff --git a/content/800-data-platform/600-classic-projects/images/data-browser/boolean.svg b/content/800-platform/600-classic-projects/images/data-browser/boolean.svg similarity index 100% rename from content/800-data-platform/600-classic-projects/images/data-browser/boolean.svg rename to content/800-platform/600-classic-projects/images/data-browser/boolean.svg diff --git a/content/800-data-platform/600-classic-projects/images/data-browser/database.svg b/content/800-platform/600-classic-projects/images/data-browser/database.svg similarity index 100% rename from content/800-data-platform/600-classic-projects/images/data-browser/database.svg rename to content/800-platform/600-classic-projects/images/data-browser/database.svg diff --git a/content/800-data-platform/600-classic-projects/images/data-browser/datetime.svg b/content/800-platform/600-classic-projects/images/data-browser/datetime.svg similarity index 100% rename from content/800-data-platform/600-classic-projects/images/data-browser/datetime.svg rename to content/800-platform/600-classic-projects/images/data-browser/datetime.svg diff --git a/content/800-data-platform/600-classic-projects/images/data-browser/enum.svg b/content/800-platform/600-classic-projects/images/data-browser/enum.svg similarity index 100% rename from content/800-data-platform/600-classic-projects/images/data-browser/enum.svg rename to content/800-platform/600-classic-projects/images/data-browser/enum.svg diff --git a/content/800-data-platform/600-classic-projects/images/data-browser/number.svg b/content/800-platform/600-classic-projects/images/data-browser/number.svg similarity index 100% rename from content/800-data-platform/600-classic-projects/images/data-browser/number.svg rename to content/800-platform/600-classic-projects/images/data-browser/number.svg diff --git a/content/800-data-platform/600-classic-projects/images/data-browser/object.svg b/content/800-platform/600-classic-projects/images/data-browser/object.svg similarity index 100% rename from content/800-data-platform/600-classic-projects/images/data-browser/object.svg rename to content/800-platform/600-classic-projects/images/data-browser/object.svg diff --git a/content/800-data-platform/600-classic-projects/images/data-browser/string.svg b/content/800-platform/600-classic-projects/images/data-browser/string.svg similarity index 100% rename from content/800-data-platform/600-classic-projects/images/data-browser/string.svg rename to content/800-platform/600-classic-projects/images/data-browser/string.svg diff --git a/content/800-data-platform/600-classic-projects/images/data-proxy/copy-connection-string.png b/content/800-platform/600-classic-projects/images/data-proxy/copy-connection-string.png similarity index 100% rename from content/800-data-platform/600-classic-projects/images/data-proxy/copy-connection-string.png rename to content/800-platform/600-classic-projects/images/data-proxy/copy-connection-string.png diff --git a/content/800-data-platform/600-classic-projects/images/data-proxy/copy-connection-string.snagx b/content/800-platform/600-classic-projects/images/data-proxy/copy-connection-string.snagx similarity index 100% rename from content/800-data-platform/600-classic-projects/images/data-proxy/copy-connection-string.snagx rename to content/800-platform/600-classic-projects/images/data-proxy/copy-connection-string.snagx diff --git a/content/800-data-platform/600-classic-projects/images/data-proxy/create-and-name-new-connection-string.png b/content/800-platform/600-classic-projects/images/data-proxy/create-and-name-new-connection-string.png similarity index 100% rename from content/800-data-platform/600-classic-projects/images/data-proxy/create-and-name-new-connection-string.png rename to content/800-platform/600-classic-projects/images/data-proxy/create-and-name-new-connection-string.png diff --git a/content/800-data-platform/600-classic-projects/images/data-proxy/create-and-name-new-connection-string.snagx b/content/800-platform/600-classic-projects/images/data-proxy/create-and-name-new-connection-string.snagx similarity index 100% rename from content/800-data-platform/600-classic-projects/images/data-proxy/create-and-name-new-connection-string.snagx rename to content/800-platform/600-classic-projects/images/data-proxy/create-and-name-new-connection-string.snagx diff --git a/content/800-data-platform/600-classic-projects/images/data-proxy/prisma-bundle-with-data-proxy.svg b/content/800-platform/600-classic-projects/images/data-proxy/prisma-bundle-with-data-proxy.svg similarity index 100% rename from content/800-data-platform/600-classic-projects/images/data-proxy/prisma-bundle-with-data-proxy.svg rename to content/800-platform/600-classic-projects/images/data-proxy/prisma-bundle-with-data-proxy.svg diff --git a/content/800-data-platform/600-classic-projects/images/data-proxy/prisma-bundle-without-data-proxy.svg b/content/800-platform/600-classic-projects/images/data-proxy/prisma-bundle-without-data-proxy.svg similarity index 100% rename from content/800-data-platform/600-classic-projects/images/data-proxy/prisma-bundle-without-data-proxy.svg rename to content/800-platform/600-classic-projects/images/data-proxy/prisma-bundle-without-data-proxy.svg diff --git a/content/800-data-platform/600-classic-projects/images/environments/create-01-drop-down-select-create.png b/content/800-platform/600-classic-projects/images/environments/create-01-drop-down-select-create.png similarity index 100% rename from content/800-data-platform/600-classic-projects/images/environments/create-01-drop-down-select-create.png rename to content/800-platform/600-classic-projects/images/environments/create-01-drop-down-select-create.png diff --git a/content/800-data-platform/600-classic-projects/images/environments/create-01-drop-down-select-create.snagx b/content/800-platform/600-classic-projects/images/environments/create-01-drop-down-select-create.snagx similarity index 100% rename from content/800-data-platform/600-classic-projects/images/environments/create-01-drop-down-select-create.snagx rename to content/800-platform/600-classic-projects/images/environments/create-01-drop-down-select-create.snagx diff --git a/content/800-data-platform/600-classic-projects/images/environments/create-env-upload-schema-file.png b/content/800-platform/600-classic-projects/images/environments/create-env-upload-schema-file.png similarity index 100% rename from content/800-data-platform/600-classic-projects/images/environments/create-env-upload-schema-file.png rename to content/800-platform/600-classic-projects/images/environments/create-env-upload-schema-file.png diff --git a/content/800-data-platform/600-classic-projects/images/environments/create-no-schema-sync-02-repo-branch-database-connection-string-data-proxy.png b/content/800-platform/600-classic-projects/images/environments/create-no-schema-sync-02-repo-branch-database-connection-string-data-proxy.png similarity index 100% rename from content/800-data-platform/600-classic-projects/images/environments/create-no-schema-sync-02-repo-branch-database-connection-string-data-proxy.png rename to content/800-platform/600-classic-projects/images/environments/create-no-schema-sync-02-repo-branch-database-connection-string-data-proxy.png diff --git a/content/800-data-platform/600-classic-projects/images/environments/create-no-schema-sync-02-repo-branch-database-connection-string-data-proxy.snagx b/content/800-platform/600-classic-projects/images/environments/create-no-schema-sync-02-repo-branch-database-connection-string-data-proxy.snagx similarity index 100% rename from content/800-data-platform/600-classic-projects/images/environments/create-no-schema-sync-02-repo-branch-database-connection-string-data-proxy.snagx rename to content/800-platform/600-classic-projects/images/environments/create-no-schema-sync-02-repo-branch-database-connection-string-data-proxy.snagx diff --git a/content/800-data-platform/600-classic-projects/images/environments/create-on-schema-sync-02-connection-string-static-ips-data-proxy-region.png b/content/800-platform/600-classic-projects/images/environments/create-on-schema-sync-02-connection-string-static-ips-data-proxy-region.png similarity index 100% rename from content/800-data-platform/600-classic-projects/images/environments/create-on-schema-sync-02-connection-string-static-ips-data-proxy-region.png rename to content/800-platform/600-classic-projects/images/environments/create-on-schema-sync-02-connection-string-static-ips-data-proxy-region.png diff --git a/content/800-data-platform/600-classic-projects/images/environments/create-on-schema-sync-02-connection-string-static-ips-data-proxy-region.snagx b/content/800-platform/600-classic-projects/images/environments/create-on-schema-sync-02-connection-string-static-ips-data-proxy-region.snagx similarity index 100% rename from content/800-data-platform/600-classic-projects/images/environments/create-on-schema-sync-02-connection-string-static-ips-data-proxy-region.snagx rename to content/800-platform/600-classic-projects/images/environments/create-on-schema-sync-02-connection-string-static-ips-data-proxy-region.snagx diff --git a/content/800-data-platform/600-classic-projects/images/environments/default-environment.png b/content/800-platform/600-classic-projects/images/environments/default-environment.png similarity index 100% rename from content/800-data-platform/600-classic-projects/images/environments/default-environment.png rename to content/800-platform/600-classic-projects/images/environments/default-environment.png diff --git a/content/800-data-platform/600-classic-projects/images/environments/default-environment.snagx b/content/800-platform/600-classic-projects/images/environments/default-environment.snagx similarity index 100% rename from content/800-data-platform/600-classic-projects/images/environments/default-environment.snagx rename to content/800-platform/600-classic-projects/images/environments/default-environment.snagx diff --git a/content/800-data-platform/600-classic-projects/images/environments/delete-01-click-three-dot-select-delete.png b/content/800-platform/600-classic-projects/images/environments/delete-01-click-three-dot-select-delete.png similarity index 100% rename from content/800-data-platform/600-classic-projects/images/environments/delete-01-click-three-dot-select-delete.png rename to content/800-platform/600-classic-projects/images/environments/delete-01-click-three-dot-select-delete.png diff --git a/content/800-data-platform/600-classic-projects/images/environments/delete-01-click-three-dot-select-delete.snagx b/content/800-platform/600-classic-projects/images/environments/delete-01-click-three-dot-select-delete.snagx similarity index 100% rename from content/800-data-platform/600-classic-projects/images/environments/delete-01-click-three-dot-select-delete.snagx rename to content/800-platform/600-classic-projects/images/environments/delete-01-click-three-dot-select-delete.snagx diff --git a/content/800-data-platform/600-classic-projects/images/environments/edit-01-change-database-connection-string.png b/content/800-platform/600-classic-projects/images/environments/edit-01-change-database-connection-string.png similarity index 100% rename from content/800-data-platform/600-classic-projects/images/environments/edit-01-change-database-connection-string.png rename to content/800-platform/600-classic-projects/images/environments/edit-01-change-database-connection-string.png diff --git a/content/800-data-platform/600-classic-projects/images/environments/edit-01-change-database-connection-string.snagx b/content/800-platform/600-classic-projects/images/environments/edit-01-change-database-connection-string.snagx similarity index 100% rename from content/800-data-platform/600-classic-projects/images/environments/edit-01-change-database-connection-string.snagx rename to content/800-platform/600-classic-projects/images/environments/edit-01-change-database-connection-string.snagx diff --git a/content/800-data-platform/600-classic-projects/images/environments/edit-01-change-default.png b/content/800-platform/600-classic-projects/images/environments/edit-01-change-default.png similarity index 100% rename from content/800-data-platform/600-classic-projects/images/environments/edit-01-change-default.png rename to content/800-platform/600-classic-projects/images/environments/edit-01-change-default.png diff --git a/content/800-data-platform/600-classic-projects/images/environments/edit-01-change-default.snagx b/content/800-platform/600-classic-projects/images/environments/edit-01-change-default.snagx similarity index 100% rename from content/800-data-platform/600-classic-projects/images/environments/edit-01-change-default.snagx rename to content/800-platform/600-classic-projects/images/environments/edit-01-change-default.snagx diff --git a/content/800-data-platform/600-classic-projects/images/environments/edit-01-change-name-and-URL-handle.png b/content/800-platform/600-classic-projects/images/environments/edit-01-change-name-and-URL-handle.png similarity index 100% rename from content/800-data-platform/600-classic-projects/images/environments/edit-01-change-name-and-URL-handle.png rename to content/800-platform/600-classic-projects/images/environments/edit-01-change-name-and-URL-handle.png diff --git a/content/800-data-platform/600-classic-projects/images/environments/edit-01-change-name-and-URL-handle.snagx b/content/800-platform/600-classic-projects/images/environments/edit-01-change-name-and-URL-handle.snagx similarity index 100% rename from content/800-data-platform/600-classic-projects/images/environments/edit-01-change-name-and-URL-handle.snagx rename to content/800-platform/600-classic-projects/images/environments/edit-01-change-name-and-URL-handle.snagx diff --git a/content/800-data-platform/600-classic-projects/images/environments/list-all-environments.png b/content/800-platform/600-classic-projects/images/environments/list-all-environments.png similarity index 100% rename from content/800-data-platform/600-classic-projects/images/environments/list-all-environments.png rename to content/800-platform/600-classic-projects/images/environments/list-all-environments.png diff --git a/content/800-data-platform/600-classic-projects/images/environments/list-all-environments.snagx b/content/800-platform/600-classic-projects/images/environments/list-all-environments.snagx similarity index 100% rename from content/800-data-platform/600-classic-projects/images/environments/list-all-environments.snagx rename to content/800-platform/600-classic-projects/images/environments/list-all-environments.snagx diff --git a/content/800-data-platform/600-classic-projects/images/environments/switch-environment.png b/content/800-platform/600-classic-projects/images/environments/switch-environment.png similarity index 100% rename from content/800-data-platform/600-classic-projects/images/environments/switch-environment.png rename to content/800-platform/600-classic-projects/images/environments/switch-environment.png diff --git a/content/800-data-platform/600-classic-projects/images/environments/switch-environment.snagx b/content/800-platform/600-classic-projects/images/environments/switch-environment.snagx similarity index 100% rename from content/800-data-platform/600-classic-projects/images/environments/switch-environment.snagx rename to content/800-platform/600-classic-projects/images/environments/switch-environment.snagx diff --git a/content/800-data-platform/600-classic-projects/images/environments/view-all-01-environments-drop-down-view-all.png b/content/800-platform/600-classic-projects/images/environments/view-all-01-environments-drop-down-view-all.png similarity index 100% rename from content/800-data-platform/600-classic-projects/images/environments/view-all-01-environments-drop-down-view-all.png rename to content/800-platform/600-classic-projects/images/environments/view-all-01-environments-drop-down-view-all.png diff --git a/content/800-data-platform/600-classic-projects/images/environments/view-all-01-environments-drop-down-view-all.snagx b/content/800-platform/600-classic-projects/images/environments/view-all-01-environments-drop-down-view-all.snagx similarity index 100% rename from content/800-data-platform/600-classic-projects/images/environments/view-all-01-environments-drop-down-view-all.snagx rename to content/800-platform/600-classic-projects/images/environments/view-all-01-environments-drop-down-view-all.snagx diff --git a/content/800-data-platform/600-classic-projects/images/github/add-github-account-or-org.png b/content/800-platform/600-classic-projects/images/github/add-github-account-or-org.png similarity index 100% rename from content/800-data-platform/600-classic-projects/images/github/add-github-account-or-org.png rename to content/800-platform/600-classic-projects/images/github/add-github-account-or-org.png diff --git a/content/800-data-platform/600-classic-projects/images/github/add-github-account-or-org.snagx b/content/800-platform/600-classic-projects/images/github/add-github-account-or-org.snagx similarity index 100% rename from content/800-data-platform/600-classic-projects/images/github/add-github-account-or-org.snagx rename to content/800-platform/600-classic-projects/images/github/add-github-account-or-org.snagx diff --git a/content/800-data-platform/600-classic-projects/images/github/grant-access-github-app.png b/content/800-platform/600-classic-projects/images/github/grant-access-github-app.png similarity index 100% rename from content/800-data-platform/600-classic-projects/images/github/grant-access-github-app.png rename to content/800-platform/600-classic-projects/images/github/grant-access-github-app.png diff --git a/content/800-data-platform/600-classic-projects/images/github/grant-access-github-app.snagx b/content/800-platform/600-classic-projects/images/github/grant-access-github-app.snagx similarity index 100% rename from content/800-data-platform/600-classic-projects/images/github/grant-access-github-app.snagx rename to content/800-platform/600-classic-projects/images/github/grant-access-github-app.snagx diff --git a/content/800-data-platform/600-classic-projects/images/github/grant-access-to-select-github-repositories.png b/content/800-platform/600-classic-projects/images/github/grant-access-to-select-github-repositories.png similarity index 100% rename from content/800-data-platform/600-classic-projects/images/github/grant-access-to-select-github-repositories.png rename to content/800-platform/600-classic-projects/images/github/grant-access-to-select-github-repositories.png diff --git a/content/800-data-platform/600-classic-projects/images/github/grant-access-to-select-github-repositories.snagx b/content/800-platform/600-classic-projects/images/github/grant-access-to-select-github-repositories.snagx similarity index 100% rename from content/800-data-platform/600-classic-projects/images/github/grant-access-to-select-github-repositories.snagx rename to content/800-platform/600-classic-projects/images/github/grant-access-to-select-github-repositories.snagx diff --git a/content/800-data-platform/600-classic-projects/images/projects/create-02-enable-schema-sync-github-account-branch-schema-path.png b/content/800-platform/600-classic-projects/images/projects/create-02-enable-schema-sync-github-account-branch-schema-path.png similarity index 100% rename from content/800-data-platform/600-classic-projects/images/projects/create-02-enable-schema-sync-github-account-branch-schema-path.png rename to content/800-platform/600-classic-projects/images/projects/create-02-enable-schema-sync-github-account-branch-schema-path.png diff --git a/content/800-data-platform/600-classic-projects/images/projects/create-02-enable-schema-sync-github-account-branch-schema-path.snagx b/content/800-platform/600-classic-projects/images/projects/create-02-enable-schema-sync-github-account-branch-schema-path.snagx similarity index 100% rename from content/800-data-platform/600-classic-projects/images/projects/create-02-enable-schema-sync-github-account-branch-schema-path.snagx rename to content/800-platform/600-classic-projects/images/projects/create-02-enable-schema-sync-github-account-branch-schema-path.snagx diff --git a/content/800-data-platform/600-classic-projects/images/projects/create-02-link-schema-file-from-a-repository.png b/content/800-platform/600-classic-projects/images/projects/create-02-link-schema-file-from-a-repository.png similarity index 100% rename from content/800-data-platform/600-classic-projects/images/projects/create-02-link-schema-file-from-a-repository.png rename to content/800-platform/600-classic-projects/images/projects/create-02-link-schema-file-from-a-repository.png diff --git a/content/800-data-platform/600-classic-projects/images/projects/create-02-upload-schema-file.png b/content/800-platform/600-classic-projects/images/projects/create-02-upload-schema-file.png similarity index 100% rename from content/800-data-platform/600-classic-projects/images/projects/create-02-upload-schema-file.png rename to content/800-platform/600-classic-projects/images/projects/create-02-upload-schema-file.png diff --git a/content/800-data-platform/600-classic-projects/images/projects/prisma-data-platform-projects-page.png b/content/800-platform/600-classic-projects/images/projects/prisma-data-platform-projects-page.png similarity index 100% rename from content/800-data-platform/600-classic-projects/images/projects/prisma-data-platform-projects-page.png rename to content/800-platform/600-classic-projects/images/projects/prisma-data-platform-projects-page.png diff --git a/content/800-data-platform/600-classic-projects/images/projects/prisma-data-platform-projects-page.snagx b/content/800-platform/600-classic-projects/images/projects/prisma-data-platform-projects-page.snagx similarity index 100% rename from content/800-data-platform/600-classic-projects/images/projects/prisma-data-platform-projects-page.snagx rename to content/800-platform/600-classic-projects/images/projects/prisma-data-platform-projects-page.snagx diff --git a/content/800-data-platform/600-classic-projects/images/query-console/add-query-with-autocomplete.png b/content/800-platform/600-classic-projects/images/query-console/add-query-with-autocomplete.png similarity index 100% rename from content/800-data-platform/600-classic-projects/images/query-console/add-query-with-autocomplete.png rename to content/800-platform/600-classic-projects/images/query-console/add-query-with-autocomplete.png diff --git a/content/800-data-platform/600-classic-projects/images/query-console/add-query-with-autocomplete.snagx b/content/800-platform/600-classic-projects/images/query-console/add-query-with-autocomplete.snagx similarity index 100% rename from content/800-data-platform/600-classic-projects/images/query-console/add-query-with-autocomplete.snagx rename to content/800-platform/600-classic-projects/images/query-console/add-query-with-autocomplete.snagx diff --git a/content/800-data-platform/600-classic-projects/images/query-console/components.png b/content/800-platform/600-classic-projects/images/query-console/components.png similarity index 100% rename from content/800-data-platform/600-classic-projects/images/query-console/components.png rename to content/800-platform/600-classic-projects/images/query-console/components.png diff --git a/content/800-data-platform/600-classic-projects/images/query-console/components.snagx b/content/800-platform/600-classic-projects/images/query-console/components.snagx similarity index 100% rename from content/800-data-platform/600-classic-projects/images/query-console/components.snagx rename to content/800-platform/600-classic-projects/images/query-console/components.snagx diff --git a/content/800-data-platform/600-classic-projects/images/query-console/run-query.png b/content/800-platform/600-classic-projects/images/query-console/run-query.png similarity index 100% rename from content/800-data-platform/600-classic-projects/images/query-console/run-query.png rename to content/800-platform/600-classic-projects/images/query-console/run-query.png diff --git a/content/800-data-platform/600-classic-projects/images/query-console/run-query.snagx b/content/800-platform/600-classic-projects/images/query-console/run-query.snagx similarity index 100% rename from content/800-data-platform/600-classic-projects/images/query-console/run-query.snagx rename to content/800-platform/600-classic-projects/images/query-console/run-query.snagx diff --git a/content/800-data-platform/600-classic-projects/images/schema-viewer/overview.png b/content/800-platform/600-classic-projects/images/schema-viewer/overview.png similarity index 100% rename from content/800-data-platform/600-classic-projects/images/schema-viewer/overview.png rename to content/800-platform/600-classic-projects/images/schema-viewer/overview.png diff --git a/content/800-data-platform/600-classic-projects/images/schema-viewer/overview.snagx b/content/800-platform/600-classic-projects/images/schema-viewer/overview.snagx similarity index 100% rename from content/800-data-platform/600-classic-projects/images/schema-viewer/overview.snagx rename to content/800-platform/600-classic-projects/images/schema-viewer/overview.snagx diff --git a/content/800-data-platform/600-classic-projects/images/schema-viewer/project-introspected-schema.png b/content/800-platform/600-classic-projects/images/schema-viewer/project-introspected-schema.png similarity index 100% rename from content/800-data-platform/600-classic-projects/images/schema-viewer/project-introspected-schema.png rename to content/800-platform/600-classic-projects/images/schema-viewer/project-introspected-schema.png diff --git a/content/800-data-platform/600-classic-projects/images/schema-viewer/project-introspected-schema.snagx b/content/800-platform/600-classic-projects/images/schema-viewer/project-introspected-schema.snagx similarity index 100% rename from content/800-data-platform/600-classic-projects/images/schema-viewer/project-introspected-schema.snagx rename to content/800-platform/600-classic-projects/images/schema-viewer/project-introspected-schema.snagx diff --git a/content/800-data-platform/600-classic-projects/images/schema-viewer/project-no-models-no-schema.png b/content/800-platform/600-classic-projects/images/schema-viewer/project-no-models-no-schema.png similarity index 100% rename from content/800-data-platform/600-classic-projects/images/schema-viewer/project-no-models-no-schema.png rename to content/800-platform/600-classic-projects/images/schema-viewer/project-no-models-no-schema.png diff --git a/content/800-data-platform/600-classic-projects/images/schema-viewer/project-no-models-no-schema.snagx b/content/800-platform/600-classic-projects/images/schema-viewer/project-no-models-no-schema.snagx similarity index 100% rename from content/800-data-platform/600-classic-projects/images/schema-viewer/project-no-models-no-schema.snagx rename to content/800-platform/600-classic-projects/images/schema-viewer/project-no-models-no-schema.snagx diff --git a/content/800-data-platform/600-classic-projects/images/schema-viewer/project-schema-viewer.png b/content/800-platform/600-classic-projects/images/schema-viewer/project-schema-viewer.png similarity index 100% rename from content/800-data-platform/600-classic-projects/images/schema-viewer/project-schema-viewer.png rename to content/800-platform/600-classic-projects/images/schema-viewer/project-schema-viewer.png diff --git a/content/800-data-platform/600-classic-projects/images/schema-viewer/provide-prisma-schema.png b/content/800-platform/600-classic-projects/images/schema-viewer/provide-prisma-schema.png similarity index 100% rename from content/800-data-platform/600-classic-projects/images/schema-viewer/provide-prisma-schema.png rename to content/800-platform/600-classic-projects/images/schema-viewer/provide-prisma-schema.png diff --git a/content/800-data-platform/600-classic-projects/images/schema-viewer/provide-prisma-schema.snagx b/content/800-platform/600-classic-projects/images/schema-viewer/provide-prisma-schema.snagx similarity index 100% rename from content/800-data-platform/600-classic-projects/images/schema-viewer/provide-prisma-schema.snagx rename to content/800-platform/600-classic-projects/images/schema-viewer/provide-prisma-schema.snagx diff --git a/content/800-data-platform/600-classic-projects/index.mdx b/content/800-platform/600-classic-projects/index.mdx similarity index 100% rename from content/800-data-platform/600-classic-projects/index.mdx rename to content/800-platform/600-classic-projects/index.mdx diff --git a/content/800-data-platform/index.mdx b/content/800-platform/index.mdx similarity index 76% rename from content/800-data-platform/index.mdx rename to content/800-platform/index.mdx index d44647e5a5..29c8bb5946 100644 --- a/content/800-data-platform/index.mdx +++ b/content/800-platform/index.mdx @@ -1,6 +1,6 @@ --- -title: 'Prisma Data Platform' -metaTitle: 'Prisma Data Platform Documentation' +title: 'Platform' +metaTitle: 'Platform' metaDescription: 'Get started with the Prisma Data Platform with its official documentation, and learn more about its features with reference documentation, guides, and more.' earlyaccess: false toc: false diff --git a/content/doc-images/unused/DxuOs88.png b/content/doc-images/unused/DxuOs88.png deleted file mode 100644 index 5c97dc4391d6000b12d5a80cc464afb58f8ba0c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23303 zcmcHh2Q*ym+dqnnL>VQ@=z{1HErSp}m?%Ni=u8X}qDLJy(ML~X5ARwp3|97r?Ea-@U;4*;*T*=UPc%{a{jsC~0 zwH49v`UXb-5P!CBHR9h!TUkYYVw(nIAvRXxaK~%+uYG4?5x-|^ZT*$7M8cfaJ}H72 z$JNs*L}>e#lBrlF)UG)6HSvYEi}w+YwQFt93Qu)(`tvzi-$#e+hqZ%zKx#!7D)&1pkv3{wkA1 zMs1W#*S?O`_?LHnmU&wGvnxxjb>)PDMWWejp)LzB3Z<;B_Gon zw2A90z1qS z`KOFqU+&A<>n@{%mNkBT8|?CaGY2~>j*QAH!(Yb0a66rZ zl2AD*ii?R^Xj=$dMia0$AiKf;aG2><#0-ZQ)8`#Dypnyi-BKgDF4(B z3XF2uvZcdJ^Ha#7s^zrU((6J;)4-69m;ou?s-2S0pFip7S1!rgP^RXt>5X}>4BH)M z*nQC%Hp*PNtyStY)a?|}@7nVru8+5>qf57Ft+21$LH1T(_2(VaSu3rDuovZ%VEA1c zA}GCoWoxG}FmY>Z+AY6zJZOH(Eg~;JcKu;*^X&Y5b@@cl$ed!pUgsV4734Yq;q&OvB`RS%6k7Us)po49VraPY5H!_ zl?SXOFA1J2MQz?^b?H`Ex}&y|eLDR;uH>THvM-FrwXPn?WhF~yS#%2}P4IRGsVqfX z)o+w6REV`M9#9s@niT`*)^<<-C;_kZ=eCz5#iN+3W4%fjE-6? z`}cOJd2GyRnBO_ZJPV6o;-PtJUrh@&a|QQZznUXk8+pt*;p`MXG-+Q3qAsW`eoB0y z#7YT9!#;1YG+J5mQQ0-tb1EV(6BlOjsET~N+%-LwS}dp~`P|)C?1gFJcgXS!Veqjh z^Ru(Ba{HOy+{rN!DfS)d+L(kQT!JlqyGD{TUUDT>^_O|+`_ITfZP`8ia=(owMbUr9 zDJ7|bRy#$K@&a096x_t7X^gO?Yngh-nIri*8^(oJY%oO5G)C5^pzp2~dx8khd-x$e z1N6^um%m>0blHW+&(IKYg5YXmUSis9)TDJhyme8A?S|Vu-LloAkuv9$BG+i2mAnZE z6{G_LYuMprK^gZZ_-95+PdOXcXSj@2eS7qrPy6$UkPshMJMkV(ZhF}lw@KxLPsVy$ z&FT)9ZeMX~#=^RPunF@?^iGCHU3}<^;gnO&dES%v@QO=tW~#Ku_t>=E0D(qY=%2Ez zSsS8rw_Fi6fnrtQx{LC>e&MM`&1RDO=zT#0oa>?B1 zGSk{4s4c=In)O0CqE}z0{EUfTAW%;&(o7P%!oyePv*wa}w?%gNUL?AlEw14T@wXED zE-sIfTdor^ke3-=UYx!@sUh!de;o(yySMp%w?b;RItVBo7Cq=lt3WFASIJRNdJEIL^Oh87N)V_k2@-n8*1nb4M`XXzEK=9XDh`iQwxd4OFaj{4w9sCYa-0kHm6= zOjHECZ?g}>&nE9k;(Y%uD;Yy__T|^0cz@s4;u!{K#?eo`(VIJQ(Vs6s3mtMADBqia zs110fkoP$X61Vna>;q?v<3Pbs08u-gv6g^tlcMCuVkzdfqQiEmt86q|BDvNoj40y3 zuMrAW=1*T8yw2|P>+3mI?%r^H3!6IU5lQnq;{f!}`%?muy70MRlHtc-Gaf zUiQ?x!pF@*M6utVQ8DYEoH@aNeESJGkwbX8jj=qKh3kJ}2I7Mb^-l?YAocW7w@ z>THZuwmXoMzdnVyK_Ao+7ShqMGPgn#*e}S(*Af!qV%v>({b$F~ zeeoxOOiPyuelFC*BOg9q9b?r^9iXe_2k!oC4xm$~^UNWYwF*Q)ypWGwamYNI_ z&`Zy8aOT$AH!}`Q3-)}WkOzv1daM;OUxzwM)#scaf`s6v+>Bo0uEFqi#QcC`noNm@ai-1XcmE}sI=Wn479AYq5<@xk^OK*3Hy zckaa3#A>vb+jrHkjMvBtXokE8Ww1asj-|k~FF(mtziobztKygDbm zI8j%ZKi%p)T>8Ff5J0#T@dxpmnwlkx=SePNCPDl9qOFrE(>GQdIFfH#^8EuV9@c8TLe{-j zcr+9Baz2^khTB`mo)6mBN;3l}^VM$x^xRW(dUD9e@M1nZu52w?=l1PK96@^-#~d=A z_PP_34Ur>qec_wTuyc>QX7C4b({n!k^=q@4M^z2U^Iw~E<${g|``NBPe4(vI<|J{o?+$YnL-=}Hv{vk&IEDvJ=z$QX+iHnOj zC(m{iH?PaK@cs6pZ0O)N0 zzg=WLbvGWZ2Rw#sR)fG^kzFBxiOEBFB;Q<0%H}(T_+Bv%2XOB1x(MAW&qdm&e0Sd1 zC!}3H-I#6tR<;F4GeQ9})V|y=`5o*0UUgNkaCMGr-27&&rODO(@Kb?CL zmF+Z8(ZnCm`OPiqe=?~S6L0YB`I4bTB~~a)gQih@VPUFyM)_PVFA_VwC0)mzT3b{m z^(?{}q0xbzr=W!q?N2u)l%oK7G9)93f26>Tzwa#OqtJ{|NRAmL-9Ucr z*S0zqGjnrQRbI=(Sa9^ikD?tCZ+24GgS}fmdh~gg3b3vS?)x2S&OLYlY8|f-crdsH zVC)$!O5{`_?0U2|E)V4!E=c>i-oOsv^GAx~0k=qa8<-3$4m9%LIH%B%mn*GZ3U2r# zAb>r=_-Zr{E?=Q^je2Q|Eq5BC70P<6LFpcbu%9Jr%)OhZWvlLFZ-$)i&o^f%ViwtK zlbWDt=_!hc5R*VG@2eRC0_nW(ca;b0k}BghI#lui8V#Xr$`OLlqj}mNfC_P$j~Xia zD$ls^^@DG9%bW~;6cU&Aa_nj*`#aTq?UmID)Nh2%J4!d+!&6Qyopqt|jRk!xNS~T$ ze>8m$O=~L`C(LQ^+JC-_o|!oi#Y=Zo={O()WjL9=`~KFGS3v^2Pno6yl<-&V986EC zlRA1lelZfZl@?Xhl=V(P*O2g*YxfMeq!+?;#ArX}yxSzoLSxF~Mp=$MIK6S8hbO%#S*sTs}Fg#-l$P%A5D?k5s#vMwS5*H`mfLD8vUI&L*AZ}u(DH&Gn#BOo zrc6|N%p+eyj~nH`{^A0|%Y(as%zWng_GDUuQPfK4MRHmi`yb}fzC7cRWt;6)Uo;hj zG(&U_)e)hP>OWaelu}r@xM-(kX5|{$GjJqFD}4^^6&#VvDV&&FBs?({?lv zb3Ke}-QC?z2Vb9@zh43PfOF4*ewu;{U^*-*E`voGDPnff#|IsoWOYYi6U!7yXD)?_ zybO8>X^q*=@$Q6F@mo1jrz6JQ7tfwO8;#@$vOfh}ou$_YFmp*AugSBEk<86^kuhNE zVyeH1NL=btSx^(KeC5}zSVd$={1hrn_O!RRmn*r4tyYdiAwrp>s;eqXHSY7`f^|IT z36*AF9^UfhDm{9u6#CoXtC^&rpkVVFV2hXe?zg?RJKg;~1f5A>lkK0gtn$1<4Sn_M zl~S!7$K=Xl-39WqGnYfa{zMW+fjOYbvgJ* z#jAX6YwYrAhxv~A;cpqgv5l#kh@fvIsDhokAkq6)BQGXQOoMCI2PrwE+5%_Saxb8+ zirXxW-t#Z{d`j!XYVMuxzM14KB!M{W;xWa5%p`?nq{xiXaq(SsBgw4}MiEDc zQqvvKR%4)r>ZHjPpPGGeov2mnc8iP014qaQhGgDUY^Va)#%^QPxc@r$JP`^BCfu*T(YJZ$%0ijhdD^d~122Bk*K1-3M{d zolFg-uRQFj2}~wd@deh+xzN zqQ!IMO7UD)9T?-uZ7n)m;b;s$tSi{f&w@L9!=EaEADM=wuUnM}iu0**sLy?Ozr}V%>!)4d z(BWJQ|4{R!-&L+7j6=Zz6btw(TH4|ExwaH%QOvg2#|5@@#!63|tAfQj0=Adi?)pKg-nFxs9=}_7iKM^7n;hWQ%Pf8rWo{ zsW=pzbYd1D7in~~a-0zHJAccy)hEoJMr+w>a;o126fNz0=D9@c@vT1}bq+ILk!uR^ z8Gb+A|6b13O~Sfc^}cdHeTT%HYUJ}qK-e_pT(@_3fD}fPdSV>++U4|> ze-!$Z78-5Ylcz4zx;0l3wS#h#U2yr5hngaFO`L zcqAo+i`|#|g~zDgK8Z@QK`%7kEI^AMh zp6NbSpE|2*jDmbKFEQ7Sb(E|ol(KFM^KI2lm}fcrO)lkk*kQO`*QCwW*y*%ep`1z? zTj@Vi0kq1Dkfsy=)AfXW?iG``gExFA3cZ(xE)3ev6a9T~Q|pCFfmO}JG@{djNRtIv zr`xZrr0ocE6^_Xa2GWU~q{RG17n5c=aAXKv836U#{We#HVX=4VKm7+1R5emq|(8M~Ds z20C*HBRjwu9r-53^&4BvtIXo}FCeBVvQTDL=};0G7f^lhtZ<6n*#t$q72et%4G|?( zO<-Ta!|n9>)sgbTHiMyqULUOJgO<%=Fa9tb_WUI~O+?gw19E(KECUM9~}W0KgoA+FhIQ2_>c!J2zQ}GtDy+_5nc0IQtHp zl*gRbVdfk#1uXG|4W+6tR#Sb( zCm&`^-=6>+I10VdSp)=0zyT|--p#E52U!U^?68cL*3VSgf!IKa=#M#8HC6cofPR#F zE_O#%px?Z?B>3RZRO1symDbx5>K68Rx!Q=TPX2g67abO1QX5d2pVfiVG_4v_6K@1(VCtD|BUm|LX{d)oj2lxURPk|4ZPMKm{ScD#*_G`MC_wU~WqzkSj4qiC} znEI1QNh5tNQ>+~2?A67(h$wjlN$um3g9hK_Ch`yS0GVSAVHqY6B84T~UAK30{;-Uj z+KO^Ca{wHE(>Ph^;$|H-`SS2(n|ZZ&ezp5_#IZ5zJw2YrF;t+YaFFEmbXRsd+yyqN z!w7K70{1MWbZ*y*j+Q*oxz@4k56EM&g7BLy_#54T*9VBk^p6u;Fx#u<4K1}oFQ319 z#jKS_MU2Be5aA;uBl~@YyzmiyN@wOR@>V>nzcS@JjxLf(5@3QM;faOhN}G7rQx{3a z5l;=J6-DF1mflxDwDStC>gc>CI6DIMEgp<6;$4uoPUw{+O=8oAk}9Px?L=fvZ+0`Z zv&zeH*=9?SDx|YBUuxB_#d)B>QfX-T{-7gEoJ)}5T5GZ>$!0)ZdEntr#quK2<6$cx zfIC;1wrV=z9zxNyprBVryd+C1t_wW$Mz;(QeRiEt@BwZUX5S7aJ_oMp&yozrduU*s zj1UnsS%8V~bU~vC5c$`7{Ra2_vg1x7(}kWlcNT>Nhgqsrn;GG~jWxjT?`NuTDckJ= z1hz5bP7gkCXONMX7D~(Ice|ZmUYqf||MeGJHv+MeN?MokJO(WyHs;6 zr*W)wf&I<1Gk<)>6|IUey401c>y7QHvTfopw_jh8F=#>Kg26}8F`dt8{U+jqWwZrO zlt)D4Fc={C$j{Q;8BW`{et|X!nXeLg@mmjD6a-9KBDdNi*V0x^I_QSb-XtZnJ%oHV zaH~u0Ry2f2os0+>5qYCtCs*T>=jv!B9LVhcd_d7yIM`aW*{<X=N&Xd#)T|dF~aj(pqq5&qF)ZRZ428gpeEOXV4**NbtL7J_DE!WVh)Dg< z+b)sDhTx&+@T+&a_e1{n9x&ABd}j-&aB%5ch~pmC-+#vre8iKES9vXGpn9XGH5Vvt ztDpcUWs4FlSsoNeom_(5Gx;lOX3~1oojk7wY6{+~_6BC@XDTq+4VpHRMG-C>E9mg? z)H<(aqxJv_a@FVF=Wc3YKSc}z%Ls3i26E~k#(_TP9R}-X+?e6a0e16pS5{=;<$2Ij z?hpQBl3D&o5np zbF|1>WkhNvtClv0lm4cb+s|_ZFunSS&Z5T~wvV?F^>2YyoKy}(1MzyGvv~pGv-A}B ztlnU%mU!7lT_63G^~u1%z}fV8;DP`4O9k{rH0jH+LWE)~zB0a?sP=IM8h};K9kuvN z#j`y3crN!BA~5x<4W0GKy9vZ*DO@A1?{!1x2Ir+gjY2y`jCJJ`B8`Mz8 z{!hiTXX+GC_{tW+E~-F_sXRIgNC^g>Ws0afXK1b4WIfliV22WLz1z$)#SF8-bvL#0 z#Q>6&rItW^2xWj;F`ZfXpf6ScfzJ$;z%EaQ6~|B1rZ@PD`$9=8>^uW6`_bn|hvh&8 zx;BTu`6(-~&<%ZG3EQ``5{mtsb)dG~F)@a)Qoauh50AKAy82!-nG6jP4ML(JC=NMp zwRj1tSX@Gchg@_k{+7Nmhu6S5a_oq(FEG7u$6N0 z#UO!Ov+CEHvvgTtoC(n_uVuV)t5KUDmPadr3J?1R%f{OWqRLv$CBGu2W*~`0y5njb zfrjre>rdi02*V<8(8(=6HF?UJpvoR9Vp#?Mlx>Zs7c??C+25Skz9z7spYSvZuC?%k z3g$X4M_z9@6ht~ZSZrefi-N>UgCkG#QR6Ip3=a+A504NyTEFRD>AzbrQtpbtWu-ML zwJvvcm@NMgoIJ0f8Qo$)owK9D4sDFc2{h!x4=CO}$P%DM6Qi!vrDWXGm48pmmh~;X z;mcPT2`~@XZYk4sN?X@oz~d%=4F;?KT;Ve$8?t9e5~tCI^87yQ-#E47>*bT8s4y5rtOr!PkWT z4a~#_Ir#3aXQaSvBA91Vq+HEj-OV+0=LlGTl4tfMS6kHdGtXQV(8nHui2{kk_AB~r z+1IZmB?0ZW8bH=6ke{grP`9?XQle6X&%;9#G{ZeAaN z7|Y$KRr3x3)6~2>4gjvx@#cI7333XkxHKa%ynF?SI+x68fXdukgATSn_K7ClBXun= z#RBMC06hF1MPA-UJ6qd(CU|ud)TR>_WZUcO1)yUU04dKqd;G1^`D!Qw3mKE769z@{ zVjxS63U7UUJ)dD`=Qi@i@d2?J`-L^_=C-!$p}$*!q4B}IHUL#L29%3xu!BZAD7R{C z6lMTGEX^rk`+W0W23eUhy#6fpXhz*QOOT;BApV(-mpb(Pv~Mk1x;RQD zZBhBCvHvNFa;6fo2e`0&%DKjcF5it?-(_c41Ct0};lyLj)K-Hzr$2hxpwXbOkhl{9 z1E)wPN5st7%YL+?xbLo)UK*B(BXH{}Gq5SjhZP)7@H_-~PtL|uYTv7Y>rUv{`Bv$P zTesi%d6?&dZeAV7+zsIUF#8`TV}AVn8Cy994=ric-S>TgHwSk8}H7}pjHKb7T{28V{-=5mmS_~?F%0&|H+Y)%LQ}z)HW|NuIHvkna zl$4Y{MoO2inVOpJOvFThX+Bhn6=Ly5^YR58!9T5h2f-AVuFPAKh)fk2ORhmFX1z(b ziM#0}x zGT{k;=>Y~ zN||ZdSEs>|_5R*3_-W?lg@U34(lDL1ttz2_m)kP}!c_@{irq^CGkfSW-kWm|uAGox ztJzJXGzXBNZ}qDkDJV}5M1ozn>XFLq5czP;T@YQ0xV?R zLE5h+t`uN8cNz#u{xdY(d{}bC_hNu}?w3j!zRf0?SxqkL9ISlW6$3uUt&D zafg)Bu{rcIoj*XHH+O&Vr(gJfH^NZeVlU(AR5ave)=F+bpN?05X<=SiJV=uW=H``6 zM$*wqn9{;B28lStX~xU?5fyIMPmx?$OHsdZ)I1y1IJyZhD)MdIu;-vV%-HF%c?&MY zvI84L{6Etw6_c2;xn_}=tn5yr>~pXou{TKpA!nBB`fR6}lD$pmDX{jq(@U*W0&-6Y+irjUC3_)QPTH02`T(gL^!5S1Sq-l;Hpf^uHdMdSZ+v zjI1h;Dr;XXsfs&Z(w4<+y_nY87I&;0Mo}KZsd?D_(PW_jp(4=r?G1}}*R|W9%8goV z^k_T6cC^1+s>s+WjcnT=-tNk=?E8N5-q7s3V#xB-WS%46s}XpA2sDJ*J6eXsSWM!B zn=04+E*XVzjf=XK=#eI_}ANk`T4af-+T`cr){z+P&jb zU)RbP^I1Z!n*mnMHt&8J{CoTh0{;aXe+_TI-zXLwXHI)3xMd(RWM>`}n702?1^`*6 z?$!s>ru+rmUGGXRoZ0dc4)~3L8}@&A1xWmV`OCk*KieXe@NAz1U+uf``~L5*XGbMN zG#rjEq67qgQTP9RO$9yt?`MtPcsq2yeX{mW;~m%YcE&Sf5JU%QprVEFN5Eey37(fRPu_e#|n|DDn(HPE~oY99YC| z)rXVgbCbV=<5;fKDh%HMp~x^hc@QStULBJ)sRcduo2!e9OYsu-H!<60YM+xMRJ+~T zIRJT6Qwu=m>cibN^D4jXT%ZTPa;^pfft^Sl=yU}jWw~<-&;y_D3;g{x^8JkRVa7f<8!GtY z=AS=3zdY;{D-5@aFZEjPzq|%i5|FrUle=K{-JdDqBHP1O!7oljVwp#=u@ob9fIwW> z1o-_ys{^VpFZlF?&kbwexdHSrK|^Co|I&wjEweK-7eX>XsMbgokm3AGsOxvq6;>V& z6gbc3qy?eSiGb(~ZcwsHdV-KD%`EVihWdf2n+ANl*8q)r{DPp?e?3_S6g@xh*cGH1 zRw4xi1l&N3(g$3V(y|vfdbYr3p`SSvgPf2c!>aMml%iMDnwgy)Dyw;t0-*1`=2`mn zw8wx7Q~{9nDnlD&8rJGgYnKO$vu5)xtNZcUh>eH+pO~$0+MprKc73;6bKd}4(j*AX z3LylsX-}>>m+hPDZ!#Z!xRbgB^f1R|jSKeXt~J|6MWWG@6#@I7(Tr&Rz8?d@CrA56 zX)T?l!vb#h)_>=da60f|XA)ShU#(cCqVnLOg#vK* z*?|b@ho!FYTzp1kzEmeihpq@Zt^(A_6fXTbiD1JjX8l?dFeF2qeGL&P&ZAnur4*XY zi;=f3^YMJB&(w69s2!UVw!#9!1$s7lgx$=SE;%$4=aWol^$Y(V*=GPIl4;7U%SD%F+m?(pZZKqn2+xha&r^L!_S56RA!-LYpK&6R-6T zTvOA)!EfJ=rqm7_Ds^}+oV7Q$f_P`BFt7xwnGBV8Ft4N-?@WRZ7+1f0$X~*R3MfYu6^~6se(j;CIS$u%2Vl zW~DolCKKcfOVdr{1Wtao{J3<$o?G4suwFwl2#6$?E?PEl zUp)(2$X#Sn?XnEwf=$MiM#yeqa^SbOpu8tf??TQK`7E_tHC%lS()AwZ-BjM>RW z)#=W2(oD$;x21Fb#I!2~b|TQDl++pX&uDHrKhvqa2~n{=`=l^Gs9m4ZqDAg6#byP22OXI9@)N zaV+!CO`SV?JPr8-9oIJGnoS~;4L(K2mhZma%hnEHwmJgLmHe_bO?-H#=BN7E>ki#O z9j*Wg2HbiaJ9%GWu*@yOhB~=cl7ff6stZs1d>fc*f4T)g@cFXWrJ9v_DG?MRR#+yf zaLdD68FpUAqOOmnMy+S8J8j}O4B^~5p%IGFp-C^BR76Xn=T8RKLxZoEW6u{S^79-e zX`;^4jnKHHfY8x}p4{>@T-46n9Ff=ACZrJhHME|ruLLd&bCD>LVfP~iWnmZx&8@$E z>`Jni!R3tLB`zbfCjOg8l7{zk2ygQ;9Tlm`(HPLtULt1@DzeG5X8n658RJcf)EX`U z%+$cdvI-&bNurY%%eAJV%$F-v!-zmLk;~}8H=GN)79Ae zVMhB=?%h0_dbo9_C49JIn@1mwPnJ+$Q@7A8)#QY^&rCsSKbqjZ8d4^nCG~#-CO5xc z)>DgTLxzN5ekqdx4e9q^SBUWO<_kx#u`*tzB+z_3{^5gh%fUOT(#5+aUr{Yz!Z4T5 zM8e07${Zc&AT7N@KTt;UYNl&H0Xoxkq)rK#yLS|X7RU>FPjGOMJHoHN;0^rwJ@~^w zuyVPOI%WY{3v{7DPQI3B7vI#Zooq~Ume0?uB!8}{v-17Dv6Cj~A&v5H$GcW9RkYrH z_`vYGu!C$FTCU9TZV_|{;XI%Ea+k4TkZ}?*k>uxZ0+1}Y`)orSP9-Vs*5tYzc=`CmGyLk zt$csF2ZHD?+wD!QK-G1;akbNsJK7i+G z(`o?Se|*^fXs($0@}-?Jh?cPI3|Ry+n4kcIPfC9A!nTKn>y^BJ*|95F4>D3@eLgM@ ze@fyo&d}eK)4kHI(foYgmjrqEUYt~How_WqzzlwxaLAlCI}ZhZe@0Q5)FXK;2O(884Ox@Hal>9 zQdf!aUYaah6)k!v_i~a*drM&zWH|&8$mZnq?#c&~GAH>bv}~u-9J!3Nv?Yvl!==Lu zAj#6Vq7VcHB5%$hQhA)XrrlJ73wTd-baWM0-s1&+nzRHf*IKrL(8)$zVHMVz%l0I?Exb(Bl@dRFGaAD#;DtQlZD5>% zl|b!yn02NZJLmAr%lQqfY;Ik#Xf)lse23EO=NsuB%h~{G69#bZ;3Db3+!sbws%_H5 z{6D7boMaE|7i0~D1~7lG4OOMr)LIZZt_!X)D+;%U=lmu%1 z2P(z@WJn`FN&#D(%tV%)LAL`mx+0KG(%guba5*R;O;Em}aq0aw3lk?_X+VV&`YEsy z_H*+J{cjvk8C!DWKox}PaW=v~VIT<{xuoP50#%JS11{kJd<61wg9Sio=ac6FzM_Ew ztWVMoF`Z&A#J!P{?}pG!)F_Z|(GIw+-aF#I7T{C6P#JWp~y zuTt>t^c2y+kz}SNQ25PJ@lo8#basa`W_oOqTqqdiN+gf}6tk9T^Ag2JG{W^jO?}l_ z_R?^7t@k*{;`~}De~j!;>*L8>s!*mE3wFGvJd#(l9%S+i&>%AjV<5m6vRfJ`Tm$*w zHL%J8spFu|Gg|G_F*`RGB=e#2-V^O*jf>0nCwyXIQ!ssf{ohXw@HMj~5|gNBRO2;Y zcvFe@cmPYan=1MR(>&%k_+j~Uq)w3$mVqIibu{6WLo~p|+IeZ9T`*{n{ey|c>hL7v zA-~&M?_ki|bt~dGNF}y6LE_639}d75K6*y^S6v_}8`iq8co7}4u9*+?Y+DpQlVyS~ zGS35o!zx(NmUIfjA;g=&Y$+DxKyn3635jDs&LGM+A#{$CUApT7f13rl&x?&~D; z8L^wcGN9i`11&^$S98$mF0Sn$Y@gkGmduwlkSVckWa?K)4DJTtW&bi$)-ud|mwa#E z`o(7+ltg9?*V*ThgrF#cQ1SP=?rI^8g!I}^YiNA`I~NLPlRoQanb?gs*PzYHy0B2V z-?+y76;*tV1HG`K^W6IX(ml_G;=aKDTfem&LKO~J(0+vf(~b*xhuqnz z19sO13R~fR&#mL~-z&E-nRuMzRcmta=0K zQS|d~Kr<^rfP%+D717lz1`1c!0Elh;^9?*O_u~VvLtAgtMjVjvpdubC!`Jf~fR4ZD zbq-7)6?|ZnUPB8Al-$%5Ed5M!zD0S!>(T@a>c@{CO5>TgVl1-nq|!#CK|H+zq$dVX zUtf2u!mqOY`BTgM0|@>bMS@6VCD2TJHVJ`u5s4q4tI-%zDvzHjQXTkJllUqccS*Xt z{|^!gyvPC|`auAPxK zoR9B38XyIOLvo9g@A7sc51JyzK+ctmZ}^Mjyx-1m<{1t37q)mm2r#XoBS76pwm^uV zX%38BQ^6=2{Y6lc{$OzQ^dy@_WOM8j7iD{7rL5EbwqSXMcJTPa)8PJ3cX47_5wY$Q zNAtn%BmIGI*3bI{kD0 zn+lpO2FzBS@U`jj{K)(OG$$hH;iGKj**rV|C>d6yqov)ve}4oI01(IiK5k7g9Q+m| z6s()@U}k1kvI5$}M;s1h^{JtFP*x*`L=Mayf5U#POSj(S5s?@Z&o5_{{FMs4HRgb^ zR7U|WA-?+Me2YW_`xGlJq0^ov%yzHji#pHMmZ*JNh%@3ed?iw9=llUhydw`USgy86 z4_ng-HnFv9?V+tXDmuq)ku|`g=BsevxyJFgyBkztNKKELX8(5g%#avJuStKUnCb}LN&hA$7F*|U zqYJVstKD@c6SeF@2z?mmq!{OM&E=XD1!?79&DjGiVab2#myRp98fHC0{Z#}x41 zM!1sF6Z!DTF)siY-G$9ci?H|@bq_PBgm@K8j>DJ#Y=*cZl~v1>jw4nPb;p*~S^b_u z<-vM@$SeI}IH>c|4njAE#r{zoI8seKs!|D-8jT>Ww|eaMQ+aJ-hdj0>i99*uMYWU4 zWk9omoN;t}_yjY_Oalr(_gak3Mr_#f%;uNXKQ#}?Q8H7ILW|;>ucd*MI(T_=yYB%&op)DEDvAR)K9QTuX>NQ4&b=bnBo%I(~^YOdq(LgK#iN8$Qt%>^bNGn(HYUVHF8z*Fog@J3Tkx>~2A(XmgVZF>>V<#^3h(=IYE)03b4j$f0W zo_io%n(=DE`l7r7i)F+Ti;kAPqHx(t-PF~3jf7{aOsz>Kzmxs72d0+lx22*3UeiVM{k^2UdD_CM#FH`)pNzMhiv@P#@xvN-aNZ?)r1Of zIV|OW-m;>^9~`)*fc)jaHAKH{Gzi#fY}mu8it%Iy=(9Jq3`5>cvYg&t`^+OBbnv;B zA0OSo_p%wl^1ylq5l?*eJ!@rPt=A2m%A|iYh<|x1Ii839A3jka2bkpFpdlcypj#6C zdWrq(tj4negX-+7{@O5goj^TV10rS9DH1{D`|%S1hAn^s8B#ddm!sDJ8k1Nv0_$50R>zq9^qTNn79OY#^lw)cxdC`H z-Vd9Ox2X1R+rXp5G=;z=NtaQ3LN2+97&L%mFZ~Wbe*B2;$;1PMBw#fAK9TJPUT7;=B)+clPri_Qj**TI9)$*(kD*84 z>%g-DzIcEI(3CBX--?W1fJc% zgwy8XQd z2nFq5yW)ikEMt$jQFt#~kxr}9u9aaIoJqyV&UnmvXGG_t5pDT+)=?@2G_5gTQtV!;p4R#XvYTGkhU6;>zw9S)O%@A?w2+;q08p zGtYILm?2@nI3L1-#eODlaKP|(Hhc2i;DgqcFBl9E2+$-%o)4RE&2s+dEdM<7hU+K_ zAl6W%RNQ;}**fX*z8zr^d`IgM@Ol81xXZ+Weyuz*Sml+6CYfz*7UTuFokJlwaK?po z#?k+T22`UUH4nJbFoPuz641<|P66v5PRW&YyVTl&UFNI(0KoFXGOBN3j{@CRtP9)2Was(3lOTno!DG_9#F50^Z5S!*WGG2z*h!P zpu#WyEfQyME!=va;@zeHwkhtyUsLM8edO=W4S+o0EV2Y=<`t3COX$9SoKchwRk7y>m93Q>PR#5ZDP`GK~Q5-^}(=e}<14K?Ea zdGv_Y?HUgc4@;nQBh-fm3K2fw2^$+E9r{5183kZG#sb7I8dpJvCVdgsm)#$j3hL9t zQ~#|68V^%+93F9liP$8(mR~;p2&{okcvTLPYvo{ds{Vl2=3Lu1cda{jyjzomRe*p8 zQYcqTF!-==o>k3(=Eri1T8g2~Ignw-KTHIF%ddjR4M?tmVkl_|6g94a!n=9>novVD z4qg{@9I^;7eIq>-1V?;8LPFbQ93Z$+0H%?10NJ&AEq1@}^%?_md!GLL=;LJ4=S3AB z^B4a)V?7+)+q(?UAiUPaZcwqy743s8+V#-9eNflDKsG=;6y)DF%u4O8TfuLHO+ZEQ zUIoQc@)WFBbO8^fF!BaU-sp&H-3s3LYV9df2KnrtUx9MZU$H#)#WDG%EJ(PB4}xm# z1_%(<(rciiZQdne?f^zSNg5#{ZOIKRp-8C%Pc9e$qpy63wQe9DA%R3)!$UsF&cr7m zkQ+AE<;Y>1^F;?=L%l!^y`T0RzWt0zKTtyP`t`o;#hxZ`g<3W|eF{F`eek6N44yMS z67g?|MUnL?JY>`{Gke|I+$>Or@dbGpXB9hp)~h;)i(N9nKk)z;tlWl&=MtY5<`@2H zGa!U>e_0SugS6k==mMUYkjd$o&%~E~<)&Jjrg(1=b&TEp`(SmD^6Y`!88BF$re}nL zTcSjcIUZPeDP3VXY^ILvi-b!E)j$o=OK5clfjxGYt+kUx~z;(2u>r68b z-@VuTc;TW|rgG~Sho0|vUy=fZ(Bs;Ug{MEwf>@WWs#@zub}>m14QIAS7`GWSt3*%~ zn~<~(cuOEu13_CTYX|0=vjF#NaBUc+13rUnp}A`2?ZXeJw8FHPX-R@c{w&R|E!biE z7-;Fu?i_l7rzsp3N**s{C43sQ4VZ;JRoZP}1kaEW*Fi^I4qKgjSq_>G2)p7VyfO+_ z%7m&-y6O^FTtOi&t6f@%tC`be!fT|gx7RPp`}LNMfN4ich2Aw=kn0Rus92KIXJ(O% zW`NQPSU-(A18#v>5U}{(%o@yTa|1XgV42AE>O4k}@GPsgW`>B;9$jk!lfBKig_Mlh z%y}7DwsSP=s+P_7ZfmKR+P?xskpv|sA$DY?)oj0i;G0!g@wkY_K%Q5Ij^wSEXQYr# z-lBbiiiFq)Gbx&lwC2PX){Gl8=nxRrF$eiWZmXKGVFz%Dc21w`C_r%dI?5ekAc1`= z*Jp`TJ`_p_soP8@pvDKu%bv|=RUo8)UqFQBgoR(@NHJdKln$$ zKvf@!YfOFo>xM!C4dImZbdJ*JYAR5xdq2J&PT#eFaW)8Z z≥B)tP;GY8a1D6ygKfCnF(PhVy|O>PD~R$s063-^>a`hZ~O(EjYllOcG_SRvi;o zGiO_jH@<88cAN%(*$DPZ7D4?d}&W^~w4i%B=qT4F>S2i?ZXMpomx39h3UZtd4j~ zrYO!6ga44dNY{h>+FEYNzK ze@~fGr`i9qPZg3`V#4QSL$dkC6&(@Jm%`_>s~yqM^lSoUW?>@dmWqe6V$UA!E(7n@ z><)}%+$&vOOTD6*Y1x6GPeb(+P%Rj$C*{wL3$(~i?&=&u$iO{TPe{&5VLCRl_1jv0+J+WM);iWKu$zogw7RQHdyn%GEKsLYVn| zo>9McU$5W(wSUg{^?c`hJ;&#HU)i?DWTIFf3+I(@d2pkQx3C}VS-HLtgz%mZ-Uthy z*L0dYDWkb;?u3)R!Y*20GC8?uE%_PyN~O*c5j$BdR*TJFTO~PMcaxSWsydOC?yHK__o$Pp<%oqma$nBP~U8I zAdxlI?lHTz%nqC}nE25lWy(!gu7;bo$adv_-dXRNE*l}&8=hL2Eu1j8zEl^y4K8U} zPQ2ut_c_IfpW>az9}1<5KS?hdOFl0SaZh4&k12e-U14}~$@SxQW6n11+Z=RsE1rl( zh8rn4Iu#I@kuK)m?N-M-l*>37pP!x-k#&($xk25lFY$YwJ1toArKa7)giU9@zcS|$ zbtKUy-AOWi;fyDUHx!`uMd5w^6-R(Q-LCqj9`!K&W_+8_6 z$K4ZeV&jz_=BUvscK-Q`y_Kc7Sv&tz<1MjpzIEL*Nx=&;RVWMrU%*>X{(pX~a%I9i z&*A5pxHK6g3DN=&n6uf$q28gbN|X0|A`csUv5L8>4w+wpuO6I7xfaj{a4I<&z&AgF z!7BqQq7j%ld}e!~US5Ae|KR$lIkF%*;6OTnqpk~Fq}QL}$2(vbHp}m=6z%{cw0j94 zuZ1vh0nrSpyklZwg3>~?m7tgz1mS$p_@xd0K7sj@!0*+}Bnh5`NWYUnWirjWr(g^9 zA{2BZvBL!gdNPWj;`s%nnZZzv-C-6N8#My{ddE*9wF#^*Jd`jJ*m*nV`@OG}8QVCt zx7AJ>`}0wHZf*q_35@Xj5}+{bW`fwf98^qQd?>G6a|m%vc{c}xCg=$8CW&d}aVuDE)d7E3U_zLJHmRIxm)z9!eGvd>uzv z?>ljQ>%$*d(beX5-vkYnYY$Wzdd?biPi}(7z6`#t z8}CvOOQGpC%IH8{&5_#Xog3a>;>n(e8Uc^COC_83ug%d=H1AWF6#eJO8d_8|dLga# zU;QkYXvZ6iKa6=Y?hAPMMX+BGknmqBmIz3AAwWwO@*d#2X(ucZ=q^a{`O3aS`vva& z9~*j_;En}z!blO^7r}n-ol2SP0Fr8uN%ZK}1^vN{UQM;?b$)&1hno~t!=UM0$HF%M zUlWbYy!b(0q~WSZFDU0HEpE=oZoc!*DTRIXt&jf|;qG($Jf~$ieZ`?4?WQgVwNtY? zSUb+1KYoM~v)Vkg0HMR{>h@&G)Y@Z9Hjy5kD(miK@w`iaX}*IWzbE;@t(0_TEP0Lg z*%dNhf=57tiyjKzOT@*`N6iClm<2?-tql$GCT-6fBQ`ZMwJ&lQgWQ0gvr8z;7yot*7%I~u zu7{d-Nnt&yd?WX+>CEwPehIK&=Q2|ghB_EmX6FVixU7k*`bf?MGvBmPJ?3O(E-hAt z9agoMUprC=D1EOR@6DuI&|oQx?+BuF%+LAqssGQIe<3v$4LK;^=%CCh zA5IILK5&4eUipf(N=D`hCxky*r3#?{wrYo8#9NSWIT8D7Exu3#^|Rl^q=;I+i%5ZJ zoUky%h_O*+PkX|J(d!m^@S5E_J{D&tDz84_Zf>M+=CS)l4WT&UlNH`;wyVRla}utI zWS5Mx%<17|%E0b!zG+=ritb~BGt0)ezB>`QRxZloZZ)KF&4oM;BILb1wEE?Z)Avi7 zAGND?E%@14Q?Iz-#vfWQ0HPr>Zk|iI(RVH?LJ>FWMFcKLZeyO5J}*!657;9LBw9`) zICVz#o6#)G9&V4k(-9nvFC5N3^t5q+5x%ZUX=e3Qr|DSkVYeJHtoT)cRqv-{>K@5_ z{WOz0Kae#&pTAA&&>HRjliI8=?F?4yJ24bHl(*mWAWq$i=gg*A=JbmK%VRW=JDsTd z%>R=I*uB?ilDmon+;tuB^gNVmhwoWhlLV#{N)rMsfzl(`>pJ5__Ew20I=4pXYs==F z_>gVDi}Pfz;PiqeoDtR5HXl~sm5@iW)1`DqOO+s!Crf^p`Q|x|4Fd*SLlx}YbaFDM zr{XP=9&OukN`2{{Ewnr${twr*D;c)-)ruig zlg6yUBy&^6W&|(?CMS(x)9F2i>Xv;qgz5eAcH!dIIkI6}KmM+$ zJf-!F3wTvb8#0=7mmT{ZoA3!fB~0W_Hv&13`P1NN2Nb2UX{gvWNc4IQ2pU#DyId zN&5W$MZyeZFF|qzEYT$>;}uYf4=5TZcI@J&ppQVx%a*FZ8gtw{d?EqFCa>pZGCmZYQi_j8%Nz{^`tYjjM<496$?LC;} zHXdwU+nMs~-%HD>%wI6p1?%T#(oupN+)#D!{Opuuy#8k{$16WTuqA{$H_Z1U8&@TY zP^n}H>Zna7!EN5{6QLQ4Be0aVZ_*Yp+d#4F5E5ps2d=wSS0e#8;*i zEmEHP(Cy-bOBIvwvnAAx(+)wPRNS{VXNkm$XraQLmrX05s%{GEDJI7cO`jh8NjqL* zwVYWS4g`qqJYbatd;;b&*LS~#st!#)?)GHzQ+o_YM{89t=@6<`hljS`1+b^FV;1`R!XE|iVnac4;V^4iNx!Cw z8M&eoxyI3mfSCgGmrg7N93>h%f9>dK1Vk4>b3tEOg%kSvpK<&=W2#dh73nHaJb zV@;tZj6^izQ0yNXLhuU>54Z|C3&zmjfBmiDzc_7ZG1x!_cd;_yec@3#678J^%m! diff --git a/content/doc-images/unused/H2TCRc5.png b/content/doc-images/unused/H2TCRc5.png deleted file mode 100644 index 3971b1402a5d67d55fcdbe1eedf1e1309ef92b9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18476 zcmagG2Ut@}*EWm=P!JnUDZr>G8y_1J z6BCEFmgYkyrlSO)j6KEzyt`0rw}8WO4=r;z6BGN{gMWtzy0jXmZAQj+~|hWN|wlH9W+9 z`iuY*vpv@xbuLX=wTkY*>2Xv|pXw2h2mQoTeXJRc#4*S0;LWk>sgMy1#tg~5Sq`Yk z!RsAONZ{yS#b?4Ce-(taj{H?Pc2M_&SD5Ty$N!&GPUj!`>zt#|zm7~Ae18?x;}04S zy#D7?{;wOX-gI_$md5!~*_Os?u2hpJ8w2gehl#|vA0e}|v*uAFAbEKN7OOZoJlsw> z7OlZSlt3JrO~=oc%3UJ?Clf=a3MwjYlv5Y^YTc)r&NQ0g3s!V65ndxuOR zv;N9=7x>%}N0_f8vCAEtKSL^p{8Fnwyx9zzTkF*7?&^{dr1@o?@#vcW z)USuC3_~Zn>5jvsrBZq1f{WB5#*v$Ov80=?(>Q)}ljNRW~6I%7Q(m zxsl|BDgrOhVlqE`5zPCQv9vI+)v#ht6FEwqGXFUxwK!?MAC~rE<9bcg*YthZ<^3)7 z6-FcX4VKP_q%MWV%Sb$krY0j)wp$A(T5y{h&W_+GHwNOTRtOWtzRi9-715S;D?@j2 zZu|RDakCri*`+qsolW0IuSy z&3!w6jqzEeC59~2!OfZf=u^*AyL5U`KC+$igbxj(O=G>a#dccw&tf&bdYyIk9XJb&+!T}JMP zhn)5khy4hC9MFHavq#O1pN;n@mFr!@Z1*o@yQ|&Cv_gww1mt#bvyE$jj2EqX^RpFh zIbkC-NW7x(4w!X`#$UI&1+86KT9Qo=(UayB(Ul}t*cgm8<>Y*{Hkb^c2=3DlGd&ZI z0sg3617tW6joC;=S^8zY5-zVR?DMv2gg$i}7=8tO%TBOrPu~>F+$?!$j`J-q*Vh@k z+mhxs(mcMe-{Y@K#G+E$Sqndb4>#oKB-shpq3&TRKBWTA@yW}Z!`$HK@mXsFh!pD6 zIux>@)i-9bewfD?zC$v+lfeF_wPLztG;(n>b2-{KW<6ZCvAJj_&+hC=!u=Z;svy?j z;38*P-q_->8&*H(vTDBdd&5^qfg`(NW%ag%Qv~k|JEWgtM~)LB?@}6QAz3csI*ST; zJl6as_Phc9b3UYj(vFENlukjQ># zV};(MUKPd-r47tcLVz=SXcH$;~o3_??~mRq&&kWNkmmIuz7sI_2Gw;W@&X*!h6$Q{9f6OMM7>e+VXt;YC@s`44}gvdF|Hbwb5w+T!(4c~hquy+WI8C}z-^pl$ck7pAn3HI4UKZ@Jx z_LF61BXf_gi4#7&CP1e{q_FOrB0|JMhC(ejelufa-#AIWBO6ZdEUbOs=C<;*n}dXT z?~tREn+y$IrymcEqwbDKz?<@0tOM5@i9VMGd z43kc`aS*(hd}2oAj497ATv2+-RkQ#fmb*jA>}}D6Z7ASe5>*W{OLtv2cIF*(iCy0D zCJ>0ALWhMS@CuU}eHs`jtl%@2o4*uI#Lj+L2^??{;#K2 zq#{%%HM8+8X=A?jB|ONBm|2}Y+j0J0PfGI?*Os6Tms|bEJCxL>E7R~chMVYjy)E3; z7~b)o?K;N{*!d_n>ThBgscKZMG~{uh}7fFD~80x7H0`1=*ZrWz!4NN z)LnF>ob7^AO5BB$VHMQoKq5=ADrAFRePB zeS@{sM@ONGCfT9;4P(ur%^V#paO=dB6cUW_E2X(-bVCocC!y;JwzRvh1?N`cV~16) zFtkq+Bp~InR)u}n22@?drA>DztWcELk6hZ!*K6y)Qq-1&sSXB(g6t9{N{fVvii@Qz z6zX{)q6wuvZTCm0OKcX2|ATMue7R>IetZksx^)rm%MdHys;F8RvYsi3`J{kIPj{&h zkW%ar0y&X<2O6BxvvB!Cy&mS#Q!3N(&Jo7CZL^r7!yPuNsPLN)&&Jm zFEBCYoHr;9n+p4SStVn8n^<#iP!RSIF*=Mb!6d}DzbSUggjOdZqFlOmHJRI9CoETXi;5V-lr>|Ccvg~EP2qjqp$cx zSP|qU!mhP^t4Y)V+Zc-H^LNvjAJ%}WArJp>j^p_LJseud$pS60BBARhEh_gPpU!Bo ze|NQv-!*=&>BvsH*iyjPTeX)NJ`POgVtrp-df!MZ&mJrCz3f^IF{`or ze%RLg6-c#cNec@!YDn;lVEqManBJJlFjQW)S*Tvn|He-aqvcMaQF%-2=%$}ACnw2t zkUPe1^(xod2;Gg1joT*)CZTV6d9!xnz=n&aXRv*sw?|65-?2aqF`!9vzf zJ)Y|pPejGUV7#Tqq{#+&A$jwqP)KT3Xd;+<#%+l^V**P~^6f8pPVbXXY(E~?AU7m@ zJ(D`sK;mC&7JYTWC*F5^$xSANE~Gm{?>e0uCJWZO_FdbAn&=jv94bPJw0#s}O3>68 zN4=A4QS{mI?uIbcZkX+z^DJ2+U_re5*{Q0juWc!rOT*(U1s!5q-v{8SDSl~0+}=U z#U;Isy;^&ZP*D%PApx6Xjtz!~n7(?RBw&IePVPZm@ew$$lHDF3e08XBqU=%7{Y;`; zhqs|O$YtRc7kB=(V{0k6uUajL=AhyHiO=aEQ^8Hi&T~dvMs8kn{&3Iqu_OpW? z-%^Xa`(y%U)X-|w0HQDc3FGHwcnC$F#9>U9a-XVyq#vZBgb8nMrq_Bh-3L3=It>FJ;s`Zf8?6Dqv)v3FjafLzY-A7Eta--jRYa zBxIOTb9#f#wKA7_?9@UHA@tmzB~HN5md7hU#(i~hdbSkNDP(a6p>i)B(X&Y+Tke8R?uErmg~oO}h%u zE7PgCC=uBZtL@rTnPcaV>Q4*feX77rh1sRQ9961?@j|>3s5k57qmLA0iQk#2KB_y5 zNLO0m=>-us!V|(=^C&7)WA<0w*2TWg_eY`osXo)eeJ@ZbR8F_QqvI8j7!#8+N&~_E zafmEtU-!ZOGNv3W7fEbzd#%)@z;iyoSW#>)^f7PdF>G+V@$nut9^;`C$g}o;0v-|s zO)t6shTUO#>XS&it9p`?daV7z*w0g>BCj_pgl zuUKPRaGTrO6vYv(?TcP-NwsU)mdegTcT0@;wR_JP52rOgZz5#M_S~)>WYlP~5&}52U$8l*OTD`Xf_2p3S*$I1J3{4y7OLD9t3WaoEws~dteZ$6!O>{kp zN9Kry2z(mNG5o{APPf(}h;tkDUH&;%&QBe6)$phbs%r3@ zi8OBx3AVago;K-5#wMW&l4N1M&c0Li#y&q7h4-w8P8A3_fnT_VnN^=_0{Qb(5k;Pt zg-qgkmP{FrMPsrl;^t@J(UiVycW0NGic+`S=hrPUPu7(t{ObB*7r*xn&0l>ozc3$t z0&Dy{Z{yLz#gwRnC{)UZr?0)EG)7j1Zne9BQtOd%_ z-v45RM?4R>if0EjU(B(&#~tx*{=yNz{d}eAkG3jnJu*P6R*Y@9Cm3| zenKhGV=_tBg+}M_l%-X;SoDg30tqq{_zJ7DHTLp~GxsoDZkV$?~JBq-)*m zP&!9uETk%~@P?9FJ~eJm80MmBR*phMb!2-z*QvkgU9W*CXKPS96IrxaU2>-l>>d)2 zbRHBw))1P7wQYyo-g}@Ae3rur(*KI8IS*uA8)mI*Yjb**?~}`13Q3Vzf2_S}X>VF9 z)F`a8!~_>oHK#!w*i$w#GU9xplyJoWLsm4R(jH)au_e~ostLFG4LW10Kr;rG-#Wa! z_huUwyMc)_#Bam+!bn+W37dJ1gPz9+zopSLM2Cf;Vqel5-WwO*x@2}liI#k+f(-7R z=WRPQ>cn>mFGT4Uk_?rNev5ogq1$TDylxni5NbaMeHyp$Zhj@9W0S4U55f)C?_|Z? z>!s?Oy`A%8_kpMhf#Z?p+T_5Yrl7_xPW}^8` zd|+*)lj_1>qs2^79yN!79z2&XM^yQNP1O%H{Ug^ix^+=jDP!>>A9sF)C5nuS(*|k zJ*-Xg8xETfNq##sOa1^YB|IF^TX8|{@$jj^v&{QlBBzeALLpRgo`{yw@YMU;FMH6?!LXUKpOpJLGkq(1>GESR7kb+^ zE6Hb=-7kP&Ps5^*j!M{%ew+7)meDKZ>Q#Y`BBg8xw;&)S@n6!Ld2gRm#+LlDG-D#< z9vEKiH4vi$%t87>=h>iee5xg%eEra!AH zEeV$oE;5P2?hR@%%>i5~$Ri~*1KXi^wJn_Q0;m#4T zlR|`P&y=cA(E}H!`3r>2d+>Oq_TkpWp$&=3gbbT ztmy_6S3Sudf!bol$FULCoA&{%;dxe878*$WuFL#->fd->L|sYIJ~uNHp0isfDWOHf zFhsPQacN2$MvoBIZ8joXyBCc2O46stYhCP`jQC_3tJ7_sf7IG=oXgVsRB@l9@0hFm zkKL5{wd0IJ&93JQpI?J~1UIiJ{)9eG)YPz0WcWrui60?`y2>3X6yaNqEACKL3iy=| z5!(1L(-}vCHShiEJ~b=k$}F+WvagAMZ+Jd`huc`%?t29?cY}(?4W7bkkiU zg&ODw;~gA+NjdsFO|*Ycex=-B>XDDN^nO_;(8=P;&1zoFGP6Gh@;0%*3f1UQzw;A{ z6v2u&>vf*bH4^p^6%0u#da7fWZ7-_D?l!Tz%nXW&3IiAR{R-4zm9aPb}QPYxQuyV)P{u1f9`L)mc;AGpKpB-F3T)1?W5Bvq~#y0 z94(A5EE!t$ce;I?FtK%2`6S|&k{|5#(`G*Q?o)bPsV6{MF3raLocXmTs@tc+-!a>C zvO=*UO>1?j6fS%!pN!P=rI4B7A74>8(xms!uu-m5(}eJjoAf!;LqD*etyTRl%NBnO zm!j--9c^U{oM~cdSbUhfh~+rrf@*h#%Q8a^WwIO`9n(uqjZ7V!Kio4__*J<-;5!}8 z@#l=E`<)Z-jL&MHR-BL!g_r^i+jSZ8`ERHV^cf~ z@h1N7uNj!dzso_s8haX-H9zM4B3uAe=PtsA8>!6{wpPgSi?A`&AST|Sgw48%qXS%= z!|d6HB5UaHS)eM7e&N)lOqV|Yc##s1_0BUovXfu6SfC47XzANq!;kr7!~_r=mx0+l z@0#T628r@(?2{{PYy{)rIab^DsUE4uI=8eDxZ_g2lc9!%=SW5>#cH&<6G-M_*ohB= zPo~_k!GLTfxD??IUsX~l#10?)IxY_9QkR~32NGpvsvGQvm3QLlEr+vTs?Z4GF6VDE zBszdUl)V0pw|F(PuQ;(0_Kq_fC;4tIlhIpuIv47i>E+~ofJc!2MQ~ro z4p$3TZisNKUJ?GlN_c@QY@ZQE0LKurrswiFlWi(isEL zSaApOkcDfnUh1{+`GWHzWDb-Y+HU_*U1qD<-zgE zz59zSBf%ymBLh{WEIE%odR6S*#p8j63bLfXC0Rujm-2*bP~NNT1USlAHj{ z2*UQ6#esCy1a>}n1MV-O=q^B{8ie=Ky2)F$*fOb`*&C4l+7_YE?o;D0&*mr1LQY@` zR_Zz)!|kL1AH%b}Nl?{R98kZhRXSFuEpQ*1Xmw?xsnv*l>qr;MCYU-uTV3##gM6xe;$~n{73Z2 zdw1~qMXTb@Os-@r8`zTWu4?ZEoGb2;gI9+d^QmdOyvja~HwL+=a9>no9dk_ z;k-&OYlA~AyPQ5?Rs*4n^)N9a*LZ=Fm=jh5(eVd-Sbg8GtOB$f2lvyjeYV~L}h3D3xX4AT)^3Uda8|SaSiiU=| z+gjBYxfCVeiFn7hXsnn1LxIhmzF3EflF}H*Pu^3!J6?%ep@VSP`C*qo)7Sr?GEx_C zuyAS9u^FS)%J;S*x>}E3nvU+JB+3Zv&geCGmc1LOe|(!9(jQFw_BM6wt{}4@B2jp3 z+o-~x{zOyt2DlT-q8%FDFm2jc8=zrfG_GM`AH2Su>Sm$~7TE>EQKWnWvJhSU9)zp* zgY2F7%{cqMQ;RBMlF^Dc*2i|i&M3q~nf$w%poI(PeI$OsAA-|`gq2E0-t6vK9ZPpB zC{WwaaGJmvQ^_}d!v&kKLyVBRRm696+7>(kShgpe&ffuPm2(KnE8`};ECs{)rRwN!zlX{CYz*7!Nxolcv2A_*HfKz3xYmr!>=UEK^@Ag+ z1hEbwZp}@S@2L%%Z*43hH*^a!VQZ6(1BT{bQ4PD3q{aTm??f-iZ6A(@f%GeyirHf^ zG)lVao6TeZJ#a$S3*&j^YREEu%AA7^`C+mHm<>L2bMx~YL8wV5jLglfChrN~l|>v0 zB*N%_;0KPl3)U-ywF`y@ab)%$ikU@zDOxQ{io0cM@KWX8Fmp|f(#~n-5?vz@$;c;S zQ{~TvNq*$YbL{hz%2(i&xWiDje0{mG7p2O^pRcvwjr&InpmcWX4&Dj1_<5~QE!!iE zlZk0Hl?BRl*EF6*Ss#D|@t>kN?KErCl>@wV`C~%mA5Y(9=v9bLIrL@W9gjvQxo8J_ zp3a9|wTiE9Y*qHr0}p@KT8cv%Vojij&#MYCF#+WM0U{QK!A1zs~jKcB(yg%^S z-wZxL_CK4zdXi!t3$g`H{bun0XF#e$`~y*j0YT;{0f}Bls=`=hL^4O3f-&)BjsQpdK&(^@(S( z0=n>{td)wI!^zLR89sBxg;}o$LMr5U)*hCx@J>1)4=esHS9sPbtYvvK1h+$}>Fy~` zxFS>C$etpGpZ}GBY{+~1DIDG0NOv^yk|!o+^}TT=PMAEdrZhfEZrr$C^P@Htw5YZd zq0kiS)=G6&8lNPsFp~bR|1)9OlW;WH$d5!7>{e5KOj`;=$6X1DuhbhH=5*Lm%c?qr z5Z~$E3Y$7r&XAqoyrM@>{m)OSUB?KU;{M%{4q}r#ZyUVwf^zs5r`t7BO{R?hQA()C z^H44N?iiVyJH*a$rIoOABk681f^d1$#s|UM)Ybi4Mpnj;o%#DlDW81aFBQr2F7}zd zQ5}0!R~NcAZJTB_UlJ9Vm7J8V2;I8ZV!6@IHt0+HRvC`QWUV>;T%4+UJ~lRJ88%B1 z#jt2tOpgEjN3(Gh`qOzq6i;b}*xiHfHTRO`gHNj0=q|*YKK>D&22tjHel;hkaby&3w+Z^3>f&*R*d~Xpi?leQXhQ z8F5&Y|3xFN{rk#wS*7IJj-zHF@xF}}BNFKwb$Sj>Da+CU{;$W@FgLx8bltttVAX z^h-~R;Jxd-AIlLKB{PxXT5c&?;>NTI&cKpaNcQCxHv&Lf^+srx;dDc8(t~g`;WoRg z8OC=4-co&gQRFD+$sdKHBmWHEV}!>=e7e&^rlI4f2Yntsw=j+$@vP`I9?pm*=`Z3D zIl%$u>#5H3v2T%X86oE=Mc?%LrW&N(KWmH+z>I+F&ac^wb*3z=QD>4?=%1{LCV7nu zYPTT&j_E+#v3ys4{aIHf0n=gtY>Yrp6v=N~r(E}81=GSN?0{uxE6p&}-j=3ha>Dpa zd1j;EXAO(qk~r4~nBWc}-Ok4G9JX?#a~-taOZ*tYLh;MLb-&<2zAopf?oVC^$=?O& zk8|)tR^L+{acq&?`EnR=+I99*sXv>|&NtBQvsd`M;**=9?>N55hyHXi3X<&JZ*uQa zk{X8QY9Igil84>i9g4B%v8HrfUJFMj^UG;`EXdZm;*d^u`PDPI@p7piYJu|Xi{#9| zzU?1)8Ug))7VL&oH%)cN>{G7qcvIrT(VVPJ7>zMPbI4R|1Tve5?Hl(gxo;Q!w{9p5 ztyRNl8jCb4=+yZ(0-Zp6#3PS0O`OQ&yKxvz|iH&FHftwGXK<5Ch~4fcyiQhbn;?>#w$$lu2@xHCe0BSmI(q< z=2K;3_0fO3sjWCGwDXiu-E<<>f0x^Ktn}B#a9NQ2ct^!nyQ?D+!Aj+1ws%Wkz>bB~ z$ye(w_vT^nL#D)b;}3w(op%krsey1!+vDd?g=MVgLYqOALbbK5;m^upi8g|fxq zT6y$Cb-CH3TFfG{LuHM1YbzYx`oZp0$Bn?y(lN|;TS-gD5@G7n&Y%W=Oa&5^v#>nx z-i(^p?Y~Q_^)ZY!mxKBBY`)~r2WL-lzi=p33mRFnV>s<)gKFYfEyIEAGy6~8Ic6&s-2FNfJsUK7B z5SpE+QYNg|YwA|V$+10C0L%W#3U91aoL?hw5K!Kx?MI<5pzBxuR*aon)IbOoWhz*@ zS-6kny9O4Nc9^6N4}nFNkO~5@##&#}(-@b!8%Vk`Z~o4Bf^n*xm4buV(D>8dE9B+D zzCB5Y^q%qKzo(AXqpZ-laLyzJhrLgy?4CTvW$Rzyt-svO)^wX_n2ouw@dtt)AFY;Rr2fQ6z@c&hgGl=*7<@MbBp_xb?(|rkV{)p(%h$^< zoeKYGS=SV6u6WT025~(-?oF?%pj&6%QvY)o|A}yP5fjWUsg@lN1dW@!5u8lh5T6=!qoMG z+aiqbCtdE2P!1Y;VA5xQVBwV5G|5L{V~v4+Uob$fEFZeRmaPW>&>DOftmBbP)V0Pt zbFAUV`X4eo&(yrRkgm3?Q*tV`^$U4!eReMqmQt2^`@qZx?r<)bROg<)H5ED)L{Xa3 z=0jf73|wxYh|~4sBZ2(uy69B_lV@{@AOSfUI6GAyUCu}~cJ4jl`!JlHRnK?QqQ(jD zT4O&YZDi#m?4?{i@eL+FVNt8ljVUea0~N?AIN&im4&>N~Ib)dh#M+Put>2=inxXK9 z*o&#iqx?zYZA>;ua{N!@?(rizK$@4d+Tz2|m*kk|0uyxbMw|wS3a?0>oFps0B2C(~ z>5)U@eyTTWNkc0@e#C>y;s*7mUNv4L(dT9vnC{TMY&Ev=Jt~=qU%RmFkbkSaa=Gquk~O2sP_*@HMul+QeV^k5YK9vPQ-k@gq=zI9pK9r@LFD|*-Dgxr)I z*d+2n=Fi51`==%&92N*Wp1yAttOJLXo4e?rZH{<5&$t2Tyk=ChoPa?ffGwAoPtHO z8Df&|C^ZM1TM3abmVrEmKahE5g=Q7P+UIk>Mspvp@UGu74Bj-q#Qbo>|^AOGTb zl1hs? zuUsyKzoD+>VZ%>~Xu(?&TG5wg$9x|!!d@TZW5 zTnELym2tK1ts{-N6cg~^nuCR`qAvcY$E%d*g0)<#Bl z_jPpi0s{lT?_x0W2`MSOGk}IQ19TjXMvu;n_4j}L$&}>*s6S<==*xao`sQnHG3jc( zFxeAgT5BmQC08XYDpW2QXQ~8;?#To^nm%5$tNDna_KuY^UoT5l)oZD`vYeLOc@%ni z_y{L+knA*!=HCgBkyTjO!cU@3^Xub%T$K$Hh(~Nc4-9yYu3-U#m2)@&GJ;Qf?UL7C zm7!4bAh(HgZ>cw|>ia`Xc6+k&XRuGY&eEDVBkb75(UWzL+9IX4R0E$rUD`1+H3j8X zz<>1r5g7drKhFB~C&iBvM5ERj_0DMnzIh>EA%d69wa%b+CzM@3Rd6-}N`I@IDomw^ zHrj_5rdaPJ?Kt;39-qygIK!FWfI>)U4W>FgRSum!K{K;^-#|=#yAg02(YT$?a8%vd zJ0cT2`6*TE_d*S*`uMl@HwlqkT2lx)m!&FkF){wP)NBQKhnr3Ic?}EKtv`K&lO`r6 zr1FNxOx7rtQe3OQwjKd9b4zWk_>VtfkgYr_7e9fkupNg`+dC=?;A-jZ;* z${V9HDy#=lhnUS_Lls$H%g31kh*Uhk2osYu;5l)QelwFqVkf@+>M6qd`QV@Jyqj{; zQn7fmf#G3$luff6ARsfsT$hj#(bCELrPsMOQf?XKe&`lDu_oYb{-Yjds16%DbrkB% z80naS(lr{r28r_iPp8{$Qe|T9Nngmnws&9l>hDYXHNDF-P zlP^P>;S~MWk1ennfLWOP-j#r{5Cf;&XJ%dC3HbKuIDCIEfWQAwc78O2O<=tpu2bN4lpI`9NXV?)D7 zaj@#Xjfn<0^23LTeH6t648APTt-I*6#4WvWZo!XHuNiEjXrda-k_O;UAq{YCX+e=i zmBql^;Io1itAQgf*tJh!0sV}dQgeHT1(2c5jUA^(_H!F%oDY8l^6X0#>23Q1L_a!i z97T$ZjoGx}e%{pz3U-{J4F}}Ul*009V~6~`|F95glLeedQESl5k*%@AkvHvi!F94gl`{^hhk%E-gag3fYe)BCq*LW{7dK77srpYicbMT92orj=QB0I zw9R^{GOnR|jG&-k%L~?~va&Ma&%eT1>q4fQf<5~T<2h^9I^%@mT*TOXa>rd5=#a5$ zd*AeF$~?UoG8D)zcJ=Bp4DRWMGtPBovQhg=NWZ6!cX;l`?viu>yueoHkiP%a#{S-E zO^}I&s@p_;4jx#mP=$y01K#%yovPd0Y|72e{Y;PAbsd}!0X$FdQF(K4X!gs}rY6;2 z{*hBJ!;r?5xLC-Li*C9+9!0dBhEsZD0<#!o!_Vifvww)}0JKw!V?`Awo$^EF4)ZkP z#HGEEjS2UrosNCfSH$Tf{^)g~n`(@mKBL~=`IpeBeZ9+Cx9^6_26+BdXWDE=rlgt& z{CsXvEqq;6y}MNO+`7=P7|4-%dT@oYZK>ot_Tq-BWJS}y5^l-#2HgutbM6E;?Tp>n zkAomT>QmLS*0VBg)d8t$_!Z2!Z!G)n{&q)qOZ7DwHSO(?iIDD<{Z*H>ahnkLsY{>- z2g+@rd)bt|6H3$fjWrMnnVGOyK_#A}s@Sf$5|kIfkQC1sx)pI>n4hz%DE-)0n+fRr zV0mtDc6N3)?@p>1JbG?(?K>+pm+9UgV@SR9F#GA2ZHVMo(T4T$gB=ISU=tIO6NCw= zhi3U(`Kuc5zwK@;hR@{n>p1jgKuIVFPTou;WVA@V1qQP6EPQ>j&LFB}(aH~iBaA?% zDH4#^3R!HtU@&D8$Id|))?3_MnG!;KwnQtj?CQ3Hz4<|I=+3-K#tKBue~q*&(?|c|9?>_m#HW}RLNRD3EBmR8IToBr}(97wkzo0amtrpdKmp8v*)w$p{k2ds z*5|lb+i^ntPvP<GBY_`oOq7iH@ zbJs&8J)enO?*CQ&reX7Ey}?v%+(wX!b-lBLl~1~8n{3y!W{A&aa-jF^?`4^mo7Z&| z-V|+$4Fp~*R<-Taf*;CoYCYnX18jqV-exBZl@E}=i!7pM0T)e5#J+Cm|Fh)j7iMTK z|JrIy9s6~z*m~cP6m@28)N5_XFfb@)yHh$}xS|wwyXnrLy3AEZ8BSD=SuQF}*1W;X zUKgBfJ$ULGi_Bd>4wZ)8jd1tK4SVfTr&MRtg+-opn2l_7wYjCkK& zQ(nKK+3z@w$wNgMQc}Y%*Mfh@W^}RKwTwr8l^yWYnM&6rKV?&VQt(VNs%v_hIaLg&JBt+e|re)amCR z#<62b&Am$s)sy;M@x@fy;Xl@U^$>H|a_~aUW?Wo-JU${`LJLkolyGkN_hqR_QIbkW-|&HS zNyCoQVds60A29r3GMRSzxzAiG(GWjfIpkL@J^8O;vTEp_Pi2`BT1H7}4Dv>spV}v| zhah*V*k?FJRD(|)$dMw^VQ9_g<9^LoV|I#}s4+gBdXqbc-Hrk4MSwl!a;Q)L_THC!2_;%)q z`Pf791dVYmFWM4TZgD%Jv_l%uA9AMy6VOn(n4zBsV*;L3Y?vKqc`u&jAh&w-K*J(e zJ%$OuB$Z15;w|4eEvfg(k*JQ5*L)S-%up=U03+m9CKuX+Uj4Ys=XcGyISB#n$0CfB{`s5r`7joB0En z0r$4PikyFNPQYzNlcIjCdtk^PN^RBn~{;GgmqgJCXUgA2?eT zYpz@ySOaGHZ;^#aq{yT8M~Q&6m2a!Jv2HchV`1~=L%>+5f>Y@wKaHc1tNlK3U0J(D z0BL)Y5OKho>y@1bpQni20pVTGu)q?eLDfo%`$wg^c<(*xqNlPfab|d0r2@-O_~~M{1y7o zEfr;EW0HmOnOoCt6Ctne|JCuop@8Te;c{T@GWoqE&|Xmk5o%Zd`UYqYY+Tm^P=acE z1lN~tfI{opqRF|F1moi~9e#se5uj=3KYbY9AjZA83o(Jg;AatzYryUnq-Uj-aI*gC zZ?`nBWcC@%z>3RNak}JnrxS`WBW|DRpTD>yuB|?_9|n{op)5L~R@dpv*rN{8T5DG_ z9)L#gNx2l>5(##1Z7EMrk}FB~uFrkgCnTnUD0Mbw`muRuh0MGGENnISH28ieV|D;2 zury%1+vUIu?2`elHoH|qQm#ipC7ztWA3w*cfITx+ZU1H#+Y)hGRSoFh`*J)(l_sd62RJY$J#s({DK(Ml^ z8A_Am7|}Pf+TrXX?RX~zV9890R5Imiy=pav^(hTj*+NVU>t$z;D@c48*naG0p1b^Z zzdlgH6x2!Cmuv+Qz}DZt+NXyIPjw6j_sR z-^=tZXjB-_IEh;+!=Zk&5P#DIae6?r{)loLfy5)#ZykCQ3NKrRM>)g_=*A^lJPbh$l@=)lzX?S#2mGEG#T>W(an$ z$qfS}LQbT+;C}nu*I!O~?maWej$zj!ix;63dwep7UmV`QX|wNXWIOBN?#*==(iEiN zHKNa}c{#yVKnkq0FyZ+=t~pe-dBIRoNlC^_d?N&6#;uxMEHd>VwXl*fwWV2uz}hXC zdLc`^bvk^g!&@40+&2qlTngEBH!}SeH+GT}6OT?sc#AFppvswil|zxctblA)9m%j2 zT$s9CV&Vyrl^e7Lw6H!&##fVi{Vl=^_(QISwGl-v@2eT z@9i_@ei_Hkz%8P#M>&Wx9|ZQ_@RuYKn4s>|0(#NU&M1%g&7z2Kbk*KiLsiMyn6%kJ z$GkqRY;KCmU4Ag|jjJE^LDINZWHSI4{05R%464klLw0xk_cTL;K6+!VjvRb-NlVAl z)F68dGUnj3@!;19rUM=f$tD`JlIZmC`8^FgSeMz}2QJYc{>~lxhXI02HYB%Wcd#rU z@%d4iUn7fpe54@|WYxPB39cdA;D((#0|Sd)l|>KE=Lh(c+;318K(5T=k@32Z(%Ad= zU3??VZ3xay%Qls{SLv&byv^oxLA1fA45Loj(n%wAk946wdPJ zz^=mN8vS-3mkiw%eGs@%TqqvXEtN_sx2XN1YH%dd%kW>Q@Dfjc0cXw~A6hiq(9@?c zRbyEWs&N2A0dMD$06jT+=U#fx;Glk?U`_$ski(qZ$(<)7IT*fmcx4}8xc`8Tz?JMx z(HvsxaO39~Wc{$)ZPIQp#U5F4gHEx*`Ql~er2>Q(RDouCI2Ue8 z$Qq^eo^OajQs-c6iv{3tK=G?X`I017ZmcmLxYFoIRNI<>JG4b|IN%X-@>=l!ySZoc zV@LsAd*0Rsbh?^IQrZ?~1OdNZchLaNZi>UdBrUoU^=cVE%h+nrKVCP?<3|({h4Crk zTBRt|$q|sOtnz3DJMTd-{SCSaYqfo5f!@2}J=!luvBCue+^L0Zu4HG*R-jN)_nZ}7 zNrYYgxf_c&MrSP;Yde&s10X5(Nj%1L<}OYj44w8t;ja8wyU$e#<87?RChRB4Po;_! zX#+j4bJ&0AbeHN{g98Z(o_~g;8{m|2AAnQ#Tm-{(i~3&Z--h`Ym3E475?n{>cX6=JYY>!zssm~Yp&aN)U+8lE6Ghxgv{wAc#DqXuMN!eQ zWL{og8J8>nj^Z?7J!^A0NgaxTgK28*<#Ny8nW8{WaD8L1mGk0-^{({nYI$g!DXD?50ZXQ|) z0}_05ZU;Tj()oF+&bfShQFS<1(2j-~7qbH@*xkJ%c&Q?kT1#Bg&HDdbNPa zfgw3G%D2|!XjZ4TVF2FI&sK$5SXk5pYuSI?<0WVQWwxOv(2j8ru+2}%wNx%;{OR_$ zgPr97N_r4BH@^dWfeyMUo9(_4%o1q}d>eK1V^3TOb;{vR^n z@4|1#|EHXr+Zx8i#M*K2Tz~_6{`2|&v;6m$zYl+x4=9G;7d!|!2fKS=KdzYnCx%W; zzhV6g-2J_<(6G4qKg7oWx*A&-S8@XrwHfHijmzb8i~II!sTTSlXm$lwWhJCG}&P)&kPz7j;$| zfZSWUwzif|rRkcQrYQI>r2^bUT`>x!zn#(Bt8ZjwSMp@Eg+!cI3+*srxUz1z2s@bdp_tnmaulaAR+Whl%h z1~@-XGY?t%5`P#SyR77Ux6jex#0$?UdTx)KQF9@GzRJdsk%_*({wi(_51RT^o2?rB z)Jo}K1_U z5fsG5I$$=*b}WLO_wjf$An%jkLn!&7#;WXI0%>$Xz)TD%Y_mk2ofYcbd;kRxo|?A~ z*|De5dNY;6DaOXepOy@KeK7~y1Xd>$;By`W00ndqP<}64qBO?qGgEpDDB$rahTX%o z0C$&i1)`VOFHM|BEhz|abYHSDO{lL#Qs)gSHGR@G^EL-Tb^B|0>a4`~hm~_TO#Qki zCnxKvA2!EbF!a_4_L(sB#v+l_34m_3acZpfTTYdTnQ&VE9j) zJE|ef&v+jSh6W^cl{yha=z8X?vun>7Y71$F=l4Be~oi1!81MVi^6 z)C;B3c#}~`{pmFUJ+0HV_{uwPcs!^7+x+tyh(W@bo$9z}7iI@f5H%X{xKy6tSp@9D z8d*L?Am4 zK(G#DqtRq7ZSCX#-5frR@goc4#qv6@EeNXTZOr_8eGdr&xmpZV1bCo89JCqOUH1sU z=02})^EPiY^YZ*_3E-!nk3s``(PLGEL;EvJI?(J70BdF?ITsf`_ayhCo?UJO9SVcZ zegjlP|3*lh%l|g-V4#B{xTOeQ>q;3{>}-2```en(lk!>#Ta$r(66pXvIlsIdJ9dRS zgMpEHsHD1v)&Fv(ti=CyZc+jORnD{Zn{0!!c@*FQDm*f0K6(JpCWuV`tX?4npVL)3 znLb`m{IRg`trZAz|5QEj-TyW{0j@UfA*!UL2+jM>-x z(WCdlL0>-}qWRB$N!s*;Kp+#k*@TG+*U8{5^8eY6n^vM5eCJwC?SjtFfr{{3lf{;( za$gA(-#+WkXXd;1;^Ny@^=LX zk(1I%(16I>>dF2`|AaJrJGd>Xc;(u5ePEJ?R|5XPZKE0i$__{+dar`6>w>W2t+%(_ zOYkv34&MdfF@P-(`YXVq(AEc31%u5jMPNGtJiiF5WPvpaq=pA8g_khE8UimHED38j z1C6K%0_ksXhb%XP*MdM9h668PbNdjBKw@A8AO7ls>PKxuBW3;EyBGa|M;{2Iih2kGK4=shIkEQ2t#0t2WYE zP}S~-ePUqYonPLjR8{JaeUe|*hB5Pip3eDU(>2oPLla0us)41KVr>Pc`JTR+H;GxP zwn8&~P9tMpGwT~k1E%qwX68Ie57gl2k4-1B$yb$Ks(OxTx<{h@uun-{ddA&SE2e8ou;Ua zvc2oimmQ+ND^=ITWN+W7`EHQ16rAv5V)MlI(VA{kxJlx&+S_#VxD_M9^7F;nYs1|} zEpN-m_Hiwn%|BKz*A;yHe4>#(tNJFpvG+HW_j%~o4wO5s{QBjky5gj%(U4EQUrr86 z8h?ch_Nu(eyPChaxb;`7zDDVF+57p!r^KCw-9K5glepH+TaPviKkaH{%}0-YdO!cW z`{zdg%JGewwUMu<)$IpE2Rl~po8vpTBh$7LpYLC7ep67p?=#rrQodTf`mJO5c=UKL zxPJX<@6Oxl1I_yCtlGo(`#;KlEGI3`)KC8koE_=r>F^*;_oqRoMrHt%-!|ujMT6kn zwltp;!LMqLMDam$gCGQ=ov>|A+Yq=78cXLpq0y1sSmQw~)-OL_nt(;OwMnD>3JRpR z+aL(4nj;;9b8T&Y1(AGh`PglolXSPAblco^fuDa>0f9hpGTsg{9vpNU%x^Ppt0ov% zSNj z+X9i`dEp$6crKEDURE9D!2! zDrN~ZWTxgv-F&@EM-4n4X^!{{Yy6h^j00c}*MSQofG)vQ7}gix%T1zny4>hUH31jd zm|g&4kjd zV7`W`IHg3N#bqhUa09mb=IL`NqSF)vc9O`xU3P7e)U?OWOFMWD3zhGKuZJYO+3lEeeZz=yav( zPktb~SSTaG>1&(mP=X22q>_0}x{d}>aFG#Lmk{j#O)u3l2(uVWwU+%Fi-OoZH*L7P ztw)M%4SUzCnP^Z9!;$oOiu+^e+k z{Mp9NV1+{lWBu1Y!E0ZnA5!tNbr-|K8jlV=)aCV=coN_A|CRZAeWf!<2n;D~Fi(dU zC33A~2=AbC@oPoc3>PLg?9C#EKn{XF{$EPv=>l((3$g{%ZJ?0LFjCW;aph`dETj651I+8_)r+g1i0-H)Wx zg3(0s5oU0q=Rux=(FPPIqdmz0ibq@`@s;@LKyb2~S+i7=0pj~z&c|P{cy3|54K%%Y z{Jw?;LxY^y|Fshejhxio$WnX>;{dEkQfns&*@pe#;{FUOC(DxvG9nzqb^GvJCsy=) zzNU&uf#Mr1&Ey4f6H&ThGxCC$m8o3&`j8>LibGtTgGLUypd998V((fenjzd1ikg5K zmGbHVx7ro-8+jJ#u#e~b&g4L)-^cvN(X%U~0#hUBlxZ;+myTXzkvv705t`cjxum#9 z_>GHV4LNVWJAGMeG)<4F?I#}E(c(EqS%kyao;&OyfgK(Q zMQPyQr@8)gpice3cTr$2Ft;?!(QbB(ul3Jp_#O=@vMXU#4EY=aMUTELUH{#WX0Y(j zKBda%IPU(+Blwc`fiwGGp{b|Ic5WA1-8&y=`n}{Wq4-T_>qgxzg*SclsDDQ_E=|0) z>t10nyilkp`<~&`olj_n*)G@G=-@~AHDTUVp_Yr<+KN9jBo}h|1)5@e+$gtc7>2K^ z2w%D9iO1jiCS%=kSxY;JDXEw7E6I=SuO}Ji9}R|W=SY<*OEqD|s}geq zsQNeQ*5cqU#=XI*@FMK1nVa-M|7Oa*Jd8v7BdKi!7J5`J?5+iS4C5Eb+7YU-`D@@T z@%s3|1!o2Zq3vT!e=4Fq{O#=^lJTvdkFi0Ar^jaH<|6e|TS;PXEppEf5c{SrAgb)j zm($`DZmP|#+|H!sl*fUlJugCgU-@3nnq|tb6Dr;}Ib-LH$~wDE@{IxlIoDL31Yftl zcUdO4y?k@|fuRrb`{>t@@$ql1T6tCba&O9(1uK~{mp8TYq%U}AXNE+RygR0c4eR}O zX2+F1=?94wO51Y(|GS?NWdte+l%lYa^ClE(B6%^$@W^lB`g0@#0!5U z7hn9O3`yS^KbT<1X`W)8^ylbarH(?#Q@A-l=(W^@<-a-p5~qAkzQC-?vV29o@>R*m zr*iC)2&eqyR7m^sm49n)?Fi<*M{QKDHHR_pyz1!e?t!L)`CC?QI8WGGJ6*0Sb6Xj< zLl*ZKRRUvgu*inN-@nR>@I6mS5Z%8I>1LK%K;{OIa7N1d@G?!Pj(JRa<5jU{20|eA zgC7F{*4YZvcfLZt7GjrM?@Ah~zgkegIGCw?W;pa}!`SsY3Ue;9wpHyCMf=jLU55Op zO;4ZSVU%SdUsa)km8u=mvyUqMTVuaq-)pkpCGL7cezzeyAV=o-9s@cTZmK_00k1XC z9I?Ri4HU$|rleT^8F64mZxm{aj|Ir8FcJ_$lPx{#LXwEw^pyS9IBYyB<)%uaK~ZP~ zT;|`N)CU)U*<32Ps<%7-Oihy?Wc7DrAsD1EIRBYA1zyu($}C?jtTZ0v9YW;);JO1d znVgc-_t~uIr`cZ*+A@HdK=l<5zuw&p)Wx{~~C>|~#9qd~a2py}dQxvJO{TBs0ftOrL zJ&!)nLgR|tNSj&!BnD1s4W=()i*@MYt`+gU5aT_b78xE5J7M74p8hQjK6HWHbu3>8 zoBfFB9{;x**~q)@Lsv$C@q(oG8r8u^!w>YNA7U};_Ac`W(%uqmdfa|#B_B#w#r%Fe z!A>%i#QXo;O`v$x;OJT~!cSPWpJT&|b%`$OK#!N_f)G`K)Q zXRLR3KB9KGPshi6kGtxX9l2oD{E3p%_8~uPeJ|8QxjE0H+2P;r?A!}(0|Mw*ZN zd-3t!n=d&mi)PAH($pzNx^YEPH?s~dRONZ@siz4D+z)}o$94skL47*npLe6ATho1t zB)(Mnp?}Ng_Qrzih~?0~TWIU6m_+^Z>7;XZ|8}p|DpKts(`U+m&c5TlB&;}1lkjA< z>?+|&>+ml9yY7E__*8^LJn<2)gL^*E!ZnzoDmokE3zh9!^QT!2{WO`(uU~O`b7v$U z#G{IrS{WmD&Sn?^A5&RCOg=N221?KB$B-9Xx#}T^7JGu6L zU}nAa|4*{sGWB`)`)4kIdos!Ws2T)R+W1(J*mEb&8h}#m|B_g~gDnRge`%`rokp6> z4oc)m@uBPss}~Hcajj3PZLAH$Z{0QFn7XF$=^Bk&>Z;h7t_z*MgWzwMjp)A!O6>xpKhMaJ zSba1aKq9dYaCo~M3I)L7&;?jX^;=4Sm7VbZ^O@_db->9PRytREzx_BiA`4Yrjop+D zocn-|*&DF~BqhLA3s!m=?et80fYe3Pc6xmk2_sPz7x$DT!CN>$QU)BDzs!EpzkkNp z&Ubgqip-gvs=&*%g!TMb&Dng>oUfW?d4beJJgZjVr`;Fz?=B-X@4%Fes@4{`(z5~R zCaiHT5(Xm*fN;1m62^cANCg`L7XSerG#Uo`S29FE_13dRrQ<6M1s&LiGhm7olE8oA zv`fNZ1vLMLrah~hz1~^hK0X|P;l}mFx~q$YpL=A*%r;Ut=24qtp!sXl`=;j5ff#N6 zi<>A?1DK6%*-(7xt-?ADJ*?c!RgW8knA<&5t_o*sr>04`)FeFQzW)S_ihANz<>h>C zauSbENZ{+x?8V`~@fjPReu)+Ead#Gq;F!x!Zy8vUy&T87y0TKAsxK9i8b5HNoSAKV z0iEQj2jZe>&z?XpbSf;V=xv@LYj!quTOgIZTr5)d=)x*wspVYf8N5jL?dK-V3&=c0 zun0!SlAC4{B>0`Gi!oU6v0?p=_pQpH<`yRWD;aVvD=^GabJ;IWhdRtCw6tPF97fJ5 zxN=TVZS3NIdU-mS@e>F>-G(`$k09m}JUOmGjGMQsp+HxdD{A;vr_F2q0aq_Y+B@^h zZ$pGW#^*VqkVOaI@);yJLGtK%V>Pos4&p8j7XBGP1<*3I*K zfn=1Sri%T6toXz@Whs`~hITaO!$7JosKeDbjBWs>O2|Bz*U% z>SOwY`c}IWpJ*>dKwx+7-9@sZd>>dug|w7uuu!(^}0+%`<-m1m$$g z>K9eiXjZUj9hL_&qUz#{wb_`p;P0uO1^ax=Kx->ueO@!g0PFWUltD;FzjQ9&!kXG{ z^^S`Q6Sg1)cJ?qKx`&QWz4cA5qV4S*mB2mJB+&|Lz zMK4Ou_bQBUo+}L&5pgoLyk#%?C1iN)LXH(umOd7*OOv8YehhU;ji|p=T5-aaG%=+Q zDIxDpOJ1zWWq+s@+B6`i}HamD)$i<4^3MgG17531qExKY# z^V1z$<=7U1yOw{=QQi9YpYMukPeTt2Bo|@fmfx29D0cjJ-hZ@3`bccgy{q5r8rb-J zZT@xqs_~3U1Wot*KYR5T>>K^PP=$Dn4RP}mF-y2{N2=&pu>^{N?`gY%#Mk42tV97^IPsiE?`(paL?|3k zFjGjP>vfI!=wibFoRvl>bd!xJn}^kO3Y0)9#_2(Hbhv^`1rBA2FJ|;^ecgduU&rM% zG}-amO5q^)>l7P{nOXub6gQ~~fA(m_Tqd|5U!EmS5$DOip4&Df8_Mt9l8Pn3f z&POJYUCd?bkUu;nJi020=K1XQ11}qx=_Ram-MJt|Fv$j2O%N<~o1RI^v)D&=R1uFA z({NY8Vg*Z6BQ^s%e^i$o5wr|IMfVWwMUR z{hD3&C6On2Pz6@eDUftyE|hzhK4*C6tk3B6q#(LUz}u~GP11GA%ewduf;#$PT}<$1 zR32pIY{={(@4|rRkIfq74x;W_K!3g>IYBWdh!&Ad3N3%vT{Lhjr7bdcnLSd8JL(g5 zn$D`T*L7xQX4@|`pN)7-xzxoPaM~5IU>!+=^Lv~WG$58iZw<0v_xt;n%I%r%NRWak z`a2pkNO8(#X`S^#3YX#Owi@j@pd9q`!;{x;guVI}XyPh(at)_enTO6Z8DhhaxIX4+ z&0J4_1h@AmT`QFo7k31`O+K8|P$7!N&_0f1;U@;xkFzi);z15>|pql7{t ztjF0f-H+zS6Y#!t(G32rN8OD?c7q@?>S!aR z|78`FQlhg6n0#bwHRduQc+_Dva*HZDvN_!~U?klFl#yGL^!W+rxKRJe_rX0}MJnV+ zz7)R`|L`W<#9Fm#T19o4Wihq;M$C;xVSb}G=S+JTVr8;Qrza!{1+D(rP={iNN)~pUWk>$a~Xc|4hIXz zD`q#G@e9ZJ%i{5IOUbfC`1`Ik7O_740XWRVy)OB^7UOxe6Qi~}>ZIWU;o#G2rN>&Q zG7p^YQFY0gn5rv^Gk?+Od+yV`Nha%4r|~KDKSNZrgV^|(AC96zKcyLO5FW{`Htyq; zSSHTnoL*R8?c%2{Ht-b~VYpW#tk6w>%(;@(pUz|+C=ZOQx>3CDvzBUsJ`CuD#r^7| z)~=wn#qPwDYk|ln&>C5MiH&Wx?ZXwf4+1~EboDRycSn_~W%4ixQ43~_4CzQceb6OF z-t7Z{C_B>AneB@K=Sh?s=eo!aD!RGopO1HM%~Cj!(4chyn-fdZ8m(YL&ke~r_mnwt zYwgpL;6mvv*=@o;Gsbj8hd_uEd+VmIC-JY3_E zyoqGsy1+#It`fr`M_prOSadE7NX^M=t4E{Z(c%&dL%sKbyRi!oL^y-K7F`6KW zM8fzJ>+e&I1V90;6apX$K6!!@(1Hbv(9?mGCZ~N|tQNSVWP`iQ^wfjH|}Fn@z(7;0h%% z>`eV^u91)0w5OEs6NK$X3V!)}7D-n6AObL1qQgkMqc&|jhH3MIVqq-B5&H5RA@y_cr(MQhPOz}m;NP( z!YDiz_*cd#Nf)_)m_pFstrmkGy9=YLdjq~%G03j*VCYl%K5J*%R5b?mulCg=!d)S} zpAuyNB{sN~Nm1hUA-aq}=bvZJVQK*jbZ`wy;=97l>xw-~kB%%YC7mB;Al>Fnk7a}v z;-75(Wm_C3BO62V8?lSux>k6Jbq?7=;4CHpGap#1RVRCO;*g&7YmeL`2-N{jPGuJsTwVFn?~bZV>p6c80Iw^@$)Beq@U? z|1i_)-){X^zHo0>lo`bz4HuI_kBSTUWQ$OBfrXW?+~O#V{1xyB=-w@2MMI! zSi^!znmDwkD4`Z!gT1Js9aTRbNXB>}p$eCMV@H?w5u88T7}Oz?g}stgu?HDqWQdXE zWST_Jhwvj;Tno^;Nyf-&c2ljEVoEM6sqc5#ULi!|H+4bk4duqArzhPx`2Q3vBVBMl zA_O)HAjU}cgHPF?iX4r2Th3%7|5fe{57n>K+PhhuVyfStPK8NT-o$8V(tQ)BOob2W z%YN{l4t)-x_?awsu22!5(H+Azy`~`Ict&FdwfMo z{-Ge;|mGGu^p{Pr?;E~f6RYn!6aQua{m1K-fpvoP5W1-T=#A=QBgvb z5GLRFAZifCA>>rrI8VxW-?Q>?fxm#sd~_Q(hfnV zp;yC?X@<_zUo5C0aI{27Qur?$q_c#DEH)(%@g4nI;6SxSjmWG}Q`)okvx6dNZ?DOef-IpyNupA$37l%7VW+Sgn)@Yz{u{?^t> zZPE)Xm5uL7XWgUp7z&K(BW*@>vR#ufC}*NSU<@9W3Go+wwsznxUewfYT=;tcCJ2Jn zPFzfcg#j^%fdT#{*#`C+O?&Qk@&m^YhMl9~(hps*H%4QpnaetSplH528(v|Ua(Yu; zVACN#YiGExn1u+AdiGK3nA4rRF6WBwY}C1xVU<3IW#^UDVrTMdO=ll*^XgRiC4u!K zGNb!QnnHHaTXnqxi{~u*{N@3~fPVR~5J2;jgLlxju|bd>C2<-{Xv)nwd)_Po59qs+ zSCWOLdAam!a}oc?U2nVXYA?EuR$%w;-&_4uey0mpwaE#i5rz@GyoQsRbnhY)V#NZ{ z7XN9VDB3s9)sN1BXEeVtZQw~NXVnpv#5X9F~Nh(`O#6{~QYwqqHt8qnE zdSEq;I9EcB!L4~x6o&@9m$!g!Icfd$iMv8OBb)iV~SlWXud)2

E#s+{>qPY!LXZX7I`qP<##eE8d5*$z-udMV6w1D49#Ps?rS;{7?001J7B~4* z76FA%)7ppdzJuy53r6&`<|+@tG(1gxm!ja|+o2GOV!!Po(I!AyWtoQ%)(q0WM_MBU zb903ps-?i8TZPP2)e{ujK{dYmFWVw&y!n6LC}crrnG$v?Tw97Brkn>$1VJjeSI0Q_^xQRXX7QJb(42F*HqV{huhzdgeD;jE{l=j=8AvQgB%dHBs%EFX{9 zb)3g$L?KcZB58@j@H*2r8@J2;Q2z&*3>k$Wfeg@L?Z>(k&6~!H54>`xg#EpXnVKjy$jWOZ6)y&|~qR zHPaVXBkX5=zqLEQ$#1;7Nnz<3y7wL?!}Fgm+3u8HKJPvyux;{k`q16SN{L@Ae>mDY zT1YUenxD5Ry@ob13BwkdilTUH_!Qnwc>Y=oJFLGrZ!aXOkS9s>xzRk?if zWA(?_`^_6mfg*h-0Ae0~2U_+Z4ZigR@;arpW_ct`a|vrP(%{Ydrsv{xhRp9l*wXi^ zudM^DP(*n|=YG%a(eq-5v;D!;qc@oowFiyrD=P*l4NqXZ>-{IeQ{+Tl6j?H>m@(DB zqv>Nh>YnFSe-l>9A5$7O!*+?Ap^9$-LO;Xf2=DJDhnhiB(*wdd0m6odv)Q#T{#OtO1M8b(NO5grSWdpJO>&G?Y=~mAN zzm%J9?tMZMzbLK!(ftA(k&(SRvvn@m(Glq-!v~Jt#bUvyuz%*0Gs&zVo zF|61v-}yXjDc4#6uZrDtIjCulvnD16CGtBz3NR|_XF6Oz@OeP?MYRlO>IZYt&m|-D zS;T{Vx2dG-6!0c6g!78d=oPbxzPXA~NjKvZw!E*Ndlu3wd?d^{b5zUWeX4 zQJrYXvX%HGXha$M%=C{(h$1te#cm7Rm7qshYRCoZBf+mVy>-AHtt56f3bIv zjymI*8cr~%BL+`3!eFe-=kn)Vx4dqS^kwCr_L3ZVl&Uu24|R|=2=vo>D#7Ufh_~Fa zT`4!BYVB6qC-K#a_H(*cGb(k@h4dRly5$(d&s^i{JqHF2xcXif<`WstN}hBUXeSdn zIJwh4S>>{q>0v0$KhZ`Rux(YOTX+`D#a za{c}FgP^&QU?(PUC|esH3JkyG#hv?*+!W=c#7&G|U72_Q`;_IUw5M~a|J%wi&w2ea ze-S@!_rFKdeDgo7_nviZ9oy}vsoZgph|ws`@VETbq@#zv&qO=4@SUx>Upq~3aAI{`}xoayn<*%19M^>(7btl&@hThWU~ zSKbD_Z;U%IcTn$oBOC|67xJ@MEq4fSX&d--=zQ&0eHM9W3~7RJd$`#z3 zlSDAEFXW@RF=N@Q4wqtVJDU&v?W=qnWc%)-=~N$n2`|khg&;H;`&P8Xht{6iP>t)e z(_M0#AJLV&?g_kUjQT~MXpcR8eu);$AuSlqDuj(|SCt_~r8#tmW<+b5HzQI_?;LM%${q#_58CAB2F^quEzeF0qet^&U? zjAZNvT>CV{w}1}ZInmRwD}sX%u$!!sD9ZsbwqHA%rLn=XHF&-1)Z27Tf8x63*TQA@ zGN9MW=@PdJv$oR2h#r!r^~`HW^kW}Fnnhcrn!d0MqDm0Wr~g(oMNQu6M3E-Lt`v>? zL`HmGSs9_90*rh~GM|lPbMUz_8z(V-LsHro?fcTLagcL#UH92wkpfKH4Fg2M&4NqH z{zfeQn^H+VY5{G3kITKuHK{9Vm;N55bw<__%6|N?m2UVZ^tZFEL>^P%##D`q)wy?@ zeQDX_y@>0ug@tW1mm-CXX;Zd?bUy^;z8M%8vq^lEGyW%RcqV7&598H5f-fWI)}CI8 zaclV3YgE@iy?gw(!s4$`Aw>4yAWVJBtE;Q6b;-gFjk!LVQO^(1j!1e{aVofibi+0u zhJ@cnaYkEFUb1>bnI`CLoR&@Y$a#1?bEP451^hr2x!{q3!(QUDwUyu!;@mA$W3X0G z6p0>4_bOqC0}AW!tXWf%%v2x*+g>-rh4$C5oaTT7j!9l+H0NI4DK8{?rHzZ_=WrJ91g9lO$(U z;9N7r?tlHf`tUxlobZLV6d=GN>1k8a=dGfBmbBfkg`P8hl(Y%*+gsm9D-@)VfA3B9 z$c;z`vUBbw7n`95DQuqATvNKL1_d}_0Jk7Fb`CyAg`uHS>#>SEhwQ{04i~<0;bs)m%)m)wy}bYhT`%x$_4&{4ZY3CUnX&)@=)1r6Ur!TS1{N&R-2jcP z;OT)_1`uzs(=@dS=NpeIRpvJ=&y{d_?8@pe@>9>MQz-i?$D9?zlxVnsu)zKIS#Z!G zsstt=%5Q;hKDxPebJh2jIXU5`LzZNEDiWO*gQaU&d@^pa`^ghypej>!=>i#s<3mAy zJPd2^ zWMIX^kSBbJzv^&ei|f{}`|_f8cN#x``8+z>V+s&|g;!Ls`dm2cD>CC4Pi9(Q#sl6~OfTRl&HWB@yLW5#qJ3;I7>TLzTf-^PoIqrNmy zvjdC;`!d%S6D6|_<;#E+Hgajb<82^7#4HYI>{*yN8<0G{t z4tWJm@RUY&9u4V+b#mJ9UNmyT%MGrbcV-7N_rs;V=&N%;AFS~{cUj)q5H~0?MsPS4 z1!}QFn!}Fz@?=C0_xvc)^DrcfQ9n>hA9YawXk<4W30(Z zuo=p7FGqR;!>!<;_Ct19mtyJf2&4eA4bxH zVnWaXn%e|$dm$_ab)CaMeD~zTG0WrawSzyp4=9x(^ZUK)M*EX0{7WxAKAE5PUq@(X zbX@vE!a==gXB)O;%L0ii6#>K>SI zWCRyfCvGX$XH`9xb~Z579a~!AAydXElKDE8YdVwE^XQ z8}h}%8G0fKM=yM)lAL`s=pvS?*zCg}PrD_`@-kVf-T^pt9)IQ*KJjwm0*9VW(3usF z8b(+ET_ZHeUiq`ZtP2B~u&BXI196JWKQeLc`H}T+u_p3l_{e1H7tzH@5V22csMD=f zZ}LkQMN%R41D0$6msb~&;UXJddz%HQkwa(%xQ1G5VR~uMVV`(GbM?7O4wTDRE}8f; zF-X9@a_&qO3mr}>Q*Z2}o?pHSxcHMtE#118YdK{AL>V9WHvyNQdV(5-JYo=?PKX1X zpdzr2(@ec?l|X)p5xoA3Ur>sGi;Wi40UEQb3ui;BhJgUp{Kg$dAxMn{d+(8GJ52UN z-^;&Lpwpmhn1Lq8;=93qBA7!nk)_rbdXo~ope{v$Kh>Gwy9&Vb9qLeMuT+;G9@yXB z%cdKEhLs}>%`oy5q0Mf5MMblF5&#$oA1$O+dKFzF$#>H%u#kSsjQ2Ogh0*l$aO8B6 z6=|A(`F%r`T+=z61*(2wNXi=!nstTEIg#}ja2HUsvNT6`2XS_)Xs$2#d zTMDmkv&_=lhu_JsrvoKfWgt%0${ZKI2m3Gd-zB(?UHpa2BK=B(QrRTleZO);Rtq-Z zXM-RHCfS_nbvO#0K!y&cv;@_Ib9UOJvoHSBO?fT%s8W zxYtCEt&n*kC>m{)TBh21lNx9|)9-uv^W(GOj?9s)>(oH(lRkHbtLhgKNRIPW9gKg< zfn6rdXB7Gz$7-^%K6<4B2DHVQ9?@iPsVc>Bd5Jc0E>tIfZG-x-`>&`#g zpZcqQzJD{)QG*<JcZX`PulFFyP!* zKY1+qmad!*L;!dxS7{f!xL2Vc!Vn{q6s%tp6RsI4z=-YY8B;bbEm=KBXG!I^FU=Bg48#sK&9OhXr7UXeIC7>1_g5az$!}?|MyNg` z$NPPLXkH_r6iFH0%G$Sso1Cf8R-b*T~Y!g2q_ejBXX(G zFDh?cnD{c1rb&i&)wYA7k&9K$ZV?a3u3uo7SkT;MF?}F8r==K40p?pF@L7C5*e)?T z0WzYY%lW+XE>$@+pc1uj%ip)X_4$nK#e5%2U(?pl+b^kgpjx3;jAKVyQqM z67B-5=ekJ=k~V+rgBO}I9FQL?Yte+&WL;VQIn%!i2TYZ<;b6JwHQ_-?is35^oz9l* z9SV{+ZfJWf17hb#@mivDWzOg8vh2qy*wnl zWGw__#%+1*Zfr6VU~YXuk6*;NZ0ahx&4FSDu>x&#@{H9M@=#?4T#Hx_|dfVy=8 z2#{Fsa|KPW{?>h=E37h7d+n%Y$@)_qr552q#YaH%SNE$PI5c)@j9AKPYrK@6_fRLw zHw{4Q^8@^=Y`u@&SXd{BDU)~R;LuRR3o;u~Lmx(MMH09vk6%tML# z3Kbf>8U(otdl25OiY+@^o$goJ(70KTk#?W~`aYm{FFcxK&)Q1!D!1x`Pvhad#}=bVPG|M@El-3SlJZtJSg5AB%Uajf8OyG zuVr>fzMY$2w{kVkx}-D%9>al3^jMPdZ#o z0{}x`SlgK@rOg`vZ3Ui~V)3y49_m}YQx9~pI|{B{ag=uP9K1E9Ze1ue!QF5Z!BIncSW`!VyW!D8e9BYe6?Wop zq;G0bmyQY3^gfsNeD;9*=FK!;vysTM%Fj6gcu_sJyN?XXp8zI%TD0h&**p=gg4W5= z7i;Gm&&TDaz9G{J5bK{>E6}#(TAohXZ!`Vu+xr16hBs0+z?K|2^MDy4eq_`u7FG{~ zIP<1!CzY))OP@<83#?F8{}^5O%m<#jW}*z5i5ar4(*|vdS4dQX*CHPrTG~||I8@3k zn6}Y?_NRX3UnO|WVaVdfXdn7tFim;Ltjc+3q9wQp+L`H2pIBR%U6(Ek#zXur^vWT;V_yfZg$)Q-*!ew0H;klTig%T2a1`68=KJ4bYn)e(#pGRRie4{? z4oC{GYjSj^DpC1*VdXW+eg7b3dAU|Ro%tW|lqmfwWdKWh?{ght!{HbO*ltuj-@1EC zW8mWlK>$>HaZ2^ax0XU{a^fCUgy_?sPc6mhMqt2^|3Od2UGGbBBCsV^GWE2+d(<3{ zADn&$D7Bw?|A;ztpi3TwMU4g(^6nsz-?y}Cw>3B* zlS?f=_)q;jT+W=H?y2~IA)4sEXAAEAou_BufaC{xCZ_a+pYfji@nYv7ZJ1^76a~?@ zi=GR3?_04R%FTp9S!|2WX*C&Iw6}vf7e;Vz@i}ogNxSaH3~dQTOp>GS zGVq2k0N5pl^YnURH@4BrJmB=)y`W!QT3nLhrH#2?rF3doB%bjmc@l2_{2l#OF2pA$ zHNKWJ-`Hl&`m5$7!A(ViF@fya`Ed25Hkyb@1g7j*F9wLVbRK5d;^C)+^6vATR?`#a zw36vyc&mpj-i%!&1vj2KehB>b;&`bdXid1 zCLB~Sf8X|7`D*E7^@S>>+jf>Pxa!fE`(2=D0`|9i(A!3NlI|wosqf&COBe(E-5p;c zkfw;PCrq$iA+uF@bfVJI8JkOME;S)ekPS2$o-zGtV>$4Tzo&bFi--Fd5J|L3 zBQXg5$AErlhdre@j;{LFU3lGc8NTE~dYNsu1lQ(g1J53k$GrH^BjV5g^iCttX!U=6 zdw4>P_U!vVjBFNCP|o@PqtDK~5%7O&hgH&%f|vtf0Vd1vuBrc9ICp#X&W~&Ic7Nig zyBe=Y)&_r&G)0(jN9H?^F|+9)j2LKG?+e6$cGWfbE%_)v>UD;x4%5n6iC5>xzI=14 zeuLiBwpGU_I2AsB^2D({BqVz(q1?BYYf<~GZ6zf$$T%jFC&qls^dX!zD>#E20IoIk5Y%PDMh9#_s4vrNA6 zEL1;pEfWcQ!#6F398t4fq52bzizP`sEMk^eqba3o(Mo7gT8N4&uqfW$7Jk)!Gn6$V zl$`TtcZ63c8o%twNF3KH26F|3rUy;W8C@kr)g`6{spv}hZK1?4TE%vYS440!iNUlLQ z!oWAlw>oI5m6+@F0Hp9vPTEXj>hTg%*s9eaJdo>C-?{~X{pv#KX=S&sExN3`Jt2n+ zNBpm~5~gybFMJiC_I`Ms&(SF3s!ek1xs|@_Zv1ZyQZcW7s~+#cm0hj3v4)*vst@I^ zeQS!6HY}6b-Lk^lezm)uSzH^x!G>!XG9nW=Tq`h>8ltkx!A>+{Bmz%Ra!Uv6tC5Ox zfs+ahI@9b|pSo2f2+`rEWVOUO$1+4`R`W>zpy|a7ex-Ols*(~L6@Jd2B`P^!;0X`$ zhPVLdCk1fNe9pd&32$3!iyQiMq&38`8cYi5njuu4Gg&M@*&K@G^b1Z3bB={Rd?=Ch zlyLj7*@HOY#6#a^O2P`_IT8~-JPsq+cg?# zc`SmZO-Fm_J}5{H&d8SLNtK(4vw!KCq%(G9#kfCDB-8Y~%@dW_aQCU@(&QgXujK3= zuk#99JhE=||%cwk5kGD?{ z!lP6FExTsFClm9ND_4v8U-_M`beq*FaD_Hww0!(r4-b@g@s8A8Zm&nM8b|2IP#3j# zX6g`zTyIyZtyNst!$?CC=mi_>M+IUPOzu#aG)n3Xs-V;N1PwUJm$8201g{7o%F|V! z5A_3u53wSKlE}ZZdaQ5>DnXF{?sbl78XZvMh?l98;_ZpfcutV10^Ktzwh{rm{?rix zj=0_$dmCXH#??xqXAuWy?hf#|z)jmy7kO6*g@k|SLF4Hm&=)0WtMXX~Efwi>uAf>^ zEPR3P2*;tE+uyX@<>+S2g5P`E6$_OeQ#M?A5v(zuF!=;Tql$wePz}IU@DqA2vUv%u zl|pGum?flX-e#rm6$Y`CJ&;E=g&ISlJjN%i9h;JJn4VM@7=}t zTFBZ6qthuHZU_vI_U&Vuo-AUccQ4!;2b1pb;FKI2c!=w_x;hNdDCEdx5Y2~$rWr8W ziSBSpZBPo4>|Ol%$eqF6JOdxJ?g94FbKonf1aloJ)7Q|LGb|Jaz`eD=kMZl2f-)=f z6dTcDeSe5uTOBUR#M}dGl77_&v2IZ*OcwpWuzLQ-uk&c-G+)ZD*~}|%lb@!4$A#XF z`h661XA5%6TQF49U;Y&4q=(=8{}D*mFuw+BJ(~@te;u&1NL2l@B?RY~V8m++E|a^w zq!pGv6_n5b(U?fw|JS9objL1CPaj!|=rj0V<*bu9`#%_6{d&2W8QE=-nrl2bqDn|j zze1?y3--~??6vX#aEtuUzd8Ye;6+`>#uRVYr_|a;J4&Ae8@t+xPjseU-4j?P7hcS; z%Kl+;6=!TC_3T+~XNk(Ec+Oq?`hN(j|A*iND;_P@S@Oyq?i_XVrsT5PE|28hVkA(o1Mkl-`kE1?jz$ASDzbG$|rY z6a@qXq=O&`p(qH_L{Pejfb-*#U^JQO|Yi8D3_qx}f9oVxovy$J? z+I@le4$scUqLBy%FlYyTWrZjgdc}-2T;bGtK_OqepqA+Qlt&Y%!jR$oH@r0b887|@ zlJQhle|Hmag;fNhkCAU7F&T}lzpo+`VHmx?A>g<6hQScMzr8P9mMFU^k5KDc(Wto0oBA9iD@T-|(s&df0wE-PS;ekbRXXr2F7_{1C`RMm z$rQg1SdAFJSq~|%g0$pBbf_b#VX!n9b`q-T4af8B@M|gof4Tsl{}=)AWB>rX5kUU|{%ipB@!OvO;8+v@N&W`a zK9VPeS3Kt|J}N>10F3Mid@dI7vd+UtLp6lN4`yd6UlbA`{K03be{N)pSmrYV3?jR%g*%Rm)^S2)dj;kGOirER($s+t>e4kEA z%oHDps~98Rq65cobQRS09=k1qI{Ue=@XyO88-+xf1jVBArQ^0=xmU(k?$4_m% zYXlCXsHCXE8YlER+-Dh(O7=`6(_dy=sn_pnC8i&=VjTYfJdL&ZwQm$U^#Kns9l|p? zKZ!I(I3}E#x+KC&_#P!cpV5|CyhTpP&LfN-^GOx~+v7X>Z_`QbY0%;*t#3`1zKIL= zG@l3`DRk>o@kmaveXS%J<-R^tl)>Ls_elxunJf{*pyQ3Y?5ykB^G3E{tiLsBxAfv_ zlYWr!&fD`5x8?q%+%lp0k@5K@CEkt0z8<`PF~vc5T%-7H3xUOx2jXBF98T;}A7{0? zfPhGd{7!9Pi{S~t_<60*qs2^&JjdgR+mm{+!GX?^(yL>~8rACOv>&>c;u8|zXAjZ| z8(F4#j(?mBJhZfmVm1pB+muUVEo-;L?#q?Ajzo=sFN9v7FHr02Jb@z@nI zSCW~Z$Uaa?BUwKE8huyQ_P3;U1$#>Br0J>t?e-6>E!k^|qsPq&L+T?{GOv0C75tA$ z+bJ)OVHkt3}4nQ3@_gCrObIynCEYawg_AOJ@ORPqBz!+F`4ZvtOm{)wbqIlcpPO7 z$GsGh4iUNx+BAjJ-VinuYZB&rfbGm~s7~=`=YT!l(q5F9-@l)Tl#J}|zP~f#`sj*; zlrgz7ca4^hjwABAn>E9liW)*}F1vT6eSHd!Wrm*`8&=4{6!xb6c9S^IrZ^MHad>B++PWzABI*DrV5hh>K zYiMbUriOpb06JyTHr17>PMpPNZmlTva)j}FSK3IGu{s0B@mff2>=J9;i`N-CmUWLl z25OGt)#eAnG3y^BLLaA{ykK47ptulAjmffOK5FJ9!0`xqIcp_U91-(IW*os1&g z^+gzuya+*`Yh0!4i#4Ch>ik7f2*{;`k3+pD;+{A0f~{6UItZrXJ0sy^DS z67g0GapBOfMQvap2wHf3qqDu4t0*_T*~#dU7XEH8O6QOC7WIM=UMkkLK%T>2%lof< zKtq90-1v{&fZE`X{IzIjdv1o_u!2<`{}313tQd?2v%60_d9mc%t?iza2``$aA0pff z5uA|}&(K(YosgLoYj7&oiH%X;xdVD)qxch4hfP zr=Ad@kKrCEFTFR*7q3yO$~)mgrR`_B!vR;>+i3NVpB|d$7>pXKThkHoBUf26Ty}I9 zsr#q-WeY~8=@Y(aQ7&eZ^+-GRjK*H0qXY!nxPHg__q~DNhLp;uA8g#3ZXFvCpu5$+ z`dyX3LqPYN>91>fH|JHqyuA0>)BHi6j-|bW7Vq_3#+{T0A}?SF9{II;J*UZtk=Rz- zcO+TKx!bb#Ynr^3()2q84-!>gWZ0@&v9cy&WSN4PY*6kfF^@W&k<1hmV?3N&lHIM;w;PQndbD~OVYayLXlDS8Y z?D_R+&6>f|7N(87(GL^mMXR<{n-$3V!Cc zf^j$DV8vuTcM{6;!c^RSl%VT+%6*6$q|_=-lz48>pWW5gLGRr`Xd~RPf^=AR;m%2Q zTVqWWWaO~wA7N9+%wHj7czE?6VSM`gJpU-+3W#GX4zhcqCysFoZ%HCvdLE|{$NoIfN?S9e>D<_{lAU%{ zC=55fg9x~*r`H~7BE-rXa#pdVpg0+LCcp#Z;E*3$fcHqU!o!aO*~!`b_XKAV)9PBrM8l7wN;Q{7Hq_Kyn?MG4 zy!!)O?f7LaRku__!^45C5p(L205usqGFr*|)Y1*QY5`u8O@`#6kNnvmAu~E36Wo>C z-|z!j9L6|~gRFgwz+tW?ch>MUKMv*VsB6RQ1SeU4s0odBz0sui42{3e!NfGvZnqTY zwQ-Pr6?`|XN$PTGb0^9>Hg#;dyvbtmaSvym$~W;Esj!kfrKbwLNRUR7Vs9{y^bT;1$DTQ~)z z!t8lEhz%*86koMh;wEE zp0v%pzRBVDgbC4UP3djJ{PkLNd?ir)OG~0NA{^j13s5VGroc_q>^+&i`Jy%}W7a!q zQ`B3yPyf8Rn?>uH=N$a1=@-|<<;^5>OeYaSiX2J(lL?#CQLV)HX7VnLOpWa(5zhQD zKKGGq8~tsPZ_Wukt@La%WVRnNo74DPMFTZ7H^v3^WGr8-{zg1vKz+RlFnHmOY`x-G zIOcn$Axh`)gmUjkkH6mC7K;vPMC@`3b|jnEc-F4(C~4cMFBI*7V0x#xf+O30r;IreR51%Xcu1I z=Q*VA-}_W9_RMZR_Z)X<6D({S3hwet-cKnFY{FoH8RO`i~t{ z>)$E}0YV@P z*&}cQ9!2+K5E5Hl7pzck*OseOCS(wSrpg?uy=rae{ti9T1>XYjlOWar;!H>?kfs4Z zh6pQ~?3b z1E2*(r~{Xo|8F5natOu_C|Uny@{@3RZ$mvf_Fp>sQV5a94G^3Hs_G9T5DZu*`iGB5 z_)#XKIt*ghzBMZJuDA^W>_)*X2{{Nh+3tk#s)>=#C4vLsu42i|WlW5xWb=Kq<_ZV& zJQBkKhT9$cM|b5EQC8zieO9neB3 zCma~sRsivS4#!ePM%P`#s(%v!)g6Co%#j0z&NQw88EpdR)^(AJLDme|@gw`@8DdXXB@kww#+7j^{3;nGQ;**I*X8)Cc*!w=r1){1jh7n`-mlm~M+G zl@0NhBF(5De1pbVYS?-|r!XS)L;gQ?*I+vAS<%%*+M<(oC@|;$Agsnw3He&l_!C|vuW!X2z*}^P3^?IulnR~ z`H-6HaEbDw*4qennqEX58%6(G7Y6A{37o3*Q+Xnhhu?R(qm5> zFa7T?)Dy|6#>4ubityUA+Rh`HS6g(-;{}zXNkooQ2cLyTo}?1_QlC2f#>WWebZx&k(o^u1#b?Xvw%WKcrH_5~`Kr*F50iJR(k%(EfVg9I zz%hPI5}f{SIk@mCV#r-+NSwO&&W2llDPpKsiLufwk4KR>IAcwQq^{~TuW`cLNSzPb zW>B&DP}UeuG6q%J`K&rGm>O2HEln{;QcxW|mrU5xFXF!>Oe{I@W?U;-Kt*{Td3U5H z=*-w!^2qZ6N<(9$##F=DTDGZGM?dHLz2{pW77N+r+c;Yyj{T&l<%ZnXPbN-cD~8rS zjzAgfpPqI5t-A6->m3^4^BqGtuP zP*pw-7<-3l2Gym;eC}hb%%DpEcEntp&vA`V-)-1^7uyW-i;1~W{uLF$)rf+TylVr> zApTT#*)AiJexVa3|j?Xf?|aqO=lvHDooDr(HcBb#suLNH|E>097#witpBr+R*p zdkZLpBeuRN^{A0lX5zkgA8OhPn;m0+rP=)0d4|vtsSi^Oi|hPA52G$4RQ3x#c`;p5 zlAr9%y(~YnC-FxcMsPJIdEG~m1hSAxE6o-c^Lrzd?1WDyXNCDXm+~%X?Wu<_CIyuR zal1xOhpj`ffG9rZ3b8q>EL*F%Lp3e1v@^Ffk*kmy4P`PiTswk@51MdY&#hX|quSan z2g?XDq+K3ujnO2Ak~nzb=}0DywPVcHe@?=QyIEk5NjZ2Be3%xXvT_L6@fkUb!|GSe zsWfdc67RJDRg75u6Y=+E?F|ERj%O|6B=7#(@cnC3vC&%bJ?JHE>h*HOSK#XwLKi61S)hvG-{UkDEtXxVgx?R{p&pY6xs=$W>nNuC(d)TOsawM-!P_YY*ir0_5C+HOoG z3dRt2BFJsNKGb(Mqq1-I}=#T{qrd$>K~gBY4YI2 za)YgXxuM2)t*p(xmQYSH9uMYdX%PO(okp-Y)G*{kOF8M)k2dIJ^@(cLLxK!q@nS@i zIw7t*n52{jyHrG7re9AW2>zw5Hs9p~1kAANW82gTp^#6cP>96>p@MSP&&ei)Gl7co zZZa8+q?8UuV))|5d3JB!j*#XIN+0{Rlpr?d2P8IzdX9n%YUvO`YAA`I=6d@BP=W{p zmLM(zD?@mGjvdmLc_8^Tz2G1f<$e4+z?<;rV%?eWKNt>Ru4~IOxw1%c<@uNu+mdqV zd^YA+w|fa-0DJK_=N6QeFK;`6^ z5aVm5Nsh6tEk7xGGINgFh?^bKv{}FI-M!s_O8q6Lpe*A{_A6Q~Ri|%qCVU?jyDy z0Vdc`3=Dr>8DJ!JH+;K!Rj*D;IEc6$l%Y_F0iM#QmXvF-s}ey{6+AO9{Cm*30Ci01 zYyrdb$-)l{EpPT58uni*K}bHFA(F~i|M7omea34&0`8L281o`7RV`>^@oB_D@y4JS z(}WoLEaO8SSs;J(i#}0BWhn0LAwR|x>7%Ah3mj92Jb`1$$pYa;h(=)OLcF^nEE{!4 z@0lgFQzX*RSYI32o?obaQ;^hw39Bk)Oi8WAi75Aap~#1`)KYKykqCp;5PH3Ull_t7 z`&IQ}4^h9GOLUc$C$$Ay!J#V1^RTse#;#gCyi9I$*dP0TN3)`sDoPv^c$)~gbN{UG zrnn%+6Y1h=ZhMqWIz}+dhnQh7U3<}th^(D;GG#&ECk68R#NTY^6UIS(8xBveaFBbD zvQTjvr#JyC!}1Qk&g*DQGR)rSD;$vX5M~tSlN-0 z)|=daG^2U-_Gy|B*zGz^`VDr(k%UZw=6G$${oDtAHw5RSr`sNXZY<$TTIzTETJ~LK zXk66^@k9R}BWXK$L|$}0hBt0Zx!(e(p1f&tp~9jS^h=FOL*%FlScGngJ_kBXcd1a< zGVc_bUpI(T7;9u7B)|6Fr=3Ak)IoZljLAG!qLc2;duU^+>EWII=X_FksC#x?rn@i; zArc;T@Q)#nQVg-9X#FO+Ft@n@H+T-Xxe};C%-Ipu1sD}T6nfz43Cd6Qa zj9@_9pc4ftQ~e*dusFog0$q}FGgm~kGjN@1CEnm%e}~08o;>9*GuqO8sm?CIqXbzz zctDb0&$A(eH-}++0G>4t6+08c_74 z&;!C-v@qe)pnLpOGSf66mA|HRDGCi6&R_o@!iabYVy!`HZ)|ltF7ItXB4k;+eugF9 zN9k_y(40s7H9-W+;%wK89F(Bqx1N0!cYYsn_7e7~sU;6ZtR=E~|5-(+15|2)ymh$p zZh-^PE!mskDJe+2hSg_Y^?+r2U&ppL7M1nG)MGi%R>a?m%eJ~hezxp~Y1BUIN1Oa3 z)Q`G22zbZSE~Cbv@fZ=s)G}KdS9RTYmk31j9rkm;ik_ZO#NLbW^hviz_YN=U3q51+AWI94A|XUm z%j-)ib#@bfU+Z7%->;dtJh!wru6NyQ{A~Jua6vP2P>?Md>38UghCQqy7Zw+U zbu)Ab^X2D(_7B0W%yo*5wH9<9mQC{CJYJ?9e1>pHGY!#euD`QDs4d-pkc>o_&Ce#} zNa%siN1>QkPKWKXq8?jxv%X2&_nv>h7t-$THF)NH9PFrjAfwDf;`4Xv{SMfSB#8E9Zo1V_D4f~fse)w#r?IpLX{!iHvWm{ zNHv=`4|Fm3)n*kL12*ERpQQ)Lz%d3``>kmC=r8-NOXGW9>OEDHMs%7IL!83WA>ccP z*NeIg^S9q1t6FQ*nK|XFDYyjULdwZc+nE{@V9=xryY4Y6O>9=WyPlKT+)SL;!PV0r z?bi1mB$JVFIij@$!Y3^rNmPzP)r4p^til7U*>a!pah_))Kf5JhEPC_(+4E*pm3^|Z zznLHjWt6(zs|mW@_baF8&qG2^_ub~01#PcRkN0cazKvze=g8?;B1|6*-Kr)eTGhm1 zWY9`C{Ncr+w!~_+176NdU@Co=B~L+pa;nLNUAdqh`vyMHXDsp&iHFSRN9^2&<~*li}> zyqDlz)Eh+fP>{)}_rtB5h|H*LEs3Gb;=Ib3Hwl-Q*Q>X6#7X0khdd5>dnM`!%w(0$ zO+mZo&5Cg0r|15W<4?3X_$SCPGo;xN2AYCU>n9we^#Y z#OxNEH>$;Xs=q>ScXe+6UQbytx-VY`|k2F#p@X)8{d1{V|WVNXzn8CKa^a!Bs%xd#-{5 z*nE%p@b9stTx)?hzfMR&gQSXT#erhFpRdCT2+`Y#hF`l=LZv^&eVmPxY=(lxrMY2d zPPr>+s#-|h=c@DP$oYx53B?_FobpaPw3imDki%BAu5%nA7?Qhh%jGfTmpPwtEj*X2 zrtLs3^8NE?JCD)|>9jca9E_ zvO#eJRM6ad8qg9&CsxT-b-VA&m#^HK@7V=nEGBQ|6I?VkhA4r(^e+C}k_xTOiU*_`38YV&Nb!GpSkZRccFD+HS~Nh!(bN}@IGGF> zP@F7p6rq96dCzwte)q2y@(974PTtO;`E*~beuHHA=pvY?Fd8`_F(;C&n?9xgVkx2# zvm!+lu7Yxq7zV5YsJnp%>QuHzVJi&#Vy}K$xf^mLKfe)KC0Jf91{+{VagYJdoJoOR z4-NFtV}3@&W=}gJ^yzCWw^F^`BAQ1-+eQiL)@d=3ZOw_ z%M1RY3WqxV?if{+B4q5aLH9<2x_{9`Wba+8(nWV6^zMdnH|qWF?}fyGJ!mwog7^9T z&7-rHdC~}0muny(ay#o2Gl|>M?DvI|UT`+E!#=asRtnRvaKJSFb3qKucxTaWzw8<> zFsMXETw`|XNUQysv`1afyx!hJM*{vONxu+9E~@)>=F{iDUZC6&;Tn*)4BO$!=5Z^o z@7DO)&rl@qB7HiL4q4;7s6aI7Y7HOhHQxlN-VCUuJ-=yV#v~{0&|&zW3tqDg`HLTo zv*{MN79yki7)e|843_7@LP1ta*H5LsP$r1~IMZc)oTh5FeLIiDJ$*f{fcA8|#>fxT zbbS;|%7qj8DY)Yp|&^EkoZ#1oUAB@6}ItG_4Y zr_9fWQ&tEI2Wz>-{yR=+x=i&1pmr81-wP;e0fj~wjs^IRg1Y}ag2e2 zb8tSPCzA6Vb!yLFv{Eso1;8IJe*S2)g^e1mNMA zLM%$BPvu;Px%E@fP`x5c;8m6et~$B0v)e=}yTW2Ptk8b)hx{*qVqY^s?BVkk;^Vt_ zcp=gyvBe}SEWbQ5zPjTl4|_^JPncJ zj+&^nRY-IXR|~M1SRW}^xH+Hm+q+p!kpng~wYM9EbLW&}uP2vbAPpTn={ck62p8Aa zMw^EyCK}7U4;}hMNAE~m#`OgI%Ukbs7J+2 z^eE*yy$utoW*2!UTZH7OXc?PzeD#l>vZ7Uo4*Om|b~&5Xn_fB-R4t?x8cL9IdSQ;nA2-TrF)M!N3-qS-D%hEX zQ})XDQIGiZ)4n>%To*U4`h!Gcicod2y_1u9>$xR3G=I)vLY1}VY%TP8?zZV>Q;~c| zw*v%!ysQN=h$mOwSNJ^3Ub!=6e-zf{ZqUE!5}fOte==UWCspoL``4vF6_W77w`qu* z{Tmr4p1rq)Y{6|GT=rVc+gI7z=9U&}PTFqhS(7%qsCJUik@S-E8upVojS8kJB7F}I z#fKETJiaM>dBYGwgcp%4la^%JjAlBeIzq&KDAd#JwOjK#H?Ic5evd@??;F?KkD#m` zBTFfj%!f$I9ukvo;ikm-*?uXRDhgq_?3A8b)Asg`4F{w?FxRkX-z>7cDK7U*s;RQ` z9itynSral=MALf_L9=|_4lqwtIh_l6r|eg>8-FKeHRs$CeeQsU0yJ^u77rrRJ>@9b z!bx!fJEp_o@`|j5g%l_KUQMBGnGg!6<6L%3eIw^;m;6BQyu$9EO=|yn_(mJ3M zJDPeBzi;F&1wP*%xjFjW9UTiOh@jpoxyeViKLIJv*HHSF`I2^~%XKuIn9D(bVYf3! zf5T{Ba`GXlTVV37!$V6%%4_Gmz?fXjv|CaN4X%b3Y9YsZB5EJ_p^xQ^W42nkO5&lw zg5C#01=NHpLJQiJfjf%)2?mI*1A{Y+ZYV16!DvliU(#$ifOj=0*j;Hbcl*RQzd6@~ zPF6rCWbHrp?}i1EejKk_lB2X8sFmTt%Avxwv06!lG6d2w6N1>wst-wl_M2B0;28An zp*+F2$0BPD=g~!3(7_X0iJ2qyPW%o_I6r2$EXMfw?q2xjv1atc-`7dhJa&Fz6vH>! z8V)A%_{2uk2C~P5Uy7T@ozLDWqA^=7)LZ4@$0gMN12U zgv!ysa9uJSFcQ1r1UY~)UEd4SIp>9E5!ZjJOE1=enG!I;AD~h18DpEn1V;Na@1b)8 zd(Sm;Utu|~PwLZU9@1!%{k*yJc0g)kNiLrFBERL)akM)dNtw-i3`SMn zkr-KFS;Dq0Fe$oz9ackylkE$6@kAJbrpA3>(fkUnrworI=A-`vjf}9M*aBJ%H3|~O zYLmvHzP==-4g>|c@;DbCD_5sGf`CLYo48_OtkxyNb3gx)Js3WO!%)(h*a z$SUu1%UBJmjY~tu$!N(R2EUFzF3ZVp{So|@PRjYWA~UX*SkwvXDpogT@0e6;cJC>iUB+{go;Gw zs9+bF@2=yRoi!>dtZQ|y*m5fs3cj)-5(RGn980yEIG-pIYco_1JEqo8bXyF5*Ux9W zW~9x_2P1m}54Rj4Cz1+LpL|_nniljRV(0WrLg=GCm3X}-q`Ad@lEY9a740)!oJ^b{ zB-O*FE64NwL(-C^UQ2{}$>9Y?4)~H~5iNjod-GL_LgD9`{AVLUVH=tq@y#$6q76cH z*@>vnZEoB(585TcM-$SpqX%Xx)rY z2Bkj^u%Ai@sjz^TxJSf_jb`+i)Hi0uv5G-TbJ~qO0+62OW;FMwD~(b~V+{w##TV&M zdmC=Y%qjMoSWs2!XXq!48pms|ogR3jTS%^pO**#RBOVsJ@p$lFXG zbbH0!$m;BY3H-VFb@@BTiqab{=w=gB38DKolwu=$-vuTjs2)Vjsp0l(Jec>`G$1NN z9PPas!c5+D%oe%cDeE(dty!Nz@UTl0+gOJ&bC$=QX9_Rkt(vuOYduB=7|{+65@x3- zeSAm*HI9XUnt2W>9j>7+e$0}p^#Mlmt$Y{;y_q_7HvIKk9CEq;iwI_!@YnozS+O~Q zz;5gf<_hGP04iOwUU;sW7B|+uH%|7k=@uGl?N0?TyTGP%3D#{1IEGg!KmT=R_9RsC zYYyy?7OER!r$tw{W1}KSDlx973#+^1XM~7d=e`kwnfLU1_nhCrv%j~Q*^>q*e)Tg) z(D~vM-E=jLrZr-C3Md6pkdvtTB0>;=@vq5>S$vd zh}A@@4osYwATb-2?-0;CXsjknnwuUMOdy91GSq#DYz4>2F}HqbikD6+TVh@R9srHi zy!RN11DhSB`XO$2^dIiTl2~lkXXGq&_8j8xI9n*&xxGQi*P@R>>1@y0dHm8hKTw)n z-Ua(5=!{d5N*>OO#nIqKYTmiiKpQ!M)tC*KCJ8J|<&8gKIzh;JI;&<@v|49O11Xpe zZXmWSgXILVue1sl$VfpPz~vSQ>08s>uqOvnOO}0=({{YeXD|16tW%ReBwU>LUV;_? z&QEVV--d@wAJKTXM62n#=-=*C(NzlA(vc>oVJ)y281H(G8CR!+kS3HFBkHQu#d%05 zJW;Ic>0*mMDA5WKa8`CBV{gvd$TqGP>-vI#mFYt_sG*r`tr)q3H_xR?O%SUG)ik(r z2!|ZKZVvKZUia~wn-|QN-0LxN`L&G*`UjOH!v-_d*Q7uPo!jjO$6Nv%!YYwILPMG} z!}{!LzHZon`f6MGBP(i%`yD)$0!URTRR%6Iq~2TEa$lJ|&-m5+Lb!`ub_%psm(1H|@i(v*x-z67J?f=rw`=A%-@^rKv=HWs zz5~(a$VV%z?KM`63Gi5xCWg_~GvpSg*P8~T5kE9S+DkefJLZ{Ea=(axc#nM6L3fH8 zvn0!$cC_Q*nCFuQ^rXT-lb-I4bGaSAvPLxXKFgAz-+(>hG8@QoV7P~bhtCAMZo z8Y`Hr?_W50?hb<{h;Jk_;CzL9GwuXyv)A{}>diPR)$EJq59~#ON<61{SaI>Cx!jcJ zF6cX`(5x|Vg8UZ<6&-7_vEs}te7YYqnyH1vYjsDUZcZcJCV7e{E@->=jP4K_G!hBV z)J1b4h+pu-^h4AbL2fW;^{}cem_tglz^M$xE)RZBX@oHG83PZ=#8JiXNT^1NEzlV4AdJRMKZ$W`KbA{FGT%47)-LzCS-HDOaPV9ND|GvoER=89=N? z$-aYGhUSab2*XYq+-_;rBlrC~6_jNmF;m*zjngP8^gU_aZY~`Vdjx;<19ctHCz=h8 zFIV-Q>9tDmXXyxqd%C>8k8Rd^E2#7&c-QsT`?|nVC7MwM539%j> z*`A=;0L^QLlz?6%=(w>kP)tZqA+C*HGGW;6@Vq%Z#QLkQ*^7tk0XwZT3W_5sPJ883 z20@CaP_XyS4ABu@j8vbm(RJ9+3|Jg!KDnAV+3QC!Z{uR&UArx26JCrwP2u*Lv2O&u z2E8tLNdz)@b5E*a>5l7CkpB<<^qHle+%1Olb|maN{upWjFJ?zZjrhMy7pcFXx$`Y3 zAzF5BhfOXxg-RKwZqSh1*M+0CyhBFb+f~MrGTi^7={u;GyP0~*9iqbivFkIJ|J8Q5 z>F?5`V!lhSORI|zX#@r45J*hFFZ6AuyS zL~4FWMj|y9X4nAGjTsi`^N+&eKn@xQG>D?mw7p7@U5nD}BvXq8vODR!{3)eduPmS| zIyj^npSKF3^DTTCU;O`5$Gm&!x9s|`mvF_T%g~yYNZXG;-`olj7^4gi9)Bzeiv@;E z-Vdjn74qRq3PYy*z1R(XY5d8M-)c;iOE}xG0pN4YI_d*9IC_0ig`uIiF{bJhYV5?^mN0&>=)l^B3Y$zlo>g z876m#5PJ*LU%Tk+S^%Vl@#JbDgTUPehRJk#IBPAb=AJfv@o43`;d$rEpr@umXEWLo%kcZ8{{cnk@IcD(xuZXd zPmRpFe*q`RnFMgN|7dmsz1}xWNvA49ITo|)obnOw@up+@ws_`hLGv*fjzOy??1=8HS)EtV&}_DU{vGUQ%t0tW_m zHb_IHE~eQlQIe@DG8XiyDM#QnfBmMTpg*JXXuOq9^*0s&&r(QwM?F%Q$Xk7EhPrmh z_vUAk4kJSLyxu}8=GRA30N>kBIFPNCu0PGF6V?-3gmo=!HmEr|L5&;I zNc#J=hNyr!D-saHQxiDiU9#v>P7atufQjmf;p>e1MSgldaRjlxDA7p|lY}3yByKG7 zC2bL5)*gjr19u0h&z?DOVobMx(l8@Z2x4D*zGg)Tsgc#`V^mE-38|*JMyt1?Pym!5 zO`E_vRc~j^sEnOl8eWlbD5m&_@C}roj3Eu8W53A{g`4P~I17bZ%$cNrN*V*^d_f0q zi&Mb*f_g1c%rdDa^H9&$OwKv zaaMoDB@phPga6f~2mI2}&jJpMh`Eg7KTf7?zEqsh^5KEke%iaUs5lpTX7igx77Vqj zU-<25Kz*cBw8zQt&YmtfIf@L+)}v|>WMW=EHAEjRSq{*etgO3DZ~!Cq<`v1A6YiV4 z(AVvx=y};`dBYY|&x`z?lzpLP_OOjXBXAgKII;BlW#h=;$`zo+Emc+L%-t`Kpll>R zS4#C32n+;G2@+`<)tH&k&wY+GjL@Eo-dViXsuRY^dRr{O5%synvca22>WU}$V27yB z&wK?P_qG`k*L&~DWZzU+;WJ2T zq*|eV#Vu>tkabV%Q>EJdB)`OYet}QMc}ixhBiSe8dTTY=C%2uWs)zMdSG==NG@LIh z#jh^LPaaY_>Qc@O>IXA=pyfuqBk%>=KQ;QH!ot_l@vY-_q+dg$mhi>p-`Z?X$c6Vh z|5@Z}#6#cmPqfW@=Y4eeqWe$HC1EFDac%P<(|=zW`Tx;6ZX`+o|B=UBzCDa1{!>HU Yeioiyozk~p{img+uB%q9Vi)tj0Gb&f0ssI2 diff --git a/content/doc-images/unused/kOO4eh2.png b/content/doc-images/unused/kOO4eh2.png deleted file mode 100644 index 7b4b87eb40a1597f5d8bc8e15d2305cc37ee3f94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15222 zcmb`ObzD??yY>MwD2YLl5X_+z973d91cp`t=|Q?%YCuF_P+==IbeGcI2!bfxjdTv( zJ@0RD@8@~WbM`s!dEd|ZW4qkAX3dJ_PfAv zgOtFKRHcE``~v>t8yC(QhokFSxsO^ZH&;R&a#yRP9#njaOE-^L75*mjP1hoKFRQwv zkBVYXc$p;|6pBGjp&t|NPVI2u{6Xxui+SF`aUAtfcHZ1S6b z<ZM25B5s&BKIA}$0}Vabt;|1%5~mcARC=) zi`F|T7WUZh%vn1=*jgPecd%{@ykfN4^F^IAA~KTJLFe7o`=eE^TWn4oPURhPZZH@) zsLRgMGnd)sE2W-C&JMmBWZCHk*|`A%*(usCjy+9TPU!bwCZ_x>&!gSvp-JZ5DJZQx{nwe@NlCW`s$3mhHm0OW z!cUI&N+0(L(4x`27UA?frhj0%Q{Nf!Z@bPmhs~L?VFq%^gOaDs_3kr0vej=5)u@_g zQI^{|nq@-n8{B}tD79V@a9%dWyeKxGwH_@qz{Cl;PWh42B7!>0>g(%s&NfBbO+)#HGOb4fhTq@c7*tO=HEaqh zFDl}J+!}5Y&3^LZC(J3gyQfDX_ULe0M_mKnP#OHp$r5j04|cPb{I+NWc^tn3)H*&Q zB*gGEhs&Ve*Vi-ILt9*@WwvDra$NDsQ|;EcUYTv;j_hZ3Pm`=fwH;xB(l-~$hn-Bd zbV7o{7Rsm~*99E&(1|C4PD?N6smA6_SqAq8mPQ<73fe1kc5yfJ z|GsjOKRHv$ELefXmi{6wnMo)Y2GrHqh=!k^?#dJR?=*Ssjkzc^Jn4K-%l&<66JNcB zmoRaq#CnX5bo_^YSdH3)fjvfHx50zOt`;yHGHJR%0lu7>hSSF`5`{advDxpd})`QeB&_fRZXr#_xxf{dSz9W5XQZ?L&jlu zS#w131Rdxb)GmALR+rsfXwkU)TD6I1(Qa2k-nC9=H`7l6o&2QN1$uY8j!6%*=vbij z(;jT##eDc|;mt=|w%e3C0J}%P5f9m8`<#v^ecqJDmCH#7Rem?qh z|FsxWw&!y9e%Tdy4z7poModdH>Aij)sIl~-DO|-pRQO}_-axTg4^*q>)du2-!|v{I zks0I?75{3ipo?WJ4Q%N_QrCg>cxl1XI9Qeq_K87;i`}WtInA4|W}dL2a@g-dr^aOB zrCF7RsqomK(0h2trQ~v?cb2y5zcHXnLgIt2!ER+}DV>7jDGu^AZh7tqPTrgZVVV*$_LBWy3!aVdkOx#C$;n*?j*_Y>CCVf({#2cx0EMc}c zw(6dIzkVOe(>wV#fR0zFm4fkhsGZxh`;9APEA?+lu5NqGN!|@d2e>d;FYirB#WGr22(h9^=iQ^&+pV%r}Xp ze&5kiVl_`+-!TtJ0asP3S9P=y|D;}t0&m^C!IvPLJOOoBm4|*(6zlVush=WBFqPCQ zsfIOf4Rft|^bjc-(ip}XV7$9LWXBCb1+l{>{ds-4ikC{iMG}doONC%hTr-$zomc2Q zpX*RU=*HD56eO?m+59S+je4Y}3rj=^oEFP|sAe_w>v4&D)zmeLpZYbFv8O@VOLwEe z_m7Q5l+LuBOfX|HOoCs|_07qzYIiF^qjNmY>E5eNRLNb}^tWSB1xo|GOCl_iiSD^D z1sr_2jWEPp|@wS?Kevl3q*og|_pt|Ow|?@Ti zT!hDt3^Ud?L|?-DBPV*b7w**;U^b(ob8oB;ZfuQewDW)y& z7&!pbm2k?|jxf z`rNUV8`N#m2ZQ0Gx`JP`a(`-FU=^z!z{jH?H=+(bd1{;9Ap!qt@i_AB=JB$nQ_@fE zpU3ag@cv*h^(kZeoC^LCr<4!`;Eyxqgcm>r{wntW@Y7eRh+D_C!>rVDvn0JgF8?8s zSQRC~d}*D{hpN*W&q*V68jeSJcbE)!e8Rg4V}G|5Q%)Mg!-L_ADHDJl|MT{L=>VeO zYAHfZ`Eb`q5$f%H?r*ku;wa~HIO!-(1a|zJ?SFBAr*DCf@JgbViurLG>R)L73(4dmV0PvfsPsSZY01FA0uoCrLRWH*&3H`?^5if_ zCHb-S_xH4QC7gOSjzAK+e4ytmsc_p_nzjB_WrmTHlhfXsYa0VXQ78JL)##6px9y{$^xiQW+Xb9T63^ z6esLH2hNxdRIOdRVkd>gtH#jR8Is!PPg$ml$VSutk8-oe4j=Tko! z9S@6!y0Wr<%jV`Lfl0TWZq+Ms+pquloH@N}4=TnC$eP`1Amw&-SSw{ipy#<0_LheX zTY$vC;3T3E5V0l8$-yGTF=pTV$Otd~^ZXxj*-nU6eg_&#=H7U*Ma2C9jrcN`wYX?u z_mU4s2Su^n9;)+)S+kyp+bEV7^RZ@ot7DHK&cp#khoZ~0FctcbZx-mbwzh7Ev!|xd zs!p&)MnbY@R z)o#VvTZX~^dJPxL+;%>X)OyvruTO}#?v&b$I|EVo{s2-RL+S=XgpVQ}1w^d!CY0sRkM8>5K5Cv< zh#Bt|ao>F(_h~{**++mGsu(Kd)Wj*Q*sP!KF!I87ctzOx?L;v8$z_v{mKKK{%s_Ct z^;~OY4)9?{{jr}uP0e-0$J<7OwK4K=<22+t1p@_Sumy7!Qmg$DQ*+?HW0*rP3>!(U zJviYy*Rh5b52P1$$^kvyYhQ+J^yAjvn;mTVmmjMgb!w%SI#o=8S{s@*7RLi#^bR`n z)>v~VPrHLidOo9|qm}VYnk=>09%D|jpidyVq;Y zos8NvULJXFw=lFsnI3fb1(zD}m%E>PowC;Dl)=D>qzXV;U2HEKlfLV$h>REi_WcHQ zDu4(TkSOV20i3IzL+wFyEeaiwmXL6Rf|RcRM{BENW@aXbu<)4C%a??h=efEopu~hJ z!-d?ofAE@hH;C|A4tDaIc7AP(6&xs$m6tDcFzwCwSP4{8HD?_@>~;0iO0+WGu8+9n z#S`Si?vsu9lnP_7J-?$m^2!Ss<5s;zWbe+3JqmR>wqodHuxS3BD&kgEJj&C@d*bbR0rhNENpx1StQNqW-;eGk`4)tw*Rr((GOWL^IbwMm4jPfqDDq#P^ z_&(VlruG!GT8hM!jux5qP(ZqT{rQ3Unp^7oGM@&IoPxs9`bV!|`HqXK1Hg>=A|xcQ z4a*?z@bL{et^FFSk$<^RnK>WBus8D);-=?w4ng3a=?tS}oI?v>#;x}C2N!J*l_mVTT_q(2R$%jw?F zA%>gK5+)%F2aZh=&S6(m%~xe9Iqy)Wl#~9xH3w}r$ZX_O_6Dg44xP~i@i#tBR8&`J z=hhL3mhk(plX~{1n}WGp#cjpl`kb=&p*7=)g-3R|uj>SeP|c(cEDzT9k7LF{md}4- zy9a&R6z_@Qywz+nLS9+ydSn$}HO6eIWh7F+#TbR0ucSoWstEErkgdH0qtrR&DNbas zSjU5HU>l{5c2}&POg}rGmNJ^dgrb$7BY@ejtH{dA0x!H;x}r40UT30Y0MXfvku`@U zW;JZPVkxuex$F_CjlLq}*Li=|ec&0rvZfdF9|N ze_%(@taSoyOc{ab&dxV;dOX+bdrIQ=;U@3>eDAGcam@PUVz0|jXqhZeo-B(0-BMA#<5zK(RFPQXoq10Eepwj4H`=>`4ax%Qbu14M zIj84g;%BuVK_J+uO925tZ@-Ky>F(liWeNyTpt$w|3i_Y>J4@nz?AU$QYH%N&SQY~+ zAU`4nd{$1H_^&2lp#BFBDF1jdM7UO^-vQ(f5l$w3{g0aJ5rl#vPi^__77$Me0^2h= zbJnwP`vPg$3p1&(o%C@(-iP&n_(ykp3Nvm+PtrZKT(HTp7%9mXL>`xAgGL#nm5-2a zJplqm8~EJ~&>1_edE0YJj%$t2Z?7x? zNtjbsHrVV(M!#G|LPGM!h@4R<&j=_DJCpVp6wBV)c&Pvmn2|qSBI)ybXwl!wYx8S# zsm6X*PB~&J62QCl6QEPBaUqg6X$oD|bh&G~l4WpGZ2(Zf0DU3k@v9b!l(e*p*XJ%q ziHm?TO;8zX4Txo{Myl_)8|FSY;v~%HDnP22-wT4e?)zG%skObG!%2~ZhNEaJjQdq+ zSm&-iU2e`usg2Ff;#!Jq$g(yuF|jtN>6Y=Dg~sKSw;z`QnKZJY1)v^iyT+Knz(8#v zftH6IKj1Lg%`0MXu`x=>&q1u~?%KG`{L0b2$;Ji%S*KQAroWR3#vN8?W!)RmJu%L5 zzokMDfKs=I(OvBnIIr)y%l4c>#AEQi{mO8$H7G>8{LIYE4@~(ZyUoqa%yz4Re=f-u z0it)b+T)-*Mo}@P!vFGhbBy(PjnxkJcwUsxFnDg}XGlpbgU01jK-Khr`3Bv;I8e^; z$oA{XVE*mF=WK#PtuVlUwbBKi=V+U?>}X~{e*E~6hcO#2%CwsIR{_%ANfLg?5Ub7z zOGH`%5+tr!VyW3sBl0D&K)=qXY>yE38vSav-Er-g@KKH3^kem0UEw2-%N!cY15PTfu7qKK0yk|T=A?u2mj3HXJ49y^o%Y8 z8}L$z;^H;HU*u6lYsbLK7m&vhL7;<>fEc~Y3teTm za01Rr4Sq)pcV9l5q9wOiMg|xgLi76$Za^s@xs8!89rI(%zIx+7B)svA(V5Do6Uo34 z$8E--GGf*pysOd`>|RHIjguK)wArYpq~5D`$X>+?Bjw9bbCZ-t!gVMHrMZsuv?{M3(#0^!D&4mZ&P_L zrkMOwQo?V=|6=pIUtS_$-Le{KUme!XRc#zr(j*d{%uLDyK? zQ$Rc3a<;BW=>Czp2vxLF?s~;F-hvxcr0@0)o8EGA5YYsbJ<(f0mZu(ocNMo;rz@@ z8L-3ZZdl{CDCy%@PvqnR=|w!s&Yv`|?{66Ld7XNY{Lu5<3G34Y@9f@?Nqjk2KqGs+ z7X1yQE?r5|IEPL2rfOHzY3XVG^z(4L>F?#B+EqfB70c2TqHFrSLV|vumx@*UuMCyj zrHIBrHWbR>n_oGwY8CA2Ib|y&r6c7X(R{h8J7YlK?{ac*TyAIpZ1`3XjXWH5gchl$ zRQZUh{*$Rj62V#xpPL?|&0NmQ8UvYX%txcyT6}x}6XTjGxHmstV8FrKgSW&5H;iF+ zI(eTF=lj-=0N8)SA^dFmN47YlXYj}C&JyA>oeIZ%ylhgR4(QD6tftuR&O;#3v$aY& z9$A9|J{ojg5D|#lm~N7}XE9z=eZ_8hFn^*J&S z8ZIlb8X2zOcbL=Ye6HUIDPyuPL!MNuB$N6|y&;&p$mF4aD@FXxg{vOL3eTU1TMQMX z;{5OV$1BO(waV+gHTexv#>U1El=J~YaK0=+v+~8kwC{6R?3Z?FOlad^p-J%h5pW+z zc+Cy~eAThG&bh8WB~w>fg^(bynECPXwQV<2~Y>abwZeqYGVf;C&Yhg7p#>MZ@T-?(9^vsFyg*9LjtyFuZl`h zE5R3r!xF_o!3F&6qa#8Bzt!P*-)>~Lg|oKE&MS3Xn8|bdBbnA{nccUzuU9UC0U?6b zi)kB-5NL_2-zK&;ZZGy^>$bVF$it;NBG*kbq{Rn1=#@((#{tc;()H1uetJQ&X`u5p zfsIk4?-HO>cI!HtlzsemQw{nY($bB-9WP9gZ}sN=m3gRBFwO1lL109BocHywbK*hN zr>|dOINHIOh|5c!cXJn8L=usFSdr&pA+eqKicb>rf`g}2Y=|h)fXs-(cTV^HHCVl{ z=ONFf9O4v-se1Acq3ZAq#_Q@km}AHG!_|&w5;6#hp)0Xpf+qc`dCUqxH*laijzO*G z7h`eFpBgeb?bfw*dbAc@*6l&c3FR4(qP?i|W)8V!pD}h#gP) zXhKsvtIj1ddm7Ol+xq#wC5Qtk{>}X!WRzpZvUjINEYd!$;3{%ZTw0vRLj=subN@h7 zG>7gB?5Nky-rx~enO_~qWF)$#mmV%(6{@bBLk6+{^bEKx0B~3?K*%5>=eT{D5q@4K z5?kW+h+7`os0#{mJ9{cNwfnPdbOf7wrr;|}tiiOTZVes)0|a z>*|%CV3AOd@}{U=anueD%BA|S`eijAtHNeAtyj0hB2R@BzVhcg){R0{c+)_dNlh~z z=YErW&~S7fZloD{J;VAAGSq29^X6aY;{*e`kxch>*2=<9FJNY$Zxd%>8P?P}!VWT; zb6soLLSfxAJrxuTm*mb|%%8UAf7q*zlXrot;LK+Y-J~8O`FH-Tc(I5cx85(wf$iyQ zG~Nvs{FMv9vHZ3Dy7-%DpAqb@qW?GCzD|yV+bHMcza{dIt|O%?@j>J8P5@i*z1|6g zXW#$V7BBtW8LIz{=CPp9{yR~ha1{IJ5hj?x4LO?#{LS_TOP4j?{>A_NCI9%cvx~+_ zhqGP(<)Z)g;{OiY|8L(u3J9+_JS8>t0FtWQe6N7UhpIQ+IT@S$)C8;k1!r7)3Ek@y z^8v*-kFEyy@lPNMh`$MdrGGu;0xc0Oh z$v@YdsrDB?#*zGof@;Bx!gBX*Iul-70DIwy++O%dFZ3$UN~;#>x!12{Qx3HM`H{J~ zxr)oz1<=zxz*Aa{RrH0IT8;FtChkT*vb)vp8%u!jIVE?04DY>S(%jKeYSGc&Ua|(- z^5q)P!#Wx6^YZoyyKXj&l{+-`?*QH3pPHUN;*xp^NC3-t&=l7|>-GcV5!`U&8_gw%D@Xm*`>p0yB)YuT;N|06_O* zeXZa8;0$$VoNK4HXziR1e{0&ChC|yH1W4=@q92kOON|3x{^uw|2I~)G zY|Mw9MG=p~#q_!YptD8_!r0Y^XOe*!A;fsR=oF;**PCQ#(hWDZ>H#Skb#3kC9KBlW z!qC|}z{}gZy1F{YKhM%I80QVq9G`tDG5ry^okI1T-@M}Y_~mL+oFn%OIISn6V1^6ACXL6>oaWd-+rHEmDbj}3)@_8WOas2=H!p^5@ zC(oM~xB;y>S+R*Y+$*A%tGeZ$*yI0u3bwS2{Q<|r4G_2>IM8zD3lIdqhX!Eyb#|l) z_!-jyN5T=HuV?3q^948skL&XPG8E&Tom;4FY&?{Cu+dqYR_%nj8XmyiwP?ucl!JAT zT^MbT6SlxU2Do0<&S6`0d56=?5auuk2Z^RiF3j`mi;IhOAyJ|R3~lywf(Cnm93nb`Ks>2ciJZ9Gc6bCRyO6Ptgw zjF;RFHdCYdY~oHZwzY~*z*Pu6`UPbE6k{^rG%KU!g}wGVl54-J$H1C^88=AHay*VC zq_s1O{Yl~jW>%3mb<1q)$Y{A5!ZTOFaV|V&kk%b zhtfX*xS0TE2hv^`l4nJhAR<=ha$;fo+dgocv`bMNc{YNyk7X?gqP^&sYGDSbx&`1D zg5MBd$m>*y0&=K64TwXr!{*U@dcMnskKs>O5ih-e8BmXMb93vMn}0T<ew2QO#n=9G8qg6qf_9(9HyU!f(x=XBsy`AJpTrFSS0(i^G(MLf!oM3~aI zuOfyTvWgIZgi&$F4PN9fkuA489a&C^Q!&)b~%bOD}?W9vtvw=w|>s{y+WgNF1 z7+|)*J&re;D4h(!CA0B|kh+4rRGq+w_^?^HeUe6D;;cTPQ6E^LJeB<6=uQy;i~Ljy z3Jc#jMGd{j@swTFF&x`SOuX1uYdTag%T5W2qQ6NE~?N(uN6R|twIHeya;p|btij#(NnD5Wr!v&+4?J)uSkqqGotBN_})(D0Y!Nhi>3 ziq#+QTnK!!{ZBr>aG%;pH59)N^vP#6*Nn)imqCTmN<6$v8pOaq1!x0}gXc3Otplih zX8!tiUNmvmm+*kRI6HC!;Xi57@0|%4MLZS&diO1+Vp!P5eT)K9EDZ-Vd$28DbX@q= z`q#h`5WRfbunEZN&?bN}PY?HT4Lw%CX_K!d6##F*DhV+T_V%M7f@ruZ2uAS(#TM%K z7{Dl6{sRUJP~Y`!_b#LE6j^Hk^6ds_XlN<{lE!5whDg`C4XC=S#t8$k#Fnm)#+y}+V_PU_6qk4|E9gZYv6}&|Cl>-W_HU1|K zLLY&^X_{Qq*|`1l7i^{HQAuAiE^blbvc~993z7;gEiHwIeI3#f^BwV(l`d-)005VP zxNjvO^TS9gn%go#MLRV)Wb_X;gx|h>TgN2^uPTWS2@f~MP`C0Pcm59OHU`Yzy?d9k zy$BTQk+WO~5PPejP>Xv4MdTppyv*XnU?u3by%1nDG&IB^DmqTaBr>|BBr6MRdI8eD z^e}`kD3{Tgp~7@r8>AO>&TJvUeS_rFb}?fLccoUV+J$U zelxT<@r!sRFc8llO~=l_o9`_+)FMydjV*bz8jPOd4h_w4Q&BRfdoPN9cpl6~)Cr`L z-zB~C5GS@cM>b4pxXrwNS>5upKd*X;x-9O~`n0Vqbtc;Kf;@COEik~a7?7?V2 zPRyi+z)YsW8DvOE{5S!=lIz1k-=~;1qV%n*o*$7@sRwBQXwVX-j#N=};-covLNx@Z zAZ3f2Y7qD<8L3LpN~Dl07mkb| zANtB;Pfu=_s9hZ}k>{y;4Zf<^)TH}mf(FDByxvrMgIvd2rPk-iofuec&L07u)kqC# z)_;`*W|B|d=7Nlf+(j{*k1QYAT7 zc8i|Jrmh3o|5EP5ymavR+l?h*p`x2S@SF3WGtiw4DF7eP_JEnprSM$saw=S*9L^p- zs#U)U1@sV7)djO2eKZ18)E1!bQk$a;qKX-?vOMm$5&p41gYTMGDc8~_x?ZOH)cFu` zxV@OFo9G6zOjfsF+s?ON*8*uFm1yRVk&$NOVg1p(7SB@~8^DC3Z77uZX|u}CO)wM? zt9<5yRR`h7(g#WJg6x1R(pqDV#uPtmqqpe$d<9&^M{PbC8&T707uX*unAp&F!;#v}KSw>s`ak|xPS{o$4%o851ba}D>sPx+XI(i4SR zjPmH1dmEZJle{@)!iLEO{bVv5H6ZVr-!SMD#ygSr<=alyt2ST94H+|XPC;REl7RO* zhGuv2n!_DHU)*g-NF)bkcg62aW3%yrsa0WO&`n9d!9h^7|5G&V5d>Ebck2&8MTO!2 zPW1ehBRivWXGDDvhu=|4$!nq6)N*f$V?}^V{T9#KH-zm23Ejq0i%w=OxK43Ne`9BSW=S@Ja4&ft# zvp-M3Ka0VYSpraZ9Mh&7m9q4GA3?wgieuFUo4ekTk9nOem9Y!C?-etwy=&>vKAn_* zmcv}TehZNVt)$%%3w+3-;Pq9GF%kh;oE@PZ?9HkX^7<+U5 z1~ONbNa8E=THG6e~I%+e=%IVq$na4f4FI4zG|vJ@@7Jn!G;I z<=b@BtPLKXZ{e$8I?nqNU2aN-NJ@LugEiaF{<>ddZ4$M$A%Igx;E@(!LA0m>WE~Fn zim~nrhRhuW`q`vEL7XRR-~Ry$uNE#L-Xij%Y}jhZg)NCXuH4XR@dYk4p%q;^UT|LE zG(hU0HO?c#I2z-1&yz#G*1@@wCy^QA6wi}GUl*tpV#^h)rT!-o~!PJ z6(Ji<4k%lkghiJQOGfghpHM9O8yPoNr&B>d0*DJS^eLw8c`4WZt`UrGItXC}v^Gt+ zG<|Q=e+AnJ5fLqPuRQLFO%2MmBtuN`3WU5@xt#F5_2-xcK40>@(z!;O=c9+G9kkVL z6TN7z)9R)iH2316`-vkuT4YVM_2-PQG!5gR3I6~{VMRkePo_SNKo+#^ew5sQ9AQ98 z%byQW^87@PqrEkMI;qa*7njp4x;IOY$nsZqz3gt!on5LHSkv2HK-9){KPw%tNdlh` zF`8=aPTn7|TU8$_dWx!S_O5>9L|O;QENOVu$yVd(dHYTpzg` z<+ctykDaZM>$mxAhD@9tL_|FWHJD948N4!S9`Q_S{>CtJIVOL{&0g7Deth=TugIDA zNS|PVAoBU_jLr=V;s6t_qhoA5XTfP6vh;`})wxtlVHG$tqS!B7Y=>E=IpA{Y_B(2J zXv8;;K9fIVqHQPeoxev)_Yit%cbG%lAD0)ph`7}sVI1Wg|xRwO}0gTV}$a6Dh>w z(c2$CRKE>QuNe1SJLdqsUMNKNB~&Xb{~>J_-)dqq^u*>{^+sBoME^mf`Cu2MkloRP z3nDZrvC<0f^*!Z`Lw5@7IMH#qKKsVt*4cfyaQzZ7D>gPdNp8nSZ_YJH;TGOz_0NOUu4(P zPqFWrCrGE1!I&q~nQ&S@ToDgIMRj8DQbCsXwyO_Zu%}@GL~W=}HzTF`7T${r^IE_Z z2%FTKpo3#-^~~M-vP*f`1WY7m)7M^JfGC_4Y^cpwh+t1Q|qRw3;W1x z`0@O>t%_HsRp?@;6Q)jnAmJjRLllu0`AJovZI^Z!h*iyAfh>*O zU444&`_w2JIhcA8G36u>qD!Ot?ML3T<2#KoO>V1uie{qmr#+Bb7ijg>8D`<{_E6ds zrpnD}twZ+4jM=C^s8`@rc(Gh=jY3MSwnW6DPZK>)G|~g17}N6a8%444V}e$@-2pc* z+a%-%DT#wP2^EAl5&I5=oVp0a=Wzi9FgJJ1IVF2!WKfUU4u6-^vlqXCyjZX2au0S> zCC#drSw?UAYvS6_$b&FSh(Y4ic#R6M*Vc4rXRB1ps&OQH@1o)_(m7_+hq=08n}zPl z%$#BK5#yn<8nxN$VaK1MNOk7vFdj3GQS6k}+G|RfeL4UgPUT;){ol6$?5|wF{pP@b3;6$c z4ge+ve{-O(k^eIL_&fan*EHq7Nbmn+c=7)m|NoB%05b0EK;CTNF1}UWA>b{6q$smI cyN4wYo*08TML()J+rTU?JLgnIFIAlgel5P;p36vp`oGS%SekWqoH9y(9qBg zaIS$fd;Ri7;6Ge@X)Px-v>Ufj|Ii1fe9q9&?xV?wi>SJdBU8*`)jHl6otq6%?sla9 zNYrYZ+&1=luhm6bR(j7V;vQWQEFLC_6Y%_|`VA}$EX4h2aS{wpkyk{aH)-#}GQu#b z6K}FU$;`mT5bsfX^(~`l#!lDsfY-Zc1*>~yV@a<-eY0E)IbQd%adXUIX!;yKgh&*J zMis|9K<5?e$Pj}jkVv!{3mgW%!Ucyo=#XWH)r<4f_;(_N)I!c?J<0A5-G$w@ny2bq zi~Ej~g}f6b0~8-epVY5+#`MLpXiP?sbEkf0ebmjxl5do$U1_;NK651bwlj`p$>U&s zrSalqjpFnpjYV3(bwVg|e{W-Ig41qVfVuOD%c|-~mCZ!QyFD>`Y=_D0J<>Iv1^?e_qUZ`Eu=zaQiQoa0z9Jj;oc8s_jj)_m%Az>R+ zb#+clJvHTKy|tBABid4-YW*H$!v|-578XHaKN8sLo|txij$u>~azKn$+ZjxH6HxNa zcgC}>6&W-|azD)@x+QS)F09!)AFa`#$!EA)-+duYHwrmfQ*QP1gWN!CU{Qfy-OH+a zw{2qSxIavazbARL>s0dbj?nsT!va7v%U5pXfqo+|(zna_jR# zo$7TysW*3LAEAUIMr~r^CLdwBD^aHIZ-{)(C?9AHdX8LcyldJDGS3aE$s{p z{+i`rp3(hGle3@UPvt394nKl1mRu6LbQ>WJ4s$y!Eukc**_(l7_)y26)SUd9Z3~$j zudk@!SlfJ-pP!FwlXdbrxpugK?FaP8X4_gNvr*WzlcZdxQ=^J~xGs1x?CHc7J{#Et!~B^>Eco+yrB$8HL{*LJjQ7a!Or!S%S$6!shP$~|ga|>A zR{0C`{*Cd{F|&3i?}5<1X~~l#~o5S2fdhQKm~+#&z8N zO4A?lUn<=bG4Gpc7wZd>i^@MIAL=!|j)lJ2aG1J)q^9~k_QB2Dz;s~eTQr@Xq-5|I z)!4B)C9h-qK@6qJt>rwpf2jBpDSY{}>$H1^bwy-F8oN4`jqgT=S5Glg{fL>hb*NGbH7WF z5$&}1o>FXmASC|wh+$d?ZUL~?zZxq-z6kQv_Z98PGJ|nfkEk4|5 z_d2q#)0d!XB~F?wVz~*~-pI;kyg&1uSTu?N`bhUP(P$TVwwsW!1C^QmmlDdcPZc)9 ztif{???_HWXuf3lGk`=2Ohf43jXmsxW@L8E9N>aONMC;Kb&H+Ed z^)f;bv93lCc5kR5y2PaRu%tOhv2Wa-e-#Fz*xkzT`Yg(qn%g~D4m{l=TZzKHjX`6X zy_-g&?#r4kSky&7>6v-meD!>E*;C8!SX&6=Gc1#pm6iQ&4J50jC7L~r*SQG)w9F%X z?E%?{onTI0YU@Y=%{%Z+y1w9 zDw+eo9+KGpeETIwHo>|9+A~iIs`O=IypW>S397=Wu;W0}JZlcs!WELIsz$ z^ztwsahpsP^t67XNXby#;G!k&qUqWmJuF!$N3NbBNIcIGz<#z|4`#v`S(d>T4&i5C%Z&Yo& zcX8SRqb8XKK8DSA>NJ_om1r>#LC;+AT4ztx3e+V6XX`PeupxLdK}Mnx^5UyeYS)#P z`m0j-T_s~_rrigR7Ie?KsO4W{Lwtry^Ryy|Lk8yG3@PsZUYEEGC&|k?o!iICkk8@0 z*FO+QV@I)**hI*DVl`ku{5e}jd-iZtE%NW#5^nlNO`~cr;cF)PwwUHwu{c*Rzfz%W zMVimr%5<7oRfq4l2dOsUBZvE2G`Sm5{ffbvX#E38FUE_c{pjr#r^}FGsP&lYlQd1X zO`VJf+KK6HJM2ECvsQl`5Y{RkV>|!N*!$N5wp*&-T288INXEnWJ)>pwvfz)SxVH=#~pKvAgbA1L*&Q&{l(f6x``lt(s<_`(25e=GkN zE~zZ0G;K7MTq_Rk9#itI%xR(rUlirdL~(M(8?G9%e-`Q?hJ$#DlN*@FjcWOy6SJ}4 z1QE=SNFGDp}ng+{QHSO6>v)w0_0%;H$-() zMRbt-KTg;`11I+AuCD(7tGWN>ftcO^WHEc=8SO&ipuYXHyzD{pgD6$qb%TL6EJ-rb zkONWvoQA$4MT;umW~@y1et8SFSi=5PKU^>H!p9c%)bRd_q1=2>DT?cq9Ii-sD)Hs&)3$53YKbLA}#X)T&~*4iW0)(`&nlC z!=9i*1q*I?Y2Mo`E~5%yHdf&2w=O%@<$>!`?Bu5b2q`c=4j$BWSNeAFF5(Aa2*C9?FTA04k7+ zsa_x8LUO-cAN{52B7jUwN%?#HLe4Rv&pgZqtWCNV)$^-RwEn&1obVm$msRiya>XNrDa;6$X>5g!iVR zaqmM9$wkv1C=0kS4hI6WmXW#gDP=a9yWylP*Csk+ndcUJ)9fbBM(I+*UWUKIU8hFg zLoi|Uxo#v+RM{leIm}6RAvKD09o9yQqmIMIP7gPAa>q+eLh9Uip*?>8T+%EJHWfOg zf&~lS_a5w9)B?LY1kFD4%ONv8@_Tw?31j!8wvOOSFGYA?*DZ-egh_g0bO3lS$YaK5*mcw z5Cid)=lVD^22{Ek3)KQ@^Sr{nY787+eI@g*>&tVUanHjIBW4Ez9tPD_L*vVpI@_7= z6EZ97s#QZegf-osy}!@=!seIP@7=qH+7OScBkr+(9RkaDr2Yq3w@|snSo^ezYP$)c z?TZ-7R$eqnMM7q9SkzK>o!zD07-HfCpA2a!cqv*GxwLtikxb6x<C*@&hrGo?8G!*d)X^`@YNV(pLo5UX(m&9Y5pgKIx{C>c zFv`O}_X2S7=_Z)&)}7xJuW-j@m7Cj#*&ZPvY!BhzT09Yb4aO14_ntfQ;ZK?T(@kza zx5huv;AmqMZfa{2cc%LJQ(dyTeVkItx<}&0FfL2Ta8QWsGk&8Rh>&3dUIsgRmrhft)tycj&B8(_3@tqHm}v5t5XacW~AA=J7{_3>i@cq(ZM6|W_xsU`r8g4L;KjLr|YJA!Ddey~C!(gq{!tW|t3 z8CQah!wd`Iw&w(WMhQ1B5(oSPYuVeB6q_|cxOwJcEVByUO$dmVrKSt7?FpK(kPKsn zqD~C+ikxrKjj#(30nL?|PYv(9180&;YNB<^>}G-2pLkraem=BBEHe|^cObMGQ86ck zfK3=aU4UC0*CE;{`rVmU5N@#T^q+SW z&q@#etoyL&xHwXAp-}lhv-zYou=PBVo9K;`@M(R)`Rh9YG&j6^X_{aes)t_;mTo|e zBWg|^*99GZ=u_g`olX<_JTHE;iXS`K$WD{K1+d-i;CIuaO7s%MM25fneatdd!6x4O z@&iy?6ZoDK1Foz@e`XByi?Lfwx_5F;NZ6SnKSggi+Uj;(=rs~$M<4WZ)mAKkXC4&7 zL}>pC;p8 z43Nh?PWmkI0OMb|=H{P#1mYhl$QW<{)++A&b$FFL6os(hXpqnzaefJqC;);$p-%u& z5lp5jD@WUN8wbdV3fsQ{SUUTH0@&D&q%7)t+#^E;8ohvB>aC&_^cd`Z&(65$@K@T{ zyJm=?WcQ^=FGaxpNr`*uKz9=NoNbJp>VTt%hsWC`fJtnoLW${gk9QX4sG2~QC3^x> zDtohcvcFbX&!SP}4CpB*{+H|aE~|qMsA!0MeTS_|o>(@4&ESIy=&%P%JQ782ZVcwD z!~>S*#X?VKC*ClCDQ&~7nkCJYLS8(y-sk%x@lv3}>weFw6c5S)jw|xmUyVN;D>nDfes`W=+-y}vQzQcr%T|VA~oO3b#wfk;X<9o zQHk2P2Wn+sAKdaeUPve;UMt4Y=5tzv_kFe+`ejTOD< zPJC%o`!yJ!eEcmQ22^pyFYI}RuRg#f<&K_74DN{0GE>>fxkvi-=1VbC8c}WU5d)P^4G)NeQqLeT8~;!|^`{2K=uT%6}-)jv(V)cYS@E z)!Kj+fZz#1ucJP`6u#)44Uo2M>Kqrs7cPf&?6gdxhW#+FTMN4wx_kz6etj3}Z0lkl zhaxrs^W@Ufn7O_MliHkauu0khVXdfeq>P^K?YnozBPx}aY7@PLS@#Vw;s_AZlBWrG z5N|1yc%5Fn1y4un@F~iY2{5L-8-nQ2S7B1q?*Sug+XUu#13)vA9{{Vkynp{*axO79 zJ+i;rZYEu%7?4m0NnAFG=Z!CsiRVQ+)kSMFO}>5iA}M%{*M@2aX_mT^60F=wd6xmx zD#*%27-s=^ohnv=u300|IsXffR@f|lz+i)?>&RyZ6W8DExIcPB_V=7Iz&6O+YZWgW zYnn6^Jy1|0NjoDdN$AX6>ubzaNV^95m$?F;#eKah;A0SU4!S_bwnL!n{OH-? zz+1nA-59^jpMU_r6|Y9AlhF>-WKzvD=}qBJz=V1&0SX{o$Svo?hjBx2< z_08>obVag8*$*67=n-m@_3XdH-?MW?17HcV0;jd2o>swB>lmn#OX6A>e}5(}C4t^b zBP5r)r)(BS7Zp!?&1SqJj7PrhmTdgPQlv+OOo|wdK(womp{SjYbYe-i45D*_FoS~6 zIaD9uW5eHJ<4xkQ=w*J$370~`BfU@cWCRBT6O`H`AJteuuiPBDrIgTJ$mFQr4VIj5 zJ=M=SOarAuO28YZn1hi5)zU~6)m8Dxe2-YYbHJ%BLb~A-aU3Z^6bu(rJk^TvfAwRRkq}R|GJT ztKydkRpUBCLBJ2%p#c@IAE+8$;fjMQ@+wLXk|XiZAyMj{37oXiJ8`fRP(&wP_NLM+ z>%Rl=KN<}>S!qMBoC+ZR6_;S>e^nxYQW=##t|B-Zsu+;RH3=g+$3&g{ix#*l7p_=_ zW-MG(*$grbEE;QNt$dAjs;P`Yv(eSvsmq&Me`>Xd0`B|Uw9&yfpzfsyC8~dcufhh< zAr?*4zX?oPA8u_AeH5bH-hS(NsX4sAJ}{Z=BeGNHJ$ExUJZ+|I=Ee(x2>10thjZPD5po9S9lncSJ=nOtI(?px(_P6&=5v;&E|9x=Lk|?b z1W}<%Dv*yD@SqRQ(=L&Va5+{Ixbx=ONB+Zw+>P}Ng{kp{Ipj43ilKt1$9jBKosq)( zUv|)-MXB244vm^HhvTCM0g*AM317NTTQqb&d6mAR@tXFZe(ma6=@3DFF&Ur4d7eZ5 zI1dc})w9h9gps}$cI@`m>8-TeFB8lk$-BVxyfw^)kG;1!HlB$&KD-_Abz`xn>pn(? z_kw*=<5@kgxdf3H2aQR;)Z$z3M$*f|dY!WnqZaqI5$~^sr*nY_*yEC3a^f|z!2*l# z$&GHiuqc;+BKLjD>`8Ei;7l(6E4d9?COp+eg7s?cFtk$y_rc-1!D3|B5| z$45qc;d%SnZ+HM<;)n!LES_TWlLf|J_6R5L4he}(pQjX@UtSbXRN2<@N>XNRHSNUj z4wjZ0X4)Obw+Q%g{`jhMPxUrs!4mgqniT@Jr?Ih+o(Z+F3uO3b=;siqr7BbywJ zU5F|_J2_;<=^VPPjaw8AvkN;?j&t;&L&67^5h?H4{ZQNy7Mz|D?#AfrwaMr=H~6!h zqH0D%Ub*LNbULT1H^kTRl}G2W9d$Pjp;LuLf1jGq$;{-2oNoz}AKLwDUaWp6XsmYA z0n2O0hYI8tO>Hs6*!b*>ge6Xv6P*ku*0v(UX62JBn7$9UU?D}`od_XfC%X7%yWARo30Tz zAbh@e?f>o;KKzKNG1;VU#NbJ8P6kGUV7h%%v#80b|1}Bps^T=GNR_p?kj2|fd>N+r zR-ha-?QU2e+UImV9Qe>&(;01<^sALH0%!`cQ9T7`YC>^ZP2O7AeEzr+8mj6kZG_C` z1J6MYak_Js9JW>Ca#p_*;1m?LNHB( zg8CA#NFn@Ppn(E56vb1+qMcz%WI{PeBhhF-sLV$~ z53X`0jUjEmp>c0KZwt#?2Emo@z8e)H@q2im3?dKXWF>^~b~$^c;z%A3%&S~*U;ndb zZb791$Mrvx7U00_pZ&>SSBH0H0f&yNu&!u!X^`lYeQy01qn<)=)eg=dMjfQa|K{UE zHp+{x`XPMemDWqM@jHCAbv9Pd6 z*S$nK0t~qD6}4fSFTj-xa)8zNu^q1P{)wqB_;?a<$9O51Z)wCP0m`lEM}_ecUvQgD zde;xJu_Ug$i*mAe*z}!29aZKz1~9YeQgI|N(1&d~Q1Rjqqx?N3U*h#`-eFMMOb-?6 zjKteb)h+;*+4>aJuEQv^#>V{jn3l$sm6akuqzyZKR4Z6iFV?p~arR~|nRD0h$=bWG zp|;u;&!3aSZu;WIcmsu?N5#4AK(@@5C#aZ)`>%9`$(p$${RYd4@hTgu3BYifHj&aM zgOZ7r+q|#2P^&yR2_J=7|40^=X18qCRPvs!()&zq0ldEPt0jP#Qg*z|^mU=EtgO?G zJC7qt^aR$XTvYbcMtJ z%$nao*F2aX=%iG6(hzeiwTo7@ZHi5u?`2~IX|V9gK)t)u;jb3ViRmnm0YJYeyv;ipP`jzZ-l-c%HVoF^Po5g|Ar+B1cPYY zz-KR9ZuD$#Qaq=Nq;Kv1akI zw!n)zolm}#w-in^%1~s>0$3^Nkf4fO3FbH?C~gky+KFLG=`m}*J!=Nvz7G6t`0Cbi z9|U#Q(Nn2P%b`gyJ=RGVDwEkVG3%FOQnG6mmw@xJumKPJg$ha)B*+RVmNB@D`-*{I z$YuG53;x_5UzC^R_NJK3i9$-*m(nU!HN4|-w3U&>|-jgcG&ocvv@!zR) zfcUWmPBY%&H8SmLTO@F&S&=ze_~A<28eGO3KN2LmNhL5!)&uMwdcad;ld{w3yrSH< zY}~&EOhhLB*T9(X>r8fPXnL+1i4sh=1@;Uz`Cb~HPB(aBB6vIxK8>j}6ehupM7MM< z$#h};fH81A+L{f`W-8LpN&ag zmKfm|&9Bfo76&jOmas;@A2o-_i4nCt#THt8W@hG=s^i_II$*k5;L%sYUT6SY)o==I zH9bJ36pD=GDYaE;pcsE%r>}oo%hWz;_M4iS)vXQ{)B%;_Gx&BLaEI0SoS$f!eFT(M zAM=pmjQbKLi$;UT{$$-|er7(zGpX!6bU-8n*98jHMR#AZs-;B(JQDjx71MdRk}AY%BkE(xB-R@ z={1{;6G)50_X5<_Ef?W0j^>wK-6kkfI>0E<8Hy@dbl0HB;5f0h);5NUC1orKU=&;c zEsR%{KfA>6Fjq3)h(Ln+4508--=EcIp$;aLT1w+MAG(VuNZMU=ys4WD5J$ z=3FR`4e#Ui!(HWmZ3DHc6#udM0@S|N5CCOO9G^~?k62Nqm> zDI=r<1{h$8G)^;uI8nsg-PFJ7{TePGxtlv^_nF7jw*^z|00IBlNHm4!Haw8=5eVVe zOovZE&bT(g(S`o6+ulFm0HznQ5Q54XvRghRZ4^RJKH-GZpFT`iv;>w!0z_!;R&p57 zjC7tGe|>Y0*!^d!>^*qiY{cEiw4)!kizdmM$h<#|{a7Vx3n7fcg(OB$+<-d6A0ql- zoj^bhut^L9#PHt_3GPM=H(wUnWwRV9I+q5}m<~&TRi~<}RPKJX0U|V&J!3g&@lCoi z4uot%1ygZU)(BR37-0Z;eYPd8>3OhTT0dklILcX3YCZNur`mDhnd?F)sgAl2c2F3g z`NrDix~Zmtn(BgP=nv*uvFZCw2zF_1n4#!^xU2A+w;F(za#B}U7a!ne$OfwQm_uR| z^sXW=zw77dpK&Tk3E%$di4 ztThx5I52{pPc`}aV!`vu8T@hMWOt!^I;LtqiT5Iwlbf-=a%){pD=}Q!<83D)ygjk^ z*AIuo4Lwg6j`~8d1rIv&rk_UN@-`EFI%`CG#(Go6E`#Y^CJqj=hQtS5r5}^`6ljhM zEWUm%K*65^8PCL)tt;U%xAmxD`#R%p{Z1zf*G1@`d%gdmq3EeS`0hMDBH|he7Ce?I z>!XZ7rc1vUAY5$_V))ekU>2@oFCbwUEvSNpdVxA-<{4uGf>wn*AERX2Nsbo|Dgj>Q z7ogGqkp@t|f}b8TPas>931>PDY&>qff;WGC4utIgbAAE9;;MC!z`&3F@RfLdbd{)3 z(VxQyWQ)~=E1rsY8JKfXV5Q>G6`Jo)mBoWk0w<KN-)+mV{REJ=V<#Yu z-#I!%C3KK;5AIy~9+Xv70+1FK78`vTVvnPcKXaoz7veO`qfyx^rq)ZsNI|FCmU6Uz znFF*_ZTuzt^MpbQ-vU50YgeqWe))^;GGv<9j?ARVifprZYm7myGqd?~V1=*;GgEnu zT7Q%L5_pC2ye@9DYNOn_#*--A1n(n_|`ccS-DK@?9pt>Yas0BQ1mIV^)pWi4)+taV9?{XY?IcXSkw4s=aYgx4fydDmB}{-TE9S87G!jqGU}}_ML_V2^xby)@{-lKdasGR6| zIORG8%pkfzj#zj75>8qu21meXzS&)z9T$PCicl8r^TQc#HxYm@j&7?Rhj*rWpx~#= z`sichl#np-@e-o|B)iXb7p zYW54=7t+oBTKvsFexlOKY_KpmFY;H8Dd(bQG%jUsMkK&kwQNmiPewo3r!_wly=Tf6}QSL%-3B_o#3;Gtfr$18M9>r0c4NK`%3qOj4i&++26?b+=9?AOhX3y#KIJ4y4@fMEKH zC=SQ@ZxqD>Qw^RY2gLVv8$5=Fkz?f@i!yrvi}h%682hr z`{BU}i&(QTHq~bcDUM{|BjkS07KC9Uht>Id@G+;3){-KX$_My&k#PV#fw`#^_>`od zA(%FlD?~@~9)BaIle{}?wTyXn)A7y_RKrB5(g)wg893~}(h{dYvZA(86vsbs`d=dH zU$y4!CkvEKZTl*Mi~=WB-w`neG|vDu7shxUViQsbjee%ux@_W=7Q5_wRlVZFDR?~7 z#2*mjg20~20q-M}i5k~OhtLB$A85h2;O&q8h^e4Lx;Zw z>^@M4=?(qGuVS|#13E-v^yo09)+9fh^A%gqq|^I4`Ni7a#+d4ukCX4U7*Wd}rUW<2 zWLmc<8~bEG?)3Y^>0Y__qqT39*`>Qdm37VH{u~}V0@cPp?_9cM@f|wilXH7o#|b(t zD%UahuUTEJ-`N-%;TNddC7|N{!fA0J+3GEn8nbb6LES0%Znx62yt-g!xf+}A<#1-@ z#)PlNaJ+%n3Mu!CRSY0Zph3fN;Q|Dn59&DVj{*@B7Y9kElfUEmZ&5XQOeCliuDtjB zWUU=prGPn2y_9+~O*nPZ8|B_X%8mqnl#MDvXjfG|7Gc@atWBrq_m8~+yJ{Cv)E!-I z6DyX&-dr7A3pD&GclfE#xsD0KOciBj3BW=d2UfZMzc)E+$-GI|eUutjXrxOd< zBJK*CI7GLh96_2PDvZnz5So<>>8EqS>ll>$PW@yo#qmSi*thwc&hS9LUxgW?L897H zJ0IcSniWcS0)G5BhSEkO@(v4Tu(+#w zJ?Zp9iq8GdJqXX58^)Z{t$uFXuw;`JB4 zl9klpmQtt@kPnOzdI{6{!_gH*=Q`fHX@i8oaYO6rn|gXHkqujd&rS zUHxuIOi{z|F574sSGVO78+m-URT^HQZ_a}-IbqhITh%W18rka9=g@gDi%#0mC2ox({z^+R1E zVth!W%1S=^)#zsig*`9LH9~0CLVsBMTPN&{91FnP%j-a?Kw#i*&IC~W?A(CRl<}$U zxD!-!$;kMEn)^$=8DB_M?=d~QaYNDRNOAo}eBlHo&*_GDNPEL!t)zro+uDcR!isuQ z3z_Fj-WMsJ_2k_Cvqrxwx$LwlyY$P1I*v`orj*ekmL!%XwfT-YIY*Cr)7pll{8<2}u}k9m9JjSriinY$3z^!h=5cHsPF%6IyK@{f;Rf`V(oP|LH@ zR>zCGO$JkUe38(ellDi8yJ8x&tyUlJ&m5gYT#bTxhpmOJCnQcB$4?3gevw!51*Ms1 zMPAId^VXyqP}1)Q$PmM3^Rn%i=SLent@7gp#g;uB@_-Eu| zFEF&F_bh^M;GSdAyBPYtjUReN>e4Sr3A}tr#-q?++mpnD&=~Hq#n1zqSK5B^kQh)wBu8{+2G%x-w%%Gqv8tpoEq!r2zs@a2OE5UtydcG z5auWhZ{Qiy4kw3bMhcJjoSwNTcw=eHL`U1dKYK|&9hUfwtasyM1AU^(yBSsBNSP17 z?Jr`~rM7%MaSBvaX=u4llcgb#_9V)xi&t|gGqOMjCMro?CD|4saRRW21Yw)H?<;W)?-*Cr-n zsH8KCY_ShBwW@f^q21>O!daeSDhURk=jzJfh459s>nx(lbt6`)88hFDAD<(HCuO|mMq=s&BQANx zb8_v4dt#{(eH55+4#3^U3nk7!bKG$pUH$fRvAETe67!NH1(*O0}m5YR((>K5hH~TNrYq|!^;9k zSnvwgK#?fk`+h6hX6(E8OCez(5&Dee*unZaxa)Kt7>bh8jjM_M98D6Hym*mEx4g*Q zRTSp?Aja-&Tp>F-Z`(@V?}6+ov#&5#`hsSJ0p;Uq76Do-2~1VVZuhOZa29Urk}_sC z*3+HPzya;t6^n6t&d2C=2BCU`eT}SSsTh_B8gEgY%V!JoG0Xd(PQ4q#*61!$~ON^f7|_ zuvugnZF(8$1uNFozNbZOLAcL#%YYPXottdOb3A)Tg3sA^uQ}IhNG#6UXAc%a%h&II zbiF|nHoNJu>GF-h*}C{C*Yyyp^3 z_G73_IDI&83J1@3yx$vXI((Q*K6QkR7NMg398rlpzk z8&7tH(h$rj8m9;+b39fq&u@ce5N!6Is}~;{HZV6;L71&sSg8Xfk4AQ4d>lS0 zeM8!QSE#exMK`~oc~JF=&D|+NyXrab>#Z|snlKu-pF%s>Ve4K#Mzl8{T(G9Ny{uMk z4kS$Yu5}6Ax_m>>t}Nnb$Rpf18ixM2WUE-o9@h60fCvZZW_Ljisj2e=B5bvUHguaGZFW&5YO z|2Vobw_NEuf880p-GYL@U{#|8f9X^CsnR{3ln#J&Uk_?|126Z4@5zRVUJp#XjAq zI`Z=@UwS(7VQxZQn%7sb^aj*Y;ItlPyk?EM{B-P8Z92ot{{q89w@>^b|j+?RR zo2}h>VeM4uyPdfzqCK-z6zViCJh+j(F__TcH;I;q zF33nakqh#dRIW3Hiv2r74&xuZy`Iy8?Eg|&RZ_3ofI2uV8ggm4)PHV0RwauD2}=i3 zE{Ys$Hwg$6WVB5bBjNdGq<*?m{wQZ*(>jSljpujzOp}a-O^hA(1(h;J+I@ot27Jvta z@Sg3jp13q<7caozZxT614*DHt&s?cb#~Y@65mVP&tbw!mBh^-z$GH7f)WZ&*J2^O>!0ySgPqUMv&IsDcZ7_5%vB~)DVL+JG@TzoBw84X%U9uJvFpyFeH z+=jReryTFvFUeJlw1Gyn>l|t4$82-0;&=H3;O52|-NHw^R#}P9^JW~^!wikb>)(WO zQ+SyR1B>_>;QUdq9h?JxZV?YMyA~0QD-uZ26uG~vu!8}aIcc(Xt9Ph^6rpjc1)orrfZA#-LAxy-26T)KMf z2*3SI4iksbX!e(C57YO7>`f~kF27uOb0{cX#2x||B&+@gB`UIO0~84`I8#(YVinpS zx5QpnW&m!3-hIQj0m>c?dKxTGFKJ9B!P_g{G^ewK-H z!r-W4;^pQm++@IW5S`~q8{o&y4T?)&W;dQUGn`)Yk6)-Kv5nfN#FCrt0-DVN{r<9<0zE>*h z6%BJ?#Uu~hlfZOm}!wZS&qosr3m(&&)y|#pp TBL%=;H9?b+kQXl!HT3^~Wc;}w diff --git a/package-lock.json b/package-lock.json index 4e15010c61..2f631fdbf0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -310,43 +310,44 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", - "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.4.tgz", + "integrity": "sha512-r1IONyb6Ia+jYR2vvIDhdWdlTGhqbBoFqLTQidzZ4kepUFH15ejXvFHxCVbtl7BOXIudsIubf4E81xeA3h3IXA==", "dependencies": { - "@babel/highlight": "^7.22.5" + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", - "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.3.tgz", + "integrity": "sha512-BmR4bWbDIoFJmJ9z2cZ8Gmm2MXgEDgjdWgpKmKWUt54UGFJdlj31ECtbaDvCG/qVdG3AQ1SfpZEs01lUFbzLOQ==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.9.tgz", - "integrity": "sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.3.tgz", + "integrity": "sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew==", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.9", - "@babel/helper-compilation-targets": "^7.22.9", - "@babel/helper-module-transforms": "^7.22.9", - "@babel/helpers": "^7.22.6", - "@babel/parser": "^7.22.7", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.8", - "@babel/types": "^7.22.5", - "convert-source-map": "^1.7.0", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.3", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.23.2", + "@babel/parser": "^7.23.3", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.3", + "@babel/types": "^7.23.3", + "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", + "json5": "^2.2.3", "semver": "^6.3.1" }, "engines": { @@ -358,9 +359,9 @@ } }, "node_modules/@babel/eslint-parser": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.22.9.tgz", - "integrity": "sha512-xdMkt39/nviO/4vpVdrEYPwXCsYIXSSAr6mC7WQsNIlGnuxKyKE7GZjalcnbSWiC4OXGNNN3UQPeHfjSC6sTDA==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.23.3.tgz", + "integrity": "sha512-9bTuNlyx7oSstodm1cR1bECj4fkiknsDa1YniISkJemMY3DGhJNYBECbe6QD/q54mp2J8VO66jW3/7uP//iFCw==", "dependencies": { "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", "eslint-visitor-keys": "^2.1.0", @@ -370,16 +371,16 @@ "node": "^10.13.0 || ^12.13.0 || >=14.0.0" }, "peerDependencies": { - "@babel/core": ">=7.11.0", + "@babel/core": "^7.11.0", "eslint": "^7.5.0 || ^8.0.0" } }, "node_modules/@babel/generator": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.9.tgz", - "integrity": "sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.4.tgz", + "integrity": "sha512-esuS49Cga3HcThFNebGhlgsrVLkvhqvYDTzgjfFFlHJcIfLe5jFmRRfCQ1KuBfc4Jrtn3ndLgKWAKjBE+IraYQ==", "dependencies": { - "@babel/types": "^7.22.5", + "@babel/types": "^7.23.4", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -400,43 +401,40 @@ } }, "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.5.tgz", - "integrity": "sha512-m1EP3lVOPptR+2DwD125gziZNcmoNSHGmJROKoy87loWUQyJaVXDgpmruWqDARZSmtYQ+Dl25okU8+qhVzuykw==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", + "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.22.15" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.9.tgz", - "integrity": "sha512-7qYrNM6HjpnPHJbopxmb8hSPoZ0gsX8IvUS32JGVoy+pU9e5N0nLr1VjJoR6kA4d9dmGLxNYOjeB8sUDal2WMw==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", + "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", "dependencies": { "@babel/compat-data": "^7.22.9", - "@babel/helper-validator-option": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", "browserslist": "^4.21.9", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.9.tgz", - "integrity": "sha512-Pwyi89uO4YrGKxL/eNJ8lfEH55DnRloGPOseaA8NFNL6jAUnn+KccaISiFazCj5IolPPDjGSdzQzXVzODVRqUQ==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz", + "integrity": "sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-environment-visitor": "^7.22.5", "@babel/helper-function-name": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.15", "@babel/helper-optimise-call-expression": "^7.22.5", "@babel/helper-replace-supers": "^7.22.9", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", @@ -451,9 +449,9 @@ } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.9.tgz", - "integrity": "sha512-+svjVa/tFwsNSG4NEy1h85+HQ5imbT92Q5/bgtS7P0GTQlP8WuFdqsiABmQouhiFGyV66oGxZFpeYHza1rNsKw==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", + "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", "regexpu-core": "^5.3.1", @@ -475,9 +473,9 @@ } }, "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/regenerate-unicode-properties": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", - "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", "dependencies": { "regenerate": "^1.4.2" }, @@ -513,9 +511,9 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.2.tgz", - "integrity": "sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==", + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz", + "integrity": "sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==", "dependencies": { "@babel/helper-compilation-targets": "^7.22.6", "@babel/helper-plugin-utils": "^7.22.5", @@ -528,20 +526,20 @@ } }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", - "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", - "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "dependencies": { - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" }, "engines": { "node": ">=6.9.0" @@ -559,37 +557,37 @@ } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz", - "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.23.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", - "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.22.15" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", - "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", "@babel/helper-simple-access": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.5" + "@babel/helper-validator-identifier": "^7.22.20" }, "engines": { "node": ">=6.9.0" @@ -618,13 +616,13 @@ } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.9.tgz", - "integrity": "sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", + "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-wrap-function": "^7.22.9" + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-wrap-function": "^7.22.20" }, "engines": { "node": ">=6.9.0" @@ -634,12 +632,12 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.9.tgz", - "integrity": "sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", + "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-member-expression-to-functions": "^7.22.15", "@babel/helper-optimise-call-expression": "^7.22.5" }, "engines": { @@ -683,62 +681,62 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", - "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", - "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", + "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.9.tgz", - "integrity": "sha512-sZ+QzfauuUEfxSEjKFmi3qDSHgLsTPK/pEpoD/qonZKOtTPTLbf59oabPQ4rKekt9lFcj/hTZaOhWwFYrgjk+Q==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", + "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", "dependencies": { "@babel/helper-function-name": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/template": "^7.22.15", + "@babel/types": "^7.22.19" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.6.tgz", - "integrity": "sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.4.tgz", + "integrity": "sha512-HfcMizYz10cr3h29VqyfGL6ZWIjTwWfvYBMsBVGwpcbhNGe3wQ1ZXZRPzZoAHhd9OqHadHqjQ89iVKINXnbzuw==", "dependencies": { - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.6", - "@babel/types": "^7.22.5" + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.4", + "@babel/types": "^7.23.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", - "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", "dependencies": { - "@babel/helper-validator-identifier": "^7.22.5", - "chalk": "^2.0.0", + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", "js-tokens": "^4.0.0" }, "engines": { @@ -746,9 +744,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.22.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.7.tgz", - "integrity": "sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.4.tgz", + "integrity": "sha512-vf3Xna6UEprW+7t6EtOmFpHNAuxw3xqPZghy+brsnusscJRW5BMUzzHZc5ICjULee81WeUV2jjakG09MDglJXQ==", "bin": { "parser": "bin/babel-parser.js" }, @@ -757,9 +755,9 @@ } }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.5.tgz", - "integrity": "sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz", + "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -771,13 +769,13 @@ } }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.5.tgz", - "integrity": "sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz", + "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.5" + "@babel/plugin-transform-optional-chaining": "^7.23.3" }, "engines": { "node": ">=6.9.0" @@ -786,10 +784,26 @@ "@babel/core": "^7.13.0" } }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.3.tgz", + "integrity": "sha512-XaJak1qcityzrX0/IU5nKHb34VaibwP3saKqG6a/tppelgllOH13LUann4ZCIBcVOeE6H18K4Vx9QKkVww3z/w==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, "node_modules/@babel/plugin-proposal-class-properties": { "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -805,6 +819,7 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.", "dependencies": { "@babel/helper-plugin-utils": "^7.18.6", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" @@ -820,6 +835,7 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.", "dependencies": { "@babel/helper-plugin-utils": "^7.18.6", "@babel/plugin-syntax-numeric-separator": "^7.10.4" @@ -835,6 +851,7 @@ "version": "7.20.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.", "dependencies": { "@babel/compat-data": "^7.20.5", "@babel/helper-compilation-targets": "^7.20.7", @@ -853,6 +870,7 @@ "version": "7.21.0", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.", "dependencies": { "@babel/helper-plugin-utils": "^7.20.2", "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", @@ -876,21 +894,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", - "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-syntax-async-generators": { "version": "7.8.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", @@ -950,9 +953,9 @@ } }, "node_modules/@babel/plugin-syntax-flow": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.22.5.tgz", - "integrity": "sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.23.3.tgz", + "integrity": "sha512-YZiAIpkJAwQXBJLIQbRFayR5c+gJ35Vcz3bg954k7cd73zqjvhacJuL9RbrzPz8qPmZdgqP6EUKwy0PCNhaaPA==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -964,9 +967,9 @@ } }, "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", - "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz", + "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -978,9 +981,9 @@ } }, "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", - "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz", + "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1119,9 +1122,9 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", - "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", + "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1148,9 +1151,9 @@ } }, "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", - "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz", + "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1162,13 +1165,13 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.22.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.7.tgz", - "integrity": "sha512-7HmE7pk/Fmke45TODvxvkxRMV9RazV+ZZzhOL9AG8G29TLrr3jkjwF7uJfxZ30EoXpO+LJkq4oA8NjO2DTnEDg==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.4.tgz", + "integrity": "sha512-efdkfPhHYTtn0G6n2ddrESE91fgXxjlqLsnUtPWnJs4a4mZIbUaK7ffqKIIUKXSHwcDvaCVX6GXkaJJFqtX7jw==", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20", "@babel/plugin-syntax-async-generators": "^7.8.4" }, "engines": { @@ -1179,13 +1182,13 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", - "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz", + "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==", "dependencies": { - "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-module-imports": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.5" + "@babel/helper-remap-async-to-generator": "^7.22.20" }, "engines": { "node": ">=6.9.0" @@ -1195,9 +1198,9 @@ } }, "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", - "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz", + "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1209,9 +1212,9 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.5.tgz", - "integrity": "sha512-EcACl1i5fSQ6bt+YGuU/XGCeZKStLmyVGytWkpyhCLeQVA0eu6Wtiw92V+I1T/hnezUv7j74dA/Ro69gWcU+hg==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz", + "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1223,11 +1226,11 @@ } }, "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", - "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz", + "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { @@ -1238,11 +1241,11 @@ } }, "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.5.tgz", - "integrity": "sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz", + "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-class-static-block": "^7.14.5" }, @@ -1254,17 +1257,17 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.6.tgz", - "integrity": "sha512-58EgM6nuPNG6Py4Z3zSuu0xWu2VfodiMi72Jt5Kj2FECmaYk1RrTXA45z6KBFsu9tRgwQDwIiY4FXTt+YsSFAQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.3.tgz", + "integrity": "sha512-FGEQmugvAEu2QtgtU0uTASXevfLMFfBeVCIIdcQhn/uBQsMTjBajdnAtanQlOcuihWh10PZ7+HWvc7NtBwP74w==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", "@babel/helper-optimise-call-expression": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", "@babel/helper-split-export-declaration": "^7.22.6", "globals": "^11.1.0" }, @@ -1276,12 +1279,12 @@ } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", - "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz", + "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.5" + "@babel/template": "^7.22.15" }, "engines": { "node": ">=6.9.0" @@ -1291,9 +1294,9 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.5.tgz", - "integrity": "sha512-GfqcFuGW8vnEqTUBM7UtPd5A4q797LTvvwKxXTgRsFjoqaJiEg9deBG6kWeQYkVEL569NpnmpC0Pkr/8BLKGnQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz", + "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1305,11 +1308,11 @@ } }, "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", - "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz", + "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-create-regexp-features-plugin": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { @@ -1320,9 +1323,9 @@ } }, "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", - "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz", + "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1334,9 +1337,9 @@ } }, "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.5.tgz", - "integrity": "sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz", + "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3" @@ -1349,11 +1352,11 @@ } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", - "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz", + "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==", "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { @@ -1364,9 +1367,9 @@ } }, "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.5.tgz", - "integrity": "sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz", + "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" @@ -1379,12 +1382,12 @@ } }, "node_modules/@babel/plugin-transform-flow-strip-types": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.22.5.tgz", - "integrity": "sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.23.3.tgz", + "integrity": "sha512-26/pQTf9nQSNVJCrLB1IkHUKyPxR+lMrH2QDPG89+Znu9rAMbtrybdbWeE9bb7gzjmE5iXHEY+e0HUwM6Co93Q==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-flow": "^7.22.5" + "@babel/plugin-syntax-flow": "^7.23.3" }, "engines": { "node": ">=6.9.0" @@ -1394,9 +1397,9 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.5.tgz", - "integrity": "sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.3.tgz", + "integrity": "sha512-X8jSm8X1CMwxmK878qsUGJRmbysKNbdpTv/O1/v0LuY/ZkZrng5WYiekYSdg9m09OTmDDUWeEDsTE+17WYbAZw==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1408,12 +1411,12 @@ } }, "node_modules/@babel/plugin-transform-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", - "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz", + "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==", "dependencies": { - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-function-name": "^7.23.0", "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { @@ -1424,9 +1427,9 @@ } }, "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.5.tgz", - "integrity": "sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz", + "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-json-strings": "^7.8.3" @@ -1439,9 +1442,9 @@ } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", - "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz", + "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1453,9 +1456,9 @@ } }, "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.5.tgz", - "integrity": "sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz", + "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" @@ -1468,9 +1471,9 @@ } }, "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", - "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz", + "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1482,11 +1485,11 @@ } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.22.5.tgz", - "integrity": "sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz", + "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==", "dependencies": { - "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { @@ -1497,11 +1500,11 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz", - "integrity": "sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", + "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", "dependencies": { - "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-simple-access": "^7.22.5" }, @@ -1513,14 +1516,14 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.5.tgz", - "integrity": "sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.3.tgz", + "integrity": "sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==", "dependencies": { "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5" + "@babel/helper-validator-identifier": "^7.22.20" }, "engines": { "node": ">=6.9.0" @@ -1530,11 +1533,11 @@ } }, "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", - "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz", + "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==", "dependencies": { - "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { @@ -1560,9 +1563,9 @@ } }, "node_modules/@babel/plugin-transform-new-target": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", - "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz", + "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1574,9 +1577,9 @@ } }, "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.5.tgz", - "integrity": "sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz", + "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" @@ -1589,9 +1592,9 @@ } }, "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.5.tgz", - "integrity": "sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz", + "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-numeric-separator": "^7.10.4" @@ -1604,15 +1607,15 @@ } }, "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.5.tgz", - "integrity": "sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz", + "integrity": "sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==", "dependencies": { - "@babel/compat-data": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", + "@babel/compat-data": "^7.23.3", + "@babel/helper-compilation-targets": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.22.5" + "@babel/plugin-transform-parameters": "^7.23.3" }, "engines": { "node": ">=6.9.0" @@ -1622,12 +1625,12 @@ } }, "node_modules/@babel/plugin-transform-object-super": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", - "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz", + "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5" + "@babel/helper-replace-supers": "^7.22.20" }, "engines": { "node": ">=6.9.0" @@ -1637,9 +1640,9 @@ } }, "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.5.tgz", - "integrity": "sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz", + "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" @@ -1652,9 +1655,9 @@ } }, "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.6.tgz", - "integrity": "sha512-Vd5HiWml0mDVtcLHIoEU5sw6HOUW/Zk0acLs/SAeuLzkGNOPc9DB4nkUajemhCmTIz3eiaKREZn2hQQqF79YTg==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz", + "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", @@ -1668,9 +1671,9 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz", - "integrity": "sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", + "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1682,11 +1685,11 @@ } }, "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", - "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz", + "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { @@ -1697,12 +1700,12 @@ } }, "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.5.tgz", - "integrity": "sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz", + "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, @@ -1714,9 +1717,9 @@ } }, "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", - "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz", + "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1728,9 +1731,9 @@ } }, "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz", - "integrity": "sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz", + "integrity": "sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1742,15 +1745,15 @@ } }, "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.5.tgz", - "integrity": "sha512-rog5gZaVbUip5iWDMTYbVM15XQq+RkUKhET/IHR6oizR+JEoN6CAfTTuHcK4vwUyzca30qqHqEpzBOnaRMWYMA==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz", + "integrity": "sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-module-imports": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/plugin-syntax-jsx": "^7.23.3", + "@babel/types": "^7.23.4" }, "engines": { "node": ">=6.9.0" @@ -1774,9 +1777,9 @@ } }, "node_modules/@babel/plugin-transform-react-jsx/node_modules/@babel/plugin-syntax-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", - "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", + "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1788,9 +1791,9 @@ } }, "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.22.5.tgz", - "integrity": "sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz", + "integrity": "sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" @@ -1803,12 +1806,12 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.5.tgz", - "integrity": "sha512-rR7KePOE7gfEtNTh9Qw+iO3Q/e4DEsoQ+hdvM6QUDH7JRJ5qxq5AA52ZzBWbI5i9lfNuvySgOGP8ZN7LAmaiPw==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz", + "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", - "regenerator-transform": "^0.15.1" + "regenerator-transform": "^0.15.2" }, "engines": { "node": ">=6.9.0" @@ -1818,9 +1821,9 @@ } }, "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", - "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz", + "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1832,15 +1835,15 @@ } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.9.tgz", - "integrity": "sha512-9KjBH61AGJetCPYp/IEyLEp47SyybZb0nDRpBvmtEkm+rUIwxdlKpyNHI1TmsGkeuLclJdleQHRZ8XLBnnh8CQ==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.4.tgz", + "integrity": "sha512-ITwqpb6V4btwUG0YJR82o2QvmWrLgDnx/p2A3CTPYGaRgULkDiC0DRA2C4jlRB9uXGUEfaSS/IGHfVW+ohzYDw==", "dependencies": { - "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-module-imports": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5", - "babel-plugin-polyfill-corejs2": "^0.4.4", - "babel-plugin-polyfill-corejs3": "^0.8.2", - "babel-plugin-polyfill-regenerator": "^0.5.1", + "babel-plugin-polyfill-corejs2": "^0.4.6", + "babel-plugin-polyfill-corejs3": "^0.8.5", + "babel-plugin-polyfill-regenerator": "^0.5.3", "semver": "^6.3.1" }, "engines": { @@ -1851,9 +1854,9 @@ } }, "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", - "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz", + "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1865,9 +1868,9 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", - "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz", + "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" @@ -1880,9 +1883,9 @@ } }, "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", - "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz", + "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1894,9 +1897,9 @@ } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", - "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz", + "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1908,9 +1911,9 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", - "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz", + "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1922,14 +1925,14 @@ } }, "node_modules/@babel/plugin-transform-typescript": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.9.tgz", - "integrity": "sha512-BnVR1CpKiuD0iobHPaM1iLvcwPYN2uVFAqoLVSpEDKWuOikoCv5HbKLxclhKYUXlWkX86DoZGtqI4XhbOsyrMg==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.4.tgz", + "integrity": "sha512-39hCCOl+YUAyMOu6B9SmUTiHUU0t/CxJNUmY3qRdJujbqi+lrQcL11ysYUsAvFWPBdhihrv1z0oRG84Yr3dODQ==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.9", + "@babel/helper-create-class-features-plugin": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-typescript": "^7.22.5" + "@babel/plugin-syntax-typescript": "^7.23.3" }, "engines": { "node": ">=6.9.0" @@ -1939,9 +1942,9 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.5.tgz", - "integrity": "sha512-biEmVg1IYB/raUO5wT1tgfacCef15Fbzhkx493D3urBI++6hpJ+RFG4SrWMn0NEZLfvilqKf3QDrRVZHo08FYg==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz", + "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1953,11 +1956,11 @@ } }, "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", - "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz", + "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-create-regexp-features-plugin": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { @@ -1968,11 +1971,11 @@ } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", - "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz", + "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-create-regexp-features-plugin": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { @@ -1983,11 +1986,11 @@ } }, "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", - "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz", + "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-create-regexp-features-plugin": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { @@ -1998,24 +2001,25 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.9.tgz", - "integrity": "sha512-wNi5H/Emkhll/bqPjsjQorSykrlfY5OWakd6AulLvMEytpKasMVUpVy8RL4qBIBs5Ac6/5i0/Rv0b/Fg6Eag/g==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.3.tgz", + "integrity": "sha512-ovzGc2uuyNfNAs/jyjIGxS8arOHS5FENZaNn4rtE7UdKMMkqHCvboHfcuhWLZNX5cB44QfcGNWjaevxMzzMf+Q==", "dependencies": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-compilation-targets": "^7.22.9", + "@babel/compat-data": "^7.23.3", + "@babel/helper-compilation-targets": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.3", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.22.5", - "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@babel/plugin-syntax-import-assertions": "^7.23.3", + "@babel/plugin-syntax-import-attributes": "^7.23.3", "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", @@ -2027,59 +2031,58 @@ "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.22.5", - "@babel/plugin-transform-async-generator-functions": "^7.22.7", - "@babel/plugin-transform-async-to-generator": "^7.22.5", - "@babel/plugin-transform-block-scoped-functions": "^7.22.5", - "@babel/plugin-transform-block-scoping": "^7.22.5", - "@babel/plugin-transform-class-properties": "^7.22.5", - "@babel/plugin-transform-class-static-block": "^7.22.5", - "@babel/plugin-transform-classes": "^7.22.6", - "@babel/plugin-transform-computed-properties": "^7.22.5", - "@babel/plugin-transform-destructuring": "^7.22.5", - "@babel/plugin-transform-dotall-regex": "^7.22.5", - "@babel/plugin-transform-duplicate-keys": "^7.22.5", - "@babel/plugin-transform-dynamic-import": "^7.22.5", - "@babel/plugin-transform-exponentiation-operator": "^7.22.5", - "@babel/plugin-transform-export-namespace-from": "^7.22.5", - "@babel/plugin-transform-for-of": "^7.22.5", - "@babel/plugin-transform-function-name": "^7.22.5", - "@babel/plugin-transform-json-strings": "^7.22.5", - "@babel/plugin-transform-literals": "^7.22.5", - "@babel/plugin-transform-logical-assignment-operators": "^7.22.5", - "@babel/plugin-transform-member-expression-literals": "^7.22.5", - "@babel/plugin-transform-modules-amd": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.22.5", - "@babel/plugin-transform-modules-systemjs": "^7.22.5", - "@babel/plugin-transform-modules-umd": "^7.22.5", + "@babel/plugin-transform-arrow-functions": "^7.23.3", + "@babel/plugin-transform-async-generator-functions": "^7.23.3", + "@babel/plugin-transform-async-to-generator": "^7.23.3", + "@babel/plugin-transform-block-scoped-functions": "^7.23.3", + "@babel/plugin-transform-block-scoping": "^7.23.3", + "@babel/plugin-transform-class-properties": "^7.23.3", + "@babel/plugin-transform-class-static-block": "^7.23.3", + "@babel/plugin-transform-classes": "^7.23.3", + "@babel/plugin-transform-computed-properties": "^7.23.3", + "@babel/plugin-transform-destructuring": "^7.23.3", + "@babel/plugin-transform-dotall-regex": "^7.23.3", + "@babel/plugin-transform-duplicate-keys": "^7.23.3", + "@babel/plugin-transform-dynamic-import": "^7.23.3", + "@babel/plugin-transform-exponentiation-operator": "^7.23.3", + "@babel/plugin-transform-export-namespace-from": "^7.23.3", + "@babel/plugin-transform-for-of": "^7.23.3", + "@babel/plugin-transform-function-name": "^7.23.3", + "@babel/plugin-transform-json-strings": "^7.23.3", + "@babel/plugin-transform-literals": "^7.23.3", + "@babel/plugin-transform-logical-assignment-operators": "^7.23.3", + "@babel/plugin-transform-member-expression-literals": "^7.23.3", + "@babel/plugin-transform-modules-amd": "^7.23.3", + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-modules-systemjs": "^7.23.3", + "@babel/plugin-transform-modules-umd": "^7.23.3", "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", - "@babel/plugin-transform-new-target": "^7.22.5", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.5", - "@babel/plugin-transform-numeric-separator": "^7.22.5", - "@babel/plugin-transform-object-rest-spread": "^7.22.5", - "@babel/plugin-transform-object-super": "^7.22.5", - "@babel/plugin-transform-optional-catch-binding": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.6", - "@babel/plugin-transform-parameters": "^7.22.5", - "@babel/plugin-transform-private-methods": "^7.22.5", - "@babel/plugin-transform-private-property-in-object": "^7.22.5", - "@babel/plugin-transform-property-literals": "^7.22.5", - "@babel/plugin-transform-regenerator": "^7.22.5", - "@babel/plugin-transform-reserved-words": "^7.22.5", - "@babel/plugin-transform-shorthand-properties": "^7.22.5", - "@babel/plugin-transform-spread": "^7.22.5", - "@babel/plugin-transform-sticky-regex": "^7.22.5", - "@babel/plugin-transform-template-literals": "^7.22.5", - "@babel/plugin-transform-typeof-symbol": "^7.22.5", - "@babel/plugin-transform-unicode-escapes": "^7.22.5", - "@babel/plugin-transform-unicode-property-regex": "^7.22.5", - "@babel/plugin-transform-unicode-regex": "^7.22.5", - "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.22.5", - "babel-plugin-polyfill-corejs2": "^0.4.4", - "babel-plugin-polyfill-corejs3": "^0.8.2", - "babel-plugin-polyfill-regenerator": "^0.5.1", + "@babel/plugin-transform-new-target": "^7.23.3", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.3", + "@babel/plugin-transform-numeric-separator": "^7.23.3", + "@babel/plugin-transform-object-rest-spread": "^7.23.3", + "@babel/plugin-transform-object-super": "^7.23.3", + "@babel/plugin-transform-optional-catch-binding": "^7.23.3", + "@babel/plugin-transform-optional-chaining": "^7.23.3", + "@babel/plugin-transform-parameters": "^7.23.3", + "@babel/plugin-transform-private-methods": "^7.23.3", + "@babel/plugin-transform-private-property-in-object": "^7.23.3", + "@babel/plugin-transform-property-literals": "^7.23.3", + "@babel/plugin-transform-regenerator": "^7.23.3", + "@babel/plugin-transform-reserved-words": "^7.23.3", + "@babel/plugin-transform-shorthand-properties": "^7.23.3", + "@babel/plugin-transform-spread": "^7.23.3", + "@babel/plugin-transform-sticky-regex": "^7.23.3", + "@babel/plugin-transform-template-literals": "^7.23.3", + "@babel/plugin-transform-typeof-symbol": "^7.23.3", + "@babel/plugin-transform-unicode-escapes": "^7.23.3", + "@babel/plugin-transform-unicode-property-regex": "^7.23.3", + "@babel/plugin-transform-unicode-regex": "^7.23.3", + "@babel/plugin-transform-unicode-sets-regex": "^7.23.3", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.6", + "babel-plugin-polyfill-corejs3": "^0.8.5", + "babel-plugin-polyfill-regenerator": "^0.5.3", "core-js-compat": "^3.31.0", "semver": "^6.3.1" }, @@ -2091,13 +2094,11 @@ } }, "node_modules/@babel/preset-modules": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6.tgz", - "integrity": "sha512-ID2yj6K/4lKfhuU3+EX4UvNbIt7eACFbHmNUjzA+ep+B5971CknnA/9DEWKbRokfbbtblxxxXFJJrH47UEAMVg==", + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", "@babel/types": "^7.4.4", "esutils": "^2.0.2" }, @@ -2106,16 +2107,16 @@ } }, "node_modules/@babel/preset-react": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.22.5.tgz", - "integrity": "sha512-M+Is3WikOpEJHgR385HbuCITPTaPRaNkibTEa9oiofmJvIsrceb4yp9RL9Kb+TE8LznmeyZqpP+Lopwcx59xPQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.23.3.tgz", + "integrity": "sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-transform-react-display-name": "^7.22.5", - "@babel/plugin-transform-react-jsx": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-transform-react-display-name": "^7.23.3", + "@babel/plugin-transform-react-jsx": "^7.22.15", "@babel/plugin-transform-react-jsx-development": "^7.22.5", - "@babel/plugin-transform-react-pure-annotations": "^7.22.5" + "@babel/plugin-transform-react-pure-annotations": "^7.23.3" }, "engines": { "node": ">=6.9.0" @@ -2125,15 +2126,15 @@ } }, "node_modules/@babel/preset-typescript": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.22.5.tgz", - "integrity": "sha512-YbPaal9LxztSGhmndR46FmAbkJ/1fAsw293tSU+I5E5h+cnJ3d4GTwyUgGYmOXJYdGA+uNePle4qbaRzj2NISQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz", + "integrity": "sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.22.5", - "@babel/plugin-transform-typescript": "^7.22.5" + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-syntax-jsx": "^7.23.3", + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-typescript": "^7.23.3" }, "engines": { "node": ">=6.9.0" @@ -2143,9 +2144,9 @@ } }, "node_modules/@babel/preset-typescript/node_modules/@babel/plugin-syntax-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", - "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", + "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -2162,42 +2163,42 @@ "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" }, "node_modules/@babel/runtime": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.6.tgz", - "integrity": "sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.4.tgz", + "integrity": "sha512-2Yv65nlWnWlSpe3fXEyX5i7fx5kIKo4Qbcj+hMO0odwaneFjfXw5fdum+4yL20O0QiaHpia0cYQ9xpNMqrBwHg==", "dependencies": { - "regenerator-runtime": "^0.13.11" + "regenerator-runtime": "^0.14.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/template": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", - "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", "dependencies": { - "@babel/code-frame": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.22.8", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.8.tgz", - "integrity": "sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw==", - "dependencies": { - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.7", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.4.tgz", + "integrity": "sha512-IYM8wSUwunWTB6tFC2dkKZhxbIjHoWemdK+3f8/wq8aKhbUscxD5MX72ubd90fxvFknaLPeGw5ycU84V1obHJg==", + "dependencies": { + "@babel/code-frame": "^7.23.4", + "@babel/generator": "^7.23.4", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", "@babel/helper-hoist-variables": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.22.7", - "@babel/types": "^7.22.5", + "@babel/parser": "^7.23.4", + "@babel/types": "^7.23.4", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -2206,12 +2207,12 @@ } }, "node_modules/@babel/types": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", - "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.4.tgz", + "integrity": "sha512-7uIFwVYpoplT5jp/kVv6EF93VaJ8H+Yn5IczYiaAi98ajzjfoZfslet/e0sLh+wVBjb2qqIut1b0S26VSafsSQ==", "dependencies": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" }, "engines": { @@ -2253,6 +2254,11 @@ "stylis": "4.2.0" } }, + "node_modules/@emotion/babel-plugin/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, "node_modules/@emotion/babel-plugin/node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -2413,9 +2419,9 @@ } }, "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", "dependencies": { "type-fest": "^0.20.2" }, @@ -2977,9 +2983,9 @@ } }, "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", "engines": { "node": ">=6.0.0" } @@ -3007,30 +3013,25 @@ "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" - }, "node_modules/@lezer/common": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/@lezer/common/-/common-0.15.12.tgz", - "integrity": "sha512-edfwCxNLnzq5pBA/yaIhwJ3U3Kz8VAUOTRg0hhxaizaI1N+qxV7EXDv/kLCkLeq2RzSFvxexlaj5Mzfn2kY0Ig==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.1.1.tgz", + "integrity": "sha512-aAPB9YbvZHqAW+bIwiuuTDGB4DG0sYNRObGLxud8cW7osw1ZQxfDuTZ8KQiqfZ0QJGcR34CvpTMDXEyo/+Htgg==" }, "node_modules/@lezer/lr": { - "version": "0.15.8", - "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-0.15.8.tgz", - "integrity": "sha512-bM6oE6VQZ6hIFxDNKk8bKPa14hqFrV07J/vHGOeiAbJReIaQXmkVb6xQu4MR+JBTLa5arGRyAAjJe1qaQt3Uvg==", + "version": "1.3.14", + "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.3.14.tgz", + "integrity": "sha512-z5mY4LStlA3yL7aHT/rqgG614cfcvklS+8oFRFBYrs4YaWLJyKKM4+nN6KopToX0o9Hj6zmH6M5kinOYuy06ug==", "dependencies": { - "@lezer/common": "^0.15.0" + "@lezer/common": "^1.0.0" } }, "node_modules/@lmdb/lmdb-darwin-arm64": { @@ -3179,6 +3180,11 @@ "url": "https://opencollective.com/babel" } }, + "node_modules/@mdx-js/mdx/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, "node_modules/@mdx-js/mdx/node_modules/semver": { "version": "5.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", @@ -3217,12 +3223,12 @@ } }, "node_modules/@mischnic/json-sourcemap": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@mischnic/json-sourcemap/-/json-sourcemap-0.1.0.tgz", - "integrity": "sha512-dQb3QnfNqmQNYA4nFSN/uLaByIic58gOXq4Y4XqLOWmOrw73KmJPt/HLyG0wvn1bnR6mBKs/Uwvkh+Hns1T0XA==", + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@mischnic/json-sourcemap/-/json-sourcemap-0.1.1.tgz", + "integrity": "sha512-iA7+tyVqfrATAIsIRWQG+a7ZLLD0VaOCKV2Wd/v4mqIU3J9c4jx9p7S0nw1XH3gJCKNBOOwACOPYYSUu9pgT+w==", "dependencies": { - "@lezer/common": "^0.15.7", - "@lezer/lr": "^0.15.4", + "@lezer/common": "^1.0.0", + "@lezer/lr": "^1.0.0", "json5": "^2.2.1" }, "engines": { @@ -3941,9 +3947,9 @@ } }, "node_modules/@parcel/packager-js/node_modules/globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", "dependencies": { "type-fest": "^0.20.2" }, @@ -4139,6 +4145,11 @@ "@parcel/core": "^2.6.2" } }, + "node_modules/@parcel/transformer-js/node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, "node_modules/@parcel/transformer-js/node_modules/semver": { "version": "5.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", @@ -4306,9 +4317,9 @@ } }, "node_modules/@parcel/watcher": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.2.0.tgz", - "integrity": "sha512-71S4TF+IMyAn24PK4KSkdKtqJDR3zRzb0HE3yXpacItqTM7XfF2f5q9NEGLEVl0dAaBAGfNwDCjH120y25F6Tg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.3.0.tgz", + "integrity": "sha512-pW7QaFiL11O0BphO+bq3MgqeX/INAk9jgBldVDYjlQPO4VddoZnF22TcF9onMhnLVHuNqBJeRf+Fj7eezi/+rQ==", "hasInstallScript": true, "dependencies": { "detect-libc": "^1.0.3", @@ -4324,22 +4335,24 @@ "url": "https://opencollective.com/parcel" }, "optionalDependencies": { - "@parcel/watcher-android-arm64": "2.2.0", - "@parcel/watcher-darwin-arm64": "2.2.0", - "@parcel/watcher-darwin-x64": "2.2.0", - "@parcel/watcher-linux-arm-glibc": "2.2.0", - "@parcel/watcher-linux-arm64-glibc": "2.2.0", - "@parcel/watcher-linux-arm64-musl": "2.2.0", - "@parcel/watcher-linux-x64-glibc": "2.2.0", - "@parcel/watcher-linux-x64-musl": "2.2.0", - "@parcel/watcher-win32-arm64": "2.2.0", - "@parcel/watcher-win32-x64": "2.2.0" + "@parcel/watcher-android-arm64": "2.3.0", + "@parcel/watcher-darwin-arm64": "2.3.0", + "@parcel/watcher-darwin-x64": "2.3.0", + "@parcel/watcher-freebsd-x64": "2.3.0", + "@parcel/watcher-linux-arm-glibc": "2.3.0", + "@parcel/watcher-linux-arm64-glibc": "2.3.0", + "@parcel/watcher-linux-arm64-musl": "2.3.0", + "@parcel/watcher-linux-x64-glibc": "2.3.0", + "@parcel/watcher-linux-x64-musl": "2.3.0", + "@parcel/watcher-win32-arm64": "2.3.0", + "@parcel/watcher-win32-ia32": "2.3.0", + "@parcel/watcher-win32-x64": "2.3.0" } }, "node_modules/@parcel/watcher-android-arm64": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.2.0.tgz", - "integrity": "sha512-nU2wh00CTQT9rr1TIKTjdQ9lAGYpmz6XuKw0nAwAN+S2A5YiD55BK1u+E5WMCT8YOIDe/n6gaj4o/Bi9294SSQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.3.0.tgz", + "integrity": "sha512-f4o9eA3dgk0XRT3XhB0UWpWpLnKgrh1IwNJKJ7UJek7eTYccQ8LR7XUWFKqw6aEq5KUNlCcGvSzKqSX/vtWVVA==", "cpu": [ "arm64" ], @@ -4356,9 +4369,9 @@ } }, "node_modules/@parcel/watcher-darwin-arm64": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.2.0.tgz", - "integrity": "sha512-cJl0UZDcodciy3TDMomoK/Huxpjlkkim3SyMgWzjovHGOZKNce9guLz2dzuFwfObBFCjfznbFMIvAZ5syXotYw==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.3.0.tgz", + "integrity": "sha512-mKY+oijI4ahBMc/GygVGvEdOq0L4DxhYgwQqYAz/7yPzuGi79oXrZG52WdpGA1wLBPrYb0T8uBaGFo7I6rvSKw==", "cpu": [ "arm64" ], @@ -4375,9 +4388,9 @@ } }, "node_modules/@parcel/watcher-darwin-x64": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.2.0.tgz", - "integrity": "sha512-QI77zxaGrCV1StKcoRYfsUfmUmvPMPfQrubkBBy5XujV2fwaLgZivQOTQMBgp5K2+E19u1ufpspKXAPqSzpbyg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.3.0.tgz", + "integrity": "sha512-20oBj8LcEOnLE3mgpy6zuOq8AplPu9NcSSSfyVKgfOhNAc4eF4ob3ldj0xWjGGbOF7Dcy1Tvm6ytvgdjlfUeow==", "cpu": [ "x64" ], @@ -4393,10 +4406,29 @@ "url": "https://opencollective.com/parcel" } }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.3.0.tgz", + "integrity": "sha512-7LftKlaHunueAEiojhCn+Ef2CTXWsLgTl4hq0pkhkTBFI3ssj2bJXmH2L67mKpiAD5dz66JYk4zS66qzdnIOgw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, "node_modules/@parcel/watcher-linux-arm-glibc": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.2.0.tgz", - "integrity": "sha512-I2GPBcAXazPzabCmfsa3HRRW+MGlqxYd8g8RIueJU+a4o5nyNZDz0CR1cu0INT0QSQXEZV7w6UE8Hz9CF8u3Pg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.3.0.tgz", + "integrity": "sha512-1apPw5cD2xBv1XIHPUlq0cO6iAaEUQ3BcY0ysSyD9Kuyw4MoWm1DV+W9mneWI+1g6OeP6dhikiFE6BlU+AToTQ==", "cpu": [ "arm" ], @@ -4413,9 +4445,9 @@ } }, "node_modules/@parcel/watcher-linux-arm64-glibc": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.2.0.tgz", - "integrity": "sha512-St5mlfp+2lS9AmgixUqfwJa/DwVmTCJxC1HcOubUTz6YFOKIlkHCeUa1Bxi4E/tR/HSez8+heXHL8HQkJ4Bd8g==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.3.0.tgz", + "integrity": "sha512-mQ0gBSQEiq1k/MMkgcSB0Ic47UORZBmWoAWlMrTW6nbAGoLZP+h7AtUM7H3oDu34TBFFvjy4JCGP43JlylkTQA==", "cpu": [ "arm64" ], @@ -4432,9 +4464,9 @@ } }, "node_modules/@parcel/watcher-linux-arm64-musl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.2.0.tgz", - "integrity": "sha512-jS+qfhhoOBVWwMLP65MaG8xdInMK30pPW8wqTCg2AAuVJh5xepMbzkhHJ4zURqHiyY3EiIRuYu4ONJKCxt8iqA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.3.0.tgz", + "integrity": "sha512-LXZAExpepJew0Gp8ZkJ+xDZaTQjLHv48h0p0Vw2VMFQ8A+RKrAvpFuPVCVwKJCr5SE+zvaG+Etg56qXvTDIedw==", "cpu": [ "arm64" ], @@ -4451,9 +4483,9 @@ } }, "node_modules/@parcel/watcher-linux-x64-glibc": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.2.0.tgz", - "integrity": "sha512-xJvJ7R2wJdi47WZBFS691RDOWvP1j/IAs3EXaWVhDI8FFITbWrWaln7KoNcR0Y3T+ZwimFY/cfb0PNht1q895g==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.3.0.tgz", + "integrity": "sha512-P7Wo91lKSeSgMTtG7CnBS6WrA5otr1K7shhSjKHNePVmfBHDoAOHYRXgUmhiNfbcGk0uMCHVcdbfxtuiZCHVow==", "cpu": [ "x64" ], @@ -4470,9 +4502,9 @@ } }, "node_modules/@parcel/watcher-linux-x64-musl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.2.0.tgz", - "integrity": "sha512-D+NMpgr23a+RI5mu8ZPKWy7AqjBOkURFDgP5iIXXEf/K3hm0jJ3ogzi0Ed2237B/CdYREimCgXyeiAlE/FtwyA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.3.0.tgz", + "integrity": "sha512-+kiRE1JIq8QdxzwoYY+wzBs9YbJ34guBweTK8nlzLKimn5EQ2b2FSC+tAOpq302BuIMjyuUGvBiUhEcLIGMQ5g==", "cpu": [ "x64" ], @@ -4489,9 +4521,9 @@ } }, "node_modules/@parcel/watcher-win32-arm64": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.2.0.tgz", - "integrity": "sha512-z225cPn3aygJsyVUOWwfyW+fY0Tvk7N3XCOl66qUPFxpbuXeZuiuuJemmtm8vxyqa3Ur7peU/qJxrpC64aeI7Q==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.3.0.tgz", + "integrity": "sha512-35gXCnaz1AqIXpG42evcoP2+sNL62gZTMZne3IackM+6QlfMcJLy3DrjuL6Iks7Czpd3j4xRBzez3ADCj1l7Aw==", "cpu": [ "arm64" ], @@ -4507,10 +4539,29 @@ "url": "https://opencollective.com/parcel" } }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.3.0.tgz", + "integrity": "sha512-FJS/IBQHhRpZ6PiCjFt1UAcPr0YmCLHRbTc00IBTrelEjlmmgIVLeOx4MSXzx2HFEy5Jo5YdhGpxCuqCyDJ5ow==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, "node_modules/@parcel/watcher-win32-x64": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.2.0.tgz", - "integrity": "sha512-JqGW0RJ61BkKx+yYzIURt9s53P7xMVbv0uxYPzAXLBINGaFmkIKSuUPyBVfy8TMbvp93lvF4SPBNDzVRJfvgOw==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.3.0.tgz", + "integrity": "sha512-dLx+0XRdMnVI62kU3wbXvbIRhLck4aE28bIGKbRGS7BJNt54IIj9+c/Dkqb+7DJEbHUZAX1bwaoM8PqVlHJmCA==", "cpu": [ "x64" ], @@ -4550,20 +4601,20 @@ } }, "node_modules/@percy/cli": { - "version": "1.26.3", - "resolved": "https://registry.npmjs.org/@percy/cli/-/cli-1.26.3.tgz", - "integrity": "sha512-nhf8sP60pHCP+4S50bd1Vd0EkHeAXdh/lffek+wk732ItPlmhPZZ4gKzU1/oiC0xTVUFYw844Hmbw6hlRHZi4A==", + "version": "1.27.4", + "resolved": "https://registry.npmjs.org/@percy/cli/-/cli-1.27.4.tgz", + "integrity": "sha512-eIM44ejCMFc/S2W7X0htV+lvvmf63x5CaBpsSoQ9LRc/W02zHVAwQYdFFUowZEK6G1EwJEPIUnDxuuEx9PLG5A==", "dev": true, "dependencies": { - "@percy/cli-app": "1.26.3", - "@percy/cli-build": "1.26.3", - "@percy/cli-command": "1.26.3", - "@percy/cli-config": "1.26.3", - "@percy/cli-exec": "1.26.3", - "@percy/cli-snapshot": "1.26.3", - "@percy/cli-upload": "1.26.3", - "@percy/client": "1.26.3", - "@percy/logger": "1.26.3" + "@percy/cli-app": "1.27.4", + "@percy/cli-build": "1.27.4", + "@percy/cli-command": "1.27.4", + "@percy/cli-config": "1.27.4", + "@percy/cli-exec": "1.27.4", + "@percy/cli-snapshot": "1.27.4", + "@percy/cli-upload": "1.27.4", + "@percy/client": "1.27.4", + "@percy/logger": "1.27.4" }, "bin": { "percy": "bin/run.cjs" @@ -4573,39 +4624,39 @@ } }, "node_modules/@percy/cli-app": { - "version": "1.26.3", - "resolved": "https://registry.npmjs.org/@percy/cli-app/-/cli-app-1.26.3.tgz", - "integrity": "sha512-+bHN0sXf0Q5FdXkgGKUBogSnvKytfx+lALMQ+4e+JTirSKrO4WbAnSOfvapAe1N/wMYMxhUY6z/iZsWhVDcWEg==", + "version": "1.27.4", + "resolved": "https://registry.npmjs.org/@percy/cli-app/-/cli-app-1.27.4.tgz", + "integrity": "sha512-av/s6K2QmQgq4SCQQ+3lmteNHeQtIpMeBjMfSgxs9zeBoPVOMx5hXrdsi6l7ChvOLXyYfzl/TbEuwrSDXiA8mw==", "dev": true, "dependencies": { - "@percy/cli-command": "1.26.3", - "@percy/cli-exec": "1.26.3" + "@percy/cli-command": "1.27.4", + "@percy/cli-exec": "1.27.4" }, "engines": { "node": ">=14" } }, "node_modules/@percy/cli-build": { - "version": "1.26.3", - "resolved": "https://registry.npmjs.org/@percy/cli-build/-/cli-build-1.26.3.tgz", - "integrity": "sha512-RwXrnT7j1yahtQXndyPCB0kTZ1rGmBCg6B2V/pysin+2AbGPc+CNjsqTpg7FXnSJ1QMnwhedMhJzbqrGgdKTZg==", + "version": "1.27.4", + "resolved": "https://registry.npmjs.org/@percy/cli-build/-/cli-build-1.27.4.tgz", + "integrity": "sha512-tzCAcV0sAw608Gr/Q6NtPvVkA8dnIehMzvEXNIN3WP9DkprOgu7MYuexN0fZXf4vSroDWYXT87pHYP8YrrnDag==", "dev": true, "dependencies": { - "@percy/cli-command": "1.26.3" + "@percy/cli-command": "1.27.4" }, "engines": { "node": ">=14" } }, "node_modules/@percy/cli-command": { - "version": "1.26.3", - "resolved": "https://registry.npmjs.org/@percy/cli-command/-/cli-command-1.26.3.tgz", - "integrity": "sha512-mIUgyO1q2XzDGt4IXxLbs0Qu54F0fvgl2j3o6C1WKHa90yLYDQ7SN/MY34n8iUem/tdNkBgk0Gzm4tODghzlNw==", + "version": "1.27.4", + "resolved": "https://registry.npmjs.org/@percy/cli-command/-/cli-command-1.27.4.tgz", + "integrity": "sha512-YDKeeOr1MvksDOnc2ZKQ/XuERGrWwzuT/vWZ9it8L+0SyPj28UbklDu0e9zBgPsSDfxJlIvsWXRuHNGHsweKXg==", "dev": true, "dependencies": { - "@percy/config": "1.26.3", - "@percy/core": "1.26.3", - "@percy/logger": "1.26.3" + "@percy/config": "1.27.4", + "@percy/core": "1.27.4", + "@percy/logger": "1.27.4" }, "bin": { "percy-cli-readme": "bin/readme.js" @@ -4615,24 +4666,24 @@ } }, "node_modules/@percy/cli-config": { - "version": "1.26.3", - "resolved": "https://registry.npmjs.org/@percy/cli-config/-/cli-config-1.26.3.tgz", - "integrity": "sha512-pyH7HBXZFqAqBS6a1ltPirJG1PMjiBazD4dgzfAldKFREjBubhsLg1oZz6yUsbCJdnnVri0IfeJoVXfJ8l5Crw==", + "version": "1.27.4", + "resolved": "https://registry.npmjs.org/@percy/cli-config/-/cli-config-1.27.4.tgz", + "integrity": "sha512-wFtQwPw4LEqpcZ6ac6WtejyGrvrrzzLdyvXNvsCPQLE47qXnXVXJ+E99k9KGcjavtUuPxrbWtX996Fz9Fb5hoQ==", "dev": true, "dependencies": { - "@percy/cli-command": "1.26.3" + "@percy/cli-command": "1.27.4" }, "engines": { "node": ">=14" } }, "node_modules/@percy/cli-exec": { - "version": "1.26.3", - "resolved": "https://registry.npmjs.org/@percy/cli-exec/-/cli-exec-1.26.3.tgz", - "integrity": "sha512-8LTJMXGdsW+abnF2WdcRD5/xu8DQnPHiMYUkUMHHFt5TePEoAhgI0vokFtqJhJ6ZGpAJida77HppE1ncFkRakA==", + "version": "1.27.4", + "resolved": "https://registry.npmjs.org/@percy/cli-exec/-/cli-exec-1.27.4.tgz", + "integrity": "sha512-aSDLvzXXdwJso+p5iI4iTOa7AYzgFdRoqY9ij/R5aAL9juNkvG5QatB1bkUNbJabKFe16t7iigt4eJnlS0R13A==", "dev": true, "dependencies": { - "@percy/cli-command": "1.26.3", + "@percy/cli-command": "1.27.4", "cross-spawn": "^7.0.3", "which": "^2.0.2" }, @@ -4641,12 +4692,12 @@ } }, "node_modules/@percy/cli-snapshot": { - "version": "1.26.3", - "resolved": "https://registry.npmjs.org/@percy/cli-snapshot/-/cli-snapshot-1.26.3.tgz", - "integrity": "sha512-UQgvcMdL/XBBUmmGeUUmyB8TWu67rcOa2H8JAAsqNMaPqnrrKhNY5LMA7JIyxxLqtCIEa2ve9K5mD2DlPeXw4g==", + "version": "1.27.4", + "resolved": "https://registry.npmjs.org/@percy/cli-snapshot/-/cli-snapshot-1.27.4.tgz", + "integrity": "sha512-dDT2UpeP6X5NcMdj3AKLhHGmnobwzlXsHa52C+ne3kg3HSZgaXH9OsNY866Xe7onvcsZxvnRKDYHmWW6kC3cKQ==", "dev": true, "dependencies": { - "@percy/cli-command": "1.26.3", + "@percy/cli-command": "1.27.4", "yaml": "^2.0.0" }, "engines": { @@ -4654,12 +4705,12 @@ } }, "node_modules/@percy/cli-upload": { - "version": "1.26.3", - "resolved": "https://registry.npmjs.org/@percy/cli-upload/-/cli-upload-1.26.3.tgz", - "integrity": "sha512-1J9A5LKxg4nCM+t1mt1UcNWGvoA+2z6wnNdPTOpOIr/NBcSdrVi37mAcKpCmkr8herLI8c1XfLVWK48GPpDB1Q==", + "version": "1.27.4", + "resolved": "https://registry.npmjs.org/@percy/cli-upload/-/cli-upload-1.27.4.tgz", + "integrity": "sha512-+4mcEOUydFubyMWVzQjPV79sL1Jar95SR7Yr7Vp4FBoE0iq0CbaHoJtyOWDfwvHYYp4rRjVMxpY0ha3jnmF0mA==", "dev": true, "dependencies": { - "@percy/cli-command": "1.26.3", + "@percy/cli-command": "1.27.4", "fast-glob": "^3.2.11", "image-size": "^1.0.0" }, @@ -4668,25 +4719,25 @@ } }, "node_modules/@percy/client": { - "version": "1.26.3", - "resolved": "https://registry.npmjs.org/@percy/client/-/client-1.26.3.tgz", - "integrity": "sha512-A1D5MPKiGjLVynHO1VIA62jigC+KM/STjNkxj+oOBtBrSVynO+WvpqJckNHya/xtKaGPgJKxEYfaEbjy/iw2Dg==", + "version": "1.27.4", + "resolved": "https://registry.npmjs.org/@percy/client/-/client-1.27.4.tgz", + "integrity": "sha512-1F8ulTJhfk4/Lgj1Cn0blaRd8vTRJDxahAGseTbfrnZ2PHsftPZ65/5nCHPtpdD/2CE8N5COBQscGTMQQO+hBA==", "dev": true, "dependencies": { - "@percy/env": "1.26.3", - "@percy/logger": "1.26.3" + "@percy/env": "1.27.4", + "@percy/logger": "1.27.4" }, "engines": { "node": ">=14" } }, "node_modules/@percy/config": { - "version": "1.26.3", - "resolved": "https://registry.npmjs.org/@percy/config/-/config-1.26.3.tgz", - "integrity": "sha512-f2echEEP4JDwX+PxDwmVLiuhp9mjkPTyLjkPltgAEllembqsB7NYgS6HXRT9h7welTPNEof2j5fQCk1nthvGfQ==", + "version": "1.27.4", + "resolved": "https://registry.npmjs.org/@percy/config/-/config-1.27.4.tgz", + "integrity": "sha512-mlgiOdzdSfUSx9FskVIjmbT/iHbTif0Ow5evZQJTT1W0xgHOBWDCZyhINdsqulSBw+K1PNhHsu1J0h2ijxF4uA==", "dev": true, "dependencies": { - "@percy/logger": "1.26.3", + "@percy/logger": "1.27.4", "ajv": "^8.6.2", "cosmiconfig": "^8.0.0", "yaml": "^2.0.0" @@ -4696,16 +4747,17 @@ } }, "node_modules/@percy/core": { - "version": "1.26.3", - "resolved": "https://registry.npmjs.org/@percy/core/-/core-1.26.3.tgz", - "integrity": "sha512-MtkcHEiG6CT5dOThYKXg8L7RVALCRYJjA2gP4O4qBg77FpTebHolHg04Z5IWQ3Uji5VYQCYiO5R0Bbose0G1/g==", + "version": "1.27.4", + "resolved": "https://registry.npmjs.org/@percy/core/-/core-1.27.4.tgz", + "integrity": "sha512-WdsA4zlPgXl9xj+a5WW2wA20iU6VTDmRq5sgsYNSuPzZfQB2I5Cecgvb55p86dhlUTbPJrC76daQKzDTGe0hfA==", "dev": true, "hasInstallScript": true, "dependencies": { - "@percy/client": "1.26.3", - "@percy/config": "1.26.3", - "@percy/dom": "1.26.3", - "@percy/logger": "1.26.3", + "@percy/client": "1.27.4", + "@percy/config": "1.27.4", + "@percy/dom": "1.27.4", + "@percy/logger": "1.27.4", + "@percy/webdriver-utils": "1.27.4", "content-disposition": "^0.5.4", "cross-spawn": "^7.0.3", "extract-zip": "^2.0.1", @@ -4721,32 +4773,54 @@ } }, "node_modules/@percy/dom": { - "version": "1.26.3", - "resolved": "https://registry.npmjs.org/@percy/dom/-/dom-1.26.3.tgz", - "integrity": "sha512-BlYBn6zbq2icx0mjIFKUFUdgZmoP3md11UXNfLGzaIeIxWXQ0gn+nJqEm8SKxdValJ59eOiL4Hq8tRV2M8y+Gw==", + "version": "1.27.4", + "resolved": "https://registry.npmjs.org/@percy/dom/-/dom-1.27.4.tgz", + "integrity": "sha512-pwPDx3e9y7uRobVlEya8xu3BB3GeXbC74kQ6pPM/wFYDwi/Dg8DJywCsj5Nko/7QuhXP02rYgatkbREOIRxDnA==", "dev": true }, "node_modules/@percy/env": { - "version": "1.26.3", - "resolved": "https://registry.npmjs.org/@percy/env/-/env-1.26.3.tgz", - "integrity": "sha512-8IIX2byb9Q8WZkVw9MfnwVh6GCebbTgfxffTjoE9yVpK7/1BAPJ0HVPF2WR3Y9xi/eJirnO70Y5J913OQ5hsIQ==", + "version": "1.27.4", + "resolved": "https://registry.npmjs.org/@percy/env/-/env-1.27.4.tgz", + "integrity": "sha512-Xl2VUpljOrlCvAp/+KfmN9NUcTGpRdXPa1U9zSIyBnV/oAksp3/CK5EPpKZX/f8xUUkTp78UPaG99sEMA8VvXQ==", "dev": true, "dependencies": { - "@percy/logger": "1.26.3" + "@percy/logger": "1.27.4" }, "engines": { "node": ">=14" } }, "node_modules/@percy/logger": { - "version": "1.26.3", - "resolved": "https://registry.npmjs.org/@percy/logger/-/logger-1.26.3.tgz", - "integrity": "sha512-a4GpCFnI0RrDwxLWYgJxIFFUUgrvu1EAWgP+147qsTZp9F7NTdkNUeVLZmtXXY8L0Znk7qyKJzX9McBJgl8kEA==", + "version": "1.27.4", + "resolved": "https://registry.npmjs.org/@percy/logger/-/logger-1.27.4.tgz", + "integrity": "sha512-AwXqYaDkHaq1TPkP+ByB8rjvH9ddvkAH9tFd2kmq8AeFFXZ0amAPSbm6u090OUtdHWjRmKQK9JjSouBxEh0aRw==", "dev": true, "engines": { "node": ">=14" } }, + "node_modules/@percy/sdk-utils": { + "version": "1.27.4", + "resolved": "https://registry.npmjs.org/@percy/sdk-utils/-/sdk-utils-1.27.4.tgz", + "integrity": "sha512-vhPcdtmJlvTYJ5VOqiVzo02ujdtBFNw1/Bj+2ybiZgn7PkCDPFcITfXoWWPea319EIibGC4ZHjWHctRBgtW/tQ==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@percy/webdriver-utils": { + "version": "1.27.4", + "resolved": "https://registry.npmjs.org/@percy/webdriver-utils/-/webdriver-utils-1.27.4.tgz", + "integrity": "sha512-pZOOYns8Fikh2qlbxO16DxFEnCrnFIoLpE7iz4M9jXxOfk16VZF1PWknMChSr5NqG2I9k2OMjizUE2j8zvtl2Q==", + "dev": true, + "dependencies": { + "@percy/config": "1.27.4", + "@percy/sdk-utils": "1.27.4" + }, + "engines": { + "node": ">=14" + } + }, "node_modules/@philpl/buble": { "version": "0.19.7", "resolved": "https://registry.npmjs.org/@philpl/buble/-/buble-0.19.7.tgz", @@ -4767,9 +4841,9 @@ } }, "node_modules/@pmmmwh/react-refresh-webpack-plugin": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.10.tgz", - "integrity": "sha512-j0Ya0hCFZPd4x40qLzbhGsh9TMtdb+CJQiso+WxLOPNasohq9cc5SNUcwsZaRH6++Xh91Xkm/xHCkuIiIu0LUA==", + "version": "0.5.11", + "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.11.tgz", + "integrity": "sha512-7j/6vdTym0+qZ6u4XbSAxrWBGYSdCfTzySkj7WAFgDLmSyWlOrWvpyzxlFh5jtw9dn0oL/jtW+06XfFiisN3JQ==", "dependencies": { "ansi-html-community": "^0.0.8", "common-path-prefix": "^3.0.0", @@ -4788,7 +4862,7 @@ "@types/webpack": "4.x || 5.x", "react-refresh": ">=0.10.0 <1.0.0", "sockjs-client": "^1.4.0", - "type-fest": ">=0.17.0 <4.0.0", + "type-fest": ">=0.17.0 <5.0.0", "webpack": ">=4.43.0 <6.0.0", "webpack-dev-server": "3.x || 4.x", "webpack-hot-middleware": "2.x", @@ -4829,9 +4903,9 @@ } }, "node_modules/@polka/url": { - "version": "1.0.0-next.21", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", - "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==", + "version": "1.0.0-next.23", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.23.tgz", + "integrity": "sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==", "dev": true }, "node_modules/@prisma/client": { @@ -4951,10 +5025,11 @@ } }, "node_modules/@swc/helpers": { - "version": "0.4.14", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz", - "integrity": "sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==", + "version": "0.4.36", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.36.tgz", + "integrity": "sha512-5lxnyLEYFskErRPenYItLRSge5DjrJngYKdVjRSrWfza9G6KkgHEXi0vUZiyUeMU5JfXH1YnvXZzSp8ul88o2Q==", "dependencies": { + "legacy-swc-helpers": "npm:@swc/helpers@=0.4.14", "tslib": "^2.4.0" } }, @@ -5010,14 +5085,14 @@ } }, "node_modules/@types/common-tags": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@types/common-tags/-/common-tags-1.8.1.tgz", - "integrity": "sha512-20R/mDpKSPWdJs5TOpz3e7zqbeCNuMCPhV7Yndk9KU2Rbij2r5W4RzwDPkzC+2lzUqXYu9rFzTktCBnDjHuNQg==" + "version": "1.8.4", + "resolved": "https://registry.npmjs.org/@types/common-tags/-/common-tags-1.8.4.tgz", + "integrity": "sha512-S+1hLDJPjWNDhcGxsxEbepzaxWqURP/o+3cP4aa2w7yBXgdcmKGQtZzP8JbyfOd0m+33nh+8+kvxYE2UJtBDkg==" }, "node_modules/@types/component-emitter": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.11.tgz", - "integrity": "sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ==" + "version": "1.2.14", + "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.14.tgz", + "integrity": "sha512-lmPil1g82wwWg/qHSxMWkSKyJGQOK+ejXeMAAWyxNtVUD0/Ycj2maL63RAqpxVfdtvTfZkRnqzB0A9ft59y69g==" }, "node_modules/@types/configstore": { "version": "2.1.1", @@ -5030,9 +5105,9 @@ "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" }, "node_modules/@types/cors": { - "version": "2.8.13", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.13.tgz", - "integrity": "sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==", + "version": "2.8.17", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.17.tgz", + "integrity": "sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==", "dependencies": { "@types/node": "*" } @@ -5052,18 +5127,18 @@ } }, "node_modules/@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", "dependencies": { "@types/eslint": "*", "@types/estree": "*" } }, "node_modules/@types/estree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", - "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==" + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" }, "node_modules/@types/get-port": { "version": "3.2.0", @@ -5080,17 +5155,17 @@ } }, "node_modules/@types/hast": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.5.tgz", - "integrity": "sha512-SvQi0L/lNpThgPoleH53cdjB3y9zpLlVjRbqB3rH8hx1jiRSBGAhyjV3H+URFjNVRqt2EdYNrbZE5IsGlNfpRg==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.8.tgz", + "integrity": "sha512-aMIqAlFd2wTIDZuvLbhUT+TGvMxrNC8ECUIVtH6xxy0sQLs3iu6NO8Kp/VT5je7i5ufnebXzdV1dNDMnvaH6IQ==", "dependencies": { "@types/unist": "^2" } }, "node_modules/@types/hoist-non-react-statics": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", - "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==", + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz", + "integrity": "sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==", "dev": true, "dependencies": { "@types/react": "*", @@ -5098,22 +5173,22 @@ } }, "node_modules/@types/http-cache-semantics": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", - "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==" + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", + "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==" }, "node_modules/@types/http-proxy": { - "version": "1.17.11", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.11.tgz", - "integrity": "sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==", + "version": "1.17.14", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz", + "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" }, "node_modules/@types/json5": { "version": "0.0.29", @@ -5129,14 +5204,14 @@ } }, "node_modules/@types/lodash": { - "version": "4.14.196", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.196.tgz", - "integrity": "sha512-22y3o88f4a94mKljsZcanlNWPzO0uBsBdzLAngf2tp533LzZcQzb6+eZPJ+vCTt+bqF2XnvT9gejTLsAcJAJyQ==" + "version": "4.14.202", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.202.tgz", + "integrity": "sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==" }, "node_modules/@types/mdast": { - "version": "3.0.12", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.12.tgz", - "integrity": "sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg==", + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.15.tgz", + "integrity": "sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==", "dependencies": { "@types/unist": "^2" } @@ -5147,9 +5222,9 @@ "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==" }, "node_modules/@types/minimist": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", - "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==" + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==" }, "node_modules/@types/mkdirp": { "version": "0.5.2", @@ -5165,23 +5240,23 @@ "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==" }, "node_modules/@types/node-fetch": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.4.tgz", - "integrity": "sha512-1ZX9fcN4Rvkvgv4E6PAY5WXUFWFcRWxZa3EW83UjycOB9ljJCedb2CupIP4RZMEwF/M3eTcCihbBRgwtGbg5Rg==", + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.9.tgz", + "integrity": "sha512-bQVlnMLFJ2d35DkPNjEPmd9ueO/rh5EiaZt2bhqiSarPjZIuIV6bPQVqcrEyvNo+AfTrRGVazle1tl597w3gfA==", "dependencies": { "@types/node": "*", - "form-data": "^3.0.0" + "form-data": "^4.0.0" } }, "node_modules/@types/normalize-package-data": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", - "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==" + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==" }, "node_modules/@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==" }, "node_modules/@types/parse5": { "version": "5.0.3", @@ -5189,19 +5264,19 @@ "integrity": "sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==" }, "node_modules/@types/prop-types": { - "version": "15.7.5", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + "version": "15.7.11", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", + "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==" }, "node_modules/@types/q": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", - "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==" + "version": "1.5.8", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.8.tgz", + "integrity": "sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==" }, "node_modules/@types/reach__router": { - "version": "1.3.11", - "resolved": "https://registry.npmjs.org/@types/reach__router/-/reach__router-1.3.11.tgz", - "integrity": "sha512-j23ChnIEiW8aAP4KT8OVyTXOFr+Ri65BDnwzmfHFO9WHypXYevHFjeil1Cj7YH3emfCE924BwAmgW4hOv7Wg3g==", + "version": "1.3.14", + "resolved": "https://registry.npmjs.org/@types/reach__router/-/reach__router-1.3.14.tgz", + "integrity": "sha512-2iOQZbwfw1ZYwYK+dRp7D1b8kU6GlFPJ/iEt33zDYxfId5CAKT7vX3lN/XmJ+FaMZ3FyB99tPgfajcmZnTqdtg==", "dependencies": { "@types/react": "*" } @@ -5226,9 +5301,9 @@ } }, "node_modules/@types/react-instantsearch-core": { - "version": "6.26.3", - "resolved": "https://registry.npmjs.org/@types/react-instantsearch-core/-/react-instantsearch-core-6.26.3.tgz", - "integrity": "sha512-dBq/K1NQFBgLmCdiLYaC15KjXdjZk8UTQBhumSg+fAHgpW3ai5fu5BbzAKzSCkqYwbgqvhCQ1EZ9PLvPvOfqwQ==", + "version": "6.26.8", + "resolved": "https://registry.npmjs.org/@types/react-instantsearch-core/-/react-instantsearch-core-6.26.8.tgz", + "integrity": "sha512-XjsnIaafuT3AnnpFhriv3vt9rGytIVv7+1bHEu185VRjbF0pN5znM4ggRCY8JmTDRPvGWe01qSV48oUW37apGQ==", "dev": true, "dependencies": { "@types/react": "*", @@ -5247,17 +5322,17 @@ } }, "node_modules/@types/react-transition-group": { - "version": "4.4.6", - "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.6.tgz", - "integrity": "sha512-VnCdSxfcm08KjsJVQcfBmhEQAPnLB8G08hAxn39azX1qYBQ/5RVQuoHuKIcfKOdncuaUvEpFKFzEvbtIMsfVew==", + "version": "4.4.9", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.9.tgz", + "integrity": "sha512-ZVNmWumUIh5NhH8aMD9CR2hdW0fNuYInlocZHaZ+dgk/1K49j1w/HoAuK1ki+pgscQrOFRTlXeoURtuzEkV3dg==", "dependencies": { "@types/react": "*" } }, "node_modules/@types/responselike": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", - "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.3.tgz", + "integrity": "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==", "dependencies": { "@types/node": "*" } @@ -5272,17 +5347,17 @@ } }, "node_modules/@types/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-pSAff4IAxJjfAXUG6tFkO7dsSbTmf8CtUpfhhZ5VhkRpC4628tJhh3+V6H1E+/Gs9piSzYKT5yzHO5M4GG9jkw==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz", + "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/scheduler": { - "version": "0.16.3", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", - "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", + "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==" }, "node_modules/@types/sharp": { "version": "0.30.5", @@ -5309,9 +5384,9 @@ "integrity": "sha512-gVC1InwyVrO326wbBZw+AO3u2vRXz/iRWq9jYhpG4W8LXyIgDv3ZmcLQ5Q4Gs+gFMyqx+viFoFT+l3p61QFCmQ==" }, "node_modules/@types/unist": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.7.tgz", - "integrity": "sha512-cputDpIbFgLUaGQn6Vqg3/YsJwxUwHLO13v3i5ouxT4lat0khip9AEWxtERujXV9wxIB1EyF97BSJFt6vpdI8g==" + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" }, "node_modules/@types/vfile": { "version": "3.0.2", @@ -5333,9 +5408,9 @@ } }, "node_modules/@types/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", + "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", "dev": true, "optional": true, "dependencies": { @@ -5763,9 +5838,9 @@ } }, "node_modules/acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.0.tgz", + "integrity": "sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==", "dev": true, "engines": { "node": ">=0.4.0" @@ -5840,9 +5915,9 @@ } }, "node_modules/algoliasearch-helper": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.14.0.tgz", - "integrity": "sha512-gXDXzsSS0YANn5dHr71CUXOo84cN4azhHKUbg71vAWnH+1JBiR4jf7to3t3JHXknXkbV0F7f055vUSBKrltHLQ==", + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.15.0.tgz", + "integrity": "sha512-DGUnK3TGtDQsaUE4ayF/LjSN0DGsuYThB8WBgnnDY0Wq04K6lNVruO3LfqJOgSfDiezp+Iyt8Tj4YKHi+/ivSA==", "dependencies": { "@algolia/events": "^4.0.1" }, @@ -6004,14 +6079,14 @@ "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" }, "node_modules/array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", + "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", "is-string": "^1.0.7" }, "engines": { @@ -6039,15 +6114,15 @@ } }, "node_modules/array.prototype.findlastindex": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.2.tgz", - "integrity": "sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz", + "integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" + "get-intrinsic": "^1.2.1" }, "engines": { "node": ">= 0.4" @@ -6057,13 +6132,13 @@ } }, "node_modules/array.prototype.flat": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "es-shim-unscopables": "^1.0.0" }, "engines": { @@ -6074,13 +6149,13 @@ } }, "node_modules/array.prototype.flatmap": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "es-shim-unscopables": "^1.0.0" }, "engines": { @@ -6091,13 +6166,13 @@ } }, "node_modules/array.prototype.reduce": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.5.tgz", - "integrity": "sha512-kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz", + "integrity": "sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "es-array-method-boxes-properly": "^1.0.0", "is-string": "^1.0.7" }, @@ -6109,25 +6184,26 @@ } }, "node_modules/array.prototype.tosorted": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", - "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz", + "integrity": "sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" + "get-intrinsic": "^1.2.1" } }, "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz", - "integrity": "sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", + "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", "dependencies": { "array-buffer-byte-length": "^1.0.0", "call-bind": "^1.0.2", "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "get-intrinsic": "^1.2.1", "is-array-buffer": "^3.0.2", "is-shared-array-buffer": "^1.0.2" @@ -6153,9 +6229,9 @@ "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" }, "node_modules/ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==" + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==" }, "node_modules/astral-regex": { "version": "2.0.0", @@ -6193,6 +6269,14 @@ "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==" }, + "node_modules/asynciterator.prototype": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", + "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", + "dependencies": { + "has-symbols": "^1.0.3" + } + }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -6218,9 +6302,9 @@ } }, "node_modules/autoprefixer": { - "version": "10.4.14", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz", - "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==", + "version": "10.4.16", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz", + "integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==", "funding": [ { "type": "opencollective", @@ -6229,12 +6313,16 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { - "browserslist": "^4.21.5", - "caniuse-lite": "^1.0.30001464", - "fraction.js": "^4.2.0", + "browserslist": "^4.21.10", + "caniuse-lite": "^1.0.30001538", + "fraction.js": "^4.3.6", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", "postcss-value-parser": "^4.2.0" @@ -6261,9 +6349,9 @@ } }, "node_modules/axe-core": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.2.tgz", - "integrity": "sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.0.tgz", + "integrity": "sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==", "engines": { "node": ">=4" } @@ -6483,12 +6571,12 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.5.tgz", - "integrity": "sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==", + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz", + "integrity": "sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==", "dependencies": { "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.4.2", + "@babel/helper-define-polyfill-provider": "^0.4.3", "semver": "^6.3.1" }, "peerDependencies": { @@ -6496,23 +6584,23 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.3.tgz", - "integrity": "sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA==", + "version": "0.8.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.6.tgz", + "integrity": "sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ==", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.2", - "core-js-compat": "^3.31.0" + "@babel/helper-define-polyfill-provider": "^0.4.3", + "core-js-compat": "^3.33.1" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.2.tgz", - "integrity": "sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==", + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz", + "integrity": "sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.2" + "@babel/helper-define-polyfill-provider": "^0.4.3" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -6917,9 +7005,9 @@ } }, "node_modules/browserslist": { - "version": "4.21.10", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", - "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", + "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", "funding": [ { "type": "opencollective", @@ -6935,10 +7023,10 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001517", - "electron-to-chromium": "^1.4.477", + "caniuse-lite": "^1.0.30001541", + "electron-to-chromium": "^1.4.535", "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.11" + "update-browserslist-db": "^1.0.13" }, "bin": { "browserslist": "cli.js" @@ -7070,12 +7158,13 @@ } }, "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -7169,9 +7258,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001519", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001519.tgz", - "integrity": "sha512-0QHgqR+Jv4bxHMp8kZ1Kn8CH55OikjKJ6JmKkZYP1F3D7w+lnFXF70nG5eNfsZS89jadi5Ywy5UCSKLAglIRkg==", + "version": "1.0.30001565", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001565.tgz", + "integrity": "sha512-xrE//a3O7TP0vaJ8ikzkD2c2NgcVUvsEe2IvFTntV4Yd1Z9FVzh+gW+enX96L0psrbaFMcVcH2l90xNuGDWc8w==", "funding": [ { "type": "opencollective", @@ -7631,6 +7720,17 @@ "node": ">=6" } }, + "node_modules/clone-deep/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/clone-response": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", @@ -7785,9 +7885,12 @@ "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" }, "node_modules/component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", + "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/compressible": { "version": "2.0.18", @@ -7913,9 +8016,9 @@ } }, "node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" }, "node_modules/cookie": { "version": "0.4.2", @@ -7939,9 +8042,9 @@ } }, "node_modules/core-js": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.32.0.tgz", - "integrity": "sha512-rd4rYZNlF3WuoYuRIDEmbR/ga9CeuWX9U05umAvgrrZoHY4Z++cp/xwPQMvUpBB4Ag6J8KfD80G0zwCyaSxDww==", + "version": "3.33.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.33.3.tgz", + "integrity": "sha512-lo0kOocUlLKmm6kv/FswQL8zbkH7mVsLJ/FULClOhv8WRVmKLVcs6XPNQAzstfeJTCHMyButEwG+z1kHxHoDZw==", "hasInstallScript": true, "funding": { "type": "opencollective", @@ -7949,11 +8052,11 @@ } }, "node_modules/core-js-compat": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.32.0.tgz", - "integrity": "sha512-7a9a3D1k4UCVKnLhrgALyFcP7YCsLOQIxPd0dKjf/6GuPcgyiGP70ewWdCGrSK7evyhymi0qO4EqCmSJofDeYw==", + "version": "3.33.3", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.3.tgz", + "integrity": "sha512-cNzGqFsh3Ot+529GIXacjTJ7kegdt5fPXxCBVS1G0iaZpuo/tBz399ymceLJveQhFFZ8qThHiP3fzuoQjKN2ow==", "dependencies": { - "browserslist": "^4.21.9" + "browserslist": "^4.22.1" }, "funding": { "type": "opencollective", @@ -7961,9 +8064,9 @@ } }, "node_modules/core-js-pure": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.32.0.tgz", - "integrity": "sha512-qsev1H+dTNYpDUEURRuOXMvpdtAnNEvQWS/FMJ2Vb5AY8ZP4rAPQldkE27joykZPJTe0+IVgHZYh1P5Xu1/i1g==", + "version": "3.33.3", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.33.3.tgz", + "integrity": "sha512-taJ00IDOP+XYQEA2dAe4ESkmHt1fL8wzYDo3mRWQey8uO9UojlBFMneA65kMyxfYP7106c6LzWaq7/haDT6BCQ==", "hasInstallScript": true, "funding": { "type": "opencollective", @@ -7988,14 +8091,14 @@ } }, "node_modules/cosmiconfig": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.2.0.tgz", - "integrity": "sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ==", + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", "dev": true, "dependencies": { - "import-fresh": "^3.2.1", + "import-fresh": "^3.3.0", "js-yaml": "^4.1.0", - "parse-json": "^5.0.0", + "parse-json": "^5.2.0", "path-type": "^4.0.0" }, "engines": { @@ -8003,6 +8106,14 @@ }, "funding": { "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, "node_modules/create-gatsby": { @@ -8404,6 +8515,12 @@ "url": "https://opencollective.com/date-fns" } }, + "node_modules/debounce": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", + "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", + "dev": true + }, "node_modules/debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -8513,6 +8630,19 @@ "node": ">=10" } }, + "node_modules/define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/define-lazy-prop": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", @@ -8522,10 +8652,11 @@ } }, "node_modules/define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "dependencies": { + "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", "object-keys": "^1.1.1" }, @@ -8860,9 +8991,9 @@ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "node_modules/electron-to-chromium": { - "version": "1.4.485", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.485.tgz", - "integrity": "sha512-1ndQ5IBNEnFirPwvyud69GHL+31FkE09gH/CJ6m3KCbkx3i0EVOrjwz4UNxRmN9H8OVHbC6vMRZGN1yCvjSs9w==" + "version": "1.4.594", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.594.tgz", + "integrity": "sha512-xT1HVAu5xFn7bDfkjGQi9dNpMqGchUkebwf1GL7cZN32NSwwlHRPMSDJ1KN6HkS0bWUtndbSQZqvpQftKG2uFQ==" }, "node_modules/emoji-regex": { "version": "9.2.2", @@ -9014,9 +9145,9 @@ } }, "node_modules/envinfo": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", - "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==", + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.11.0.tgz", + "integrity": "sha512-G9/6xF1FPbIw0TtalAMaVPpiq2aDEuKLXM314jPVAO9r2fo2a4BLqMNkmRS7O/xPPZ+COAhGIz3ETvHEV3eUcg==", "bin": { "envinfo": "dist/cli.js" }, @@ -9046,25 +9177,25 @@ } }, "node_modules/es-abstract": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", - "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", + "version": "1.22.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", + "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", "dependencies": { "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.2", "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", + "call-bind": "^1.0.5", "es-set-tostringtag": "^2.0.1", "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.2", "get-symbol-description": "^1.0.0", "globalthis": "^1.0.3", "gopd": "^1.0.1", - "has": "^1.0.3", "has-property-descriptors": "^1.0.0", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", + "hasown": "^2.0.0", "internal-slot": "^1.0.5", "is-array-buffer": "^3.0.2", "is-callable": "^1.2.7", @@ -9072,23 +9203,23 @@ "is-regex": "^1.1.4", "is-shared-array-buffer": "^1.0.2", "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", + "is-typed-array": "^1.1.12", "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", + "object-inspect": "^1.13.1", "object-keys": "^1.1.1", "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.0", - "safe-array-concat": "^1.0.0", + "regexp.prototype.flags": "^1.5.1", + "safe-array-concat": "^1.0.1", "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", "typed-array-buffer": "^1.0.0", "typed-array-byte-length": "^1.0.0", "typed-array-byte-offset": "^1.0.0", "typed-array-length": "^1.0.4", "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.10" + "which-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" @@ -9102,30 +9233,51 @@ "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" }, + "node_modules/es-iterator-helpers": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz", + "integrity": "sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==", + "dependencies": { + "asynciterator.prototype": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.1", + "es-set-tostringtag": "^2.0.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.2.1", + "globalthis": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "iterator.prototype": "^1.1.2", + "safe-array-concat": "^1.0.1" + } + }, "node_modules/es-module-lexer": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", - "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==" + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", + "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==" }, "node_modules/es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", + "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" + "get-intrinsic": "^1.2.2", + "has-tostringtag": "^1.0.0", + "hasown": "^2.0.0" }, "engines": { "node": ">= 0.4" } }, "node_modules/es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", "dependencies": { - "has": "^1.0.3" + "hasown": "^2.0.0" } }, "node_modules/es-to-primitive": { @@ -9311,13 +9463,13 @@ } }, "node_modules/eslint-import-resolver-node": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", - "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", "dependencies": { "debug": "^3.2.7", - "is-core-module": "^2.11.0", - "resolve": "^1.22.1" + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" } }, "node_modules/eslint-import-resolver-node/node_modules/debug": { @@ -9368,26 +9520,25 @@ } }, "node_modules/eslint-plugin-import": { - "version": "2.28.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.0.tgz", - "integrity": "sha512-B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q==", + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.0.tgz", + "integrity": "sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==", "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.findlastindex": "^1.2.2", - "array.prototype.flat": "^1.3.1", - "array.prototype.flatmap": "^1.3.1", + "array-includes": "^3.1.7", + "array.prototype.findlastindex": "^1.2.3", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", "debug": "^3.2.7", "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.7", + "eslint-import-resolver-node": "^0.3.9", "eslint-module-utils": "^2.8.0", - "has": "^1.0.3", - "is-core-module": "^2.12.1", + "hasown": "^2.0.0", + "is-core-module": "^2.13.1", "is-glob": "^4.0.3", "minimatch": "^3.1.2", - "object.fromentries": "^2.0.6", - "object.groupby": "^1.0.0", - "object.values": "^1.1.6", - "resolve": "^1.22.3", + "object.fromentries": "^2.0.7", + "object.groupby": "^1.0.1", + "object.values": "^1.1.7", "semver": "^6.3.1", "tsconfig-paths": "^3.14.2" }, @@ -9417,43 +9568,27 @@ "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-import/node_modules/resolve": { - "version": "1.22.3", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.3.tgz", - "integrity": "sha512-P8ur/gp/AmbEzjr729bZnLjXK5Z+4P0zhIJgBgzqRih7hL7BOukHGtSTA3ACMY467GRFz3duQsi0bDZdR7DKdw==", - "dependencies": { - "is-core-module": "^2.12.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", - "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==", - "dependencies": { - "@babel/runtime": "^7.20.7", - "aria-query": "^5.1.3", - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "ast-types-flow": "^0.0.7", - "axe-core": "^4.6.2", - "axobject-query": "^3.1.1", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.8.0.tgz", + "integrity": "sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==", + "dependencies": { + "@babel/runtime": "^7.23.2", + "aria-query": "^5.3.0", + "array-includes": "^3.1.7", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "=4.7.0", + "axobject-query": "^3.2.1", "damerau-levenshtein": "^1.0.8", "emoji-regex": "^9.2.2", - "has": "^1.0.3", - "jsx-ast-utils": "^3.3.3", - "language-tags": "=1.0.5", + "es-iterator-helpers": "^1.0.15", + "hasown": "^2.0.0", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "semver": "^6.3.0" + "object.entries": "^1.1.7", + "object.fromentries": "^2.0.7" }, "engines": { "node": ">=4.0" @@ -9463,14 +9598,15 @@ } }, "node_modules/eslint-plugin-react": { - "version": "7.33.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.1.tgz", - "integrity": "sha512-L093k0WAMvr6VhNwReB8VgOq5s2LesZmrpPdKz/kZElQDzqS7G7+DnKoqT+w4JwuiGeAhAvHO0fvy0Eyk4ejDA==", + "version": "7.33.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", + "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", "dependencies": { "array-includes": "^3.1.6", "array.prototype.flatmap": "^1.3.1", "array.prototype.tosorted": "^1.1.1", "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.0.12", "estraverse": "^5.3.0", "jsx-ast-utils": "^2.4.1 || ^3.0.0", "minimatch": "^3.1.2", @@ -9528,11 +9664,11 @@ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", - "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", "dependencies": { - "is-core-module": "^2.9.0", + "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, @@ -9757,9 +9893,9 @@ } }, "node_modules/eslint/node_modules/globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", "dependencies": { "type-fest": "^0.20.2" }, @@ -10257,9 +10393,9 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "node_modules/fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -10515,12 +10651,21 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "bin": { + "flat": "cli.js" + } + }, "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", "dependencies": { - "flatted": "^3.1.0", + "flatted": "^3.2.9", + "keyv": "^4.5.3", "rimraf": "^3.0.2" }, "engines": { @@ -10528,14 +10673,14 @@ } }, "node_modules/flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==" }, "node_modules/follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", + "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", "funding": [ { "type": "individual", @@ -10782,9 +10927,9 @@ } }, "node_modules/form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -10803,15 +10948,15 @@ } }, "node_modules/fraction.js": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", - "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", "engines": { "node": "*" }, "funding": { "type": "patreon", - "url": "https://www.patreon.com/infusion" + "url": "https://github.com/sponsors/rawify" } }, "node_modules/fresh": { @@ -10846,9 +10991,9 @@ } }, "node_modules/fs-monkey": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.4.tgz", - "integrity": "sha512-INM/fWAxMICjttnD0DX1rBvinKskj5G1w+oy/pnm9u/tSlnBrzFonJMcalKJ30P8RRsPzKcCG7Q8l0jx5Fh9YQ==" + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", + "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==" }, "node_modules/fs.realpath": { "version": "1.0.0", @@ -10856,9 +11001,9 @@ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "hasInstallScript": true, "optional": true, "os": [ @@ -10869,19 +11014,22 @@ } }, "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" }, "engines": { "node": ">= 0.4" @@ -11889,9 +12037,9 @@ } }, "node_modules/gatsby-plugin-sharp/node_modules/async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==" }, "node_modules/gatsby-plugin-sharp/node_modules/lru-cache": { "version": "6.0.0", @@ -12035,16 +12183,16 @@ } }, "node_modules/gatsby-plugin-webpack-bundle-analyser-v2": { - "version": "1.1.31", - "resolved": "https://registry.npmjs.org/gatsby-plugin-webpack-bundle-analyser-v2/-/gatsby-plugin-webpack-bundle-analyser-v2-1.1.31.tgz", - "integrity": "sha512-EtfbY0r6KonivfiU3u4I/PP1THCfOcyEiVISTKtJHgAQjM9xc9cwjfGXGotaYIWDtwUkYPkJVIwsmGpen0rh4Q==", + "version": "1.1.32", + "resolved": "https://registry.npmjs.org/gatsby-plugin-webpack-bundle-analyser-v2/-/gatsby-plugin-webpack-bundle-analyser-v2-1.1.32.tgz", + "integrity": "sha512-w6OJAR3CTyiKEKKD5tYu3J56YiQOW/8Sl2GPWmoiwzHIhZGjTOG+NbgkhboAK3+g2vgBlGTUmqgTAiJZWN7E/g==", "dev": true, "dependencies": { - "@babel/runtime": "^7.21.5", - "webpack-bundle-analyzer": "^4.8.0" + "@babel/runtime": "^7.23.2", + "webpack-bundle-analyzer": "^4.10.1" }, "peerDependencies": { - "gatsby": "^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0" + "gatsby": "^4.0.0 || ^5.0.0" } }, "node_modules/gatsby-react-router-scroll": { @@ -12783,14 +12931,14 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", + "function-bind": "^1.1.2", "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -13149,17 +13297,6 @@ "node": ">=6" } }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, "node_modules/has-bigints": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", @@ -13182,11 +13319,11 @@ } }, "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", "dependencies": { - "get-intrinsic": "^1.1.1" + "get-intrinsic": "^1.2.2" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -13259,6 +13396,17 @@ "node": ">=8" } }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/hast-to-hyperscript": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz", @@ -13472,6 +13620,12 @@ } ] }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, "node_modules/html-void-elements": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.5.tgz", @@ -13596,9 +13750,9 @@ ] }, "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", + "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", "engines": { "node": ">= 4" } @@ -13821,12 +13975,12 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", + "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", "dependencies": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", + "get-intrinsic": "^1.2.2", + "hasown": "^2.0.0", "side-channel": "^1.0.4" }, "engines": { @@ -13929,6 +14083,20 @@ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" }, + "node_modules/is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-bigint": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", @@ -14011,11 +14179,11 @@ } }, "node_modules/is-core-module": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", - "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", "dependencies": { - "has": "^1.0.3" + "hasown": "^2.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -14074,6 +14242,17 @@ "node": ">=0.10.0" } }, + "node_modules/is-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -14082,6 +14261,20 @@ "node": ">=8" } }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", @@ -14155,6 +14348,14 @@ "tslib": "^2.0.3" } }, + "node_modules/is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-negative-zero": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", @@ -14224,12 +14425,10 @@ } }, "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dependencies": { - "isobject": "^3.0.1" - }, + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -14301,6 +14500,14 @@ "node": ">=6" } }, + "node_modules/is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-shared-array-buffer": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", @@ -14416,6 +14623,14 @@ "node": ">=0.10.0" } }, + "node_modules/is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-weakref": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", @@ -14427,6 +14642,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-whitespace-character": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz", @@ -14487,6 +14714,18 @@ "node": ">=0.10.0" } }, + "node_modules/iterator.prototype": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", + "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", + "dependencies": { + "define-properties": "^1.2.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" + } + }, "node_modules/jest-worker": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", @@ -14525,9 +14764,9 @@ "integrity": "sha512-b2A3rRT1TITzqmaO70U2/uunCh43BQVq7BfRwGPkD5xj8/WZsR3sPTy9DENt+dNZGsel3zBEm1UtYegUxjZW7A==" }, "node_modules/joi": { - "version": "17.9.2", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.9.2.tgz", - "integrity": "sha512-Itk/r+V4Dx0V3c7RLFdRh12IOjySm2/WGPMubBT92cQvRfYZhPM2W0hZlctjj72iES8jsRCwp7S/cRmWBnJ4nw==", + "version": "17.11.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz", + "integrity": "sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==", "dependencies": { "@hapi/hoek": "^9.0.0", "@hapi/topo": "^5.0.0", @@ -14626,9 +14865,9 @@ } }, "node_modules/keyv": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", - "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dependencies": { "json-buffer": "3.0.1" } @@ -14663,11 +14902,14 @@ "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==" }, "node_modules/language-tags": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", - "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", "dependencies": { - "language-subtag-registry": "~0.3.2" + "language-subtag-registry": "^0.3.20" + }, + "engines": { + "node": ">=0.10" } }, "node_modules/latest-version": { @@ -14681,6 +14923,15 @@ "node": ">=8" } }, + "node_modules/legacy-swc-helpers": { + "name": "@swc/helpers", + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz", + "integrity": "sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==", + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -15962,9 +16213,9 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/msgpackr": { - "version": "1.9.6", - "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.9.6.tgz", - "integrity": "sha512-50rmb6+ZWvEm0vJn8R8CwI1Eavss3h5rgtKrcdUal3EkZcpqw82+xsmc7RoHb8fYB5V4EOU2NDaOitDAdO0t+w==", + "version": "1.9.9", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.9.9.tgz", + "integrity": "sha512-sbn6mioS2w0lq1O6PpGtsv6Gy8roWM+o3o4Sqjd6DudrL/nOugY+KyJUimoWzHnf9OkO0T6broHFnYE/R05t9A==", "optionalDependencies": { "msgpackr-extract": "^3.0.2" } @@ -16024,9 +16275,9 @@ "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" }, "node_modules/nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "funding": [ { "type": "github", @@ -16116,9 +16367,9 @@ } }, "node_modules/node-abi": { - "version": "3.45.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.45.0.tgz", - "integrity": "sha512-iwXuFrMAcFVi/ZoZiqq8BzAdsLw9kxDfTC0HMyjXfSL/6CSDAGD5UmR7azrAgWV1zKYq7dUUMj4owusBWKLsiQ==", + "version": "3.51.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.51.0.tgz", + "integrity": "sha512-SQkEP4hmNWjlniS5zdnfIXTk1x7Ome85RDzHlTbBtzE97Gfwz/Ipw4v/Ryk20DWIy3yCNVLVlGKApCnmvYoJbA==", "dependencies": { "semver": "^7.3.5" }, @@ -16162,9 +16413,9 @@ "integrity": "sha512-vgbBJTS4m5/KkE16t5Ly0WW9hz46swAstv0hYYwMtbG7AznRhNyfLRe8HZAiWIpcHzoO7HxhLuBQj9rJ/Ho0ZA==" }, "node_modules/node-fetch": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.12.tgz", - "integrity": "sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "dependencies": { "whatwg-url": "^5.0.0" }, @@ -16396,9 +16647,9 @@ } }, "node_modules/object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -16429,26 +16680,26 @@ } }, "node_modules/object.entries": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", - "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz", + "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "engines": { "node": ">= 0.4" } }, "node_modules/object.fromentries": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", - "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", + "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "engines": { "node": ">= 0.4" @@ -16458,14 +16709,14 @@ } }, "node_modules/object.getownpropertydescriptors": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.6.tgz", - "integrity": "sha512-lq+61g26E/BgHv0ZTFgRvi7NMEPuAxLkFU7rukXjc/AlwH4Am5xXVnIXy3un1bg/JPbXHrixRkK1itUzzPiIjQ==", + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.7.tgz", + "integrity": "sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g==", "dependencies": { - "array.prototype.reduce": "^1.0.5", + "array.prototype.reduce": "^1.0.6", "call-bind": "^1.0.2", "define-properties": "^1.2.0", - "es-abstract": "^1.21.2", + "es-abstract": "^1.22.1", "safe-array-concat": "^1.0.0" }, "engines": { @@ -16476,36 +16727,36 @@ } }, "node_modules/object.groupby": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.0.tgz", - "integrity": "sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz", + "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", - "es-abstract": "^1.21.2", + "es-abstract": "^1.22.1", "get-intrinsic": "^1.2.1" } }, "node_modules/object.hasown": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", - "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz", + "integrity": "sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==", "dependencies": { - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", + "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "engines": { "node": ">= 0.4" @@ -17333,9 +17584,9 @@ } }, "node_modules/postcss": { - "version": "8.4.27", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.27.tgz", - "integrity": "sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==", + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", "funding": [ { "type": "opencollective", @@ -18253,9 +18504,9 @@ } }, "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "engines": { "node": ">=6" } @@ -18668,6 +18919,7 @@ "version": "6.32.1", "resolved": "https://registry.npmjs.org/react-instantsearch-dom/-/react-instantsearch-dom-6.32.1.tgz", "integrity": "sha512-oditYXY6zNbAY6txhGBLOPaEie95Eii+nCEgysuoo4fnOQDUxuHXMruiTkYJlfJJ5HAKBJyTdjtKoGeuJL6G1w==", + "deprecated": "package has moved to react-instantsearch", "dependencies": { "@babel/runtime": "^7.1.2", "algoliasearch-helper": "^3.10.0", @@ -18958,6 +19210,25 @@ "redux": "^4" } }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz", + "integrity": "sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", @@ -18975,26 +19246,26 @@ } }, "node_modules/regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" }, "node_modules/regenerator-transform": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", - "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", "dependencies": { "@babel/runtime": "^7.8.4" } }, "node_modules/regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" + "set-function-name": "^2.0.0" }, "engines": { "node": ">= 0.4" @@ -19176,6 +19447,7 @@ "version": "7.12.1", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4", "@babel/plugin-syntax-object-rest-spread": "^7.8.0", @@ -19185,6 +19457,11 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/remark-mdx/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, "node_modules/remark-mdx/node_modules/semver": { "version": "5.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", @@ -19620,11 +19897,11 @@ "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" }, "node_modules/resolve": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", - "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dependencies": { - "is-core-module": "^2.11.0", + "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, @@ -19772,12 +20049,12 @@ } }, "node_modules/safe-array-concat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz", - "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", + "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", "dependencies": { "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", + "get-intrinsic": "^1.2.1", "has-symbols": "^1.0.3", "isarray": "^2.0.5" }, @@ -19958,9 +20235,9 @@ } }, "node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", + "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==" }, "node_modules/scheduler": { "version": "0.20.2", @@ -20142,6 +20419,33 @@ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" }, + "node_modules/set-function-length": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", + "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "dependencies": { + "define-data-property": "^1.1.1", + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "dependencies": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", @@ -20345,14 +20649,14 @@ "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" }, "node_modules/sirv": { - "version": "1.0.19", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.19.tgz", - "integrity": "sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.3.tgz", + "integrity": "sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==", "dev": true, "dependencies": { "@polka/url": "^1.0.0-next.20", "mrmime": "^1.0.0", - "totalist": "^1.0.0" + "totalist": "^3.0.0" }, "engines": { "node": ">= 10" @@ -20589,9 +20893,9 @@ } }, "node_modules/spdx-license-ids": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", - "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==" + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz", + "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==" }, "node_modules/split-on-first": { "version": "1.1.0", @@ -20610,9 +20914,9 @@ } }, "node_modules/sprintf-js": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", - "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==" + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==" }, "node_modules/st": { "version": "2.0.0", @@ -20913,17 +21217,18 @@ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "node_modules/string.prototype.matchall": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", - "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz", + "integrity": "sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.3", + "internal-slot": "^1.0.5", + "regexp.prototype.flags": "^1.5.0", + "set-function-name": "^2.0.0", "side-channel": "^1.0.4" }, "funding": { @@ -20931,13 +21236,13 @@ } }, "node_modules/string.prototype.trim": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", - "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "engines": { "node": ">= 0.4" @@ -20947,26 +21252,26 @@ } }, "node_modules/string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -21325,6 +21630,11 @@ "boolbase": "~1.0.0" } }, + "node_modules/svgo/node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, "node_modules/svgo/node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -21458,9 +21768,9 @@ } }, "node_modules/terser": { - "version": "5.19.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz", - "integrity": "sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==", + "version": "5.24.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.24.0.tgz", + "integrity": "sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw==", "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -21551,9 +21861,9 @@ } }, "node_modules/terser/node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", + "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", "bin": { "acorn": "bin/acorn" }, @@ -21661,9 +21971,9 @@ } }, "node_modules/totalist": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz", - "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", "dev": true, "engines": { "node": ">=6" @@ -22002,9 +22312,9 @@ } }, "node_modules/ua-parser-js": { - "version": "1.0.35", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.35.tgz", - "integrity": "sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==", + "version": "1.0.37", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.37.tgz", + "integrity": "sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==", "funding": [ { "type": "opencollective", @@ -22013,6 +22323,10 @@ { "type": "paypal", "url": "https://paypal.me/faisalman" + }, + { + "type": "github", + "url": "https://github.com/sponsors/faisalman" } ], "engines": { @@ -22297,9 +22611,9 @@ } }, "node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", "engines": { "node": ">= 10.0.0" } @@ -22340,9 +22654,9 @@ "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" }, "node_modules/update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", "funding": [ { "type": "opencollective", @@ -22514,12 +22828,12 @@ } }, "node_modules/url": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.1.tgz", - "integrity": "sha512-rWS3H04/+mzzJkv0eZ7vEDGiQbgquI1fGfOad6zKvgYQi1SzMmhl7c/DdRGxhaWrVH6z0qWITo8rpnxK/RfEhA==", + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.3.tgz", + "integrity": "sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==", "dependencies": { "punycode": "^1.4.1", - "qs": "^6.11.0" + "qs": "^6.11.2" } }, "node_modules/url-loader": { @@ -22626,9 +22940,9 @@ } }, "node_modules/v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==" + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz", + "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==" }, "node_modules/valid-url": { "version": "1.0.9", @@ -22734,9 +23048,9 @@ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, "node_modules/webpack": { - "version": "5.88.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz", - "integrity": "sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==", + "version": "5.89.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", + "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", "dependencies": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.0", @@ -22780,20 +23094,23 @@ } }, "node_modules/webpack-bundle-analyzer": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.9.0.tgz", - "integrity": "sha512-+bXGmO1LyiNx0i9enBu3H8mv42sj/BJWhZNFwjz92tVnBa9J3JMGo2an2IXlEleoDOPn/Hofl5hr/xCpObUDtw==", + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.1.tgz", + "integrity": "sha512-s3P7pgexgT/HTUSYgxJyn28A+99mmLq4HsJepMPzu0R8ImJc52QNqaFYW1Z2z2uIb1/J3eYgaAWVpaC+v/1aAQ==", "dev": true, "dependencies": { "@discoveryjs/json-ext": "0.5.7", "acorn": "^8.0.4", "acorn-walk": "^8.0.0", - "chalk": "^4.1.0", "commander": "^7.2.0", + "debounce": "^1.2.1", + "escape-string-regexp": "^4.0.0", "gzip-size": "^6.0.0", - "lodash": "^4.17.20", + "html-escaper": "^2.0.2", + "is-plain-object": "^5.0.0", "opener": "^1.5.2", - "sirv": "^1.0.7", + "picocolors": "^1.0.0", + "sirv": "^2.0.3", "ws": "^7.3.1" }, "bin": { @@ -22804,9 +23121,9 @@ } }, "node_modules/webpack-bundle-analyzer/node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", + "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -22815,55 +23132,6 @@ "node": ">=0.4.0" } }, - "node_modules/webpack-bundle-analyzer/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/webpack-bundle-analyzer/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/webpack-bundle-analyzer/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/webpack-bundle-analyzer/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "node_modules/webpack-bundle-analyzer/node_modules/commander": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", @@ -22873,25 +23141,16 @@ "node": ">= 10" } }, - "node_modules/webpack-bundle-analyzer/node_modules/has-flag": { + "node_modules/webpack-bundle-analyzer/node_modules/escape-string-regexp": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, "engines": { - "node": ">=8" - } - }, - "node_modules/webpack-bundle-analyzer/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" + "node": ">=10" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/webpack-bundle-analyzer/node_modules/ws": { @@ -22939,11 +23198,12 @@ } }, "node_modules/webpack-merge": { - "version": "5.9.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.9.0.tgz", - "integrity": "sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==", + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", "dependencies": { "clone-deep": "^4.0.1", + "flat": "^5.0.2", "wildcard": "^2.0.0" }, "engines": { @@ -22989,9 +23249,9 @@ } }, "node_modules/webpack/node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", + "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", "bin": { "acorn": "bin/acorn" }, @@ -23053,18 +23313,62 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/which-builtin-type": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", + "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "dependencies": { + "function.prototype.name": "^1.1.5", + "has-tostringtag": "^1.0.0", + "is-async-function": "^2.0.0", + "is-date-object": "^1.0.5", + "is-finalizationregistry": "^1.0.2", + "is-generator-function": "^1.0.10", + "is-regex": "^1.1.4", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "node_modules/which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "dependencies": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/which-module": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==" }, "node_modules/which-typed-array": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", - "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", + "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", "dependencies": { "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", + "call-bind": "^1.0.4", "for-each": "^0.3.3", "gopd": "^1.0.1", "has-tostringtag": "^1.0.0" @@ -23166,9 +23470,9 @@ } }, "node_modules/ws": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", - "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", + "version": "8.14.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", + "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", "dev": true, "engines": { "node": ">=10.0.0" @@ -23260,9 +23564,9 @@ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, "node_modules/yaml": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", - "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==", + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", + "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", "dev": true, "engines": { "node": ">= 14" @@ -23687,44 +23991,45 @@ } }, "@babel/code-frame": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", - "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.4.tgz", + "integrity": "sha512-r1IONyb6Ia+jYR2vvIDhdWdlTGhqbBoFqLTQidzZ4kepUFH15ejXvFHxCVbtl7BOXIudsIubf4E81xeA3h3IXA==", "requires": { - "@babel/highlight": "^7.22.5" + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" } }, "@babel/compat-data": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", - "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==" + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.3.tgz", + "integrity": "sha512-BmR4bWbDIoFJmJ9z2cZ8Gmm2MXgEDgjdWgpKmKWUt54UGFJdlj31ECtbaDvCG/qVdG3AQ1SfpZEs01lUFbzLOQ==" }, "@babel/core": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.9.tgz", - "integrity": "sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.3.tgz", + "integrity": "sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew==", "requires": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.9", - "@babel/helper-compilation-targets": "^7.22.9", - "@babel/helper-module-transforms": "^7.22.9", - "@babel/helpers": "^7.22.6", - "@babel/parser": "^7.22.7", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.8", - "@babel/types": "^7.22.5", - "convert-source-map": "^1.7.0", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.3", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.23.2", + "@babel/parser": "^7.23.3", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.3", + "@babel/types": "^7.23.3", + "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", + "json5": "^2.2.3", "semver": "^6.3.1" } }, "@babel/eslint-parser": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.22.9.tgz", - "integrity": "sha512-xdMkt39/nviO/4vpVdrEYPwXCsYIXSSAr6mC7WQsNIlGnuxKyKE7GZjalcnbSWiC4OXGNNN3UQPeHfjSC6sTDA==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.23.3.tgz", + "integrity": "sha512-9bTuNlyx7oSstodm1cR1bECj4fkiknsDa1YniISkJemMY3DGhJNYBECbe6QD/q54mp2J8VO66jW3/7uP//iFCw==", "requires": { "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", "eslint-visitor-keys": "^2.1.0", @@ -23732,11 +24037,11 @@ } }, "@babel/generator": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.9.tgz", - "integrity": "sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.4.tgz", + "integrity": "sha512-esuS49Cga3HcThFNebGhlgsrVLkvhqvYDTzgjfFFlHJcIfLe5jFmRRfCQ1KuBfc4Jrtn3ndLgKWAKjBE+IraYQ==", "requires": { - "@babel/types": "^7.22.5", + "@babel/types": "^7.23.4", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -23751,34 +24056,34 @@ } }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.5.tgz", - "integrity": "sha512-m1EP3lVOPptR+2DwD125gziZNcmoNSHGmJROKoy87loWUQyJaVXDgpmruWqDARZSmtYQ+Dl25okU8+qhVzuykw==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", + "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", "requires": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.22.15" } }, "@babel/helper-compilation-targets": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.9.tgz", - "integrity": "sha512-7qYrNM6HjpnPHJbopxmb8hSPoZ0gsX8IvUS32JGVoy+pU9e5N0nLr1VjJoR6kA4d9dmGLxNYOjeB8sUDal2WMw==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", + "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", "requires": { "@babel/compat-data": "^7.22.9", - "@babel/helper-validator-option": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", "browserslist": "^4.21.9", "lru-cache": "^5.1.1", "semver": "^6.3.1" } }, "@babel/helper-create-class-features-plugin": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.9.tgz", - "integrity": "sha512-Pwyi89uO4YrGKxL/eNJ8lfEH55DnRloGPOseaA8NFNL6jAUnn+KccaISiFazCj5IolPPDjGSdzQzXVzODVRqUQ==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz", + "integrity": "sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==", "requires": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-environment-visitor": "^7.22.5", "@babel/helper-function-name": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.15", "@babel/helper-optimise-call-expression": "^7.22.5", "@babel/helper-replace-supers": "^7.22.9", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", @@ -23787,9 +24092,9 @@ } }, "@babel/helper-create-regexp-features-plugin": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.9.tgz", - "integrity": "sha512-+svjVa/tFwsNSG4NEy1h85+HQ5imbT92Q5/bgtS7P0GTQlP8WuFdqsiABmQouhiFGyV66oGxZFpeYHza1rNsKw==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", + "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", "requires": { "@babel/helper-annotate-as-pure": "^7.22.5", "regexpu-core": "^5.3.1", @@ -23802,9 +24107,9 @@ "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==" }, "regenerate-unicode-properties": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", - "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", "requires": { "regenerate": "^1.4.2" } @@ -23833,9 +24138,9 @@ } }, "@babel/helper-define-polyfill-provider": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.2.tgz", - "integrity": "sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==", + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz", + "integrity": "sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==", "requires": { "@babel/helper-compilation-targets": "^7.22.6", "@babel/helper-plugin-utils": "^7.22.5", @@ -23845,17 +24150,17 @@ } }, "@babel/helper-environment-visitor": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", - "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==" + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==" }, "@babel/helper-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", - "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "requires": { - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" } }, "@babel/helper-hoist-variables": { @@ -23867,31 +24172,31 @@ } }, "@babel/helper-member-expression-to-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz", - "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", "requires": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.23.0" } }, "@babel/helper-module-imports": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", - "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", "requires": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.22.15" } }, "@babel/helper-module-transforms": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", - "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", "requires": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", "@babel/helper-simple-access": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.5" + "@babel/helper-validator-identifier": "^7.22.20" } }, "@babel/helper-optimise-call-expression": { @@ -23908,22 +24213,22 @@ "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==" }, "@babel/helper-remap-async-to-generator": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.9.tgz", - "integrity": "sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", + "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", "requires": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-wrap-function": "^7.22.9" + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-wrap-function": "^7.22.20" } }, "@babel/helper-replace-supers": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.9.tgz", - "integrity": "sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", + "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", "requires": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-member-expression-to-functions": "^7.22.15", "@babel/helper-optimise-call-expression": "^7.22.5" } }, @@ -23952,71 +24257,80 @@ } }, "@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==" + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==" }, "@babel/helper-validator-identifier": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", - "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==" + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==" }, "@babel/helper-validator-option": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", - "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==" + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", + "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==" }, "@babel/helper-wrap-function": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.9.tgz", - "integrity": "sha512-sZ+QzfauuUEfxSEjKFmi3qDSHgLsTPK/pEpoD/qonZKOtTPTLbf59oabPQ4rKekt9lFcj/hTZaOhWwFYrgjk+Q==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", + "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", "requires": { "@babel/helper-function-name": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/template": "^7.22.15", + "@babel/types": "^7.22.19" } }, "@babel/helpers": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.6.tgz", - "integrity": "sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.4.tgz", + "integrity": "sha512-HfcMizYz10cr3h29VqyfGL6ZWIjTwWfvYBMsBVGwpcbhNGe3wQ1ZXZRPzZoAHhd9OqHadHqjQ89iVKINXnbzuw==", "requires": { - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.6", - "@babel/types": "^7.22.5" + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.4", + "@babel/types": "^7.23.4" } }, "@babel/highlight": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", - "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", "requires": { - "@babel/helper-validator-identifier": "^7.22.5", - "chalk": "^2.0.0", + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", "js-tokens": "^4.0.0" } }, "@babel/parser": { - "version": "7.22.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.7.tgz", - "integrity": "sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==" + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.4.tgz", + "integrity": "sha512-vf3Xna6UEprW+7t6EtOmFpHNAuxw3xqPZghy+brsnusscJRW5BMUzzHZc5ICjULee81WeUV2jjakG09MDglJXQ==" }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.5.tgz", - "integrity": "sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz", + "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==", "requires": { "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.5.tgz", - "integrity": "sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz", + "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==", "requires": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.5" + "@babel/plugin-transform-optional-chaining": "^7.23.3" + } + }, + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.3.tgz", + "integrity": "sha512-XaJak1qcityzrX0/IU5nKHb34VaibwP3saKqG6a/tppelgllOH13LUann4ZCIBcVOeE6H18K4Vx9QKkVww3z/w==", + "requires": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-proposal-class-properties": { @@ -24074,15 +24388,6 @@ "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", "requires": {} }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", - "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, "@babel/plugin-syntax-async-generators": { "version": "7.8.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", @@ -24124,25 +24429,25 @@ } }, "@babel/plugin-syntax-flow": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.22.5.tgz", - "integrity": "sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.23.3.tgz", + "integrity": "sha512-YZiAIpkJAwQXBJLIQbRFayR5c+gJ35Vcz3bg954k7cd73zqjvhacJuL9RbrzPz8qPmZdgqP6EUKwy0PCNhaaPA==", "requires": { "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-syntax-import-assertions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", - "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz", + "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==", "requires": { "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-syntax-import-attributes": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", - "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz", + "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==", "requires": { "@babel/helper-plugin-utils": "^7.22.5" } @@ -24236,9 +24541,9 @@ } }, "@babel/plugin-syntax-typescript": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", - "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", + "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", "requires": { "@babel/helper-plugin-utils": "^7.22.5" } @@ -24253,243 +24558,243 @@ } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", - "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz", + "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==", "requires": { "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-async-generator-functions": { - "version": "7.22.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.7.tgz", - "integrity": "sha512-7HmE7pk/Fmke45TODvxvkxRMV9RazV+ZZzhOL9AG8G29TLrr3jkjwF7uJfxZ30EoXpO+LJkq4oA8NjO2DTnEDg==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.4.tgz", + "integrity": "sha512-efdkfPhHYTtn0G6n2ddrESE91fgXxjlqLsnUtPWnJs4a4mZIbUaK7ffqKIIUKXSHwcDvaCVX6GXkaJJFqtX7jw==", "requires": { - "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20", "@babel/plugin-syntax-async-generators": "^7.8.4" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", - "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz", + "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==", "requires": { - "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-module-imports": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.5" + "@babel/helper-remap-async-to-generator": "^7.22.20" } }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", - "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz", + "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==", "requires": { "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-block-scoping": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.5.tgz", - "integrity": "sha512-EcACl1i5fSQ6bt+YGuU/XGCeZKStLmyVGytWkpyhCLeQVA0eu6Wtiw92V+I1T/hnezUv7j74dA/Ro69gWcU+hg==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz", + "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==", "requires": { "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-class-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", - "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz", + "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==", "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-class-static-block": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.5.tgz", - "integrity": "sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz", + "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==", "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-class-static-block": "^7.14.5" } }, "@babel/plugin-transform-classes": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.6.tgz", - "integrity": "sha512-58EgM6nuPNG6Py4Z3zSuu0xWu2VfodiMi72Jt5Kj2FECmaYk1RrTXA45z6KBFsu9tRgwQDwIiY4FXTt+YsSFAQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.3.tgz", + "integrity": "sha512-FGEQmugvAEu2QtgtU0uTASXevfLMFfBeVCIIdcQhn/uBQsMTjBajdnAtanQlOcuihWh10PZ7+HWvc7NtBwP74w==", "requires": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", "@babel/helper-optimise-call-expression": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", "@babel/helper-split-export-declaration": "^7.22.6", "globals": "^11.1.0" } }, "@babel/plugin-transform-computed-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", - "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz", + "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==", "requires": { "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.5" + "@babel/template": "^7.22.15" } }, "@babel/plugin-transform-destructuring": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.5.tgz", - "integrity": "sha512-GfqcFuGW8vnEqTUBM7UtPd5A4q797LTvvwKxXTgRsFjoqaJiEg9deBG6kWeQYkVEL569NpnmpC0Pkr/8BLKGnQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz", + "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==", "requires": { "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", - "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz", + "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==", "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-create-regexp-features-plugin": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", - "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz", + "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==", "requires": { "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-dynamic-import": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.5.tgz", - "integrity": "sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz", + "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==", "requires": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3" } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", - "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz", + "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==", "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-export-namespace-from": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.5.tgz", - "integrity": "sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz", + "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==", "requires": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" } }, "@babel/plugin-transform-flow-strip-types": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.22.5.tgz", - "integrity": "sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.23.3.tgz", + "integrity": "sha512-26/pQTf9nQSNVJCrLB1IkHUKyPxR+lMrH2QDPG89+Znu9rAMbtrybdbWeE9bb7gzjmE5iXHEY+e0HUwM6Co93Q==", "requires": { "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-flow": "^7.22.5" + "@babel/plugin-syntax-flow": "^7.23.3" } }, "@babel/plugin-transform-for-of": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.5.tgz", - "integrity": "sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.3.tgz", + "integrity": "sha512-X8jSm8X1CMwxmK878qsUGJRmbysKNbdpTv/O1/v0LuY/ZkZrng5WYiekYSdg9m09OTmDDUWeEDsTE+17WYbAZw==", "requires": { "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", - "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz", + "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==", "requires": { - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-function-name": "^7.23.0", "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-json-strings": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.5.tgz", - "integrity": "sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz", + "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==", "requires": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-json-strings": "^7.8.3" } }, "@babel/plugin-transform-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", - "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz", + "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==", "requires": { "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-logical-assignment-operators": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.5.tgz", - "integrity": "sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz", + "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==", "requires": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" } }, "@babel/plugin-transform-member-expression-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", - "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz", + "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==", "requires": { "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.22.5.tgz", - "integrity": "sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz", + "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==", "requires": { - "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz", - "integrity": "sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", + "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", "requires": { - "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-simple-access": "^7.22.5" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.5.tgz", - "integrity": "sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.3.tgz", + "integrity": "sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==", "requires": { "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5" + "@babel/helper-validator-identifier": "^7.22.20" } }, "@babel/plugin-transform-modules-umd": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", - "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz", + "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==", "requires": { - "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", "@babel/helper-plugin-utils": "^7.22.5" } }, @@ -24503,65 +24808,65 @@ } }, "@babel/plugin-transform-new-target": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", - "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz", + "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==", "requires": { "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.5.tgz", - "integrity": "sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz", + "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==", "requires": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" } }, "@babel/plugin-transform-numeric-separator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.5.tgz", - "integrity": "sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz", + "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==", "requires": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-numeric-separator": "^7.10.4" } }, "@babel/plugin-transform-object-rest-spread": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.5.tgz", - "integrity": "sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz", + "integrity": "sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==", "requires": { - "@babel/compat-data": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", + "@babel/compat-data": "^7.23.3", + "@babel/helper-compilation-targets": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.22.5" + "@babel/plugin-transform-parameters": "^7.23.3" } }, "@babel/plugin-transform-object-super": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", - "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz", + "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==", "requires": { "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5" + "@babel/helper-replace-supers": "^7.22.20" } }, "@babel/plugin-transform-optional-catch-binding": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.5.tgz", - "integrity": "sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz", + "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==", "requires": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" } }, "@babel/plugin-transform-optional-chaining": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.6.tgz", - "integrity": "sha512-Vd5HiWml0mDVtcLHIoEU5sw6HOUW/Zk0acLs/SAeuLzkGNOPc9DB4nkUajemhCmTIz3eiaKREZn2hQQqF79YTg==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz", + "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==", "requires": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", @@ -24569,65 +24874,65 @@ } }, "@babel/plugin-transform-parameters": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz", - "integrity": "sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", + "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", "requires": { "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-private-methods": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", - "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz", + "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==", "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-private-property-in-object": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.5.tgz", - "integrity": "sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz", + "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==", "requires": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" } }, "@babel/plugin-transform-property-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", - "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz", + "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==", "requires": { "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-react-display-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz", - "integrity": "sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz", + "integrity": "sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==", "requires": { "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-react-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.5.tgz", - "integrity": "sha512-rog5gZaVbUip5iWDMTYbVM15XQq+RkUKhET/IHR6oizR+JEoN6CAfTTuHcK4vwUyzca30qqHqEpzBOnaRMWYMA==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz", + "integrity": "sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==", "requires": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-module-imports": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/plugin-syntax-jsx": "^7.23.3", + "@babel/types": "^7.23.4" }, "dependencies": { "@babel/plugin-syntax-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", - "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", + "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", "requires": { "@babel/helper-plugin-utils": "^7.22.5" } @@ -24643,150 +24948,151 @@ } }, "@babel/plugin-transform-react-pure-annotations": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.22.5.tgz", - "integrity": "sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz", + "integrity": "sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==", "requires": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-regenerator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.5.tgz", - "integrity": "sha512-rR7KePOE7gfEtNTh9Qw+iO3Q/e4DEsoQ+hdvM6QUDH7JRJ5qxq5AA52ZzBWbI5i9lfNuvySgOGP8ZN7LAmaiPw==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz", + "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==", "requires": { "@babel/helper-plugin-utils": "^7.22.5", - "regenerator-transform": "^0.15.1" + "regenerator-transform": "^0.15.2" } }, "@babel/plugin-transform-reserved-words": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", - "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz", + "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==", "requires": { "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-runtime": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.9.tgz", - "integrity": "sha512-9KjBH61AGJetCPYp/IEyLEp47SyybZb0nDRpBvmtEkm+rUIwxdlKpyNHI1TmsGkeuLclJdleQHRZ8XLBnnh8CQ==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.4.tgz", + "integrity": "sha512-ITwqpb6V4btwUG0YJR82o2QvmWrLgDnx/p2A3CTPYGaRgULkDiC0DRA2C4jlRB9uXGUEfaSS/IGHfVW+ohzYDw==", "requires": { - "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-module-imports": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5", - "babel-plugin-polyfill-corejs2": "^0.4.4", - "babel-plugin-polyfill-corejs3": "^0.8.2", - "babel-plugin-polyfill-regenerator": "^0.5.1", + "babel-plugin-polyfill-corejs2": "^0.4.6", + "babel-plugin-polyfill-corejs3": "^0.8.5", + "babel-plugin-polyfill-regenerator": "^0.5.3", "semver": "^6.3.1" } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", - "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz", + "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==", "requires": { "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-spread": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", - "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz", + "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==", "requires": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" } }, "@babel/plugin-transform-sticky-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", - "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz", + "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==", "requires": { "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-template-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", - "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz", + "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==", "requires": { "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", - "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz", + "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==", "requires": { "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-typescript": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.9.tgz", - "integrity": "sha512-BnVR1CpKiuD0iobHPaM1iLvcwPYN2uVFAqoLVSpEDKWuOikoCv5HbKLxclhKYUXlWkX86DoZGtqI4XhbOsyrMg==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.4.tgz", + "integrity": "sha512-39hCCOl+YUAyMOu6B9SmUTiHUU0t/CxJNUmY3qRdJujbqi+lrQcL11ysYUsAvFWPBdhihrv1z0oRG84Yr3dODQ==", "requires": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.9", + "@babel/helper-create-class-features-plugin": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-typescript": "^7.22.5" + "@babel/plugin-syntax-typescript": "^7.23.3" } }, "@babel/plugin-transform-unicode-escapes": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.5.tgz", - "integrity": "sha512-biEmVg1IYB/raUO5wT1tgfacCef15Fbzhkx493D3urBI++6hpJ+RFG4SrWMn0NEZLfvilqKf3QDrRVZHo08FYg==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz", + "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==", "requires": { "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-unicode-property-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", - "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz", + "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==", "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-create-regexp-features-plugin": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", - "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz", + "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==", "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-create-regexp-features-plugin": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-unicode-sets-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", - "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz", + "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==", "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-create-regexp-features-plugin": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/preset-env": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.9.tgz", - "integrity": "sha512-wNi5H/Emkhll/bqPjsjQorSykrlfY5OWakd6AulLvMEytpKasMVUpVy8RL4qBIBs5Ac6/5i0/Rv0b/Fg6Eag/g==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.3.tgz", + "integrity": "sha512-ovzGc2uuyNfNAs/jyjIGxS8arOHS5FENZaNn4rtE7UdKMMkqHCvboHfcuhWLZNX5cB44QfcGNWjaevxMzzMf+Q==", "requires": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-compilation-targets": "^7.22.9", + "@babel/compat-data": "^7.23.3", + "@babel/helper-compilation-targets": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.3", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.22.5", - "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@babel/plugin-syntax-import-assertions": "^7.23.3", + "@babel/plugin-syntax-import-attributes": "^7.23.3", "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", @@ -24798,104 +25104,101 @@ "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.22.5", - "@babel/plugin-transform-async-generator-functions": "^7.22.7", - "@babel/plugin-transform-async-to-generator": "^7.22.5", - "@babel/plugin-transform-block-scoped-functions": "^7.22.5", - "@babel/plugin-transform-block-scoping": "^7.22.5", - "@babel/plugin-transform-class-properties": "^7.22.5", - "@babel/plugin-transform-class-static-block": "^7.22.5", - "@babel/plugin-transform-classes": "^7.22.6", - "@babel/plugin-transform-computed-properties": "^7.22.5", - "@babel/plugin-transform-destructuring": "^7.22.5", - "@babel/plugin-transform-dotall-regex": "^7.22.5", - "@babel/plugin-transform-duplicate-keys": "^7.22.5", - "@babel/plugin-transform-dynamic-import": "^7.22.5", - "@babel/plugin-transform-exponentiation-operator": "^7.22.5", - "@babel/plugin-transform-export-namespace-from": "^7.22.5", - "@babel/plugin-transform-for-of": "^7.22.5", - "@babel/plugin-transform-function-name": "^7.22.5", - "@babel/plugin-transform-json-strings": "^7.22.5", - "@babel/plugin-transform-literals": "^7.22.5", - "@babel/plugin-transform-logical-assignment-operators": "^7.22.5", - "@babel/plugin-transform-member-expression-literals": "^7.22.5", - "@babel/plugin-transform-modules-amd": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.22.5", - "@babel/plugin-transform-modules-systemjs": "^7.22.5", - "@babel/plugin-transform-modules-umd": "^7.22.5", + "@babel/plugin-transform-arrow-functions": "^7.23.3", + "@babel/plugin-transform-async-generator-functions": "^7.23.3", + "@babel/plugin-transform-async-to-generator": "^7.23.3", + "@babel/plugin-transform-block-scoped-functions": "^7.23.3", + "@babel/plugin-transform-block-scoping": "^7.23.3", + "@babel/plugin-transform-class-properties": "^7.23.3", + "@babel/plugin-transform-class-static-block": "^7.23.3", + "@babel/plugin-transform-classes": "^7.23.3", + "@babel/plugin-transform-computed-properties": "^7.23.3", + "@babel/plugin-transform-destructuring": "^7.23.3", + "@babel/plugin-transform-dotall-regex": "^7.23.3", + "@babel/plugin-transform-duplicate-keys": "^7.23.3", + "@babel/plugin-transform-dynamic-import": "^7.23.3", + "@babel/plugin-transform-exponentiation-operator": "^7.23.3", + "@babel/plugin-transform-export-namespace-from": "^7.23.3", + "@babel/plugin-transform-for-of": "^7.23.3", + "@babel/plugin-transform-function-name": "^7.23.3", + "@babel/plugin-transform-json-strings": "^7.23.3", + "@babel/plugin-transform-literals": "^7.23.3", + "@babel/plugin-transform-logical-assignment-operators": "^7.23.3", + "@babel/plugin-transform-member-expression-literals": "^7.23.3", + "@babel/plugin-transform-modules-amd": "^7.23.3", + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-modules-systemjs": "^7.23.3", + "@babel/plugin-transform-modules-umd": "^7.23.3", "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", - "@babel/plugin-transform-new-target": "^7.22.5", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.5", - "@babel/plugin-transform-numeric-separator": "^7.22.5", - "@babel/plugin-transform-object-rest-spread": "^7.22.5", - "@babel/plugin-transform-object-super": "^7.22.5", - "@babel/plugin-transform-optional-catch-binding": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.6", - "@babel/plugin-transform-parameters": "^7.22.5", - "@babel/plugin-transform-private-methods": "^7.22.5", - "@babel/plugin-transform-private-property-in-object": "^7.22.5", - "@babel/plugin-transform-property-literals": "^7.22.5", - "@babel/plugin-transform-regenerator": "^7.22.5", - "@babel/plugin-transform-reserved-words": "^7.22.5", - "@babel/plugin-transform-shorthand-properties": "^7.22.5", - "@babel/plugin-transform-spread": "^7.22.5", - "@babel/plugin-transform-sticky-regex": "^7.22.5", - "@babel/plugin-transform-template-literals": "^7.22.5", - "@babel/plugin-transform-typeof-symbol": "^7.22.5", - "@babel/plugin-transform-unicode-escapes": "^7.22.5", - "@babel/plugin-transform-unicode-property-regex": "^7.22.5", - "@babel/plugin-transform-unicode-regex": "^7.22.5", - "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.22.5", - "babel-plugin-polyfill-corejs2": "^0.4.4", - "babel-plugin-polyfill-corejs3": "^0.8.2", - "babel-plugin-polyfill-regenerator": "^0.5.1", + "@babel/plugin-transform-new-target": "^7.23.3", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.3", + "@babel/plugin-transform-numeric-separator": "^7.23.3", + "@babel/plugin-transform-object-rest-spread": "^7.23.3", + "@babel/plugin-transform-object-super": "^7.23.3", + "@babel/plugin-transform-optional-catch-binding": "^7.23.3", + "@babel/plugin-transform-optional-chaining": "^7.23.3", + "@babel/plugin-transform-parameters": "^7.23.3", + "@babel/plugin-transform-private-methods": "^7.23.3", + "@babel/plugin-transform-private-property-in-object": "^7.23.3", + "@babel/plugin-transform-property-literals": "^7.23.3", + "@babel/plugin-transform-regenerator": "^7.23.3", + "@babel/plugin-transform-reserved-words": "^7.23.3", + "@babel/plugin-transform-shorthand-properties": "^7.23.3", + "@babel/plugin-transform-spread": "^7.23.3", + "@babel/plugin-transform-sticky-regex": "^7.23.3", + "@babel/plugin-transform-template-literals": "^7.23.3", + "@babel/plugin-transform-typeof-symbol": "^7.23.3", + "@babel/plugin-transform-unicode-escapes": "^7.23.3", + "@babel/plugin-transform-unicode-property-regex": "^7.23.3", + "@babel/plugin-transform-unicode-regex": "^7.23.3", + "@babel/plugin-transform-unicode-sets-regex": "^7.23.3", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.6", + "babel-plugin-polyfill-corejs3": "^0.8.5", + "babel-plugin-polyfill-regenerator": "^0.5.3", "core-js-compat": "^3.31.0", "semver": "^6.3.1" } }, "@babel/preset-modules": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6.tgz", - "integrity": "sha512-ID2yj6K/4lKfhuU3+EX4UvNbIt7eACFbHmNUjzA+ep+B5971CknnA/9DEWKbRokfbbtblxxxXFJJrH47UEAMVg==", + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", "requires": { "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", "@babel/types": "^7.4.4", "esutils": "^2.0.2" } }, "@babel/preset-react": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.22.5.tgz", - "integrity": "sha512-M+Is3WikOpEJHgR385HbuCITPTaPRaNkibTEa9oiofmJvIsrceb4yp9RL9Kb+TE8LznmeyZqpP+Lopwcx59xPQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.23.3.tgz", + "integrity": "sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==", "requires": { "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-transform-react-display-name": "^7.22.5", - "@babel/plugin-transform-react-jsx": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-transform-react-display-name": "^7.23.3", + "@babel/plugin-transform-react-jsx": "^7.22.15", "@babel/plugin-transform-react-jsx-development": "^7.22.5", - "@babel/plugin-transform-react-pure-annotations": "^7.22.5" + "@babel/plugin-transform-react-pure-annotations": "^7.23.3" } }, "@babel/preset-typescript": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.22.5.tgz", - "integrity": "sha512-YbPaal9LxztSGhmndR46FmAbkJ/1fAsw293tSU+I5E5h+cnJ3d4GTwyUgGYmOXJYdGA+uNePle4qbaRzj2NISQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz", + "integrity": "sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==", "requires": { "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.22.5", - "@babel/plugin-transform-typescript": "^7.22.5" + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-syntax-jsx": "^7.23.3", + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-typescript": "^7.23.3" }, "dependencies": { "@babel/plugin-syntax-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", - "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", + "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", "requires": { "@babel/helper-plugin-utils": "^7.22.5" } @@ -24908,47 +25211,47 @@ "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" }, "@babel/runtime": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.6.tgz", - "integrity": "sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.4.tgz", + "integrity": "sha512-2Yv65nlWnWlSpe3fXEyX5i7fx5kIKo4Qbcj+hMO0odwaneFjfXw5fdum+4yL20O0QiaHpia0cYQ9xpNMqrBwHg==", "requires": { - "regenerator-runtime": "^0.13.11" + "regenerator-runtime": "^0.14.0" } }, "@babel/template": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", - "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", "requires": { - "@babel/code-frame": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" } }, "@babel/traverse": { - "version": "7.22.8", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.8.tgz", - "integrity": "sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw==", - "requires": { - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.7", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.4.tgz", + "integrity": "sha512-IYM8wSUwunWTB6tFC2dkKZhxbIjHoWemdK+3f8/wq8aKhbUscxD5MX72ubd90fxvFknaLPeGw5ycU84V1obHJg==", + "requires": { + "@babel/code-frame": "^7.23.4", + "@babel/generator": "^7.23.4", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", "@babel/helper-hoist-variables": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.22.7", - "@babel/types": "^7.22.5", + "@babel/parser": "^7.23.4", + "@babel/types": "^7.23.4", "debug": "^4.1.0", "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", - "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.4.tgz", + "integrity": "sha512-7uIFwVYpoplT5jp/kVv6EF93VaJ8H+Yn5IczYiaAi98ajzjfoZfslet/e0sLh+wVBjb2qqIut1b0S26VSafsSQ==", "requires": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" } }, @@ -24981,6 +25284,11 @@ "stylis": "4.2.0" }, "dependencies": { + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, "escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -25117,9 +25425,9 @@ } }, "globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", "requires": { "type-fest": "^0.20.2" } @@ -25603,9 +25911,9 @@ } }, "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==" }, "@jridgewell/set-array": { "version": "1.1.2", @@ -25627,32 +25935,25 @@ "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, "@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", "requires": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - }, - "dependencies": { - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" - } + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, "@lezer/common": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/@lezer/common/-/common-0.15.12.tgz", - "integrity": "sha512-edfwCxNLnzq5pBA/yaIhwJ3U3Kz8VAUOTRg0hhxaizaI1N+qxV7EXDv/kLCkLeq2RzSFvxexlaj5Mzfn2kY0Ig==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.1.1.tgz", + "integrity": "sha512-aAPB9YbvZHqAW+bIwiuuTDGB4DG0sYNRObGLxud8cW7osw1ZQxfDuTZ8KQiqfZ0QJGcR34CvpTMDXEyo/+Htgg==" }, "@lezer/lr": { - "version": "0.15.8", - "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-0.15.8.tgz", - "integrity": "sha512-bM6oE6VQZ6hIFxDNKk8bKPa14hqFrV07J/vHGOeiAbJReIaQXmkVb6xQu4MR+JBTLa5arGRyAAjJe1qaQt3Uvg==", + "version": "1.3.14", + "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.3.14.tgz", + "integrity": "sha512-z5mY4LStlA3yL7aHT/rqgG614cfcvklS+8oFRFBYrs4YaWLJyKKM4+nN6KopToX0o9Hj6zmH6M5kinOYuy06ug==", "requires": { - "@lezer/common": "^0.15.0" + "@lezer/common": "^1.0.0" } }, "@lmdb/lmdb-darwin-arm64": { @@ -25750,6 +26051,11 @@ "source-map": "^0.5.0" } }, + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, "semver": { "version": "5.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", @@ -25774,12 +26080,12 @@ "integrity": "sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA==" }, "@mischnic/json-sourcemap": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@mischnic/json-sourcemap/-/json-sourcemap-0.1.0.tgz", - "integrity": "sha512-dQb3QnfNqmQNYA4nFSN/uLaByIic58gOXq4Y4XqLOWmOrw73KmJPt/HLyG0wvn1bnR6mBKs/Uwvkh+Hns1T0XA==", + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@mischnic/json-sourcemap/-/json-sourcemap-0.1.1.tgz", + "integrity": "sha512-iA7+tyVqfrATAIsIRWQG+a7ZLLD0VaOCKV2Wd/v4mqIU3J9c4jx9p7S0nw1XH3gJCKNBOOwACOPYYSUu9pgT+w==", "requires": { - "@lezer/common": "^0.15.7", - "@lezer/lr": "^0.15.4", + "@lezer/common": "^1.0.0", + "@lezer/lr": "^1.0.0", "json5": "^2.2.1" } }, @@ -26229,9 +26535,9 @@ }, "dependencies": { "globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", "requires": { "type-fest": "^0.20.2" } @@ -26345,6 +26651,11 @@ "semver": "^5.7.1" }, "dependencies": { + "regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, "semver": { "version": "5.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", @@ -26460,20 +26771,22 @@ } }, "@parcel/watcher": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.2.0.tgz", - "integrity": "sha512-71S4TF+IMyAn24PK4KSkdKtqJDR3zRzb0HE3yXpacItqTM7XfF2f5q9NEGLEVl0dAaBAGfNwDCjH120y25F6Tg==", - "requires": { - "@parcel/watcher-android-arm64": "2.2.0", - "@parcel/watcher-darwin-arm64": "2.2.0", - "@parcel/watcher-darwin-x64": "2.2.0", - "@parcel/watcher-linux-arm-glibc": "2.2.0", - "@parcel/watcher-linux-arm64-glibc": "2.2.0", - "@parcel/watcher-linux-arm64-musl": "2.2.0", - "@parcel/watcher-linux-x64-glibc": "2.2.0", - "@parcel/watcher-linux-x64-musl": "2.2.0", - "@parcel/watcher-win32-arm64": "2.2.0", - "@parcel/watcher-win32-x64": "2.2.0", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.3.0.tgz", + "integrity": "sha512-pW7QaFiL11O0BphO+bq3MgqeX/INAk9jgBldVDYjlQPO4VddoZnF22TcF9onMhnLVHuNqBJeRf+Fj7eezi/+rQ==", + "requires": { + "@parcel/watcher-android-arm64": "2.3.0", + "@parcel/watcher-darwin-arm64": "2.3.0", + "@parcel/watcher-darwin-x64": "2.3.0", + "@parcel/watcher-freebsd-x64": "2.3.0", + "@parcel/watcher-linux-arm-glibc": "2.3.0", + "@parcel/watcher-linux-arm64-glibc": "2.3.0", + "@parcel/watcher-linux-arm64-musl": "2.3.0", + "@parcel/watcher-linux-x64-glibc": "2.3.0", + "@parcel/watcher-linux-x64-musl": "2.3.0", + "@parcel/watcher-win32-arm64": "2.3.0", + "@parcel/watcher-win32-ia32": "2.3.0", + "@parcel/watcher-win32-x64": "2.3.0", "detect-libc": "^1.0.3", "is-glob": "^4.0.3", "micromatch": "^4.0.5", @@ -26481,63 +26794,75 @@ } }, "@parcel/watcher-android-arm64": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.2.0.tgz", - "integrity": "sha512-nU2wh00CTQT9rr1TIKTjdQ9lAGYpmz6XuKw0nAwAN+S2A5YiD55BK1u+E5WMCT8YOIDe/n6gaj4o/Bi9294SSQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.3.0.tgz", + "integrity": "sha512-f4o9eA3dgk0XRT3XhB0UWpWpLnKgrh1IwNJKJ7UJek7eTYccQ8LR7XUWFKqw6aEq5KUNlCcGvSzKqSX/vtWVVA==", "optional": true }, "@parcel/watcher-darwin-arm64": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.2.0.tgz", - "integrity": "sha512-cJl0UZDcodciy3TDMomoK/Huxpjlkkim3SyMgWzjovHGOZKNce9guLz2dzuFwfObBFCjfznbFMIvAZ5syXotYw==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.3.0.tgz", + "integrity": "sha512-mKY+oijI4ahBMc/GygVGvEdOq0L4DxhYgwQqYAz/7yPzuGi79oXrZG52WdpGA1wLBPrYb0T8uBaGFo7I6rvSKw==", "optional": true }, "@parcel/watcher-darwin-x64": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.2.0.tgz", - "integrity": "sha512-QI77zxaGrCV1StKcoRYfsUfmUmvPMPfQrubkBBy5XujV2fwaLgZivQOTQMBgp5K2+E19u1ufpspKXAPqSzpbyg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.3.0.tgz", + "integrity": "sha512-20oBj8LcEOnLE3mgpy6zuOq8AplPu9NcSSSfyVKgfOhNAc4eF4ob3ldj0xWjGGbOF7Dcy1Tvm6ytvgdjlfUeow==", + "optional": true + }, + "@parcel/watcher-freebsd-x64": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.3.0.tgz", + "integrity": "sha512-7LftKlaHunueAEiojhCn+Ef2CTXWsLgTl4hq0pkhkTBFI3ssj2bJXmH2L67mKpiAD5dz66JYk4zS66qzdnIOgw==", "optional": true }, "@parcel/watcher-linux-arm-glibc": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.2.0.tgz", - "integrity": "sha512-I2GPBcAXazPzabCmfsa3HRRW+MGlqxYd8g8RIueJU+a4o5nyNZDz0CR1cu0INT0QSQXEZV7w6UE8Hz9CF8u3Pg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.3.0.tgz", + "integrity": "sha512-1apPw5cD2xBv1XIHPUlq0cO6iAaEUQ3BcY0ysSyD9Kuyw4MoWm1DV+W9mneWI+1g6OeP6dhikiFE6BlU+AToTQ==", "optional": true }, "@parcel/watcher-linux-arm64-glibc": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.2.0.tgz", - "integrity": "sha512-St5mlfp+2lS9AmgixUqfwJa/DwVmTCJxC1HcOubUTz6YFOKIlkHCeUa1Bxi4E/tR/HSez8+heXHL8HQkJ4Bd8g==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.3.0.tgz", + "integrity": "sha512-mQ0gBSQEiq1k/MMkgcSB0Ic47UORZBmWoAWlMrTW6nbAGoLZP+h7AtUM7H3oDu34TBFFvjy4JCGP43JlylkTQA==", "optional": true }, "@parcel/watcher-linux-arm64-musl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.2.0.tgz", - "integrity": "sha512-jS+qfhhoOBVWwMLP65MaG8xdInMK30pPW8wqTCg2AAuVJh5xepMbzkhHJ4zURqHiyY3EiIRuYu4ONJKCxt8iqA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.3.0.tgz", + "integrity": "sha512-LXZAExpepJew0Gp8ZkJ+xDZaTQjLHv48h0p0Vw2VMFQ8A+RKrAvpFuPVCVwKJCr5SE+zvaG+Etg56qXvTDIedw==", "optional": true }, "@parcel/watcher-linux-x64-glibc": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.2.0.tgz", - "integrity": "sha512-xJvJ7R2wJdi47WZBFS691RDOWvP1j/IAs3EXaWVhDI8FFITbWrWaln7KoNcR0Y3T+ZwimFY/cfb0PNht1q895g==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.3.0.tgz", + "integrity": "sha512-P7Wo91lKSeSgMTtG7CnBS6WrA5otr1K7shhSjKHNePVmfBHDoAOHYRXgUmhiNfbcGk0uMCHVcdbfxtuiZCHVow==", "optional": true }, "@parcel/watcher-linux-x64-musl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.2.0.tgz", - "integrity": "sha512-D+NMpgr23a+RI5mu8ZPKWy7AqjBOkURFDgP5iIXXEf/K3hm0jJ3ogzi0Ed2237B/CdYREimCgXyeiAlE/FtwyA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.3.0.tgz", + "integrity": "sha512-+kiRE1JIq8QdxzwoYY+wzBs9YbJ34guBweTK8nlzLKimn5EQ2b2FSC+tAOpq302BuIMjyuUGvBiUhEcLIGMQ5g==", "optional": true }, "@parcel/watcher-win32-arm64": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.2.0.tgz", - "integrity": "sha512-z225cPn3aygJsyVUOWwfyW+fY0Tvk7N3XCOl66qUPFxpbuXeZuiuuJemmtm8vxyqa3Ur7peU/qJxrpC64aeI7Q==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.3.0.tgz", + "integrity": "sha512-35gXCnaz1AqIXpG42evcoP2+sNL62gZTMZne3IackM+6QlfMcJLy3DrjuL6Iks7Czpd3j4xRBzez3ADCj1l7Aw==", + "optional": true + }, + "@parcel/watcher-win32-ia32": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.3.0.tgz", + "integrity": "sha512-FJS/IBQHhRpZ6PiCjFt1UAcPr0YmCLHRbTc00IBTrelEjlmmgIVLeOx4MSXzx2HFEy5Jo5YdhGpxCuqCyDJ5ow==", "optional": true }, "@parcel/watcher-win32-x64": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.2.0.tgz", - "integrity": "sha512-JqGW0RJ61BkKx+yYzIURt9s53P7xMVbv0uxYPzAXLBINGaFmkIKSuUPyBVfy8TMbvp93lvF4SPBNDzVRJfvgOw==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.3.0.tgz", + "integrity": "sha512-dLx+0XRdMnVI62kU3wbXvbIRhLck4aE28bIGKbRGS7BJNt54IIj9+c/Dkqb+7DJEbHUZAX1bwaoM8PqVlHJmCA==", "optional": true }, "@parcel/workers": { @@ -26554,125 +26879,126 @@ } }, "@percy/cli": { - "version": "1.26.3", - "resolved": "https://registry.npmjs.org/@percy/cli/-/cli-1.26.3.tgz", - "integrity": "sha512-nhf8sP60pHCP+4S50bd1Vd0EkHeAXdh/lffek+wk732ItPlmhPZZ4gKzU1/oiC0xTVUFYw844Hmbw6hlRHZi4A==", + "version": "1.27.4", + "resolved": "https://registry.npmjs.org/@percy/cli/-/cli-1.27.4.tgz", + "integrity": "sha512-eIM44ejCMFc/S2W7X0htV+lvvmf63x5CaBpsSoQ9LRc/W02zHVAwQYdFFUowZEK6G1EwJEPIUnDxuuEx9PLG5A==", "dev": true, "requires": { - "@percy/cli-app": "1.26.3", - "@percy/cli-build": "1.26.3", - "@percy/cli-command": "1.26.3", - "@percy/cli-config": "1.26.3", - "@percy/cli-exec": "1.26.3", - "@percy/cli-snapshot": "1.26.3", - "@percy/cli-upload": "1.26.3", - "@percy/client": "1.26.3", - "@percy/logger": "1.26.3" + "@percy/cli-app": "1.27.4", + "@percy/cli-build": "1.27.4", + "@percy/cli-command": "1.27.4", + "@percy/cli-config": "1.27.4", + "@percy/cli-exec": "1.27.4", + "@percy/cli-snapshot": "1.27.4", + "@percy/cli-upload": "1.27.4", + "@percy/client": "1.27.4", + "@percy/logger": "1.27.4" } }, "@percy/cli-app": { - "version": "1.26.3", - "resolved": "https://registry.npmjs.org/@percy/cli-app/-/cli-app-1.26.3.tgz", - "integrity": "sha512-+bHN0sXf0Q5FdXkgGKUBogSnvKytfx+lALMQ+4e+JTirSKrO4WbAnSOfvapAe1N/wMYMxhUY6z/iZsWhVDcWEg==", + "version": "1.27.4", + "resolved": "https://registry.npmjs.org/@percy/cli-app/-/cli-app-1.27.4.tgz", + "integrity": "sha512-av/s6K2QmQgq4SCQQ+3lmteNHeQtIpMeBjMfSgxs9zeBoPVOMx5hXrdsi6l7ChvOLXyYfzl/TbEuwrSDXiA8mw==", "dev": true, "requires": { - "@percy/cli-command": "1.26.3", - "@percy/cli-exec": "1.26.3" + "@percy/cli-command": "1.27.4", + "@percy/cli-exec": "1.27.4" } }, "@percy/cli-build": { - "version": "1.26.3", - "resolved": "https://registry.npmjs.org/@percy/cli-build/-/cli-build-1.26.3.tgz", - "integrity": "sha512-RwXrnT7j1yahtQXndyPCB0kTZ1rGmBCg6B2V/pysin+2AbGPc+CNjsqTpg7FXnSJ1QMnwhedMhJzbqrGgdKTZg==", + "version": "1.27.4", + "resolved": "https://registry.npmjs.org/@percy/cli-build/-/cli-build-1.27.4.tgz", + "integrity": "sha512-tzCAcV0sAw608Gr/Q6NtPvVkA8dnIehMzvEXNIN3WP9DkprOgu7MYuexN0fZXf4vSroDWYXT87pHYP8YrrnDag==", "dev": true, "requires": { - "@percy/cli-command": "1.26.3" + "@percy/cli-command": "1.27.4" } }, "@percy/cli-command": { - "version": "1.26.3", - "resolved": "https://registry.npmjs.org/@percy/cli-command/-/cli-command-1.26.3.tgz", - "integrity": "sha512-mIUgyO1q2XzDGt4IXxLbs0Qu54F0fvgl2j3o6C1WKHa90yLYDQ7SN/MY34n8iUem/tdNkBgk0Gzm4tODghzlNw==", + "version": "1.27.4", + "resolved": "https://registry.npmjs.org/@percy/cli-command/-/cli-command-1.27.4.tgz", + "integrity": "sha512-YDKeeOr1MvksDOnc2ZKQ/XuERGrWwzuT/vWZ9it8L+0SyPj28UbklDu0e9zBgPsSDfxJlIvsWXRuHNGHsweKXg==", "dev": true, "requires": { - "@percy/config": "1.26.3", - "@percy/core": "1.26.3", - "@percy/logger": "1.26.3" + "@percy/config": "1.27.4", + "@percy/core": "1.27.4", + "@percy/logger": "1.27.4" } }, "@percy/cli-config": { - "version": "1.26.3", - "resolved": "https://registry.npmjs.org/@percy/cli-config/-/cli-config-1.26.3.tgz", - "integrity": "sha512-pyH7HBXZFqAqBS6a1ltPirJG1PMjiBazD4dgzfAldKFREjBubhsLg1oZz6yUsbCJdnnVri0IfeJoVXfJ8l5Crw==", + "version": "1.27.4", + "resolved": "https://registry.npmjs.org/@percy/cli-config/-/cli-config-1.27.4.tgz", + "integrity": "sha512-wFtQwPw4LEqpcZ6ac6WtejyGrvrrzzLdyvXNvsCPQLE47qXnXVXJ+E99k9KGcjavtUuPxrbWtX996Fz9Fb5hoQ==", "dev": true, "requires": { - "@percy/cli-command": "1.26.3" + "@percy/cli-command": "1.27.4" } }, "@percy/cli-exec": { - "version": "1.26.3", - "resolved": "https://registry.npmjs.org/@percy/cli-exec/-/cli-exec-1.26.3.tgz", - "integrity": "sha512-8LTJMXGdsW+abnF2WdcRD5/xu8DQnPHiMYUkUMHHFt5TePEoAhgI0vokFtqJhJ6ZGpAJida77HppE1ncFkRakA==", + "version": "1.27.4", + "resolved": "https://registry.npmjs.org/@percy/cli-exec/-/cli-exec-1.27.4.tgz", + "integrity": "sha512-aSDLvzXXdwJso+p5iI4iTOa7AYzgFdRoqY9ij/R5aAL9juNkvG5QatB1bkUNbJabKFe16t7iigt4eJnlS0R13A==", "dev": true, "requires": { - "@percy/cli-command": "1.26.3", + "@percy/cli-command": "1.27.4", "cross-spawn": "^7.0.3", "which": "^2.0.2" } }, "@percy/cli-snapshot": { - "version": "1.26.3", - "resolved": "https://registry.npmjs.org/@percy/cli-snapshot/-/cli-snapshot-1.26.3.tgz", - "integrity": "sha512-UQgvcMdL/XBBUmmGeUUmyB8TWu67rcOa2H8JAAsqNMaPqnrrKhNY5LMA7JIyxxLqtCIEa2ve9K5mD2DlPeXw4g==", + "version": "1.27.4", + "resolved": "https://registry.npmjs.org/@percy/cli-snapshot/-/cli-snapshot-1.27.4.tgz", + "integrity": "sha512-dDT2UpeP6X5NcMdj3AKLhHGmnobwzlXsHa52C+ne3kg3HSZgaXH9OsNY866Xe7onvcsZxvnRKDYHmWW6kC3cKQ==", "dev": true, "requires": { - "@percy/cli-command": "1.26.3", + "@percy/cli-command": "1.27.4", "yaml": "^2.0.0" } }, "@percy/cli-upload": { - "version": "1.26.3", - "resolved": "https://registry.npmjs.org/@percy/cli-upload/-/cli-upload-1.26.3.tgz", - "integrity": "sha512-1J9A5LKxg4nCM+t1mt1UcNWGvoA+2z6wnNdPTOpOIr/NBcSdrVi37mAcKpCmkr8herLI8c1XfLVWK48GPpDB1Q==", + "version": "1.27.4", + "resolved": "https://registry.npmjs.org/@percy/cli-upload/-/cli-upload-1.27.4.tgz", + "integrity": "sha512-+4mcEOUydFubyMWVzQjPV79sL1Jar95SR7Yr7Vp4FBoE0iq0CbaHoJtyOWDfwvHYYp4rRjVMxpY0ha3jnmF0mA==", "dev": true, "requires": { - "@percy/cli-command": "1.26.3", + "@percy/cli-command": "1.27.4", "fast-glob": "^3.2.11", "image-size": "^1.0.0" } }, "@percy/client": { - "version": "1.26.3", - "resolved": "https://registry.npmjs.org/@percy/client/-/client-1.26.3.tgz", - "integrity": "sha512-A1D5MPKiGjLVynHO1VIA62jigC+KM/STjNkxj+oOBtBrSVynO+WvpqJckNHya/xtKaGPgJKxEYfaEbjy/iw2Dg==", + "version": "1.27.4", + "resolved": "https://registry.npmjs.org/@percy/client/-/client-1.27.4.tgz", + "integrity": "sha512-1F8ulTJhfk4/Lgj1Cn0blaRd8vTRJDxahAGseTbfrnZ2PHsftPZ65/5nCHPtpdD/2CE8N5COBQscGTMQQO+hBA==", "dev": true, "requires": { - "@percy/env": "1.26.3", - "@percy/logger": "1.26.3" + "@percy/env": "1.27.4", + "@percy/logger": "1.27.4" } }, "@percy/config": { - "version": "1.26.3", - "resolved": "https://registry.npmjs.org/@percy/config/-/config-1.26.3.tgz", - "integrity": "sha512-f2echEEP4JDwX+PxDwmVLiuhp9mjkPTyLjkPltgAEllembqsB7NYgS6HXRT9h7welTPNEof2j5fQCk1nthvGfQ==", + "version": "1.27.4", + "resolved": "https://registry.npmjs.org/@percy/config/-/config-1.27.4.tgz", + "integrity": "sha512-mlgiOdzdSfUSx9FskVIjmbT/iHbTif0Ow5evZQJTT1W0xgHOBWDCZyhINdsqulSBw+K1PNhHsu1J0h2ijxF4uA==", "dev": true, "requires": { - "@percy/logger": "1.26.3", + "@percy/logger": "1.27.4", "ajv": "^8.6.2", "cosmiconfig": "^8.0.0", "yaml": "^2.0.0" } }, "@percy/core": { - "version": "1.26.3", - "resolved": "https://registry.npmjs.org/@percy/core/-/core-1.26.3.tgz", - "integrity": "sha512-MtkcHEiG6CT5dOThYKXg8L7RVALCRYJjA2gP4O4qBg77FpTebHolHg04Z5IWQ3Uji5VYQCYiO5R0Bbose0G1/g==", + "version": "1.27.4", + "resolved": "https://registry.npmjs.org/@percy/core/-/core-1.27.4.tgz", + "integrity": "sha512-WdsA4zlPgXl9xj+a5WW2wA20iU6VTDmRq5sgsYNSuPzZfQB2I5Cecgvb55p86dhlUTbPJrC76daQKzDTGe0hfA==", "dev": true, "requires": { - "@percy/client": "1.26.3", - "@percy/config": "1.26.3", - "@percy/dom": "1.26.3", - "@percy/logger": "1.26.3", + "@percy/client": "1.27.4", + "@percy/config": "1.27.4", + "@percy/dom": "1.27.4", + "@percy/logger": "1.27.4", + "@percy/webdriver-utils": "1.27.4", "content-disposition": "^0.5.4", "cross-spawn": "^7.0.3", "extract-zip": "^2.0.1", @@ -26685,26 +27011,42 @@ } }, "@percy/dom": { - "version": "1.26.3", - "resolved": "https://registry.npmjs.org/@percy/dom/-/dom-1.26.3.tgz", - "integrity": "sha512-BlYBn6zbq2icx0mjIFKUFUdgZmoP3md11UXNfLGzaIeIxWXQ0gn+nJqEm8SKxdValJ59eOiL4Hq8tRV2M8y+Gw==", + "version": "1.27.4", + "resolved": "https://registry.npmjs.org/@percy/dom/-/dom-1.27.4.tgz", + "integrity": "sha512-pwPDx3e9y7uRobVlEya8xu3BB3GeXbC74kQ6pPM/wFYDwi/Dg8DJywCsj5Nko/7QuhXP02rYgatkbREOIRxDnA==", "dev": true }, "@percy/env": { - "version": "1.26.3", - "resolved": "https://registry.npmjs.org/@percy/env/-/env-1.26.3.tgz", - "integrity": "sha512-8IIX2byb9Q8WZkVw9MfnwVh6GCebbTgfxffTjoE9yVpK7/1BAPJ0HVPF2WR3Y9xi/eJirnO70Y5J913OQ5hsIQ==", + "version": "1.27.4", + "resolved": "https://registry.npmjs.org/@percy/env/-/env-1.27.4.tgz", + "integrity": "sha512-Xl2VUpljOrlCvAp/+KfmN9NUcTGpRdXPa1U9zSIyBnV/oAksp3/CK5EPpKZX/f8xUUkTp78UPaG99sEMA8VvXQ==", "dev": true, "requires": { - "@percy/logger": "1.26.3" + "@percy/logger": "1.27.4" } }, "@percy/logger": { - "version": "1.26.3", - "resolved": "https://registry.npmjs.org/@percy/logger/-/logger-1.26.3.tgz", - "integrity": "sha512-a4GpCFnI0RrDwxLWYgJxIFFUUgrvu1EAWgP+147qsTZp9F7NTdkNUeVLZmtXXY8L0Znk7qyKJzX9McBJgl8kEA==", + "version": "1.27.4", + "resolved": "https://registry.npmjs.org/@percy/logger/-/logger-1.27.4.tgz", + "integrity": "sha512-AwXqYaDkHaq1TPkP+ByB8rjvH9ddvkAH9tFd2kmq8AeFFXZ0amAPSbm6u090OUtdHWjRmKQK9JjSouBxEh0aRw==", "dev": true }, + "@percy/sdk-utils": { + "version": "1.27.4", + "resolved": "https://registry.npmjs.org/@percy/sdk-utils/-/sdk-utils-1.27.4.tgz", + "integrity": "sha512-vhPcdtmJlvTYJ5VOqiVzo02ujdtBFNw1/Bj+2ybiZgn7PkCDPFcITfXoWWPea319EIibGC4ZHjWHctRBgtW/tQ==", + "dev": true + }, + "@percy/webdriver-utils": { + "version": "1.27.4", + "resolved": "https://registry.npmjs.org/@percy/webdriver-utils/-/webdriver-utils-1.27.4.tgz", + "integrity": "sha512-pZOOYns8Fikh2qlbxO16DxFEnCrnFIoLpE7iz4M9jXxOfk16VZF1PWknMChSr5NqG2I9k2OMjizUE2j8zvtl2Q==", + "dev": true, + "requires": { + "@percy/config": "1.27.4", + "@percy/sdk-utils": "1.27.4" + } + }, "@philpl/buble": { "version": "0.19.7", "resolved": "https://registry.npmjs.org/@philpl/buble/-/buble-0.19.7.tgz", @@ -26722,9 +27064,9 @@ } }, "@pmmmwh/react-refresh-webpack-plugin": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.10.tgz", - "integrity": "sha512-j0Ya0hCFZPd4x40qLzbhGsh9TMtdb+CJQiso+WxLOPNasohq9cc5SNUcwsZaRH6++Xh91Xkm/xHCkuIiIu0LUA==", + "version": "0.5.11", + "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.11.tgz", + "integrity": "sha512-7j/6vdTym0+qZ6u4XbSAxrWBGYSdCfTzySkj7WAFgDLmSyWlOrWvpyzxlFh5jtw9dn0oL/jtW+06XfFiisN3JQ==", "requires": { "ansi-html-community": "^0.0.8", "common-path-prefix": "^3.0.0", @@ -26750,9 +27092,9 @@ } }, "@polka/url": { - "version": "1.0.0-next.21", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", - "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==", + "version": "1.0.0-next.23", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.23.tgz", + "integrity": "sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==", "dev": true }, "@prisma/client": { @@ -26836,10 +27178,11 @@ } }, "@swc/helpers": { - "version": "0.4.14", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz", - "integrity": "sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==", + "version": "0.4.36", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.36.tgz", + "integrity": "sha512-5lxnyLEYFskErRPenYItLRSge5DjrJngYKdVjRSrWfza9G6KkgHEXi0vUZiyUeMU5JfXH1YnvXZzSp8ul88o2Q==", "requires": { + "legacy-swc-helpers": "npm:@swc/helpers@=0.4.14", "tslib": "^2.4.0" } }, @@ -26886,14 +27229,14 @@ } }, "@types/common-tags": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@types/common-tags/-/common-tags-1.8.1.tgz", - "integrity": "sha512-20R/mDpKSPWdJs5TOpz3e7zqbeCNuMCPhV7Yndk9KU2Rbij2r5W4RzwDPkzC+2lzUqXYu9rFzTktCBnDjHuNQg==" + "version": "1.8.4", + "resolved": "https://registry.npmjs.org/@types/common-tags/-/common-tags-1.8.4.tgz", + "integrity": "sha512-S+1hLDJPjWNDhcGxsxEbepzaxWqURP/o+3cP4aa2w7yBXgdcmKGQtZzP8JbyfOd0m+33nh+8+kvxYE2UJtBDkg==" }, "@types/component-emitter": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.11.tgz", - "integrity": "sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ==" + "version": "1.2.14", + "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.14.tgz", + "integrity": "sha512-lmPil1g82wwWg/qHSxMWkSKyJGQOK+ejXeMAAWyxNtVUD0/Ycj2maL63RAqpxVfdtvTfZkRnqzB0A9ft59y69g==" }, "@types/configstore": { "version": "2.1.1", @@ -26906,9 +27249,9 @@ "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" }, "@types/cors": { - "version": "2.8.13", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.13.tgz", - "integrity": "sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==", + "version": "2.8.17", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.17.tgz", + "integrity": "sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==", "requires": { "@types/node": "*" } @@ -26928,18 +27271,18 @@ } }, "@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", "requires": { "@types/eslint": "*", "@types/estree": "*" } }, "@types/estree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", - "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==" + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" }, "@types/get-port": { "version": "3.2.0", @@ -26956,17 +27299,17 @@ } }, "@types/hast": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.5.tgz", - "integrity": "sha512-SvQi0L/lNpThgPoleH53cdjB3y9zpLlVjRbqB3rH8hx1jiRSBGAhyjV3H+URFjNVRqt2EdYNrbZE5IsGlNfpRg==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.8.tgz", + "integrity": "sha512-aMIqAlFd2wTIDZuvLbhUT+TGvMxrNC8ECUIVtH6xxy0sQLs3iu6NO8Kp/VT5je7i5ufnebXzdV1dNDMnvaH6IQ==", "requires": { "@types/unist": "^2" } }, "@types/hoist-non-react-statics": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", - "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==", + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz", + "integrity": "sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==", "dev": true, "requires": { "@types/react": "*", @@ -26974,22 +27317,22 @@ } }, "@types/http-cache-semantics": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", - "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==" + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", + "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==" }, "@types/http-proxy": { - "version": "1.17.11", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.11.tgz", - "integrity": "sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==", + "version": "1.17.14", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz", + "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==", "requires": { "@types/node": "*" } }, "@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" }, "@types/json5": { "version": "0.0.29", @@ -27005,14 +27348,14 @@ } }, "@types/lodash": { - "version": "4.14.196", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.196.tgz", - "integrity": "sha512-22y3o88f4a94mKljsZcanlNWPzO0uBsBdzLAngf2tp533LzZcQzb6+eZPJ+vCTt+bqF2XnvT9gejTLsAcJAJyQ==" + "version": "4.14.202", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.202.tgz", + "integrity": "sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==" }, "@types/mdast": { - "version": "3.0.12", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.12.tgz", - "integrity": "sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg==", + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.15.tgz", + "integrity": "sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==", "requires": { "@types/unist": "^2" } @@ -27023,9 +27366,9 @@ "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==" }, "@types/minimist": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", - "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==" + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==" }, "@types/mkdirp": { "version": "0.5.2", @@ -27041,23 +27384,23 @@ "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==" }, "@types/node-fetch": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.4.tgz", - "integrity": "sha512-1ZX9fcN4Rvkvgv4E6PAY5WXUFWFcRWxZa3EW83UjycOB9ljJCedb2CupIP4RZMEwF/M3eTcCihbBRgwtGbg5Rg==", + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.9.tgz", + "integrity": "sha512-bQVlnMLFJ2d35DkPNjEPmd9ueO/rh5EiaZt2bhqiSarPjZIuIV6bPQVqcrEyvNo+AfTrRGVazle1tl597w3gfA==", "requires": { "@types/node": "*", - "form-data": "^3.0.0" + "form-data": "^4.0.0" } }, "@types/normalize-package-data": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", - "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==" + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==" }, "@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==" }, "@types/parse5": { "version": "5.0.3", @@ -27065,19 +27408,19 @@ "integrity": "sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==" }, "@types/prop-types": { - "version": "15.7.5", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + "version": "15.7.11", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", + "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==" }, "@types/q": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", - "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==" + "version": "1.5.8", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.8.tgz", + "integrity": "sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==" }, "@types/reach__router": { - "version": "1.3.11", - "resolved": "https://registry.npmjs.org/@types/reach__router/-/reach__router-1.3.11.tgz", - "integrity": "sha512-j23ChnIEiW8aAP4KT8OVyTXOFr+Ri65BDnwzmfHFO9WHypXYevHFjeil1Cj7YH3emfCE924BwAmgW4hOv7Wg3g==", + "version": "1.3.14", + "resolved": "https://registry.npmjs.org/@types/reach__router/-/reach__router-1.3.14.tgz", + "integrity": "sha512-2iOQZbwfw1ZYwYK+dRp7D1b8kU6GlFPJ/iEt33zDYxfId5CAKT7vX3lN/XmJ+FaMZ3FyB99tPgfajcmZnTqdtg==", "requires": { "@types/react": "*" } @@ -27102,9 +27445,9 @@ } }, "@types/react-instantsearch-core": { - "version": "6.26.3", - "resolved": "https://registry.npmjs.org/@types/react-instantsearch-core/-/react-instantsearch-core-6.26.3.tgz", - "integrity": "sha512-dBq/K1NQFBgLmCdiLYaC15KjXdjZk8UTQBhumSg+fAHgpW3ai5fu5BbzAKzSCkqYwbgqvhCQ1EZ9PLvPvOfqwQ==", + "version": "6.26.8", + "resolved": "https://registry.npmjs.org/@types/react-instantsearch-core/-/react-instantsearch-core-6.26.8.tgz", + "integrity": "sha512-XjsnIaafuT3AnnpFhriv3vt9rGytIVv7+1bHEu185VRjbF0pN5znM4ggRCY8JmTDRPvGWe01qSV48oUW37apGQ==", "dev": true, "requires": { "@types/react": "*", @@ -27123,17 +27466,17 @@ } }, "@types/react-transition-group": { - "version": "4.4.6", - "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.6.tgz", - "integrity": "sha512-VnCdSxfcm08KjsJVQcfBmhEQAPnLB8G08hAxn39azX1qYBQ/5RVQuoHuKIcfKOdncuaUvEpFKFzEvbtIMsfVew==", + "version": "4.4.9", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.9.tgz", + "integrity": "sha512-ZVNmWumUIh5NhH8aMD9CR2hdW0fNuYInlocZHaZ+dgk/1K49j1w/HoAuK1ki+pgscQrOFRTlXeoURtuzEkV3dg==", "requires": { "@types/react": "*" } }, "@types/responselike": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", - "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.3.tgz", + "integrity": "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==", "requires": { "@types/node": "*" } @@ -27148,17 +27491,17 @@ } }, "@types/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-pSAff4IAxJjfAXUG6tFkO7dsSbTmf8CtUpfhhZ5VhkRpC4628tJhh3+V6H1E+/Gs9piSzYKT5yzHO5M4GG9jkw==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz", + "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==", "requires": { "@types/node": "*" } }, "@types/scheduler": { - "version": "0.16.3", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", - "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", + "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==" }, "@types/sharp": { "version": "0.30.5", @@ -27185,9 +27528,9 @@ "integrity": "sha512-gVC1InwyVrO326wbBZw+AO3u2vRXz/iRWq9jYhpG4W8LXyIgDv3ZmcLQ5Q4Gs+gFMyqx+viFoFT+l3p61QFCmQ==" }, "@types/unist": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.7.tgz", - "integrity": "sha512-cputDpIbFgLUaGQn6Vqg3/YsJwxUwHLO13v3i5ouxT4lat0khip9AEWxtERujXV9wxIB1EyF97BSJFt6vpdI8g==" + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" }, "@types/vfile": { "version": "3.0.2", @@ -27208,9 +27551,9 @@ } }, "@types/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", + "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", "dev": true, "optional": true, "requires": { @@ -27531,9 +27874,9 @@ "requires": {} }, "acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.0.tgz", + "integrity": "sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==", "dev": true }, "add-filename-increment": { @@ -27592,9 +27935,9 @@ } }, "algoliasearch-helper": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.14.0.tgz", - "integrity": "sha512-gXDXzsSS0YANn5dHr71CUXOo84cN4azhHKUbg71vAWnH+1JBiR4jf7to3t3JHXknXkbV0F7f055vUSBKrltHLQ==", + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.15.0.tgz", + "integrity": "sha512-DGUnK3TGtDQsaUE4ayF/LjSN0DGsuYThB8WBgnnDY0Wq04K6lNVruO3LfqJOgSfDiezp+Iyt8Tj4YKHi+/ivSA==", "requires": { "@algolia/events": "^4.0.1" } @@ -27708,14 +28051,14 @@ "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" }, "array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", + "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", "is-string": "^1.0.7" } }, @@ -27730,71 +28073,72 @@ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" }, "array.prototype.findlastindex": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.2.tgz", - "integrity": "sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz", + "integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==", "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" + "get-intrinsic": "^1.2.1" } }, "array.prototype.flat": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "es-shim-unscopables": "^1.0.0" } }, "array.prototype.flatmap": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "es-shim-unscopables": "^1.0.0" } }, "array.prototype.reduce": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.5.tgz", - "integrity": "sha512-kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz", + "integrity": "sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==", "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "es-array-method-boxes-properly": "^1.0.0", "is-string": "^1.0.7" } }, "array.prototype.tosorted": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", - "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz", + "integrity": "sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==", "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" + "get-intrinsic": "^1.2.1" } }, "arraybuffer.prototype.slice": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz", - "integrity": "sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", + "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", "requires": { "array-buffer-byte-length": "^1.0.0", "call-bind": "^1.0.2", "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "get-intrinsic": "^1.2.1", "is-array-buffer": "^3.0.2", "is-shared-array-buffer": "^1.0.2" @@ -27811,9 +28155,9 @@ "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" }, "ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==" + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==" }, "astral-regex": { "version": "2.0.0", @@ -27849,6 +28193,14 @@ } } }, + "asynciterator.prototype": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", + "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", + "requires": { + "has-symbols": "^1.0.3" + } + }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -27865,13 +28217,13 @@ "integrity": "sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ==" }, "autoprefixer": { - "version": "10.4.14", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz", - "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==", + "version": "10.4.16", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz", + "integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==", "requires": { - "browserslist": "^4.21.5", - "caniuse-lite": "^1.0.30001464", - "fraction.js": "^4.2.0", + "browserslist": "^4.21.10", + "caniuse-lite": "^1.0.30001538", + "fraction.js": "^4.3.6", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", "postcss-value-parser": "^4.2.0" @@ -27883,9 +28235,9 @@ "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" }, "axe-core": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.2.tgz", - "integrity": "sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==" + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.0.tgz", + "integrity": "sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==" }, "axios": { "version": "0.21.4", @@ -28061,30 +28413,30 @@ } }, "babel-plugin-polyfill-corejs2": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.5.tgz", - "integrity": "sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==", + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz", + "integrity": "sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==", "requires": { "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.4.2", + "@babel/helper-define-polyfill-provider": "^0.4.3", "semver": "^6.3.1" } }, "babel-plugin-polyfill-corejs3": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.3.tgz", - "integrity": "sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA==", + "version": "0.8.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.6.tgz", + "integrity": "sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ==", "requires": { - "@babel/helper-define-polyfill-provider": "^0.4.2", - "core-js-compat": "^3.31.0" + "@babel/helper-define-polyfill-provider": "^0.4.3", + "core-js-compat": "^3.33.1" } }, "babel-plugin-polyfill-regenerator": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.2.tgz", - "integrity": "sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==", + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz", + "integrity": "sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==", "requires": { - "@babel/helper-define-polyfill-provider": "^0.4.2" + "@babel/helper-define-polyfill-provider": "^0.4.3" } }, "babel-plugin-remove-graphql-queries": { @@ -28393,14 +28745,14 @@ } }, "browserslist": { - "version": "4.21.10", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", - "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", + "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", "requires": { - "caniuse-lite": "^1.0.30001517", - "electron-to-chromium": "^1.4.477", + "caniuse-lite": "^1.0.30001541", + "electron-to-chromium": "^1.4.535", "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.11" + "update-browserslist-db": "^1.0.13" } }, "bser": { @@ -28496,12 +28848,13 @@ } }, "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" } }, "callsites": { @@ -28567,9 +28920,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001519", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001519.tgz", - "integrity": "sha512-0QHgqR+Jv4bxHMp8kZ1Kn8CH55OikjKJ6JmKkZYP1F3D7w+lnFXF70nG5eNfsZS89jadi5Ywy5UCSKLAglIRkg==" + "version": "1.0.30001565", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001565.tgz", + "integrity": "sha512-xrE//a3O7TP0vaJ8ikzkD2c2NgcVUvsEe2IvFTntV4Yd1Z9FVzh+gW+enX96L0psrbaFMcVcH2l90xNuGDWc8w==" }, "capital-case": { "version": "1.0.4", @@ -28899,6 +29252,16 @@ "is-plain-object": "^2.0.4", "kind-of": "^6.0.2", "shallow-clone": "^3.0.0" + }, + "dependencies": { + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "^3.0.1" + } + } } }, "clone-response": { @@ -29025,9 +29388,9 @@ "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" }, "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", + "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==" }, "compressible": { "version": "2.0.18", @@ -29134,9 +29497,9 @@ "integrity": "sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA==" }, "convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" }, "cookie": { "version": "0.4.2", @@ -29157,22 +29520,22 @@ } }, "core-js": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.32.0.tgz", - "integrity": "sha512-rd4rYZNlF3WuoYuRIDEmbR/ga9CeuWX9U05umAvgrrZoHY4Z++cp/xwPQMvUpBB4Ag6J8KfD80G0zwCyaSxDww==" + "version": "3.33.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.33.3.tgz", + "integrity": "sha512-lo0kOocUlLKmm6kv/FswQL8zbkH7mVsLJ/FULClOhv8WRVmKLVcs6XPNQAzstfeJTCHMyButEwG+z1kHxHoDZw==" }, "core-js-compat": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.32.0.tgz", - "integrity": "sha512-7a9a3D1k4UCVKnLhrgALyFcP7YCsLOQIxPd0dKjf/6GuPcgyiGP70ewWdCGrSK7evyhymi0qO4EqCmSJofDeYw==", + "version": "3.33.3", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.3.tgz", + "integrity": "sha512-cNzGqFsh3Ot+529GIXacjTJ7kegdt5fPXxCBVS1G0iaZpuo/tBz399ymceLJveQhFFZ8qThHiP3fzuoQjKN2ow==", "requires": { - "browserslist": "^4.21.9" + "browserslist": "^4.22.1" } }, "core-js-pure": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.32.0.tgz", - "integrity": "sha512-qsev1H+dTNYpDUEURRuOXMvpdtAnNEvQWS/FMJ2Vb5AY8ZP4rAPQldkE27joykZPJTe0+IVgHZYh1P5Xu1/i1g==" + "version": "3.33.3", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.33.3.tgz", + "integrity": "sha512-taJ00IDOP+XYQEA2dAe4ESkmHt1fL8wzYDo3mRWQey8uO9UojlBFMneA65kMyxfYP7106c6LzWaq7/haDT6BCQ==" }, "core-util-is": { "version": "1.0.3", @@ -29189,14 +29552,14 @@ } }, "cosmiconfig": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.2.0.tgz", - "integrity": "sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ==", + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", "dev": true, "requires": { - "import-fresh": "^3.2.1", + "import-fresh": "^3.3.0", "js-yaml": "^4.1.0", - "parse-json": "^5.0.0", + "parse-json": "^5.2.0", "path-type": "^4.0.0" } }, @@ -29491,6 +29854,12 @@ "@babel/runtime": "^7.21.0" } }, + "debounce": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", + "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", + "dev": true + }, "debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -29560,16 +29929,27 @@ "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==" }, + "define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "requires": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + } + }, "define-lazy-prop": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" }, "define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "requires": { + "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", "object-keys": "^1.1.1" } @@ -29826,9 +30206,9 @@ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "electron-to-chromium": { - "version": "1.4.485", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.485.tgz", - "integrity": "sha512-1ndQ5IBNEnFirPwvyud69GHL+31FkE09gH/CJ6m3KCbkx3i0EVOrjwz4UNxRmN9H8OVHbC6vMRZGN1yCvjSs9w==" + "version": "1.4.594", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.594.tgz", + "integrity": "sha512-xT1HVAu5xFn7bDfkjGQi9dNpMqGchUkebwf1GL7cZN32NSwwlHRPMSDJ1KN6HkS0bWUtndbSQZqvpQftKG2uFQ==" }, "emoji-regex": { "version": "9.2.2", @@ -29932,9 +30312,9 @@ "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==" }, "envinfo": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", - "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==" + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.11.0.tgz", + "integrity": "sha512-G9/6xF1FPbIw0TtalAMaVPpiq2aDEuKLXM314jPVAO9r2fo2a4BLqMNkmRS7O/xPPZ+COAhGIz3ETvHEV3eUcg==" }, "eol": { "version": "0.9.1", @@ -29958,25 +30338,25 @@ } }, "es-abstract": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", - "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", + "version": "1.22.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", + "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", "requires": { "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.2", "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", + "call-bind": "^1.0.5", "es-set-tostringtag": "^2.0.1", "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.2", "get-symbol-description": "^1.0.0", "globalthis": "^1.0.3", "gopd": "^1.0.1", - "has": "^1.0.3", "has-property-descriptors": "^1.0.0", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", + "hasown": "^2.0.0", "internal-slot": "^1.0.5", "is-array-buffer": "^3.0.2", "is-callable": "^1.2.7", @@ -29984,23 +30364,23 @@ "is-regex": "^1.1.4", "is-shared-array-buffer": "^1.0.2", "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", + "is-typed-array": "^1.1.12", "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", + "object-inspect": "^1.13.1", "object-keys": "^1.1.1", "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.0", - "safe-array-concat": "^1.0.0", + "regexp.prototype.flags": "^1.5.1", + "safe-array-concat": "^1.0.1", "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", "typed-array-buffer": "^1.0.0", "typed-array-byte-length": "^1.0.0", "typed-array-byte-offset": "^1.0.0", "typed-array-length": "^1.0.4", "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.10" + "which-typed-array": "^1.1.13" } }, "es-array-method-boxes-properly": { @@ -30008,27 +30388,48 @@ "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" }, + "es-iterator-helpers": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz", + "integrity": "sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==", + "requires": { + "asynciterator.prototype": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.1", + "es-set-tostringtag": "^2.0.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.2.1", + "globalthis": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "iterator.prototype": "^1.1.2", + "safe-array-concat": "^1.0.1" + } + }, "es-module-lexer": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", - "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==" + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", + "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==" }, "es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", + "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", "requires": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" + "get-intrinsic": "^1.2.2", + "has-tostringtag": "^1.0.0", + "hasown": "^2.0.0" } }, "es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", "requires": { - "has": "^1.0.3" + "hasown": "^2.0.0" } }, "es-to-primitive": { @@ -30231,9 +30632,9 @@ } }, "globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", "requires": { "type-fest": "^0.20.2" } @@ -30307,13 +30708,13 @@ } }, "eslint-import-resolver-node": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", - "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", "requires": { "debug": "^3.2.7", - "is-core-module": "^2.11.0", - "resolve": "^1.22.1" + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" }, "dependencies": { "debug": { @@ -30354,26 +30755,25 @@ } }, "eslint-plugin-import": { - "version": "2.28.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.0.tgz", - "integrity": "sha512-B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q==", + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.0.tgz", + "integrity": "sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==", "requires": { - "array-includes": "^3.1.6", - "array.prototype.findlastindex": "^1.2.2", - "array.prototype.flat": "^1.3.1", - "array.prototype.flatmap": "^1.3.1", + "array-includes": "^3.1.7", + "array.prototype.findlastindex": "^1.2.3", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", "debug": "^3.2.7", "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.7", + "eslint-import-resolver-node": "^0.3.9", "eslint-module-utils": "^2.8.0", - "has": "^1.0.3", - "is-core-module": "^2.12.1", + "hasown": "^2.0.0", + "is-core-module": "^2.13.1", "is-glob": "^4.0.3", "minimatch": "^3.1.2", - "object.fromentries": "^2.0.6", - "object.groupby": "^1.0.0", - "object.values": "^1.1.6", - "resolve": "^1.22.3", + "object.fromentries": "^2.0.7", + "object.groupby": "^1.0.1", + "object.values": "^1.1.7", "semver": "^6.3.1", "tsconfig-paths": "^3.14.2" }, @@ -30393,51 +30793,42 @@ "requires": { "esutils": "^2.0.2" } - }, - "resolve": { - "version": "1.22.3", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.3.tgz", - "integrity": "sha512-P8ur/gp/AmbEzjr729bZnLjXK5Z+4P0zhIJgBgzqRih7hL7BOukHGtSTA3ACMY467GRFz3duQsi0bDZdR7DKdw==", - "requires": { - "is-core-module": "^2.12.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } } } }, "eslint-plugin-jsx-a11y": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", - "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==", - "requires": { - "@babel/runtime": "^7.20.7", - "aria-query": "^5.1.3", - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "ast-types-flow": "^0.0.7", - "axe-core": "^4.6.2", - "axobject-query": "^3.1.1", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.8.0.tgz", + "integrity": "sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==", + "requires": { + "@babel/runtime": "^7.23.2", + "aria-query": "^5.3.0", + "array-includes": "^3.1.7", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "=4.7.0", + "axobject-query": "^3.2.1", "damerau-levenshtein": "^1.0.8", "emoji-regex": "^9.2.2", - "has": "^1.0.3", - "jsx-ast-utils": "^3.3.3", - "language-tags": "=1.0.5", + "es-iterator-helpers": "^1.0.15", + "hasown": "^2.0.0", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "semver": "^6.3.0" + "object.entries": "^1.1.7", + "object.fromentries": "^2.0.7" } }, "eslint-plugin-react": { - "version": "7.33.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.1.tgz", - "integrity": "sha512-L093k0WAMvr6VhNwReB8VgOq5s2LesZmrpPdKz/kZElQDzqS7G7+DnKoqT+w4JwuiGeAhAvHO0fvy0Eyk4ejDA==", + "version": "7.33.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", + "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", "requires": { "array-includes": "^3.1.6", "array.prototype.flatmap": "^1.3.1", "array.prototype.tosorted": "^1.1.1", "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.0.12", "estraverse": "^5.3.0", "jsx-ast-utils": "^2.4.1 || ^3.0.0", "minimatch": "^3.1.2", @@ -30475,11 +30866,11 @@ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, "resolve": { - "version": "2.0.0-next.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", - "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", "requires": { - "is-core-module": "^2.9.0", + "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" } @@ -30875,9 +31266,9 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "requires": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -31071,24 +31462,30 @@ "path-exists": "^4.0.0" } }, + "flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" + }, "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", "requires": { - "flatted": "^3.1.0", + "flatted": "^3.2.9", + "keyv": "^4.5.3", "rimraf": "^3.0.2" } }, "flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==" }, "follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", + "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" }, "for-each": { "version": "0.3.3", @@ -31250,9 +31647,9 @@ } }, "form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -31265,9 +31662,9 @@ "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" }, "fraction.js": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", - "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==" + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==" }, "fresh": { "version": "0.5.2", @@ -31295,9 +31692,9 @@ } }, "fs-monkey": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.4.tgz", - "integrity": "sha512-INM/fWAxMICjttnD0DX1rBvinKskj5G1w+oy/pnm9u/tSlnBrzFonJMcalKJ30P8RRsPzKcCG7Q8l0jx5Fh9YQ==" + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", + "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==" }, "fs.realpath": { "version": "1.0.0", @@ -31305,25 +31702,25 @@ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "optional": true }, "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" }, "function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" } }, "functional-red-black-tree": { @@ -32254,9 +32651,9 @@ }, "dependencies": { "async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==" }, "lru-cache": { "version": "6.0.0", @@ -32355,13 +32752,13 @@ } }, "gatsby-plugin-webpack-bundle-analyser-v2": { - "version": "1.1.31", - "resolved": "https://registry.npmjs.org/gatsby-plugin-webpack-bundle-analyser-v2/-/gatsby-plugin-webpack-bundle-analyser-v2-1.1.31.tgz", - "integrity": "sha512-EtfbY0r6KonivfiU3u4I/PP1THCfOcyEiVISTKtJHgAQjM9xc9cwjfGXGotaYIWDtwUkYPkJVIwsmGpen0rh4Q==", + "version": "1.1.32", + "resolved": "https://registry.npmjs.org/gatsby-plugin-webpack-bundle-analyser-v2/-/gatsby-plugin-webpack-bundle-analyser-v2-1.1.32.tgz", + "integrity": "sha512-w6OJAR3CTyiKEKKD5tYu3J56YiQOW/8Sl2GPWmoiwzHIhZGjTOG+NbgkhboAK3+g2vgBlGTUmqgTAiJZWN7E/g==", "dev": true, "requires": { - "@babel/runtime": "^7.21.5", - "webpack-bundle-analyzer": "^4.8.0" + "@babel/runtime": "^7.23.2", + "webpack-bundle-analyzer": "^4.10.1" } }, "gatsby-react-router-scroll": { @@ -32831,14 +33228,14 @@ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" }, "get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", + "function-bind": "^1.1.2", "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" } }, "get-own-enumerable-property-symbols": { @@ -33105,14 +33502,6 @@ "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==" }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, "has-bigints": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", @@ -33129,11 +33518,11 @@ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" }, "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", "requires": { - "get-intrinsic": "^1.1.1" + "get-intrinsic": "^1.2.2" } }, "has-proto": { @@ -33175,6 +33564,14 @@ } } }, + "hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "requires": { + "function-bind": "^1.1.2" + } + }, "hast-to-hyperscript": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz", @@ -33339,6 +33736,12 @@ "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==" }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, "html-void-elements": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.5.tgz", @@ -33412,9 +33815,9 @@ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" }, "ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==" + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", + "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==" }, "image-size": { "version": "1.0.2", @@ -33574,12 +33977,12 @@ } }, "internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", + "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", "requires": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", + "get-intrinsic": "^1.2.2", + "hasown": "^2.0.0", "side-channel": "^1.0.4" } }, @@ -33650,6 +34053,14 @@ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" }, + "is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, "is-bigint": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", @@ -33694,11 +34105,11 @@ } }, "is-core-module": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", - "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", "requires": { - "has": "^1.0.3" + "hasown": "^2.0.0" } }, "is-date-object": { @@ -33729,11 +34140,27 @@ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" }, + "is-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "requires": { + "call-bind": "^1.0.2" + } + }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, + "is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, "is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", @@ -33787,6 +34214,11 @@ "tslib": "^2.0.3" } }, + "is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==" + }, "is-negative-zero": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", @@ -33826,12 +34258,10 @@ "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==" }, "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "requires": { - "isobject": "^3.0.1" - } + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true }, "is-promise": { "version": "2.2.2", @@ -33881,6 +34311,11 @@ "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==" }, + "is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==" + }, "is-shared-array-buffer": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", @@ -33963,6 +34398,11 @@ "is-invalid-path": "^0.1.0" } }, + "is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==" + }, "is-weakref": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", @@ -33971,6 +34411,15 @@ "call-bind": "^1.0.2" } }, + "is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, "is-whitespace-character": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz", @@ -34014,6 +34463,18 @@ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" }, + "iterator.prototype": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", + "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", + "requires": { + "define-properties": "^1.2.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" + } + }, "jest-worker": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", @@ -34045,9 +34506,9 @@ "integrity": "sha512-b2A3rRT1TITzqmaO70U2/uunCh43BQVq7BfRwGPkD5xj8/WZsR3sPTy9DENt+dNZGsel3zBEm1UtYegUxjZW7A==" }, "joi": { - "version": "17.9.2", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.9.2.tgz", - "integrity": "sha512-Itk/r+V4Dx0V3c7RLFdRh12IOjySm2/WGPMubBT92cQvRfYZhPM2W0hZlctjj72iES8jsRCwp7S/cRmWBnJ4nw==", + "version": "17.11.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz", + "integrity": "sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==", "requires": { "@hapi/hoek": "^9.0.0", "@hapi/topo": "^5.0.0", @@ -34126,9 +34587,9 @@ } }, "keyv": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", - "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "requires": { "json-buffer": "3.0.1" } @@ -34154,11 +34615,11 @@ "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==" }, "language-tags": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", - "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", "requires": { - "language-subtag-registry": "~0.3.2" + "language-subtag-registry": "^0.3.20" } }, "latest-version": { @@ -34169,6 +34630,14 @@ "package-json": "^6.3.0" } }, + "legacy-swc-helpers": { + "version": "npm:@swc/helpers@0.4.14", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz", + "integrity": "sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==", + "requires": { + "tslib": "^2.4.0" + } + }, "levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -35153,9 +35622,9 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "msgpackr": { - "version": "1.9.6", - "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.9.6.tgz", - "integrity": "sha512-50rmb6+ZWvEm0vJn8R8CwI1Eavss3h5rgtKrcdUal3EkZcpqw82+xsmc7RoHb8fYB5V4EOU2NDaOitDAdO0t+w==", + "version": "1.9.9", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.9.9.tgz", + "integrity": "sha512-sbn6mioS2w0lq1O6PpGtsv6Gy8roWM+o3o4Sqjd6DudrL/nOugY+KyJUimoWzHnf9OkO0T6broHFnYE/R05t9A==", "requires": { "msgpackr-extract": "^3.0.2" } @@ -35203,9 +35672,9 @@ "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" }, "nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==" + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==" }, "napi-build-utils": { "version": "1.0.2", @@ -35272,9 +35741,9 @@ } }, "node-abi": { - "version": "3.45.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.45.0.tgz", - "integrity": "sha512-iwXuFrMAcFVi/ZoZiqq8BzAdsLw9kxDfTC0HMyjXfSL/6CSDAGD5UmR7azrAgWV1zKYq7dUUMj4owusBWKLsiQ==", + "version": "3.51.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.51.0.tgz", + "integrity": "sha512-SQkEP4hmNWjlniS5zdnfIXTk1x7Ome85RDzHlTbBtzE97Gfwz/Ipw4v/Ryk20DWIy3yCNVLVlGKApCnmvYoJbA==", "requires": { "semver": "^7.3.5" }, @@ -35308,9 +35777,9 @@ "integrity": "sha512-vgbBJTS4m5/KkE16t5Ly0WW9hz46swAstv0hYYwMtbG7AznRhNyfLRe8HZAiWIpcHzoO7HxhLuBQj9rJ/Ho0ZA==" }, "node-fetch": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.12.tgz", - "integrity": "sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "requires": { "whatwg-url": "^5.0.0" } @@ -35475,9 +35944,9 @@ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" }, "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==" }, "object-keys": { "version": "1.1.1", @@ -35496,65 +35965,65 @@ } }, "object.entries": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", - "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz", + "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==", "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" } }, "object.fromentries": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", - "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", + "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" } }, "object.getownpropertydescriptors": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.6.tgz", - "integrity": "sha512-lq+61g26E/BgHv0ZTFgRvi7NMEPuAxLkFU7rukXjc/AlwH4Am5xXVnIXy3un1bg/JPbXHrixRkK1itUzzPiIjQ==", + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.7.tgz", + "integrity": "sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g==", "requires": { - "array.prototype.reduce": "^1.0.5", + "array.prototype.reduce": "^1.0.6", "call-bind": "^1.0.2", "define-properties": "^1.2.0", - "es-abstract": "^1.21.2", + "es-abstract": "^1.22.1", "safe-array-concat": "^1.0.0" } }, "object.groupby": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.0.tgz", - "integrity": "sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz", + "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==", "requires": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", - "es-abstract": "^1.21.2", + "es-abstract": "^1.22.1", "get-intrinsic": "^1.2.1" } }, "object.hasown": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", - "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz", + "integrity": "sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==", "requires": { - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" } }, "object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", + "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" } }, "objectFitPolyfill": { @@ -36178,9 +36647,9 @@ } }, "postcss": { - "version": "8.4.27", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.27.tgz", - "integrity": "sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==", + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", "requires": { "nanoid": "^3.3.6", "picocolors": "^1.0.0", @@ -36785,9 +37254,9 @@ } }, "punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==" }, "pupa": { "version": "2.1.1", @@ -37304,6 +37773,19 @@ "integrity": "sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==", "requires": {} }, + "reflect.getprototypeof": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz", + "integrity": "sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + } + }, "regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", @@ -37318,26 +37800,26 @@ } }, "regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" }, "regenerator-transform": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", - "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", "requires": { "@babel/runtime": "^7.8.4" } }, "regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", "requires": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" + "set-function-name": "^2.0.0" } }, "regexpp": { @@ -37628,6 +38110,11 @@ "@babel/plugin-transform-parameters": "^7.12.1" } }, + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, "semver": { "version": "5.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", @@ -37850,11 +38337,11 @@ "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" }, "resolve": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", - "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "requires": { - "is-core-module": "^2.11.0", + "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" } @@ -37950,12 +38437,12 @@ } }, "safe-array-concat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz", - "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", + "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", "requires": { "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", + "get-intrinsic": "^1.2.1", "has-symbols": "^1.0.3", "isarray": "^2.0.5" }, @@ -38084,9 +38571,9 @@ } }, "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", + "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==" }, "scheduler": { "version": "0.20.2", @@ -38240,6 +38727,27 @@ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" }, + "set-function-length": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", + "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "requires": { + "define-data-property": "^1.1.1", + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + } + }, + "set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "requires": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + } + }, "setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", @@ -38385,14 +38893,14 @@ } }, "sirv": { - "version": "1.0.19", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.19.tgz", - "integrity": "sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.3.tgz", + "integrity": "sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==", "dev": true, "requires": { "@polka/url": "^1.0.0-next.20", "mrmime": "^1.0.0", - "totalist": "^1.0.0" + "totalist": "^3.0.0" } }, "sisteransi": { @@ -38582,9 +39090,9 @@ } }, "spdx-license-ids": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", - "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==" + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz", + "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==" }, "split-on-first": { "version": "1.1.0", @@ -38600,9 +39108,9 @@ } }, "sprintf-js": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", - "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==" + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==" }, "st": { "version": "2.0.0", @@ -38870,48 +39378,49 @@ } }, "string.prototype.matchall": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", - "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz", + "integrity": "sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==", "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.3", + "internal-slot": "^1.0.5", + "regexp.prototype.flags": "^1.5.0", + "set-function-name": "^2.0.0", "side-channel": "^1.0.4" } }, "string.prototype.trim": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", - "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" } }, "string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" } }, "string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" } }, "stringify-entities": { @@ -39170,6 +39679,11 @@ "boolbase": "~1.0.0" } }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -39276,9 +39790,9 @@ "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==" }, "terser": { - "version": "5.19.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz", - "integrity": "sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==", + "version": "5.24.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.24.0.tgz", + "integrity": "sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw==", "requires": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -39287,9 +39801,9 @@ }, "dependencies": { "acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==" + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", + "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==" }, "commander": { "version": "2.20.3", @@ -39416,9 +39930,9 @@ } }, "totalist": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz", - "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", "dev": true }, "tr46": { @@ -39677,9 +40191,9 @@ "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==" }, "ua-parser-js": { - "version": "1.0.35", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.35.tgz", - "integrity": "sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==" + "version": "1.0.37", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.37.tgz", + "integrity": "sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==" }, "unbox-primitive": { "version": "1.0.2", @@ -39886,9 +40400,9 @@ } }, "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==" }, "unixify": { "version": "1.0.0", @@ -39919,9 +40433,9 @@ "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" }, "update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", "requires": { "escalade": "^3.1.1", "picocolors": "^1.0.0" @@ -40039,12 +40553,12 @@ } }, "url": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.1.tgz", - "integrity": "sha512-rWS3H04/+mzzJkv0eZ7vEDGiQbgquI1fGfOad6zKvgYQi1SzMmhl7c/DdRGxhaWrVH6z0qWITo8rpnxK/RfEhA==", + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.3.tgz", + "integrity": "sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==", "requires": { "punycode": "^1.4.1", - "qs": "^6.11.0" + "qs": "^6.11.2" }, "dependencies": { "punycode": { @@ -40124,9 +40638,9 @@ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" }, "v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==" + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz", + "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==" }, "valid-url": { "version": "1.0.9", @@ -40207,9 +40721,9 @@ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, "webpack": { - "version": "5.88.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz", - "integrity": "sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==", + "version": "5.89.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", + "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", "requires": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.0", @@ -40238,9 +40752,9 @@ }, "dependencies": { "acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==" + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", + "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==" }, "acorn-import-assertions": { "version": "1.9.0", @@ -40256,61 +40770,30 @@ } }, "webpack-bundle-analyzer": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.9.0.tgz", - "integrity": "sha512-+bXGmO1LyiNx0i9enBu3H8mv42sj/BJWhZNFwjz92tVnBa9J3JMGo2an2IXlEleoDOPn/Hofl5hr/xCpObUDtw==", + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.1.tgz", + "integrity": "sha512-s3P7pgexgT/HTUSYgxJyn28A+99mmLq4HsJepMPzu0R8ImJc52QNqaFYW1Z2z2uIb1/J3eYgaAWVpaC+v/1aAQ==", "dev": true, "requires": { "@discoveryjs/json-ext": "0.5.7", "acorn": "^8.0.4", "acorn-walk": "^8.0.0", - "chalk": "^4.1.0", "commander": "^7.2.0", + "debounce": "^1.2.1", + "escape-string-regexp": "^4.0.0", "gzip-size": "^6.0.0", - "lodash": "^4.17.20", + "html-escaper": "^2.0.2", + "is-plain-object": "^5.0.0", "opener": "^1.5.2", - "sirv": "^1.0.7", + "picocolors": "^1.0.0", + "sirv": "^2.0.3", "ws": "^7.3.1" }, "dependencies": { "acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", + "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", "dev": true }, "commander": { @@ -40319,21 +40802,12 @@ "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "dev": true }, - "has-flag": { + "escape-string-regexp": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, "ws": { "version": "7.5.9", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", @@ -40357,11 +40831,12 @@ } }, "webpack-merge": { - "version": "5.9.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.9.0.tgz", - "integrity": "sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==", + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", "requires": { "clone-deep": "^4.0.1", + "flat": "^5.0.2", "wildcard": "^2.0.0" } }, @@ -40433,18 +40908,55 @@ "is-symbol": "^1.0.3" } }, + "which-builtin-type": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", + "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "requires": { + "function.prototype.name": "^1.1.5", + "has-tostringtag": "^1.0.0", + "is-async-function": "^2.0.0", + "is-date-object": "^1.0.5", + "is-finalizationregistry": "^1.0.2", + "is-generator-function": "^1.0.10", + "is-regex": "^1.1.4", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + }, + "dependencies": { + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + } + } + }, + "which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "requires": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + } + }, "which-module": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==" }, "which-typed-array": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", - "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", + "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", "requires": { "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", + "call-bind": "^1.0.4", "for-each": "^0.3.3", "gopd": "^1.0.1", "has-tostringtag": "^1.0.0" @@ -40521,9 +41033,9 @@ } }, "ws": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", - "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", + "version": "8.14.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", + "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", "dev": true, "requires": {} }, @@ -40584,9 +41096,9 @@ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, "yaml": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", - "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==", + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", + "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", "dev": true }, "yaml-loader": { From 32aa217f274a76fc914cfbe25f15a20c3c417a96 Mon Sep 17 00:00:00 2001 From: Nikolas Burk Date: Mon, 27 Nov 2023 14:54:52 +0100 Subject: [PATCH 009/100] cleaned up About section --- .../115-connection-pool.mdx | 4 + .../20-data-model/10-models.mdx | 9 ++ .../800-more/700-releases.mdx} | 6 + content/200-orm/800-more/index.mdx | 4 +- .../100-prisma/20-example-projects.mdx | 105 ------------------ content/600-about/100-prisma/30-roadmap.mdx | 14 --- content/600-about/100-prisma/40-faq.mdx | 70 ------------ .../600-about/100-prisma/50-limitations.mdx | 25 ----- content/600-about/100-prisma/index.mdx | 11 -- 9 files changed, 21 insertions(+), 227 deletions(-) rename content/{600-about/100-prisma/10-releases.mdx => 200-orm/800-more/700-releases.mdx} (92%) delete mode 100644 content/600-about/100-prisma/20-example-projects.mdx delete mode 100644 content/600-about/100-prisma/30-roadmap.mdx delete mode 100644 content/600-about/100-prisma/40-faq.mdx delete mode 100644 content/600-about/100-prisma/50-limitations.mdx delete mode 100644 content/600-about/100-prisma/index.mdx diff --git a/content/200-orm/100-prisma-client/000-setup-and-configuration/50-databases-connections/115-connection-pool.mdx b/content/200-orm/100-prisma-client/000-setup-and-configuration/50-databases-connections/115-connection-pool.mdx index 17b37dc745..b5cd357363 100644 --- a/content/200-orm/100-prisma-client/000-setup-and-configuration/50-databases-connections/115-connection-pool.mdx +++ b/content/200-orm/100-prisma-client/000-setup-and-configuration/50-databases-connections/115-connection-pool.mdx @@ -211,3 +211,7 @@ The MongoDB connector does not use the Prisma connection pool. The connection po You cannot increase the `connection_limit` beyond what the underlying database can support. This is a particular challenge in serverless environments, where each function manages an instance of `PrismaClient` - and its own connection pool. Consider introducing [an external connection pooler like PgBouncer](/guides/performance-and-optimization/connection-management#pgbouncer) to prevent your application or functions from exhausting the database connection limit. + +## Manual database connection handling + +When using Prisma, the database connections are handled on an [engine](https://github.com/prisma/prisma-engines)-level. This means they're not exposed to the developer and it's not possible to manually access them. diff --git a/content/200-orm/300-prisma-schema/20-data-model/10-models.mdx b/content/200-orm/300-prisma-schema/20-data-model/10-models.mdx index cd5a643d5d..6c562f6747 100644 --- a/content/200-orm/300-prisma-schema/20-data-model/10-models.mdx +++ b/content/200-orm/300-prisma-schema/20-data-model/10-models.mdx @@ -1171,3 +1171,12 @@ export type User = { ``` Note that the relation fields `posts` and `profile` are not included in the type definition by default. However, if you need variations of the `User` type you can still define them using some of [Prisma Client's generated helper types](/concepts/components/prisma-client/working-with-prismaclient/generating-prisma-client) (in this case, these helper types would be called `UserGetIncludePayload` and `UserGetSelectPayload`). + +## Limitations + +### Records must be uniquely identifiable + +Prisma currently only supports models that have at least one unique field or combination of fields. In practice, this means that every Prisma model must have either at least one of the following attributes: + +- `@id` or `@@id` for a single- or multi-field primary key constraint (max one per model) +- `@unique` or `@@unique` for a single- or multi-field unique constraint diff --git a/content/600-about/100-prisma/10-releases.mdx b/content/200-orm/800-more/700-releases.mdx similarity index 92% rename from content/600-about/100-prisma/10-releases.mdx rename to content/200-orm/800-more/700-releases.mdx index bed8b3389f..2168ae1714 100644 --- a/content/600-about/100-prisma/10-releases.mdx +++ b/content/200-orm/800-more/700-releases.mdx @@ -54,6 +54,12 @@ If a feature or product is **Generally Available**: - The solution has been tested for some time and we received enough feedback to consider it stable and ready for production use. - There should be no bugs in 99% of cases (completely bug-free software cannot be guaranteed) +## Roadmap + +Our roadmap helps us share our current priorities: what we are currently working on and what we are planning to work on in the near term. This reflects our _current plans_ today, and the content is subject to change at any time. Actual results and plans may differ as a result of changing our product strategy or reacting to demands from our user base. + +You can [check out the full roadmap here](https://pris.ly/roadmap). + ## Versioning Prisma's release scheme adheres to Semantic Versioning ([SemVer](https://semver.org/)) starting with version `3.x.x`. diff --git a/content/200-orm/800-more/index.mdx b/content/200-orm/800-more/index.mdx index 091b4751d7..79cbc0f480 100644 --- a/content/200-orm/800-more/index.mdx +++ b/content/200-orm/800-more/index.mdx @@ -1,7 +1,7 @@ --- title: 'More' -metaTitle: 'Telemetry and Editor Setup' -metaDescription: 'In this section we cover other areas such as editor configuration for work with Prisma and telemetry.' +metaTitle: 'More' +metaDescription: 'More' staticLink: true toc: false --- diff --git a/content/600-about/100-prisma/20-example-projects.mdx b/content/600-about/100-prisma/20-example-projects.mdx deleted file mode 100644 index 2e8a258aab..0000000000 --- a/content/600-about/100-prisma/20-example-projects.mdx +++ /dev/null @@ -1,105 +0,0 @@ ---- -title: 'Example projects' -metaTitle: 'Ready-to-run examples for various Prisma use cases' -metaDescription: 'Real-world & production-ready example projects with Prisma. Here are a number of open source projects that demonstrate usage of Prisma in real world applications.' -tocDepth: 3 ---- - -## Real-world & production-ready example projects with Prisma - -Here are a number of open-source projects that demonstrate usage of Prisma in **real-world applications**. Feel free to submit a PR to add your own production application if it is open source. - -- [Formbricks](https://github.com/formbricks/formbricks): An open-source survey and experience management tool -- [OpenformStack](https://github.com/naveennaidu/OpenformStack): An open-source form backend that allows you to collect form submissions without writing any backend code -- [Documenso](https://documenso.com/): An open-source alternative to Docusign -- [abby](https://github.com/tryabby/abby): An open-source feature flag, remote config and A/B testing platform for developers -- [ghostfolio](https://ghostfol.io/en/start): An open-source dashboard for your personal finances -- [revert](https://www.revert.dev/): An open-source unified API to build B2B product integrations -- [Scholarsome](https://scholarsome.com/): An interactive, studying system -- [Dittofeed](https://www.dittofeed.com): An open-source customer engagement; intuitive marketing tools that scale -- [Trigger.dev](https://trigger.dev/): Effortless automation built for developers (Zapier alternative) -- [Webstudio](https://github.com/webstudio-is/webstudio-designer): A NoCode visual design tool for building apps and websites -- [Dyrector](https://github.com/dyrector-io/dyrectorio): A self-hosted container management platform -- [reduced.to](https://github.com/origranot/reduced.to): An open-source link shortener -- [Linen](https://github.com/Linen-dev/linen.dev): An open-source alternative to Slack and Discord with lots of great features -- [Coolify](https://github.com/coollabsio/coolify): An open-source & self-hostable Heroku / Netlify alternative -- [dub](https://dub.sh/): An open-source link shortener with built-in analytics and free custom domains -- [Umami](https://github.com/mikecao/umami): A simple, fast, privacy-focused alternative to Google Analytics -- [Rallly](https://github.com/lukevella/rallly): A self-hostable doodle poll alternative (based on Next.js, tRPC, and TailwindCSS) -- [snoopForms](https://github.com/snoopForms/snoopforms?ref=reactjsexample.com): An open-source alternative to Typeform (easy online surveys) -- [Typebot](https://github.com/baptisteArno/typebot.io): A conversational form builder that you can self-host -- [Cal.com](https://github.com/calcom/cal.com): An open-source alternative to Calendly (calender-based event scheduling service) -- [Beam](https://github.com/planetscale/beam): A simple tool that allows members to write posts to share across your organization (based on Next.js) -- [`ironfish-api`](https://github.com/iron-fish/ironfish-api): Public API for Iron Fish (A novel cryptocurrency focused on privacy and accessibility) -- [Indie Stack](https://github.com/remix-run/indie-stack): Remix Stack for deploying to Fly with SQLite, authentication, testing, linting, formatting -- [Blues Stack](https://github.com/remix-run/blues-stack): Remix Stack for deploying to Fly with PostgreSQL, authentication, testing, linting, formatting -- [Tottem](https://github.com/poulainv/tottem): Fullstack app for "social library management" (based on Next.js) -- [Dundring](https://github.com/sivertschou/dundring): An in-browser training application created to control and track you training with a smart bike trainer. -- [Expense.fyi](https://github.com/gokulkrishh/expense.fyi): A tool for tracking and managing expenses -- [Letterpad](https://github.com/letterpad/letterpad): A publishing platform for creatives -- [Snippy](https://github.com/kingstarfly/snippy): An open-source code-snippet sharing website -- [Hitori](https://github.com/astridlol/Hitori): An open-source serverless Discord bot - -## Ready-to-run example projects - -You can find a number of **ready-to-run** example projects that demonstrate usage of Prisma in various use cases in the [`prisma-examples`](https://github.com/prisma/prisma-examples/) repository. - -### TypeScript - -#### Fullstack - -| Demo | Description | -| :---------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [`rest-nextjs-api-routes`](https://github.com/prisma/prisma-examples/tree/latest/typescript/rest-nextjs-api-routes) | [Next.js](https://nextjs.org/) app with a REST API (using [Next.js API routes](https://nextjs.org/docs/api-routes/introduction)) | -| [`rest-nextjs-api-routes-auth`](https://github.com/prisma/prisma-examples/tree/latest/typescript/rest-nextjs-api-routes-auth) | [Next.js](https://nextjs.org/) app with a REST API (using [Next.js API routes](https://nextjs.org/docs/api-routes/introduction)) and authentication (using [NextAuth.js](https://next-auth.js.org/)) | -| [`rest-nextjs-express`](https://github.com/prisma/prisma-examples/tree/latest/typescript/rest-nextjs-express) | [Next.js](https://nextjs.org/) app with a REST API (using [Express](https://expressjs.com/)) | -| [`graphql-nextjs`](https://github.com/prisma/prisma-examples/tree/latest/typescript/graphql-nextjs) | [Next.js](https://nextjs.org/) app with a GraphQL API (using [Apollo Server](https://github.com/apollographql/apollo-server) and [GraphQL Nexus](https://github.com/graphql-nexus/nexus)) | - -#### Backend only - -| Demo | Description | -| :------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| [`graphql-apollo-server`](https://github.com/prisma/prisma-examples/tree/latest/typescript/graphql-apollo-server) | GraphQL server based on [`apollo-server`](https://www.apollographql.com/docs/apollo-server/) and [Nexus Schema](https://github.com/graphql-nexus/schema) | -| [`graphql-auth`](https://github.com/prisma/prisma-examples/tree/latest/typescript/graphql-auth) | GraphQL server with email-password authentication & permissions | -| [`graphql-sdl-first`](https://github.com/prisma/prisma-examples/tree/latest/typescript/graphql-sdl-first) | GraphQL server based on the SDL-first approach of [`graphql-tools`](https://www.apollographql.com/docs/graphql-tools/) | -| [`graphql-subscriptions`](https://github.com/prisma/prisma-examples/tree/latest/typescript/subscriptions-pubsub) | GraphQL server with realtime subscriptions based on [`apollo-server`](https://www.apollographql.com/docs/apollo-server/) and [Nexus Schema](https://github.com/graphql-nexus/schema) | -| [`graphql-typegraphql`](https://github.com/prisma/prisma-examples/tree/latest/typescript/graphql-typegraphql) | GraphQL server based on [`apollo-server`](https://www.apollographql.com/docs/apollo-server) and [TypeGraphQL](https://github.com/MichalLytek/type-graphql) | -| [`graphql-typegraphql-crud`](https://github.com/prisma/prisma-examples/tree/latest/typescript/graphql-typegraphql-crud) | CRUD GraphQL API based on [`apollo-server`](https://www.apollographql.com/docs/apollo-server) and [TypeGraphQL](https://github.com/MichalLytek/type-graphql) | -| [`graphql-express`](https://github.com/prisma/prisma-examples/tree/latest/typescript/graphql-express) | GraphQL server based on [Express](https://expressjs.com/) and [Nexus Schema](https://github.com/graphql-nexus/schema) | -| [`graphql-express-sdl-first`](https://github.com/prisma/prisma-examples/tree/latest/typescript/graphql-express-sdl-first) | GraphQL server based on [Express](https://expressjs.com/) and the SDL-first approach of [`graphql-tools`](https://www.apollographql.com/docs/graphql-tools/) | -| [`graphql-fastify`](https://github.com/prisma/prisma-examples/tree/latest/typescript/graphql-fastify) | GraphQL server based on [Fastify](https://fastify.io/), [Mercurius](https://mercurius.dev/), and the SDL-first approach of [`graphql-tools`](https://www.graphql-tools.com/docs/generate-schema/) | -| [`graphql-fastify-sdl-first`](https://github.com/prisma/prisma-examples/tree/latest/typescript/graphql-fastify-sdl-first) | GraphQL server based on [Fastify](https://fastify.io/), [Mercurius](https://mercurius.dev/), and the SDL-first approach of [`graphql-tools`](https://www.graphql-tools.com/docs/generate-schema/) | -| [`graphql-hapi`](https://github.com/prisma/prisma-examples/tree/latest/typescript/graphql-hapi) | GraphQL server based on [Hapi](https://hapi.dev/) and [Nexus Schema](https://github.com/graphql-nexus/schema) | -| [`graphql-hapi-sdl-first`](https://github.com/prisma/prisma-examples/tree/latest/typescript/graphql-hapi-sdl-first) | GraphQL server based on [Hapi](https://hapi.dev/) and the SDL-first approach of [Apollo Server Hapi](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-server-hapi) | -| [`graphql-nestjs`](https://github.com/prisma/prisma-examples/tree/latest/typescript/graphql-nestjs) | GraphQL server based on [NestJS](https://nestjs.com/) (code-first) | -| [`graphql-nestjs-sdl-first`](https://github.com/prisma/prisma-examples/tree/latest/typescript/graphql-nestjs-sdl-first) | GraphQL server based on [NestJS](https://nestjs.com/) and the SDL-first approach of [`graphql-tools`](https://www.apollographql.com/docs/graphql-tools/) | -| [`graphql`](https://github.com/prisma/prisma-examples/tree/latest/typescript/graphql) | GraphQL server based on [`apollo-server`](https://www.apollographql.com/docs/apollo-server) and [Nexus Schema](https://github.com/graphql-nexus/schema) | -| [`grpc`](https://github.com/prisma/prisma-examples/tree/latest/typescript/grpc) | gRPC API including runnable client scripts for testing | -| [`postgis-express`](https://github.com/prisma/prisma-examples/tree/latest/typescript/postgis-express) | Demo of spatial queries using [Postgis](http://postgis.net/) and [Express](https://expressjs.com/) | -| [`rest-express`](https://github.com/prisma/prisma-examples/tree/latest/typescript/rest-express) | REST API with [Express](https://expressjs.com/) | -| [`rest-fastify`](https://github.com/prisma/prisma-examples/tree/latest/typescript/rest-fastify) | REST API with [Fastify](https://www.fastify.io/) | -| [`rest-hapi`](https://github.com/prisma/prisma-examples/tree/latest/typescript/rest-hapi) | REST API with [hapi](https://hapi.dev/) | -| [`rest-nestjs`](https://github.com/prisma/prisma-examples/tree/latest/typescript/rest-nestjs) | REST API with [NestJS](https://docs.nestjs.com/) | -| [`script`](https://github.com/prisma/prisma-examples/tree/latest/typescript/script) | Usage of Prisma Client JS in a TypeScript script | -| [`testing-express`](https://github.com/prisma/prisma-examples/tree/latest/typescript/testing-express) | Demo of integration tests with [Jest](https://jestjs.io/), [Supertest](https://github.com/visionmedia/supertest) and [Express](https://expressjs.com/) | - -### JavaScript (Node.js) - -#### Fullstack - -| Demo | Description | -| :-------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------- | -| [`rest-nextjs`](https://github.com/prisma/prisma-examples/tree/latest/javascript/rest-nextjs) | [Next.js](https://nextjs.org/) app with a REST API (using [Next.js API routes](https://nextjs.org/docs/api-routes/introduction)) | -| [`rest-nuxtjs`](https://github.com/prisma/prisma-examples/tree/latest/javascript/rest-nuxtjs) | [NuxtJS](https://nuxtjs.org/) app with a REST API | - -#### Backend only - -| Demo | Description | -| :---------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------- | -| [`graphql-apollo-server`](https://github.com/prisma/prisma-examples/tree/latest/javascript/graphql-apollo-server) | GraphQL server based on [`apollo-server`](https://www.apollographql.com/docs/apollo-server/) | -| [`graphql-auth`](https://github.com/prisma/prisma-examples/tree/latest/javascript/graphql-auth) | GraphQL server with email-password authentication & permissions | -| [`graphql-sdl-first`](https://github.com/prisma/prisma-examples/tree/latest/javascript/graphql-sdl-first) | GraphQL server based on the SDL-first approach of [`graphql-tools`](https://www.apollographql.com/docs/graphql-tools/) | -| [`grpc`](https://github.com/prisma/prisma-examples/tree/latest/javascript/grpc) | gRPC API including runnable client scripts for testing | -| [`rest-express`](https://github.com/prisma/prisma-examples/tree/latest/javascript/rest-express) | REST API with [Express](https://expressjs.com/) | -| [`rest-fastify`](https://github.com/prisma/prisma-examples/tree/latest/javascript/rest-fastify) | REST API with [Fastify](https://www.fastify.io/) | -| [`script`](https://github.com/prisma/prisma-examples/tree/latest/javascript/script) | Usage of Prisma Client JS in a Node.js script | diff --git a/content/600-about/100-prisma/30-roadmap.mdx b/content/600-about/100-prisma/30-roadmap.mdx deleted file mode 100644 index 843651691d..0000000000 --- a/content/600-about/100-prisma/30-roadmap.mdx +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 'Roadmap' -metaTitle: 'Prisma Roadmap – See what we are working on next' -metaDescription: 'Want to know what we are up to? Our roadmap provides an overview of our priorities and where we are planning to take Prisma next.' -tocDepth: 3 ---- - - - -Our roadmap helps us share our current priorities: what we are currently working on and what we are planning to work on in the near term. This reflects our _current plans_ today, and the content is subject to change at any time. Actual results and plans may differ as a result of changing our product strategy or reacting to demands from our user base. - -You can [check out the full roadmap here](https://pris.ly/roadmap). - - diff --git a/content/600-about/100-prisma/40-faq.mdx b/content/600-about/100-prisma/40-faq.mdx deleted file mode 100644 index 1217ecbe4e..0000000000 --- a/content/600-about/100-prisma/40-faq.mdx +++ /dev/null @@ -1,70 +0,0 @@ ---- -title: 'FAQ' -metaTitle: 'Prisma FAQs' -metaDescription: 'Frequently asked questions (FAQ) about the Prisma tools and their ecosystem.' -tocDepth: 3 ---- - -## Can I still access my database directly (e.g. using raw SQL, or a raw MongoDB query)? - -Yes, Prisma Client provides methods which you can use to send raw queries to the database. Learn more about these in the docs [here](/concepts/components/prisma-client/raw-database-access). - -## Is Prisma Client an ORM? - -ORMs are typically object-oriented mapping layers that map classes to tables. A record is represented as an object that not only carries data but also implements various behaviors for storage, retrieval, serialization and deserialization of its own data, sometimes it also implements business/domain logic. Prisma Client acts more like a _query builder_ returning plain JavaScript objects with a focus on structural typing rather than rich object behavior. - -Learn more on the [Is Prisma an ORM?](/concepts/overview/prisma-in-your-stack/is-prisma-an-orm) page in the docs. - -## Will Prisma Client support more databases (and other data sources) in the future? - -Yes. Prisma Client is based on Prisma's [query engine](/concepts/components/prisma-engines/query-engine) that can connect to any data source that provides a proper _connector implementation_. There will be built-in connectors such as the current ones for [PostgreSQL](/concepts/database-connectors/postgresql), [MySQL](/concepts/database-connectors/mysql), [SQLite](/concepts/database-connectors/sqlite) and [MongoDB](/concepts/database-connectors/mongodb). - -However, it's also possible to build your own connectors, more documentation on that topic will follow soon. - -## How can I see the generated queries that Prisma Client sends to my database? - -You can view generated SQL queries by providing the `log` option to the `PrismaClient` constructor like so: - -```ts -const prisma = new PrismaClient({ - log: ['query'], -}) -``` - -Learn more on the [Debugging](/concepts/components/prisma-client/debugging) page in the docs. - -## How do schema migrations work with Prisma Client? - -Prisma Client is not opinionated on how exactly you migrate your database schema (e.g. create new tables, alter columns, ...). You can keep your existing migration system and re-[introspect](/concepts/components/introspection) your database schema after each schema migration. You can also use Prisma Migrate to run your migrations based on Prisma's declarative [data model definition](/concepts/components/prisma-schema/data-model). - -## Does Prisma Client support GraphQL schema delegation and GraphQL binding? - -GraphQL [schema delegation](https://www.prisma.io/blog/graphql-schema-stitching-explained-schema-delegation-4c6caf468405) connects two GraphQL schemas by passing the [`info`](https://www.prisma.io/blog/graphql-server-basics-demystifying-the-info-argument-in-graphql-resolvers-6f26249f613a) object from a resolver of the first GraphQL schema to a resolver of the second GraphQL schema. Schema delegation also is the foundation for [GraphQL binding](https://github.com/graphql-binding/graphql-binding). - -Prisma 1 officially supports both schema delegation and GraphQL binding as it exposes a GraphQL CRUD API through the [Prisma server](https://v1.prisma.io/docs/1.34/prisma-server/). This API can be used to as the foundation for an application-layer GraphQL API created with GraphQL binding. - -With Prisma 2.0, Prisma's [query engine](/concepts/components/prisma-engines/query-engine) doesn't expose a [spec](https://graphql.github.io/graphql-spec/June2018/)-compliant GraphQL endpoint any more, so usage of schema delegation and GraphQL binding with Prisma 2.0 is not supported. To build GraphQL servers with Prisma 2.0, be sure to check out [GraphQL Nexus](https://nexusjs.org/). GraphQL Nexus provides a code-first and type-safe way to build GraphQL servers in a scalable way. - -Learn more about how Prisma can be used to build GraphQL servers on the [GraphQL](/concepts/overview/prisma-in-your-stack/graphql) page in the docs. - -## Am I locked-in when using Prisma Migrate? Is it easy to migrate off it? - -There's no lock-in when using Prisma Migrate. To stop using Prisma for your migrations, you need to: - -- delete your [Prisma schema file](/concepts/components/prisma-schema) -- delete the `migrations` directory on your file system -- drop the `_prisma_migrations` table in your database/schema - -## How do I see details about how Prisma migrates my database schema? - -Each migration is represented via its own directory on your file system inside a directory called `migrations`. The name of each directory contains a timestamp so that the order of all migrations in the project history can be maintained. - -Each of these migration directories contain a `migration.sql` file about the respective migration. The status of the migrations is tracked in the `_prisma_migrations` table in your database/schema. See [migrate status](/reference/api-reference/command-reference#migrate-status). - -## Where can I get more information about the plans for Prisma? - -Check out the [Prisma road map for an overview of our priorities](roadmap). Get involved by [creating issues](https://github.com/prisma/prisma/issues) and [sharing feedback](https://github.com/prisma/prisma)! - -## How much does Prisma cost? What is the pricing model for Prisma? - -Prisma is open source and using it is free of any charge! In the future, Prisma will offer additional cloud services to facilitate various database- and Prisma-related workflows. Note that these will be optional, Prisma can continue to be used without consuming any commercial services. diff --git a/content/600-about/100-prisma/50-limitations.mdx b/content/600-about/100-prisma/50-limitations.mdx deleted file mode 100644 index bfb8a6f70e..0000000000 --- a/content/600-about/100-prisma/50-limitations.mdx +++ /dev/null @@ -1,25 +0,0 @@ ---- -title: 'Limitations' -metaTitle: 'Limitations' -metaDescription: 'This page lists a number of current limitations of Prisma.' -tocDepth: 3 ---- - -## Overview - -This page describes features that are currently not supported by Prisma and are not planned to be supported. - -## Records must be uniquely identifiable - -Prisma currently only supports models that have at least one unique field or combination of fields. In practice, this means that every Prisma model must have either at least one of the following attributes: - -- `@id` or `@@id` for a single- or multi-field primary key constraint (max one per model) -- `@unique` or `@@unique` for a single- or multi-field unique constraint - -## Manual database connection handling - -When using Prisma, the database connections are handled on an [engine](https://github.com/prisma/prisma-engines)-level. This means they're not exposed to the developer and it's not possible to manually access them. - -## Prisma Migrate limitations - -See: [Prisma Migrate limitations and known issues](/concepts/components/prisma-migrate/prisma-migrate-limitations-issues) diff --git a/content/600-about/100-prisma/index.mdx b/content/600-about/100-prisma/index.mdx deleted file mode 100644 index 6df3ba338c..0000000000 --- a/content/600-about/100-prisma/index.mdx +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 'Prisma' -metaTitle: 'About Prisma' -metaDescription: 'About Prisma' -toc: false -staticLink: true ---- - -## In this section - - From c75c784fbc8325bd5b17514c929e29a790634b19 Mon Sep 17 00:00:00 2001 From: Nikolas Burk Date: Mon, 27 Nov 2023 15:11:39 +0100 Subject: [PATCH 010/100] fix build error --- .../100-prisma-client/100-queries/058-transactions.mdx | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/content/200-orm/100-prisma-client/100-queries/058-transactions.mdx b/content/200-orm/100-prisma-client/100-queries/058-transactions.mdx index 387b8d4196..e54f42f714 100644 --- a/content/200-orm/100-prisma-client/100-queries/058-transactions.mdx +++ b/content/200-orm/100-prisma-client/100-queries/058-transactions.mdx @@ -10,7 +10,7 @@ tocDepth: 3 A database transaction refers to a sequence of read/write operations that are _guaranteed_ to either succeed or fail as a whole. This section describes the ways in which the Prisma Client API supports transactions. - For more in-depth examples and use cases, refer to the 📖 [transactions guide](/guides/performance-and-optimization/prisma-client-transactions-guide). -- For information about transactions in general and the reasoning behind Prisma's current solutions, see ✍ [Blog: How Prisma supports transactions](https://www.prisma.io/blog/how-prisma-supports-transactions-x45s1d5l0ww1). +- For information about transactions in general and the reasoning behind Prisma's current solutions, see [Blog: How Prisma supports transactions](https://www.prisma.io/blog/how-prisma-supports-transactions-x45s1d5l0ww1). @@ -31,9 +31,7 @@ Developers take advantage of the safety guarantees provided by the database by w While there's a lot of ambiguity and nuance to each of these properties (for example, consistency could actually be considered an _application-level responsibility_ rather than a database property or isolation is typically guaranteed in terms of stronger and weaker _isolation levels_), overall they serve as a good high-level guideline for expectations developers have when thinking about database transactions. -> "Transactions are an abstraction layer that allows an application to pretend that certain concurrency problems and certain kinds of hardware and software faults don’t exist. A large class of errors is reduced down to a simple transaction abort, and the application just needs to try again." **[Designing Data-Intensive Applications](https://dataintensive.net/), [Martin Kleppmann](https://twitter.com/martinkl)** - - +> "Transactions are an abstraction layer that allows an application to pretend that certain concurrency problems and certain kinds of hardware and software faults don’t exist. A large class of errors is reduced down to a simple transaction abort, and the application just needs to try again." [Designing Data-Intensive Applications](https://dataintensive.net/), [Martin Kleppmann](https://twitter.com/martinkl) Prisma Client supports six different ways of handling transactions for three different scenarios: From 46aaf4cba96338b8dc28fe537088ecfe895509d2 Mon Sep 17 00:00:00 2001 From: Nikolas Burk Date: Mon, 27 Nov 2023 15:21:59 +0100 Subject: [PATCH 011/100] reorder top-level nav --- .../300-platform-console/10-about.mdx | 0 .../20-concepts/10-workspaces.mdx | 0 .../20-concepts/20-projects.mdx | 0 .../300-platform-console/20-concepts/index.mdx | 0 .../300-platform-console/30-maturity-levels.mdx | 0 .../300-platform-console/40-limits.mdx | 0 .../300-platform-console/50-support.mdx | 0 .../300-platform-console/index.mdx | 0 .../050-data-proxy/100-use-data-proxy.mdx | 0 .../050-data-proxy/500-deploy.mdx | 0 .../700-prisma-cli-with-data-proxy.mdx | 0 .../900-considerations-limitations.mdx | 0 .../600-classic-projects/050-data-proxy/index.mdx | 0 .../100-platform/060-static-ips.mdx | 0 .../100-platform/200-projects/100-create.mdx | 0 .../100-platform/200-projects/200-edit-settings.mdx | 0 .../200-projects/300-delete-project.mdx | 0 .../100-platform/200-projects/index.mdx | 0 .../100-platform/250-environments/100-view-all.mdx | 0 .../100-platform/250-environments/200-create.mdx | 0 .../100-edit-name-and-url-handle.mdx | 0 .../300-change-default-environment.mdx | 0 .../250-environments/300-edit-settings/index.mdx | 0 .../100-platform/250-environments/400-delete.mdx | 0 .../100-platform/250-environments/index.mdx | 0 .../400-members/050-roles-permissions.mdx | 0 .../100-platform/400-members/100-add.mdx | 0 .../100-platform/400-members/300-change-role.mdx | 0 .../100-platform/400-members/400-remove.mdx | 0 .../images/team-members-invite-and-select-role.png | Bin .../team-members-invite-and-select-role.snagx | Bin .../100-platform/400-members/index.mdx | 0 .../100-platform/500-data-browser.mdx | 0 .../100-platform/600-query-console.mdx | 0 .../100-platform/700-schema-viewer.mdx | 0 .../100-platform/800-account.mdx | 0 .../100-platform/825-github-integration.mdx | 0 .../050-connection-to-db-timed-out.mdx | 0 .../080-cannot-change-db-of-env.mdx | 0 .../100-cannot-edit-schema-file.mdx | 0 .../200-schema-file-does-not-update.mdx | 0 .../100-platform/900-troubleshooting/index.mdx | 0 .../600-classic-projects/100-platform/index.mdx | 0 .../600-classic-projects/980-support.mdx | 0 .../images/account/profile-menu-github-account.png | Bin .../account/profile-menu-github-account.snagx | Bin .../account/sign-up-01-create-first-project.png | Bin .../account/sign-up-01-create-first-project.snagx | Bin .../images/common/open-project-settings.png | Bin .../images/common/open-project-settings.snagx | Bin .../images/common/support-pop-up.png | Bin .../images/common/support-pop-up.snagx | Bin .../images/data-browser/01-models-view.png | Bin .../images/data-browser/01-models-view.snagx | Bin .../images/data-browser/02-open-close-models.png | Bin .../images/data-browser/02-open-close-models.snagx | Bin .../03-model-view-keyboard-shortcuts.png | Bin .../03-model-view-keyboard-shortcuts.snagx | Bin .../data-browser/04-save-multiple-changes.png | Bin .../data-browser/04-save-multiple-changes.snagx | Bin .../images/data-browser/05-add-remove-filters.png | Bin .../images/data-browser/05-add-remove-filters.snagx | Bin .../images/data-browser/06-show-hide-fields.png | Bin .../images/data-browser/06-show-hide-fields.snagx | Bin .../images/data-browser/07-show-hide-records.png | Bin .../images/data-browser/07-show-hide-records.snagx | Bin .../images/data-browser/08-model-sort.png | Bin .../images/data-browser/08-model-sort.snagx | Bin .../images/data-browser/array.svg | 0 .../images/data-browser/boolean.svg | 0 .../images/data-browser/database.svg | 0 .../images/data-browser/datetime.svg | 0 .../images/data-browser/enum.svg | 0 .../images/data-browser/number.svg | 0 .../images/data-browser/object.svg | 0 .../images/data-browser/string.svg | 0 .../images/data-proxy/copy-connection-string.png | Bin .../images/data-proxy/copy-connection-string.snagx | Bin .../create-and-name-new-connection-string.png | Bin .../create-and-name-new-connection-string.snagx | Bin .../data-proxy/prisma-bundle-with-data-proxy.svg | 0 .../data-proxy/prisma-bundle-without-data-proxy.svg | 0 .../create-01-drop-down-select-create.png | Bin .../create-01-drop-down-select-create.snagx | Bin .../environments/create-env-upload-schema-file.png | Bin ...branch-database-connection-string-data-proxy.png | Bin ...anch-database-connection-string-data-proxy.snagx | Bin ...nnection-string-static-ips-data-proxy-region.png | Bin ...ection-string-static-ips-data-proxy-region.snagx | Bin .../images/environments/default-environment.png | Bin .../images/environments/default-environment.snagx | Bin .../delete-01-click-three-dot-select-delete.png | Bin .../delete-01-click-three-dot-select-delete.snagx | Bin .../edit-01-change-database-connection-string.png | Bin .../edit-01-change-database-connection-string.snagx | Bin .../images/environments/edit-01-change-default.png | Bin .../environments/edit-01-change-default.snagx | Bin .../edit-01-change-name-and-URL-handle.png | Bin .../edit-01-change-name-and-URL-handle.snagx | Bin .../images/environments/list-all-environments.png | Bin .../images/environments/list-all-environments.snagx | Bin .../images/environments/switch-environment.png | Bin .../images/environments/switch-environment.snagx | Bin .../view-all-01-environments-drop-down-view-all.png | Bin ...iew-all-01-environments-drop-down-view-all.snagx | Bin .../images/github/add-github-account-or-org.png | Bin .../images/github/add-github-account-or-org.snagx | Bin .../images/github/grant-access-github-app.png | Bin .../images/github/grant-access-github-app.snagx | Bin .../grant-access-to-select-github-repositories.png | Bin ...grant-access-to-select-github-repositories.snagx | Bin ...chema-sync-github-account-branch-schema-path.png | Bin ...ema-sync-github-account-branch-schema-path.snagx | Bin ...create-02-link-schema-file-from-a-repository.png | Bin .../projects/create-02-upload-schema-file.png | Bin .../projects/prisma-data-platform-projects-page.png | Bin .../prisma-data-platform-projects-page.snagx | Bin .../query-console/add-query-with-autocomplete.png | Bin .../query-console/add-query-with-autocomplete.snagx | Bin .../images/query-console/components.png | Bin .../images/query-console/components.snagx | Bin .../images/query-console/run-query.png | Bin .../images/query-console/run-query.snagx | Bin .../images/schema-viewer/overview.png | Bin .../images/schema-viewer/overview.snagx | Bin .../schema-viewer/project-introspected-schema.png | Bin .../schema-viewer/project-introspected-schema.snagx | Bin .../schema-viewer/project-no-models-no-schema.png | Bin .../schema-viewer/project-no-models-no-schema.snagx | Bin .../images/schema-viewer/project-schema-viewer.png | Bin .../images/schema-viewer/provide-prisma-schema.png | Bin .../schema-viewer/provide-prisma-schema.snagx | Bin .../600-classic-projects/index.mdx | 0 content/{800-platform => 500-platform}/index.mdx | 0 134 files changed, 0 insertions(+), 0 deletions(-) rename content/{800-platform => 500-platform}/300-platform-console/10-about.mdx (100%) rename content/{800-platform => 500-platform}/300-platform-console/20-concepts/10-workspaces.mdx (100%) rename content/{800-platform => 500-platform}/300-platform-console/20-concepts/20-projects.mdx (100%) rename content/{800-platform => 500-platform}/300-platform-console/20-concepts/index.mdx (100%) rename content/{800-platform => 500-platform}/300-platform-console/30-maturity-levels.mdx (100%) rename content/{800-platform => 500-platform}/300-platform-console/40-limits.mdx (100%) rename content/{800-platform => 500-platform}/300-platform-console/50-support.mdx (100%) rename content/{800-platform => 500-platform}/300-platform-console/index.mdx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/050-data-proxy/100-use-data-proxy.mdx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/050-data-proxy/500-deploy.mdx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/050-data-proxy/700-prisma-cli-with-data-proxy.mdx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/050-data-proxy/900-considerations-limitations.mdx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/050-data-proxy/index.mdx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/100-platform/060-static-ips.mdx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/100-platform/200-projects/100-create.mdx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/100-platform/200-projects/200-edit-settings.mdx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/100-platform/200-projects/300-delete-project.mdx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/100-platform/200-projects/index.mdx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/100-platform/250-environments/100-view-all.mdx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/100-platform/250-environments/200-create.mdx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/100-platform/250-environments/300-edit-settings/100-edit-name-and-url-handle.mdx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/100-platform/250-environments/300-edit-settings/300-change-default-environment.mdx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/100-platform/250-environments/300-edit-settings/index.mdx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/100-platform/250-environments/400-delete.mdx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/100-platform/250-environments/index.mdx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/100-platform/400-members/050-roles-permissions.mdx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/100-platform/400-members/100-add.mdx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/100-platform/400-members/300-change-role.mdx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/100-platform/400-members/400-remove.mdx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/100-platform/400-members/images/team-members-invite-and-select-role.png (100%) rename content/{800-platform => 500-platform}/600-classic-projects/100-platform/400-members/images/team-members-invite-and-select-role.snagx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/100-platform/400-members/index.mdx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/100-platform/500-data-browser.mdx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/100-platform/600-query-console.mdx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/100-platform/700-schema-viewer.mdx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/100-platform/800-account.mdx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/100-platform/825-github-integration.mdx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/100-platform/900-troubleshooting/050-connection-to-db-timed-out.mdx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/100-platform/900-troubleshooting/080-cannot-change-db-of-env.mdx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/100-platform/900-troubleshooting/100-cannot-edit-schema-file.mdx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/100-platform/900-troubleshooting/200-schema-file-does-not-update.mdx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/100-platform/900-troubleshooting/index.mdx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/100-platform/index.mdx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/980-support.mdx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/account/profile-menu-github-account.png (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/account/profile-menu-github-account.snagx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/account/sign-up-01-create-first-project.png (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/account/sign-up-01-create-first-project.snagx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/common/open-project-settings.png (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/common/open-project-settings.snagx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/common/support-pop-up.png (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/common/support-pop-up.snagx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/data-browser/01-models-view.png (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/data-browser/01-models-view.snagx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/data-browser/02-open-close-models.png (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/data-browser/02-open-close-models.snagx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/data-browser/03-model-view-keyboard-shortcuts.png (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/data-browser/03-model-view-keyboard-shortcuts.snagx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/data-browser/04-save-multiple-changes.png (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/data-browser/04-save-multiple-changes.snagx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/data-browser/05-add-remove-filters.png (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/data-browser/05-add-remove-filters.snagx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/data-browser/06-show-hide-fields.png (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/data-browser/06-show-hide-fields.snagx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/data-browser/07-show-hide-records.png (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/data-browser/07-show-hide-records.snagx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/data-browser/08-model-sort.png (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/data-browser/08-model-sort.snagx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/data-browser/array.svg (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/data-browser/boolean.svg (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/data-browser/database.svg (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/data-browser/datetime.svg (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/data-browser/enum.svg (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/data-browser/number.svg (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/data-browser/object.svg (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/data-browser/string.svg (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/data-proxy/copy-connection-string.png (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/data-proxy/copy-connection-string.snagx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/data-proxy/create-and-name-new-connection-string.png (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/data-proxy/create-and-name-new-connection-string.snagx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/data-proxy/prisma-bundle-with-data-proxy.svg (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/data-proxy/prisma-bundle-without-data-proxy.svg (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/environments/create-01-drop-down-select-create.png (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/environments/create-01-drop-down-select-create.snagx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/environments/create-env-upload-schema-file.png (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/environments/create-no-schema-sync-02-repo-branch-database-connection-string-data-proxy.png (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/environments/create-no-schema-sync-02-repo-branch-database-connection-string-data-proxy.snagx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/environments/create-on-schema-sync-02-connection-string-static-ips-data-proxy-region.png (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/environments/create-on-schema-sync-02-connection-string-static-ips-data-proxy-region.snagx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/environments/default-environment.png (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/environments/default-environment.snagx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/environments/delete-01-click-three-dot-select-delete.png (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/environments/delete-01-click-three-dot-select-delete.snagx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/environments/edit-01-change-database-connection-string.png (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/environments/edit-01-change-database-connection-string.snagx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/environments/edit-01-change-default.png (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/environments/edit-01-change-default.snagx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/environments/edit-01-change-name-and-URL-handle.png (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/environments/edit-01-change-name-and-URL-handle.snagx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/environments/list-all-environments.png (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/environments/list-all-environments.snagx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/environments/switch-environment.png (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/environments/switch-environment.snagx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/environments/view-all-01-environments-drop-down-view-all.png (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/environments/view-all-01-environments-drop-down-view-all.snagx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/github/add-github-account-or-org.png (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/github/add-github-account-or-org.snagx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/github/grant-access-github-app.png (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/github/grant-access-github-app.snagx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/github/grant-access-to-select-github-repositories.png (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/github/grant-access-to-select-github-repositories.snagx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/projects/create-02-enable-schema-sync-github-account-branch-schema-path.png (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/projects/create-02-enable-schema-sync-github-account-branch-schema-path.snagx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/projects/create-02-link-schema-file-from-a-repository.png (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/projects/create-02-upload-schema-file.png (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/projects/prisma-data-platform-projects-page.png (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/projects/prisma-data-platform-projects-page.snagx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/query-console/add-query-with-autocomplete.png (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/query-console/add-query-with-autocomplete.snagx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/query-console/components.png (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/query-console/components.snagx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/query-console/run-query.png (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/query-console/run-query.snagx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/schema-viewer/overview.png (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/schema-viewer/overview.snagx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/schema-viewer/project-introspected-schema.png (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/schema-viewer/project-introspected-schema.snagx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/schema-viewer/project-no-models-no-schema.png (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/schema-viewer/project-no-models-no-schema.snagx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/schema-viewer/project-schema-viewer.png (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/schema-viewer/provide-prisma-schema.png (100%) rename content/{800-platform => 500-platform}/600-classic-projects/images/schema-viewer/provide-prisma-schema.snagx (100%) rename content/{800-platform => 500-platform}/600-classic-projects/index.mdx (100%) rename content/{800-platform => 500-platform}/index.mdx (100%) diff --git a/content/800-platform/300-platform-console/10-about.mdx b/content/500-platform/300-platform-console/10-about.mdx similarity index 100% rename from content/800-platform/300-platform-console/10-about.mdx rename to content/500-platform/300-platform-console/10-about.mdx diff --git a/content/800-platform/300-platform-console/20-concepts/10-workspaces.mdx b/content/500-platform/300-platform-console/20-concepts/10-workspaces.mdx similarity index 100% rename from content/800-platform/300-platform-console/20-concepts/10-workspaces.mdx rename to content/500-platform/300-platform-console/20-concepts/10-workspaces.mdx diff --git a/content/800-platform/300-platform-console/20-concepts/20-projects.mdx b/content/500-platform/300-platform-console/20-concepts/20-projects.mdx similarity index 100% rename from content/800-platform/300-platform-console/20-concepts/20-projects.mdx rename to content/500-platform/300-platform-console/20-concepts/20-projects.mdx diff --git a/content/800-platform/300-platform-console/20-concepts/index.mdx b/content/500-platform/300-platform-console/20-concepts/index.mdx similarity index 100% rename from content/800-platform/300-platform-console/20-concepts/index.mdx rename to content/500-platform/300-platform-console/20-concepts/index.mdx diff --git a/content/800-platform/300-platform-console/30-maturity-levels.mdx b/content/500-platform/300-platform-console/30-maturity-levels.mdx similarity index 100% rename from content/800-platform/300-platform-console/30-maturity-levels.mdx rename to content/500-platform/300-platform-console/30-maturity-levels.mdx diff --git a/content/800-platform/300-platform-console/40-limits.mdx b/content/500-platform/300-platform-console/40-limits.mdx similarity index 100% rename from content/800-platform/300-platform-console/40-limits.mdx rename to content/500-platform/300-platform-console/40-limits.mdx diff --git a/content/800-platform/300-platform-console/50-support.mdx b/content/500-platform/300-platform-console/50-support.mdx similarity index 100% rename from content/800-platform/300-platform-console/50-support.mdx rename to content/500-platform/300-platform-console/50-support.mdx diff --git a/content/800-platform/300-platform-console/index.mdx b/content/500-platform/300-platform-console/index.mdx similarity index 100% rename from content/800-platform/300-platform-console/index.mdx rename to content/500-platform/300-platform-console/index.mdx diff --git a/content/800-platform/600-classic-projects/050-data-proxy/100-use-data-proxy.mdx b/content/500-platform/600-classic-projects/050-data-proxy/100-use-data-proxy.mdx similarity index 100% rename from content/800-platform/600-classic-projects/050-data-proxy/100-use-data-proxy.mdx rename to content/500-platform/600-classic-projects/050-data-proxy/100-use-data-proxy.mdx diff --git a/content/800-platform/600-classic-projects/050-data-proxy/500-deploy.mdx b/content/500-platform/600-classic-projects/050-data-proxy/500-deploy.mdx similarity index 100% rename from content/800-platform/600-classic-projects/050-data-proxy/500-deploy.mdx rename to content/500-platform/600-classic-projects/050-data-proxy/500-deploy.mdx diff --git a/content/800-platform/600-classic-projects/050-data-proxy/700-prisma-cli-with-data-proxy.mdx b/content/500-platform/600-classic-projects/050-data-proxy/700-prisma-cli-with-data-proxy.mdx similarity index 100% rename from content/800-platform/600-classic-projects/050-data-proxy/700-prisma-cli-with-data-proxy.mdx rename to content/500-platform/600-classic-projects/050-data-proxy/700-prisma-cli-with-data-proxy.mdx diff --git a/content/800-platform/600-classic-projects/050-data-proxy/900-considerations-limitations.mdx b/content/500-platform/600-classic-projects/050-data-proxy/900-considerations-limitations.mdx similarity index 100% rename from content/800-platform/600-classic-projects/050-data-proxy/900-considerations-limitations.mdx rename to content/500-platform/600-classic-projects/050-data-proxy/900-considerations-limitations.mdx diff --git a/content/800-platform/600-classic-projects/050-data-proxy/index.mdx b/content/500-platform/600-classic-projects/050-data-proxy/index.mdx similarity index 100% rename from content/800-platform/600-classic-projects/050-data-proxy/index.mdx rename to content/500-platform/600-classic-projects/050-data-proxy/index.mdx diff --git a/content/800-platform/600-classic-projects/100-platform/060-static-ips.mdx b/content/500-platform/600-classic-projects/100-platform/060-static-ips.mdx similarity index 100% rename from content/800-platform/600-classic-projects/100-platform/060-static-ips.mdx rename to content/500-platform/600-classic-projects/100-platform/060-static-ips.mdx diff --git a/content/800-platform/600-classic-projects/100-platform/200-projects/100-create.mdx b/content/500-platform/600-classic-projects/100-platform/200-projects/100-create.mdx similarity index 100% rename from content/800-platform/600-classic-projects/100-platform/200-projects/100-create.mdx rename to content/500-platform/600-classic-projects/100-platform/200-projects/100-create.mdx diff --git a/content/800-platform/600-classic-projects/100-platform/200-projects/200-edit-settings.mdx b/content/500-platform/600-classic-projects/100-platform/200-projects/200-edit-settings.mdx similarity index 100% rename from content/800-platform/600-classic-projects/100-platform/200-projects/200-edit-settings.mdx rename to content/500-platform/600-classic-projects/100-platform/200-projects/200-edit-settings.mdx diff --git a/content/800-platform/600-classic-projects/100-platform/200-projects/300-delete-project.mdx b/content/500-platform/600-classic-projects/100-platform/200-projects/300-delete-project.mdx similarity index 100% rename from content/800-platform/600-classic-projects/100-platform/200-projects/300-delete-project.mdx rename to content/500-platform/600-classic-projects/100-platform/200-projects/300-delete-project.mdx diff --git a/content/800-platform/600-classic-projects/100-platform/200-projects/index.mdx b/content/500-platform/600-classic-projects/100-platform/200-projects/index.mdx similarity index 100% rename from content/800-platform/600-classic-projects/100-platform/200-projects/index.mdx rename to content/500-platform/600-classic-projects/100-platform/200-projects/index.mdx diff --git a/content/800-platform/600-classic-projects/100-platform/250-environments/100-view-all.mdx b/content/500-platform/600-classic-projects/100-platform/250-environments/100-view-all.mdx similarity index 100% rename from content/800-platform/600-classic-projects/100-platform/250-environments/100-view-all.mdx rename to content/500-platform/600-classic-projects/100-platform/250-environments/100-view-all.mdx diff --git a/content/800-platform/600-classic-projects/100-platform/250-environments/200-create.mdx b/content/500-platform/600-classic-projects/100-platform/250-environments/200-create.mdx similarity index 100% rename from content/800-platform/600-classic-projects/100-platform/250-environments/200-create.mdx rename to content/500-platform/600-classic-projects/100-platform/250-environments/200-create.mdx diff --git a/content/800-platform/600-classic-projects/100-platform/250-environments/300-edit-settings/100-edit-name-and-url-handle.mdx b/content/500-platform/600-classic-projects/100-platform/250-environments/300-edit-settings/100-edit-name-and-url-handle.mdx similarity index 100% rename from content/800-platform/600-classic-projects/100-platform/250-environments/300-edit-settings/100-edit-name-and-url-handle.mdx rename to content/500-platform/600-classic-projects/100-platform/250-environments/300-edit-settings/100-edit-name-and-url-handle.mdx diff --git a/content/800-platform/600-classic-projects/100-platform/250-environments/300-edit-settings/300-change-default-environment.mdx b/content/500-platform/600-classic-projects/100-platform/250-environments/300-edit-settings/300-change-default-environment.mdx similarity index 100% rename from content/800-platform/600-classic-projects/100-platform/250-environments/300-edit-settings/300-change-default-environment.mdx rename to content/500-platform/600-classic-projects/100-platform/250-environments/300-edit-settings/300-change-default-environment.mdx diff --git a/content/800-platform/600-classic-projects/100-platform/250-environments/300-edit-settings/index.mdx b/content/500-platform/600-classic-projects/100-platform/250-environments/300-edit-settings/index.mdx similarity index 100% rename from content/800-platform/600-classic-projects/100-platform/250-environments/300-edit-settings/index.mdx rename to content/500-platform/600-classic-projects/100-platform/250-environments/300-edit-settings/index.mdx diff --git a/content/800-platform/600-classic-projects/100-platform/250-environments/400-delete.mdx b/content/500-platform/600-classic-projects/100-platform/250-environments/400-delete.mdx similarity index 100% rename from content/800-platform/600-classic-projects/100-platform/250-environments/400-delete.mdx rename to content/500-platform/600-classic-projects/100-platform/250-environments/400-delete.mdx diff --git a/content/800-platform/600-classic-projects/100-platform/250-environments/index.mdx b/content/500-platform/600-classic-projects/100-platform/250-environments/index.mdx similarity index 100% rename from content/800-platform/600-classic-projects/100-platform/250-environments/index.mdx rename to content/500-platform/600-classic-projects/100-platform/250-environments/index.mdx diff --git a/content/800-platform/600-classic-projects/100-platform/400-members/050-roles-permissions.mdx b/content/500-platform/600-classic-projects/100-platform/400-members/050-roles-permissions.mdx similarity index 100% rename from content/800-platform/600-classic-projects/100-platform/400-members/050-roles-permissions.mdx rename to content/500-platform/600-classic-projects/100-platform/400-members/050-roles-permissions.mdx diff --git a/content/800-platform/600-classic-projects/100-platform/400-members/100-add.mdx b/content/500-platform/600-classic-projects/100-platform/400-members/100-add.mdx similarity index 100% rename from content/800-platform/600-classic-projects/100-platform/400-members/100-add.mdx rename to content/500-platform/600-classic-projects/100-platform/400-members/100-add.mdx diff --git a/content/800-platform/600-classic-projects/100-platform/400-members/300-change-role.mdx b/content/500-platform/600-classic-projects/100-platform/400-members/300-change-role.mdx similarity index 100% rename from content/800-platform/600-classic-projects/100-platform/400-members/300-change-role.mdx rename to content/500-platform/600-classic-projects/100-platform/400-members/300-change-role.mdx diff --git a/content/800-platform/600-classic-projects/100-platform/400-members/400-remove.mdx b/content/500-platform/600-classic-projects/100-platform/400-members/400-remove.mdx similarity index 100% rename from content/800-platform/600-classic-projects/100-platform/400-members/400-remove.mdx rename to content/500-platform/600-classic-projects/100-platform/400-members/400-remove.mdx diff --git a/content/800-platform/600-classic-projects/100-platform/400-members/images/team-members-invite-and-select-role.png b/content/500-platform/600-classic-projects/100-platform/400-members/images/team-members-invite-and-select-role.png similarity index 100% rename from content/800-platform/600-classic-projects/100-platform/400-members/images/team-members-invite-and-select-role.png rename to content/500-platform/600-classic-projects/100-platform/400-members/images/team-members-invite-and-select-role.png diff --git a/content/800-platform/600-classic-projects/100-platform/400-members/images/team-members-invite-and-select-role.snagx b/content/500-platform/600-classic-projects/100-platform/400-members/images/team-members-invite-and-select-role.snagx similarity index 100% rename from content/800-platform/600-classic-projects/100-platform/400-members/images/team-members-invite-and-select-role.snagx rename to content/500-platform/600-classic-projects/100-platform/400-members/images/team-members-invite-and-select-role.snagx diff --git a/content/800-platform/600-classic-projects/100-platform/400-members/index.mdx b/content/500-platform/600-classic-projects/100-platform/400-members/index.mdx similarity index 100% rename from content/800-platform/600-classic-projects/100-platform/400-members/index.mdx rename to content/500-platform/600-classic-projects/100-platform/400-members/index.mdx diff --git a/content/800-platform/600-classic-projects/100-platform/500-data-browser.mdx b/content/500-platform/600-classic-projects/100-platform/500-data-browser.mdx similarity index 100% rename from content/800-platform/600-classic-projects/100-platform/500-data-browser.mdx rename to content/500-platform/600-classic-projects/100-platform/500-data-browser.mdx diff --git a/content/800-platform/600-classic-projects/100-platform/600-query-console.mdx b/content/500-platform/600-classic-projects/100-platform/600-query-console.mdx similarity index 100% rename from content/800-platform/600-classic-projects/100-platform/600-query-console.mdx rename to content/500-platform/600-classic-projects/100-platform/600-query-console.mdx diff --git a/content/800-platform/600-classic-projects/100-platform/700-schema-viewer.mdx b/content/500-platform/600-classic-projects/100-platform/700-schema-viewer.mdx similarity index 100% rename from content/800-platform/600-classic-projects/100-platform/700-schema-viewer.mdx rename to content/500-platform/600-classic-projects/100-platform/700-schema-viewer.mdx diff --git a/content/800-platform/600-classic-projects/100-platform/800-account.mdx b/content/500-platform/600-classic-projects/100-platform/800-account.mdx similarity index 100% rename from content/800-platform/600-classic-projects/100-platform/800-account.mdx rename to content/500-platform/600-classic-projects/100-platform/800-account.mdx diff --git a/content/800-platform/600-classic-projects/100-platform/825-github-integration.mdx b/content/500-platform/600-classic-projects/100-platform/825-github-integration.mdx similarity index 100% rename from content/800-platform/600-classic-projects/100-platform/825-github-integration.mdx rename to content/500-platform/600-classic-projects/100-platform/825-github-integration.mdx diff --git a/content/800-platform/600-classic-projects/100-platform/900-troubleshooting/050-connection-to-db-timed-out.mdx b/content/500-platform/600-classic-projects/100-platform/900-troubleshooting/050-connection-to-db-timed-out.mdx similarity index 100% rename from content/800-platform/600-classic-projects/100-platform/900-troubleshooting/050-connection-to-db-timed-out.mdx rename to content/500-platform/600-classic-projects/100-platform/900-troubleshooting/050-connection-to-db-timed-out.mdx diff --git a/content/800-platform/600-classic-projects/100-platform/900-troubleshooting/080-cannot-change-db-of-env.mdx b/content/500-platform/600-classic-projects/100-platform/900-troubleshooting/080-cannot-change-db-of-env.mdx similarity index 100% rename from content/800-platform/600-classic-projects/100-platform/900-troubleshooting/080-cannot-change-db-of-env.mdx rename to content/500-platform/600-classic-projects/100-platform/900-troubleshooting/080-cannot-change-db-of-env.mdx diff --git a/content/800-platform/600-classic-projects/100-platform/900-troubleshooting/100-cannot-edit-schema-file.mdx b/content/500-platform/600-classic-projects/100-platform/900-troubleshooting/100-cannot-edit-schema-file.mdx similarity index 100% rename from content/800-platform/600-classic-projects/100-platform/900-troubleshooting/100-cannot-edit-schema-file.mdx rename to content/500-platform/600-classic-projects/100-platform/900-troubleshooting/100-cannot-edit-schema-file.mdx diff --git a/content/800-platform/600-classic-projects/100-platform/900-troubleshooting/200-schema-file-does-not-update.mdx b/content/500-platform/600-classic-projects/100-platform/900-troubleshooting/200-schema-file-does-not-update.mdx similarity index 100% rename from content/800-platform/600-classic-projects/100-platform/900-troubleshooting/200-schema-file-does-not-update.mdx rename to content/500-platform/600-classic-projects/100-platform/900-troubleshooting/200-schema-file-does-not-update.mdx diff --git a/content/800-platform/600-classic-projects/100-platform/900-troubleshooting/index.mdx b/content/500-platform/600-classic-projects/100-platform/900-troubleshooting/index.mdx similarity index 100% rename from content/800-platform/600-classic-projects/100-platform/900-troubleshooting/index.mdx rename to content/500-platform/600-classic-projects/100-platform/900-troubleshooting/index.mdx diff --git a/content/800-platform/600-classic-projects/100-platform/index.mdx b/content/500-platform/600-classic-projects/100-platform/index.mdx similarity index 100% rename from content/800-platform/600-classic-projects/100-platform/index.mdx rename to content/500-platform/600-classic-projects/100-platform/index.mdx diff --git a/content/800-platform/600-classic-projects/980-support.mdx b/content/500-platform/600-classic-projects/980-support.mdx similarity index 100% rename from content/800-platform/600-classic-projects/980-support.mdx rename to content/500-platform/600-classic-projects/980-support.mdx diff --git a/content/800-platform/600-classic-projects/images/account/profile-menu-github-account.png b/content/500-platform/600-classic-projects/images/account/profile-menu-github-account.png similarity index 100% rename from content/800-platform/600-classic-projects/images/account/profile-menu-github-account.png rename to content/500-platform/600-classic-projects/images/account/profile-menu-github-account.png diff --git a/content/800-platform/600-classic-projects/images/account/profile-menu-github-account.snagx b/content/500-platform/600-classic-projects/images/account/profile-menu-github-account.snagx similarity index 100% rename from content/800-platform/600-classic-projects/images/account/profile-menu-github-account.snagx rename to content/500-platform/600-classic-projects/images/account/profile-menu-github-account.snagx diff --git a/content/800-platform/600-classic-projects/images/account/sign-up-01-create-first-project.png b/content/500-platform/600-classic-projects/images/account/sign-up-01-create-first-project.png similarity index 100% rename from content/800-platform/600-classic-projects/images/account/sign-up-01-create-first-project.png rename to content/500-platform/600-classic-projects/images/account/sign-up-01-create-first-project.png diff --git a/content/800-platform/600-classic-projects/images/account/sign-up-01-create-first-project.snagx b/content/500-platform/600-classic-projects/images/account/sign-up-01-create-first-project.snagx similarity index 100% rename from content/800-platform/600-classic-projects/images/account/sign-up-01-create-first-project.snagx rename to content/500-platform/600-classic-projects/images/account/sign-up-01-create-first-project.snagx diff --git a/content/800-platform/600-classic-projects/images/common/open-project-settings.png b/content/500-platform/600-classic-projects/images/common/open-project-settings.png similarity index 100% rename from content/800-platform/600-classic-projects/images/common/open-project-settings.png rename to content/500-platform/600-classic-projects/images/common/open-project-settings.png diff --git a/content/800-platform/600-classic-projects/images/common/open-project-settings.snagx b/content/500-platform/600-classic-projects/images/common/open-project-settings.snagx similarity index 100% rename from content/800-platform/600-classic-projects/images/common/open-project-settings.snagx rename to content/500-platform/600-classic-projects/images/common/open-project-settings.snagx diff --git a/content/800-platform/600-classic-projects/images/common/support-pop-up.png b/content/500-platform/600-classic-projects/images/common/support-pop-up.png similarity index 100% rename from content/800-platform/600-classic-projects/images/common/support-pop-up.png rename to content/500-platform/600-classic-projects/images/common/support-pop-up.png diff --git a/content/800-platform/600-classic-projects/images/common/support-pop-up.snagx b/content/500-platform/600-classic-projects/images/common/support-pop-up.snagx similarity index 100% rename from content/800-platform/600-classic-projects/images/common/support-pop-up.snagx rename to content/500-platform/600-classic-projects/images/common/support-pop-up.snagx diff --git a/content/800-platform/600-classic-projects/images/data-browser/01-models-view.png b/content/500-platform/600-classic-projects/images/data-browser/01-models-view.png similarity index 100% rename from content/800-platform/600-classic-projects/images/data-browser/01-models-view.png rename to content/500-platform/600-classic-projects/images/data-browser/01-models-view.png diff --git a/content/800-platform/600-classic-projects/images/data-browser/01-models-view.snagx b/content/500-platform/600-classic-projects/images/data-browser/01-models-view.snagx similarity index 100% rename from content/800-platform/600-classic-projects/images/data-browser/01-models-view.snagx rename to content/500-platform/600-classic-projects/images/data-browser/01-models-view.snagx diff --git a/content/800-platform/600-classic-projects/images/data-browser/02-open-close-models.png b/content/500-platform/600-classic-projects/images/data-browser/02-open-close-models.png similarity index 100% rename from content/800-platform/600-classic-projects/images/data-browser/02-open-close-models.png rename to content/500-platform/600-classic-projects/images/data-browser/02-open-close-models.png diff --git a/content/800-platform/600-classic-projects/images/data-browser/02-open-close-models.snagx b/content/500-platform/600-classic-projects/images/data-browser/02-open-close-models.snagx similarity index 100% rename from content/800-platform/600-classic-projects/images/data-browser/02-open-close-models.snagx rename to content/500-platform/600-classic-projects/images/data-browser/02-open-close-models.snagx diff --git a/content/800-platform/600-classic-projects/images/data-browser/03-model-view-keyboard-shortcuts.png b/content/500-platform/600-classic-projects/images/data-browser/03-model-view-keyboard-shortcuts.png similarity index 100% rename from content/800-platform/600-classic-projects/images/data-browser/03-model-view-keyboard-shortcuts.png rename to content/500-platform/600-classic-projects/images/data-browser/03-model-view-keyboard-shortcuts.png diff --git a/content/800-platform/600-classic-projects/images/data-browser/03-model-view-keyboard-shortcuts.snagx b/content/500-platform/600-classic-projects/images/data-browser/03-model-view-keyboard-shortcuts.snagx similarity index 100% rename from content/800-platform/600-classic-projects/images/data-browser/03-model-view-keyboard-shortcuts.snagx rename to content/500-platform/600-classic-projects/images/data-browser/03-model-view-keyboard-shortcuts.snagx diff --git a/content/800-platform/600-classic-projects/images/data-browser/04-save-multiple-changes.png b/content/500-platform/600-classic-projects/images/data-browser/04-save-multiple-changes.png similarity index 100% rename from content/800-platform/600-classic-projects/images/data-browser/04-save-multiple-changes.png rename to content/500-platform/600-classic-projects/images/data-browser/04-save-multiple-changes.png diff --git a/content/800-platform/600-classic-projects/images/data-browser/04-save-multiple-changes.snagx b/content/500-platform/600-classic-projects/images/data-browser/04-save-multiple-changes.snagx similarity index 100% rename from content/800-platform/600-classic-projects/images/data-browser/04-save-multiple-changes.snagx rename to content/500-platform/600-classic-projects/images/data-browser/04-save-multiple-changes.snagx diff --git a/content/800-platform/600-classic-projects/images/data-browser/05-add-remove-filters.png b/content/500-platform/600-classic-projects/images/data-browser/05-add-remove-filters.png similarity index 100% rename from content/800-platform/600-classic-projects/images/data-browser/05-add-remove-filters.png rename to content/500-platform/600-classic-projects/images/data-browser/05-add-remove-filters.png diff --git a/content/800-platform/600-classic-projects/images/data-browser/05-add-remove-filters.snagx b/content/500-platform/600-classic-projects/images/data-browser/05-add-remove-filters.snagx similarity index 100% rename from content/800-platform/600-classic-projects/images/data-browser/05-add-remove-filters.snagx rename to content/500-platform/600-classic-projects/images/data-browser/05-add-remove-filters.snagx diff --git a/content/800-platform/600-classic-projects/images/data-browser/06-show-hide-fields.png b/content/500-platform/600-classic-projects/images/data-browser/06-show-hide-fields.png similarity index 100% rename from content/800-platform/600-classic-projects/images/data-browser/06-show-hide-fields.png rename to content/500-platform/600-classic-projects/images/data-browser/06-show-hide-fields.png diff --git a/content/800-platform/600-classic-projects/images/data-browser/06-show-hide-fields.snagx b/content/500-platform/600-classic-projects/images/data-browser/06-show-hide-fields.snagx similarity index 100% rename from content/800-platform/600-classic-projects/images/data-browser/06-show-hide-fields.snagx rename to content/500-platform/600-classic-projects/images/data-browser/06-show-hide-fields.snagx diff --git a/content/800-platform/600-classic-projects/images/data-browser/07-show-hide-records.png b/content/500-platform/600-classic-projects/images/data-browser/07-show-hide-records.png similarity index 100% rename from content/800-platform/600-classic-projects/images/data-browser/07-show-hide-records.png rename to content/500-platform/600-classic-projects/images/data-browser/07-show-hide-records.png diff --git a/content/800-platform/600-classic-projects/images/data-browser/07-show-hide-records.snagx b/content/500-platform/600-classic-projects/images/data-browser/07-show-hide-records.snagx similarity index 100% rename from content/800-platform/600-classic-projects/images/data-browser/07-show-hide-records.snagx rename to content/500-platform/600-classic-projects/images/data-browser/07-show-hide-records.snagx diff --git a/content/800-platform/600-classic-projects/images/data-browser/08-model-sort.png b/content/500-platform/600-classic-projects/images/data-browser/08-model-sort.png similarity index 100% rename from content/800-platform/600-classic-projects/images/data-browser/08-model-sort.png rename to content/500-platform/600-classic-projects/images/data-browser/08-model-sort.png diff --git a/content/800-platform/600-classic-projects/images/data-browser/08-model-sort.snagx b/content/500-platform/600-classic-projects/images/data-browser/08-model-sort.snagx similarity index 100% rename from content/800-platform/600-classic-projects/images/data-browser/08-model-sort.snagx rename to content/500-platform/600-classic-projects/images/data-browser/08-model-sort.snagx diff --git a/content/800-platform/600-classic-projects/images/data-browser/array.svg b/content/500-platform/600-classic-projects/images/data-browser/array.svg similarity index 100% rename from content/800-platform/600-classic-projects/images/data-browser/array.svg rename to content/500-platform/600-classic-projects/images/data-browser/array.svg diff --git a/content/800-platform/600-classic-projects/images/data-browser/boolean.svg b/content/500-platform/600-classic-projects/images/data-browser/boolean.svg similarity index 100% rename from content/800-platform/600-classic-projects/images/data-browser/boolean.svg rename to content/500-platform/600-classic-projects/images/data-browser/boolean.svg diff --git a/content/800-platform/600-classic-projects/images/data-browser/database.svg b/content/500-platform/600-classic-projects/images/data-browser/database.svg similarity index 100% rename from content/800-platform/600-classic-projects/images/data-browser/database.svg rename to content/500-platform/600-classic-projects/images/data-browser/database.svg diff --git a/content/800-platform/600-classic-projects/images/data-browser/datetime.svg b/content/500-platform/600-classic-projects/images/data-browser/datetime.svg similarity index 100% rename from content/800-platform/600-classic-projects/images/data-browser/datetime.svg rename to content/500-platform/600-classic-projects/images/data-browser/datetime.svg diff --git a/content/800-platform/600-classic-projects/images/data-browser/enum.svg b/content/500-platform/600-classic-projects/images/data-browser/enum.svg similarity index 100% rename from content/800-platform/600-classic-projects/images/data-browser/enum.svg rename to content/500-platform/600-classic-projects/images/data-browser/enum.svg diff --git a/content/800-platform/600-classic-projects/images/data-browser/number.svg b/content/500-platform/600-classic-projects/images/data-browser/number.svg similarity index 100% rename from content/800-platform/600-classic-projects/images/data-browser/number.svg rename to content/500-platform/600-classic-projects/images/data-browser/number.svg diff --git a/content/800-platform/600-classic-projects/images/data-browser/object.svg b/content/500-platform/600-classic-projects/images/data-browser/object.svg similarity index 100% rename from content/800-platform/600-classic-projects/images/data-browser/object.svg rename to content/500-platform/600-classic-projects/images/data-browser/object.svg diff --git a/content/800-platform/600-classic-projects/images/data-browser/string.svg b/content/500-platform/600-classic-projects/images/data-browser/string.svg similarity index 100% rename from content/800-platform/600-classic-projects/images/data-browser/string.svg rename to content/500-platform/600-classic-projects/images/data-browser/string.svg diff --git a/content/800-platform/600-classic-projects/images/data-proxy/copy-connection-string.png b/content/500-platform/600-classic-projects/images/data-proxy/copy-connection-string.png similarity index 100% rename from content/800-platform/600-classic-projects/images/data-proxy/copy-connection-string.png rename to content/500-platform/600-classic-projects/images/data-proxy/copy-connection-string.png diff --git a/content/800-platform/600-classic-projects/images/data-proxy/copy-connection-string.snagx b/content/500-platform/600-classic-projects/images/data-proxy/copy-connection-string.snagx similarity index 100% rename from content/800-platform/600-classic-projects/images/data-proxy/copy-connection-string.snagx rename to content/500-platform/600-classic-projects/images/data-proxy/copy-connection-string.snagx diff --git a/content/800-platform/600-classic-projects/images/data-proxy/create-and-name-new-connection-string.png b/content/500-platform/600-classic-projects/images/data-proxy/create-and-name-new-connection-string.png similarity index 100% rename from content/800-platform/600-classic-projects/images/data-proxy/create-and-name-new-connection-string.png rename to content/500-platform/600-classic-projects/images/data-proxy/create-and-name-new-connection-string.png diff --git a/content/800-platform/600-classic-projects/images/data-proxy/create-and-name-new-connection-string.snagx b/content/500-platform/600-classic-projects/images/data-proxy/create-and-name-new-connection-string.snagx similarity index 100% rename from content/800-platform/600-classic-projects/images/data-proxy/create-and-name-new-connection-string.snagx rename to content/500-platform/600-classic-projects/images/data-proxy/create-and-name-new-connection-string.snagx diff --git a/content/800-platform/600-classic-projects/images/data-proxy/prisma-bundle-with-data-proxy.svg b/content/500-platform/600-classic-projects/images/data-proxy/prisma-bundle-with-data-proxy.svg similarity index 100% rename from content/800-platform/600-classic-projects/images/data-proxy/prisma-bundle-with-data-proxy.svg rename to content/500-platform/600-classic-projects/images/data-proxy/prisma-bundle-with-data-proxy.svg diff --git a/content/800-platform/600-classic-projects/images/data-proxy/prisma-bundle-without-data-proxy.svg b/content/500-platform/600-classic-projects/images/data-proxy/prisma-bundle-without-data-proxy.svg similarity index 100% rename from content/800-platform/600-classic-projects/images/data-proxy/prisma-bundle-without-data-proxy.svg rename to content/500-platform/600-classic-projects/images/data-proxy/prisma-bundle-without-data-proxy.svg diff --git a/content/800-platform/600-classic-projects/images/environments/create-01-drop-down-select-create.png b/content/500-platform/600-classic-projects/images/environments/create-01-drop-down-select-create.png similarity index 100% rename from content/800-platform/600-classic-projects/images/environments/create-01-drop-down-select-create.png rename to content/500-platform/600-classic-projects/images/environments/create-01-drop-down-select-create.png diff --git a/content/800-platform/600-classic-projects/images/environments/create-01-drop-down-select-create.snagx b/content/500-platform/600-classic-projects/images/environments/create-01-drop-down-select-create.snagx similarity index 100% rename from content/800-platform/600-classic-projects/images/environments/create-01-drop-down-select-create.snagx rename to content/500-platform/600-classic-projects/images/environments/create-01-drop-down-select-create.snagx diff --git a/content/800-platform/600-classic-projects/images/environments/create-env-upload-schema-file.png b/content/500-platform/600-classic-projects/images/environments/create-env-upload-schema-file.png similarity index 100% rename from content/800-platform/600-classic-projects/images/environments/create-env-upload-schema-file.png rename to content/500-platform/600-classic-projects/images/environments/create-env-upload-schema-file.png diff --git a/content/800-platform/600-classic-projects/images/environments/create-no-schema-sync-02-repo-branch-database-connection-string-data-proxy.png b/content/500-platform/600-classic-projects/images/environments/create-no-schema-sync-02-repo-branch-database-connection-string-data-proxy.png similarity index 100% rename from content/800-platform/600-classic-projects/images/environments/create-no-schema-sync-02-repo-branch-database-connection-string-data-proxy.png rename to content/500-platform/600-classic-projects/images/environments/create-no-schema-sync-02-repo-branch-database-connection-string-data-proxy.png diff --git a/content/800-platform/600-classic-projects/images/environments/create-no-schema-sync-02-repo-branch-database-connection-string-data-proxy.snagx b/content/500-platform/600-classic-projects/images/environments/create-no-schema-sync-02-repo-branch-database-connection-string-data-proxy.snagx similarity index 100% rename from content/800-platform/600-classic-projects/images/environments/create-no-schema-sync-02-repo-branch-database-connection-string-data-proxy.snagx rename to content/500-platform/600-classic-projects/images/environments/create-no-schema-sync-02-repo-branch-database-connection-string-data-proxy.snagx diff --git a/content/800-platform/600-classic-projects/images/environments/create-on-schema-sync-02-connection-string-static-ips-data-proxy-region.png b/content/500-platform/600-classic-projects/images/environments/create-on-schema-sync-02-connection-string-static-ips-data-proxy-region.png similarity index 100% rename from content/800-platform/600-classic-projects/images/environments/create-on-schema-sync-02-connection-string-static-ips-data-proxy-region.png rename to content/500-platform/600-classic-projects/images/environments/create-on-schema-sync-02-connection-string-static-ips-data-proxy-region.png diff --git a/content/800-platform/600-classic-projects/images/environments/create-on-schema-sync-02-connection-string-static-ips-data-proxy-region.snagx b/content/500-platform/600-classic-projects/images/environments/create-on-schema-sync-02-connection-string-static-ips-data-proxy-region.snagx similarity index 100% rename from content/800-platform/600-classic-projects/images/environments/create-on-schema-sync-02-connection-string-static-ips-data-proxy-region.snagx rename to content/500-platform/600-classic-projects/images/environments/create-on-schema-sync-02-connection-string-static-ips-data-proxy-region.snagx diff --git a/content/800-platform/600-classic-projects/images/environments/default-environment.png b/content/500-platform/600-classic-projects/images/environments/default-environment.png similarity index 100% rename from content/800-platform/600-classic-projects/images/environments/default-environment.png rename to content/500-platform/600-classic-projects/images/environments/default-environment.png diff --git a/content/800-platform/600-classic-projects/images/environments/default-environment.snagx b/content/500-platform/600-classic-projects/images/environments/default-environment.snagx similarity index 100% rename from content/800-platform/600-classic-projects/images/environments/default-environment.snagx rename to content/500-platform/600-classic-projects/images/environments/default-environment.snagx diff --git a/content/800-platform/600-classic-projects/images/environments/delete-01-click-three-dot-select-delete.png b/content/500-platform/600-classic-projects/images/environments/delete-01-click-three-dot-select-delete.png similarity index 100% rename from content/800-platform/600-classic-projects/images/environments/delete-01-click-three-dot-select-delete.png rename to content/500-platform/600-classic-projects/images/environments/delete-01-click-three-dot-select-delete.png diff --git a/content/800-platform/600-classic-projects/images/environments/delete-01-click-three-dot-select-delete.snagx b/content/500-platform/600-classic-projects/images/environments/delete-01-click-three-dot-select-delete.snagx similarity index 100% rename from content/800-platform/600-classic-projects/images/environments/delete-01-click-three-dot-select-delete.snagx rename to content/500-platform/600-classic-projects/images/environments/delete-01-click-three-dot-select-delete.snagx diff --git a/content/800-platform/600-classic-projects/images/environments/edit-01-change-database-connection-string.png b/content/500-platform/600-classic-projects/images/environments/edit-01-change-database-connection-string.png similarity index 100% rename from content/800-platform/600-classic-projects/images/environments/edit-01-change-database-connection-string.png rename to content/500-platform/600-classic-projects/images/environments/edit-01-change-database-connection-string.png diff --git a/content/800-platform/600-classic-projects/images/environments/edit-01-change-database-connection-string.snagx b/content/500-platform/600-classic-projects/images/environments/edit-01-change-database-connection-string.snagx similarity index 100% rename from content/800-platform/600-classic-projects/images/environments/edit-01-change-database-connection-string.snagx rename to content/500-platform/600-classic-projects/images/environments/edit-01-change-database-connection-string.snagx diff --git a/content/800-platform/600-classic-projects/images/environments/edit-01-change-default.png b/content/500-platform/600-classic-projects/images/environments/edit-01-change-default.png similarity index 100% rename from content/800-platform/600-classic-projects/images/environments/edit-01-change-default.png rename to content/500-platform/600-classic-projects/images/environments/edit-01-change-default.png diff --git a/content/800-platform/600-classic-projects/images/environments/edit-01-change-default.snagx b/content/500-platform/600-classic-projects/images/environments/edit-01-change-default.snagx similarity index 100% rename from content/800-platform/600-classic-projects/images/environments/edit-01-change-default.snagx rename to content/500-platform/600-classic-projects/images/environments/edit-01-change-default.snagx diff --git a/content/800-platform/600-classic-projects/images/environments/edit-01-change-name-and-URL-handle.png b/content/500-platform/600-classic-projects/images/environments/edit-01-change-name-and-URL-handle.png similarity index 100% rename from content/800-platform/600-classic-projects/images/environments/edit-01-change-name-and-URL-handle.png rename to content/500-platform/600-classic-projects/images/environments/edit-01-change-name-and-URL-handle.png diff --git a/content/800-platform/600-classic-projects/images/environments/edit-01-change-name-and-URL-handle.snagx b/content/500-platform/600-classic-projects/images/environments/edit-01-change-name-and-URL-handle.snagx similarity index 100% rename from content/800-platform/600-classic-projects/images/environments/edit-01-change-name-and-URL-handle.snagx rename to content/500-platform/600-classic-projects/images/environments/edit-01-change-name-and-URL-handle.snagx diff --git a/content/800-platform/600-classic-projects/images/environments/list-all-environments.png b/content/500-platform/600-classic-projects/images/environments/list-all-environments.png similarity index 100% rename from content/800-platform/600-classic-projects/images/environments/list-all-environments.png rename to content/500-platform/600-classic-projects/images/environments/list-all-environments.png diff --git a/content/800-platform/600-classic-projects/images/environments/list-all-environments.snagx b/content/500-platform/600-classic-projects/images/environments/list-all-environments.snagx similarity index 100% rename from content/800-platform/600-classic-projects/images/environments/list-all-environments.snagx rename to content/500-platform/600-classic-projects/images/environments/list-all-environments.snagx diff --git a/content/800-platform/600-classic-projects/images/environments/switch-environment.png b/content/500-platform/600-classic-projects/images/environments/switch-environment.png similarity index 100% rename from content/800-platform/600-classic-projects/images/environments/switch-environment.png rename to content/500-platform/600-classic-projects/images/environments/switch-environment.png diff --git a/content/800-platform/600-classic-projects/images/environments/switch-environment.snagx b/content/500-platform/600-classic-projects/images/environments/switch-environment.snagx similarity index 100% rename from content/800-platform/600-classic-projects/images/environments/switch-environment.snagx rename to content/500-platform/600-classic-projects/images/environments/switch-environment.snagx diff --git a/content/800-platform/600-classic-projects/images/environments/view-all-01-environments-drop-down-view-all.png b/content/500-platform/600-classic-projects/images/environments/view-all-01-environments-drop-down-view-all.png similarity index 100% rename from content/800-platform/600-classic-projects/images/environments/view-all-01-environments-drop-down-view-all.png rename to content/500-platform/600-classic-projects/images/environments/view-all-01-environments-drop-down-view-all.png diff --git a/content/800-platform/600-classic-projects/images/environments/view-all-01-environments-drop-down-view-all.snagx b/content/500-platform/600-classic-projects/images/environments/view-all-01-environments-drop-down-view-all.snagx similarity index 100% rename from content/800-platform/600-classic-projects/images/environments/view-all-01-environments-drop-down-view-all.snagx rename to content/500-platform/600-classic-projects/images/environments/view-all-01-environments-drop-down-view-all.snagx diff --git a/content/800-platform/600-classic-projects/images/github/add-github-account-or-org.png b/content/500-platform/600-classic-projects/images/github/add-github-account-or-org.png similarity index 100% rename from content/800-platform/600-classic-projects/images/github/add-github-account-or-org.png rename to content/500-platform/600-classic-projects/images/github/add-github-account-or-org.png diff --git a/content/800-platform/600-classic-projects/images/github/add-github-account-or-org.snagx b/content/500-platform/600-classic-projects/images/github/add-github-account-or-org.snagx similarity index 100% rename from content/800-platform/600-classic-projects/images/github/add-github-account-or-org.snagx rename to content/500-platform/600-classic-projects/images/github/add-github-account-or-org.snagx diff --git a/content/800-platform/600-classic-projects/images/github/grant-access-github-app.png b/content/500-platform/600-classic-projects/images/github/grant-access-github-app.png similarity index 100% rename from content/800-platform/600-classic-projects/images/github/grant-access-github-app.png rename to content/500-platform/600-classic-projects/images/github/grant-access-github-app.png diff --git a/content/800-platform/600-classic-projects/images/github/grant-access-github-app.snagx b/content/500-platform/600-classic-projects/images/github/grant-access-github-app.snagx similarity index 100% rename from content/800-platform/600-classic-projects/images/github/grant-access-github-app.snagx rename to content/500-platform/600-classic-projects/images/github/grant-access-github-app.snagx diff --git a/content/800-platform/600-classic-projects/images/github/grant-access-to-select-github-repositories.png b/content/500-platform/600-classic-projects/images/github/grant-access-to-select-github-repositories.png similarity index 100% rename from content/800-platform/600-classic-projects/images/github/grant-access-to-select-github-repositories.png rename to content/500-platform/600-classic-projects/images/github/grant-access-to-select-github-repositories.png diff --git a/content/800-platform/600-classic-projects/images/github/grant-access-to-select-github-repositories.snagx b/content/500-platform/600-classic-projects/images/github/grant-access-to-select-github-repositories.snagx similarity index 100% rename from content/800-platform/600-classic-projects/images/github/grant-access-to-select-github-repositories.snagx rename to content/500-platform/600-classic-projects/images/github/grant-access-to-select-github-repositories.snagx diff --git a/content/800-platform/600-classic-projects/images/projects/create-02-enable-schema-sync-github-account-branch-schema-path.png b/content/500-platform/600-classic-projects/images/projects/create-02-enable-schema-sync-github-account-branch-schema-path.png similarity index 100% rename from content/800-platform/600-classic-projects/images/projects/create-02-enable-schema-sync-github-account-branch-schema-path.png rename to content/500-platform/600-classic-projects/images/projects/create-02-enable-schema-sync-github-account-branch-schema-path.png diff --git a/content/800-platform/600-classic-projects/images/projects/create-02-enable-schema-sync-github-account-branch-schema-path.snagx b/content/500-platform/600-classic-projects/images/projects/create-02-enable-schema-sync-github-account-branch-schema-path.snagx similarity index 100% rename from content/800-platform/600-classic-projects/images/projects/create-02-enable-schema-sync-github-account-branch-schema-path.snagx rename to content/500-platform/600-classic-projects/images/projects/create-02-enable-schema-sync-github-account-branch-schema-path.snagx diff --git a/content/800-platform/600-classic-projects/images/projects/create-02-link-schema-file-from-a-repository.png b/content/500-platform/600-classic-projects/images/projects/create-02-link-schema-file-from-a-repository.png similarity index 100% rename from content/800-platform/600-classic-projects/images/projects/create-02-link-schema-file-from-a-repository.png rename to content/500-platform/600-classic-projects/images/projects/create-02-link-schema-file-from-a-repository.png diff --git a/content/800-platform/600-classic-projects/images/projects/create-02-upload-schema-file.png b/content/500-platform/600-classic-projects/images/projects/create-02-upload-schema-file.png similarity index 100% rename from content/800-platform/600-classic-projects/images/projects/create-02-upload-schema-file.png rename to content/500-platform/600-classic-projects/images/projects/create-02-upload-schema-file.png diff --git a/content/800-platform/600-classic-projects/images/projects/prisma-data-platform-projects-page.png b/content/500-platform/600-classic-projects/images/projects/prisma-data-platform-projects-page.png similarity index 100% rename from content/800-platform/600-classic-projects/images/projects/prisma-data-platform-projects-page.png rename to content/500-platform/600-classic-projects/images/projects/prisma-data-platform-projects-page.png diff --git a/content/800-platform/600-classic-projects/images/projects/prisma-data-platform-projects-page.snagx b/content/500-platform/600-classic-projects/images/projects/prisma-data-platform-projects-page.snagx similarity index 100% rename from content/800-platform/600-classic-projects/images/projects/prisma-data-platform-projects-page.snagx rename to content/500-platform/600-classic-projects/images/projects/prisma-data-platform-projects-page.snagx diff --git a/content/800-platform/600-classic-projects/images/query-console/add-query-with-autocomplete.png b/content/500-platform/600-classic-projects/images/query-console/add-query-with-autocomplete.png similarity index 100% rename from content/800-platform/600-classic-projects/images/query-console/add-query-with-autocomplete.png rename to content/500-platform/600-classic-projects/images/query-console/add-query-with-autocomplete.png diff --git a/content/800-platform/600-classic-projects/images/query-console/add-query-with-autocomplete.snagx b/content/500-platform/600-classic-projects/images/query-console/add-query-with-autocomplete.snagx similarity index 100% rename from content/800-platform/600-classic-projects/images/query-console/add-query-with-autocomplete.snagx rename to content/500-platform/600-classic-projects/images/query-console/add-query-with-autocomplete.snagx diff --git a/content/800-platform/600-classic-projects/images/query-console/components.png b/content/500-platform/600-classic-projects/images/query-console/components.png similarity index 100% rename from content/800-platform/600-classic-projects/images/query-console/components.png rename to content/500-platform/600-classic-projects/images/query-console/components.png diff --git a/content/800-platform/600-classic-projects/images/query-console/components.snagx b/content/500-platform/600-classic-projects/images/query-console/components.snagx similarity index 100% rename from content/800-platform/600-classic-projects/images/query-console/components.snagx rename to content/500-platform/600-classic-projects/images/query-console/components.snagx diff --git a/content/800-platform/600-classic-projects/images/query-console/run-query.png b/content/500-platform/600-classic-projects/images/query-console/run-query.png similarity index 100% rename from content/800-platform/600-classic-projects/images/query-console/run-query.png rename to content/500-platform/600-classic-projects/images/query-console/run-query.png diff --git a/content/800-platform/600-classic-projects/images/query-console/run-query.snagx b/content/500-platform/600-classic-projects/images/query-console/run-query.snagx similarity index 100% rename from content/800-platform/600-classic-projects/images/query-console/run-query.snagx rename to content/500-platform/600-classic-projects/images/query-console/run-query.snagx diff --git a/content/800-platform/600-classic-projects/images/schema-viewer/overview.png b/content/500-platform/600-classic-projects/images/schema-viewer/overview.png similarity index 100% rename from content/800-platform/600-classic-projects/images/schema-viewer/overview.png rename to content/500-platform/600-classic-projects/images/schema-viewer/overview.png diff --git a/content/800-platform/600-classic-projects/images/schema-viewer/overview.snagx b/content/500-platform/600-classic-projects/images/schema-viewer/overview.snagx similarity index 100% rename from content/800-platform/600-classic-projects/images/schema-viewer/overview.snagx rename to content/500-platform/600-classic-projects/images/schema-viewer/overview.snagx diff --git a/content/800-platform/600-classic-projects/images/schema-viewer/project-introspected-schema.png b/content/500-platform/600-classic-projects/images/schema-viewer/project-introspected-schema.png similarity index 100% rename from content/800-platform/600-classic-projects/images/schema-viewer/project-introspected-schema.png rename to content/500-platform/600-classic-projects/images/schema-viewer/project-introspected-schema.png diff --git a/content/800-platform/600-classic-projects/images/schema-viewer/project-introspected-schema.snagx b/content/500-platform/600-classic-projects/images/schema-viewer/project-introspected-schema.snagx similarity index 100% rename from content/800-platform/600-classic-projects/images/schema-viewer/project-introspected-schema.snagx rename to content/500-platform/600-classic-projects/images/schema-viewer/project-introspected-schema.snagx diff --git a/content/800-platform/600-classic-projects/images/schema-viewer/project-no-models-no-schema.png b/content/500-platform/600-classic-projects/images/schema-viewer/project-no-models-no-schema.png similarity index 100% rename from content/800-platform/600-classic-projects/images/schema-viewer/project-no-models-no-schema.png rename to content/500-platform/600-classic-projects/images/schema-viewer/project-no-models-no-schema.png diff --git a/content/800-platform/600-classic-projects/images/schema-viewer/project-no-models-no-schema.snagx b/content/500-platform/600-classic-projects/images/schema-viewer/project-no-models-no-schema.snagx similarity index 100% rename from content/800-platform/600-classic-projects/images/schema-viewer/project-no-models-no-schema.snagx rename to content/500-platform/600-classic-projects/images/schema-viewer/project-no-models-no-schema.snagx diff --git a/content/800-platform/600-classic-projects/images/schema-viewer/project-schema-viewer.png b/content/500-platform/600-classic-projects/images/schema-viewer/project-schema-viewer.png similarity index 100% rename from content/800-platform/600-classic-projects/images/schema-viewer/project-schema-viewer.png rename to content/500-platform/600-classic-projects/images/schema-viewer/project-schema-viewer.png diff --git a/content/800-platform/600-classic-projects/images/schema-viewer/provide-prisma-schema.png b/content/500-platform/600-classic-projects/images/schema-viewer/provide-prisma-schema.png similarity index 100% rename from content/800-platform/600-classic-projects/images/schema-viewer/provide-prisma-schema.png rename to content/500-platform/600-classic-projects/images/schema-viewer/provide-prisma-schema.png diff --git a/content/800-platform/600-classic-projects/images/schema-viewer/provide-prisma-schema.snagx b/content/500-platform/600-classic-projects/images/schema-viewer/provide-prisma-schema.snagx similarity index 100% rename from content/800-platform/600-classic-projects/images/schema-viewer/provide-prisma-schema.snagx rename to content/500-platform/600-classic-projects/images/schema-viewer/provide-prisma-schema.snagx diff --git a/content/800-platform/600-classic-projects/index.mdx b/content/500-platform/600-classic-projects/index.mdx similarity index 100% rename from content/800-platform/600-classic-projects/index.mdx rename to content/500-platform/600-classic-projects/index.mdx diff --git a/content/800-platform/index.mdx b/content/500-platform/index.mdx similarity index 100% rename from content/800-platform/index.mdx rename to content/500-platform/index.mdx From 84419bc61aabfa217c2cf6f7a8a6c6b5f0624a74 Mon Sep 17 00:00:00 2001 From: Nikolas Burk Date: Mon, 27 Nov 2023 15:23:42 +0100 Subject: [PATCH 012/100] fix typo --- .../50-databases-connections/index.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/200-orm/100-prisma-client/000-setup-and-configuration/50-databases-connections/index.mdx b/content/200-orm/100-prisma-client/000-setup-and-configuration/50-databases-connections/index.mdx index d962945ede..f7ca88a45f 100644 --- a/content/200-orm/100-prisma-client/000-setup-and-configuration/50-databases-connections/index.mdx +++ b/content/200-orm/100-prisma-client/000-setup-and-configuration/50-databases-connections/index.mdx @@ -1,6 +1,6 @@ --- -title: Database conenctions -metaTitle: Database conenctions +title: Database connections +metaTitle: Database connections metaDescription: 'Databases connections' tocDepth: 3 --- From fdfffed15f4b2532af075a38bd31c2484f431289 Mon Sep 17 00:00:00 2001 From: Nikolas Burk Date: Mon, 27 Nov 2023 16:08:35 +0100 Subject: [PATCH 013/100] removed elements for concepts, guides and api reference --- .../150-introspection.mdx | 30 ++++----- .../500-databases/01-database-drivers.mdx | 2 +- .../500-databases/03-postgresql.mdx | 4 +- .../500-databases/04-mysql.mdx | 4 +- .../500-databases/05-sqlite.mdx | 2 +- .../500-databases/07-mongodb.mdx | 2 +- .../500-databases/08-cockroachdb.mdx | 2 +- .../500-databases/890-neon.mdx | 2 +- .../500-databases/900-turso.mdx | 2 +- .../015-instantiate-prisma-client.mdx | 4 +- .../130-logging.mdx | 6 +- .../150-error-formatting.mdx | 2 +- .../100-connection-management.mdx | 10 +-- .../115-connection-pool.mdx | 10 +-- .../200-pgbouncer.mdx | 2 +- .../50-databases-connections/index.mdx | 8 +-- .../000-setup-and-configuration/index.mdx | 2 +- .../100-queries/030-crud.mdx | 30 ++++----- .../100-queries/035-select-fields.mdx | 4 +- .../100-queries/037-relation-queries.mdx | 22 +++---- .../100-queries/050-filtering-and-sorting.mdx | 8 +-- .../056-aggregation-grouping-summarizing.mdx | 8 +-- .../100-query-optimization-performance.mdx | 12 ++-- .../080-null-and-undefined.mdx | 4 +- .../100-working-with-json-fields.mdx | 14 ++-- .../200-working-with-scalar-lists-arrays.mdx | 10 +-- ...ing-with-composite-ids-and-constraints.mdx | 2 +- .../500-middleware/index.mdx | 4 +- .../300-client-extensions/index.mdx | 2 +- ...inst-partial-structures-of-model-types.mdx | 2 +- .../400-type-safety/99-prisma-validator.mdx | 2 +- .../450-testing/150-integration-testing.mdx | 2 +- ...y-database-changes-with-prisma-migrate.mdx | 4 +- content/200-orm/100-prisma-client/index.mdx | 2 +- .../050-getting-started.mdx | 2 +- .../200-shadow-database.mdx | 4 +- .../110-native-database-types.mdx | 4 +- .../120-native-database-functions.mdx | 2 +- .../20-prototyping-your-schema.mdx | 6 +- .../70-patching-and-hotfixing.mdx | 4 +- .../80-unsupported-database-features.mdx | 4 +- .../90-development-and-production.mdx | 8 +-- content/200-orm/200-prisma-migrate/index.mdx | 4 +- .../10-overview/02-data-sources.mdx | 2 +- .../10-overview/03-generators.mdx | 4 +- .../20-data-model/10-models.mdx | 64 +++++++++---------- .../20-data-model/20-relations/index.mdx | 2 +- .../20-data-model/50-database-mapping.mdx | 6 +- .../70-unsupported-database-features.mdx | 8 +-- .../300-prisma-schema/50-introspection.mdx | 6 +- content/200-orm/400-tools/05-prisma-cli.mdx | 2 +- .../050-prisma-client-reference.mdx | 54 ++++++++-------- .../100-prisma-schema-reference.mdx | 20 +++--- .../200-prisma-cli-reference.mdx | 20 +++--- .../100-under-the-hood/100-engines.mdx | 12 ++-- .../050-creating-bug-reports.mdx | 2 +- 56 files changed, 233 insertions(+), 233 deletions(-) diff --git a/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/150-introspection.mdx b/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/150-introspection.mdx index 9f20a764f0..f07c1e065c 100644 --- a/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/150-introspection.mdx +++ b/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/150-introspection.mdx @@ -388,8 +388,8 @@ Prisma's data model is a declarative representation of your database schema and Right now, there's a few minor "issues" with the data model: -- The `User` relation field is uppercased and therefore doesn't adhere to Prisma's [naming conventions](/reference/api-reference/prisma-schema-reference#naming-conventions-1) . To express more "semantics", it would also be nice if this field was called `author` to _describe_ the relationship between `User` and `Post` better. -- The `Post` and `Profile` relation fields on `User` as well as the `User` relation field on `Profile` are all uppercased. To adhere to Prisma's [naming conventions](/reference/api-reference/prisma-schema-reference#naming-conventions-1) , both fields should be lowercased to `post`, `profile` and `user`. +- The `User` relation field is uppercased and therefore doesn't adhere to Prisma's [naming conventions](/reference/api-reference/prisma-schema-reference#naming-conventions-1) . To express more "semantics", it would also be nice if this field was called `author` to _describe_ the relationship between `User` and `Post` better. +- The `Post` and `Profile` relation fields on `User` as well as the `User` relation field on `Profile` are all uppercased. To adhere to Prisma's [naming conventions](/reference/api-reference/prisma-schema-reference#naming-conventions-1) , both fields should be lowercased to `post`, `profile` and `user`. - Even after lowercasing, the `post` field on `User` is still slightly misnamed. That's because it actually refers to a [list](/concepts/components/prisma-schema/data-model#type-modifiers) of posts – a better name therefore would be the plural form: `posts`. These changes are relevant for the generated Prisma Client API where using lowercased relation fields `author`, `posts`, `profile` and `user` will feel more natural and idiomatic to JavaScript/TypeScript developers. You can therefore [configure your Prisma Client API](/concepts/components/prisma-client/working-with-prismaclient/use-custom-model-and-field-names). @@ -423,7 +423,7 @@ model User { } ``` -In this example, the database schema did follow the [naming conventions](/reference/api-reference/prisma-schema-reference#naming-conventions) for Prisma models (only the virtual relation fields that were generated from introspection did not adhere to them and needed adjustment). This optimizes the ergonomics of the generated Prisma Client API. +In this example, the database schema did follow the [naming conventions](/reference/api-reference/prisma-schema-reference#naming-conventions) for Prisma models (only the virtual relation fields that were generated from introspection did not adhere to them and needed adjustment). This optimizes the ergonomics of the generated Prisma Client API.

Using custom model and field names @@ -529,7 +529,7 @@ model User { -Refer to the [Prisma schema reference](/reference/api-reference/prisma-schema-reference) for detailed information about the schema definition. +Refer to the [Prisma schema reference](/reference/api-reference/prisma-schema-reference) for detailed information about the schema definition. @@ -537,8 +537,8 @@ Prisma's data model is a declarative representation of your database schema and Right now, there's a few minor "issues" with the data model: -- The `User` relation field is uppercased and therefore doesn't adhere to Prisma's [naming conventions](/reference/api-reference/prisma-schema-reference#naming-conventions-1) . To express more "semantics", it would also be nice if this field was called `author` to _describe_ the relationship between `User` and `Post` better. -- The `Post` and `Profile` relation fields on `User` as well as the `User` relation field on `Profile` are all uppercased. To adhere to Prisma's [naming conventions](/reference/api-reference/prisma-schema-reference#naming-conventions-1) , both fields should be lowercased to `post`, `profile` and `user`. +- The `User` relation field is uppercased and therefore doesn't adhere to Prisma's [naming conventions](/reference/api-reference/prisma-schema-reference#naming-conventions-1) . To express more "semantics", it would also be nice if this field was called `author` to _describe_ the relationship between `User` and `Post` better. +- The `Post` and `Profile` relation fields on `User` as well as the `User` relation field on `Profile` are all uppercased. To adhere to Prisma's [naming conventions](/reference/api-reference/prisma-schema-reference#naming-conventions-1) , both fields should be lowercased to `post`, `profile` and `user`. - Even after lowercasing, the `post` field on `User` is still slightly misnamed. That's because it actually refers to a [list](/concepts/components/prisma-schema/data-model#type-modifiers) of posts – a better name therefore would be the plural form: `posts`. These changes are relevant for the generated Prisma Client API where using lowercased relation fields `author`, `posts`, `profile` and `user` will feel more natural and idiomatic to JavaScript/TypeScript developers. You can therefore [configure your Prisma Client API](/concepts/components/prisma-client/working-with-prismaclient/use-custom-model-and-field-names). @@ -574,7 +574,7 @@ model User { } ``` -In this example, the database schema did follow the [naming conventions](/reference/api-reference/prisma-schema-reference#naming-conventions) for Prisma models (only the virtual relation fields that were generated from introspection did not adhere to them and needed adjustment). This optimizes the ergonomics of the generated Prisma Client API. +In this example, the database schema did follow the [naming conventions](/reference/api-reference/prisma-schema-reference#naming-conventions) for Prisma models (only the virtual relation fields that were generated from introspection did not adhere to them and needed adjustment). This optimizes the ergonomics of the generated Prisma Client API. Sometimes though, you may want to make additional changes to the names of the columns and tables that are exposed in the Prisma Client API. A common example is to translate _snake_case_ notation which is often used in database schemas into _PascalCase_ and _camelCase_ notations which feel more natural for JavaScript/TypeScript developers. @@ -675,8 +675,8 @@ Prisma's data model is a declarative representation of your database schema and Right now, there's a few minor "issues" with the data model: -- The `User` relation field is uppercased and therefore doesn't adhere to Prisma's [naming conventions](/reference/api-reference/prisma-schema-reference#naming-conventions-1) . To express more "semantics", it would also be nice if this field was called `author` to _describe_ the relationship between `User` and `Post` better. -- The `Post` and `Profile` relation fields on `User` as well as the `User` relation field on `Profile` are all uppercased. To adhere to Prisma's [naming conventions](/reference/api-reference/prisma-schema-reference#naming-conventions-1) , both fields should be lowercased to `post`, `profile` and `user`. +- The `User` relation field is uppercased and therefore doesn't adhere to Prisma's [naming conventions](/reference/api-reference/prisma-schema-reference#naming-conventions-1) . To express more "semantics", it would also be nice if this field was called `author` to _describe_ the relationship between `User` and `Post` better. +- The `Post` and `Profile` relation fields on `User` as well as the `User` relation field on `Profile` are all uppercased. To adhere to Prisma's [naming conventions](/reference/api-reference/prisma-schema-reference#naming-conventions-1) , both fields should be lowercased to `post`, `profile` and `user`. - Even after lowercasing, the `post` field on `User` is still slightly misnamed. That's because it actually refers to a [list](/concepts/components/prisma-schema/data-model#type-modifiers) of posts – a better name therefore would be the plural form: `posts`. These changes are relevant for the generated Prisma Client API where using lowercased relation fields `author`, `posts`, `profile` and `user` will feel more natural and idiomatic to JavaScript/TypeScript developers. You can therefore [configure your Prisma Client API](/concepts/components/prisma-client/working-with-prismaclient/use-custom-model-and-field-names). @@ -710,7 +710,7 @@ model User { } ``` -In this example, the database schema did follow the [naming conventions](/reference/api-reference/prisma-schema-reference#naming-conventions) for Prisma models (only the virtual relation fields that were generated from introspection did not adhere to them and needed adjustment). This optimizes the ergonomics of the generated Prisma Client API. +In this example, the database schema did follow the [naming conventions](/reference/api-reference/prisma-schema-reference#naming-conventions) for Prisma models (only the virtual relation fields that were generated from introspection did not adhere to them and needed adjustment). This optimizes the ergonomics of the generated Prisma Client API.
Using custom model and field names @@ -815,7 +815,7 @@ model User { -Refer to the [Prisma schema reference](/reference/api-reference/prisma-schema-reference) for detailed information about the schema definition. +Refer to the [Prisma schema reference](/reference/api-reference/prisma-schema-reference) for detailed information about the schema definition. @@ -865,7 +865,7 @@ Prisma Migrate will now keep the manually added relation fields. Because relation fields are _virtual_ (i.e. they _do not directly manifest in the database_), you can manually rename them in your Prisma schema without touching the database. -In this example, the database schema follows the [naming conventions](/reference/api-reference/prisma-schema-reference#naming-conventions) for Prisma models. This optimizes the ergonomics of the generated Prisma Client API. +In this example, the database schema follows the [naming conventions](/reference/api-reference/prisma-schema-reference#naming-conventions) for Prisma models. This optimizes the ergonomics of the generated Prisma Client API.
Using custom model and field names @@ -971,8 +971,8 @@ Prisma's data model is a declarative representation of your database schema and Right now, there's a few minor "issues" with the data model: -- The `User` relation field is uppercased and therefore doesn't adhere to Prisma's [naming conventions](/reference/api-reference/prisma-schema-reference#naming-conventions-1) . To express more "semantics", it would also be nice if this field was called `author` to _describe_ the relationship between `User` and `Post` better. -- The `Post` and `Profile` relation fields on `User` as well as the `User` relation field on `Profile` are all uppercased. To adhere to Prisma's [naming conventions](/reference/api-reference/prisma-schema-reference#naming-conventions-1) , both fields should be lowercased to `post`, `profile` and `user`. +- The `User` relation field is uppercased and therefore doesn't adhere to Prisma's [naming conventions](/reference/api-reference/prisma-schema-reference#naming-conventions-1) . To express more "semantics", it would also be nice if this field was called `author` to _describe_ the relationship between `User` and `Post` better. +- The `Post` and `Profile` relation fields on `User` as well as the `User` relation field on `Profile` are all uppercased. To adhere to Prisma's [naming conventions](/reference/api-reference/prisma-schema-reference#naming-conventions-1) , both fields should be lowercased to `post`, `profile` and `user`. - Even after lowercasing, the `post` field on `User` is still slightly misnamed. That's because it actually refers to a [list](/concepts/components/prisma-schema/data-model#type-modifiers) of posts – a better name therefore would be the plural form: `posts`. These changes are relevant for the generated Prisma Client API where using lowercased relation fields `author`, `posts`, `profile` and `user` will feel more natural and idiomatic to JavaScript/TypeScript developers. You can therefore [configure your Prisma Client API](/concepts/components/prisma-client/working-with-prismaclient/use-custom-model-and-field-names). @@ -1006,7 +1006,7 @@ model User { } ``` -In this example, the database schema did follow the [naming conventions](/reference/api-reference/prisma-schema-reference#naming-conventions) for Prisma models (only the virtual relation fields that were generated from introspection did not adhere to them and needed adjustment). This optimizes the ergonomics of the generated Prisma Client API. +In this example, the database schema did follow the [naming conventions](/reference/api-reference/prisma-schema-reference#naming-conventions) for Prisma models (only the virtual relation fields that were generated from introspection did not adhere to them and needed adjustment). This optimizes the ergonomics of the generated Prisma Client API.
Using custom model and field names diff --git a/content/200-orm/050-overview/100-introduction/500-databases/01-database-drivers.mdx b/content/200-orm/050-overview/100-introduction/500-databases/01-database-drivers.mdx index 7297c7eaec..0f52eaee8a 100644 --- a/content/200-orm/050-overview/100-introduction/500-databases/01-database-drivers.mdx +++ b/content/200-orm/050-overview/100-introduction/500-databases/01-database-drivers.mdx @@ -7,7 +7,7 @@ tocDepth: 4 ## Default built-in drivers -One of Prisma Client's components is the [Query Engine](./prisma-engines/query-engine) . The Query Engine is responsible for transforming Prisma Client queries to SQL statements. The Query Engine connects to your database using the included drivers that don't require additional setup. The built-in drivers use TCP connections to connect to the database. +One of Prisma Client's components is the [Query Engine](./prisma-engines/query-engine) . The Query Engine is responsible for transforming Prisma Client queries to SQL statements. The Query Engine connects to your database using the included drivers that don't require additional setup. The built-in drivers use TCP connections to connect to the database. ![Query flow from the user application to the database with Prisma Client](./images/drivers/qe-query-execution-flow.png) diff --git a/content/200-orm/050-overview/100-introduction/500-databases/03-postgresql.mdx b/content/200-orm/050-overview/100-introduction/500-databases/03-postgresql.mdx index 9082af73e4..56ac7308a5 100644 --- a/content/200-orm/050-overview/100-introduction/500-databases/03-postgresql.mdx +++ b/content/200-orm/050-overview/100-introduction/500-databases/03-postgresql.mdx @@ -9,7 +9,7 @@ tocDepth: 3 The PostgreSQL data source connector connects Prisma to a [PostgreSQL](https://www.postgresql.org/) database server. -By default, the PostgreSQL connector contains a database driver responsible for connecting to your database. You can use a [driver adapter](/concepts/components/database-drivers#driver-adapters) (Preview) to connect to your database using a JavaScript database driver from Prisma Client. +By default, the PostgreSQL connector contains a database driver responsible for connecting to your database. You can use a [driver adapter](/concepts/components/database-drivers#driver-adapters) (Preview) to connect to your database using a JavaScript database driver from Prisma Client. @@ -210,7 +210,7 @@ The PostgreSQL connector maps the [scalar types](/concepts/components/prisma-sch | Composite types | Not yet | n/a | | | | Domain types | Not yet | n/a | | | -[Introspection](/concepts/components/introspection) adds native database types that are **not yet supported** as [`Unsupported`](/reference/api-reference/prisma-schema-reference#unsupported) fields: +[Introspection](/concepts/components/introspection) adds native database types that are **not yet supported** as [`Unsupported`](/reference/api-reference/prisma-schema-reference#unsupported) fields: ```prisma file=schema.prisma model Device { diff --git a/content/200-orm/050-overview/100-introduction/500-databases/04-mysql.mdx b/content/200-orm/050-overview/100-introduction/500-databases/04-mysql.mdx index 3fe1615cb9..2c6d3e9845 100644 --- a/content/200-orm/050-overview/100-introduction/500-databases/04-mysql.mdx +++ b/content/200-orm/050-overview/100-introduction/500-databases/04-mysql.mdx @@ -9,7 +9,7 @@ tocDepth: 3 The MySQL data source connector connects Prisma to a [MySQL](https://www.mysql.com/) database server. -By default, the MySQL connector contains a database driver responsible for connecting to your database. You can use a [driver adapter](/concepts/components/database-drivers#driver-adapters) (Preview) to connect to your database using a JavaScript database driver from Prisma Client. +By default, the MySQL connector contains a database driver responsible for connecting to your database. You can use a [driver adapter](/concepts/components/database-drivers#driver-adapters) (Preview) to connect to your database using a JavaScript database driver from Prisma Client. @@ -191,7 +191,7 @@ When introspecting a MySQL database, the database types are mapped to Prisma acc | `multipolygon` | `Unsupported` | Not yet | | | `geometrycollection` | `Unsupported` | Not yet | | -[Introspection](/concepts/components/introspection) adds native database types that are **not yet supported** as [`Unsupported`](/reference/api-reference/prisma-schema-reference#unsupported) fields: +[Introspection](/concepts/components/introspection) adds native database types that are **not yet supported** as [`Unsupported`](/reference/api-reference/prisma-schema-reference#unsupported) fields: ```prisma file=schema.prisma model Device { diff --git a/content/200-orm/050-overview/100-introduction/500-databases/05-sqlite.mdx b/content/200-orm/050-overview/100-introduction/500-databases/05-sqlite.mdx index 3f19608aa2..bcf30844d8 100644 --- a/content/200-orm/050-overview/100-introduction/500-databases/05-sqlite.mdx +++ b/content/200-orm/050-overview/100-introduction/500-databases/05-sqlite.mdx @@ -9,7 +9,7 @@ tocDepth: 3 The SQLite data source connector connects Prisma to a [SQLite](https://www.sqlite.org/) database file. These files always have the file ending `.db` (e.g.: `dev.db`). -By default, the SQLite connector contains a database driver responsible for connecting to your database. You can use a [driver adapter](/concepts/components/database-drivers#driver-adapters) (Preview) to connect to your database using a JavaScript database driver from Prisma Client. +By default, the SQLite connector contains a database driver responsible for connecting to your database. You can use a [driver adapter](/concepts/components/database-drivers#driver-adapters) (Preview) to connect to your database using a JavaScript database driver from Prisma Client. diff --git a/content/200-orm/050-overview/100-introduction/500-databases/07-mongodb.mdx b/content/200-orm/050-overview/100-introduction/500-databases/07-mongodb.mdx index 5b6f759c5d..47db70e6bc 100644 --- a/content/200-orm/050-overview/100-introduction/500-databases/07-mongodb.mdx +++ b/content/200-orm/050-overview/100-introduction/500-databases/07-mongodb.mdx @@ -564,7 +564,7 @@ When introspecting a MongoDB database, Prisma uses the relevant [scalar types](/ | ------------------------- | -------- | :-------: | :----------------------------- | :---- | | `objectId` | `String` | ✔️ | `@db.ObjectId` | | -[Introspection](/concepts/components/introspection) adds native database types that are **not yet supported** as [`Unsupported`](/reference/api-reference/prisma-schema-reference#unsupported) fields: +[Introspection](/concepts/components/introspection) adds native database types that are **not yet supported** as [`Unsupported`](/reference/api-reference/prisma-schema-reference#unsupported) fields: ```prisma file=schema.prisma model Example { diff --git a/content/200-orm/050-overview/100-introduction/500-databases/08-cockroachdb.mdx b/content/200-orm/050-overview/100-introduction/500-databases/08-cockroachdb.mdx index dee427f3aa..2536e39276 100644 --- a/content/200-orm/050-overview/100-introduction/500-databases/08-cockroachdb.mdx +++ b/content/200-orm/050-overview/100-introduction/500-databases/08-cockroachdb.mdx @@ -127,7 +127,7 @@ When introspecting a CockroachDB database, the database types are mapped to Pris | `JSONB` \| `JSON` | `Json` | ✔️ | `@db.JsonB` | | | Array types | `[]` | ✔️ | | | -[Introspection](/concepts/components/introspection) adds native database types that are **not yet supported** as [`Unsupported`](/reference/api-reference/prisma-schema-reference#unsupported) fields: +[Introspection](/concepts/components/introspection) adds native database types that are **not yet supported** as [`Unsupported`](/reference/api-reference/prisma-schema-reference#unsupported) fields: ```prisma file=schema.prisma model Device { diff --git a/content/200-orm/050-overview/100-introduction/500-databases/890-neon.mdx b/content/200-orm/050-overview/100-introduction/500-databases/890-neon.mdx index d17c516c57..b870c36f06 100644 --- a/content/200-orm/050-overview/100-introduction/500-databases/890-neon.mdx +++ b/content/200-orm/050-overview/100-introduction/500-databases/890-neon.mdx @@ -119,7 +119,7 @@ DATABASE_URL=postgres://daniel:@ep-mute-rain-952417.us-east-2.aws.neon The [Neon serverless driver](https://github.com/neondatabase/serverless) is a low-latency Postgres driver for JavaScript and TypeScript that allows you to query data from serverless and edge environments over HTTP or WebSockets in place of TCP. -You can use Prisma along with the Neon serverless driver using a [driver adapter](/concepts/components/database-drivers#driver-adapters) . A driver adapter allows you to use a different database driver from the default Prisma provides to communicate with your database. +You can use Prisma along with the Neon serverless driver using a [driver adapter](/concepts/components/database-drivers#driver-adapters) . A driver adapter allows you to use a different database driver from the default Prisma provides to communicate with your database. diff --git a/content/200-orm/050-overview/100-introduction/500-databases/900-turso.mdx b/content/200-orm/050-overview/100-introduction/500-databases/900-turso.mdx index b7126989d4..f74c8e8d54 100644 --- a/content/200-orm/050-overview/100-introduction/500-databases/900-turso.mdx +++ b/content/200-orm/050-overview/100-introduction/500-databases/900-turso.mdx @@ -52,7 +52,7 @@ Many aspects of using Prisma with Turso are just like using Prisma with any othe There are a number of differences between Turso and SQLite to consider. You should be aware of the following when deciding to use Turso and Prisma: - **Remote and embedded SQLite databases**. libSQL uses HTTP to connect to the remote SQLite database. libSQL also supports remote database replicas and embedded replicas. Embedded replicas enable you to replicate your primary database inside your application. -- **Making schema changes**. Since libSQL uses HTTP to connect to the remote database, this makes it incompatible with Prisma Migrate. However, you can use [`prisma migrate diff`](/reference/api-reference/command-reference#migrate-diff) to create a schema migration and then apply the changes to your database using [Turso's CLI](https://docs.turso.tech/reference/turso-cli). +- **Making schema changes**. Since libSQL uses HTTP to connect to the remote database, this makes it incompatible with Prisma Migrate. However, you can use [`prisma migrate diff`](/reference/api-reference/command-reference#migrate-diff) to create a schema migration and then apply the changes to your database using [Turso's CLI](https://docs.turso.tech/reference/turso-cli). ## How to connect and query a Turso database diff --git a/content/200-orm/100-prisma-client/000-setup-and-configuration/015-instantiate-prisma-client.mdx b/content/200-orm/100-prisma-client/000-setup-and-configuration/015-instantiate-prisma-client.mdx index 9a836ccf35..0fb8ebfa69 100644 --- a/content/200-orm/100-prisma-client/000-setup-and-configuration/015-instantiate-prisma-client.mdx +++ b/content/200-orm/100-prisma-client/000-setup-and-configuration/015-instantiate-prisma-client.mdx @@ -35,7 +35,7 @@ const prisma = new PrismaClient() -You can further customize `PrismaClient` with [constructor parameters](/reference/api-reference/prisma-client-reference#prismaclient) - for example, set [logging levels](logging) or customize [error formatting](error-formatting). +You can further customize `PrismaClient` with [constructor parameters](/reference/api-reference/prisma-client-reference#prismaclient) - for example, set [logging levels](logging) or customize [error formatting](error-formatting). @@ -43,7 +43,7 @@ You can further customize `PrismaClient` with [constructor parameters](/referenc ## The number of `PrismaClient` instances matters -Your application should generally only create **one instance** of `PrismaClient`. How to achieve this depends on whether you are using Prisma in a [long-running application](/guides/performance-and-optimization/connection-management#prismaclient-in-long-running-applications) or in a [serverless environment](/guides/performance-and-optimization/connection-management#prismaclient-in-serverless-environments) . +Your application should generally only create **one instance** of `PrismaClient`. How to achieve this depends on whether you are using Prisma in a [long-running application](/guides/performance-and-optimization/connection-management#prismaclient-in-long-running-applications) or in a [serverless environment](/guides/performance-and-optimization/connection-management#prismaclient-in-serverless-environments) . The reason for this is that each instance of `PrismaClient` manages a connection pool, which means that a large number of clients can **exhaust the database connection limit**. This applies to all database connectors. diff --git a/content/200-orm/100-prisma-client/000-setup-and-configuration/130-logging.mdx b/content/200-orm/100-prisma-client/000-setup-and-configuration/130-logging.mdx index 355a3da58b..af66d8b9a7 100644 --- a/content/200-orm/100-prisma-client/000-setup-and-configuration/130-logging.mdx +++ b/content/200-orm/100-prisma-client/000-setup-and-configuration/130-logging.mdx @@ -6,12 +6,12 @@ metaDescription: 'Learn how to configure Prisma Client to log the raw SQL querie -Use the `PrismaClient` [`log`](/reference/api-reference/prisma-client-reference#log) parameter to configure [log levels](/reference/api-reference/prisma-client-reference#log-levels) , including warnings, errors, and information about the queries sent to the database. +Use the `PrismaClient` [`log`](/reference/api-reference/prisma-client-reference#log) parameter to configure [log levels](/reference/api-reference/prisma-client-reference#log-levels) , including warnings, errors, and information about the queries sent to the database. Prisma supports two types of logging: - Logging to [stdout](https://en.wikipedia.org/wiki/Standard_streams) (default) -- Event-based logging (use [`$on()`](/reference/api-reference/prisma-client-reference#on) method to [subscribe to events](#event-based-logging)) +- Event-based logging (use [`$on()`](/reference/api-reference/prisma-client-reference#on) method to [subscribe to events](#event-based-logging)) @@ -171,4 +171,4 @@ Query: db.Post.aggregate([ { $match: { userId: { $in: [ "622f0bbbdf635a42016ee32 -The exact [event (`e`) type and the properties available](/reference/api-reference/prisma-client-reference#event-types) depends on the log level. +The exact [event (`e`) type and the properties available](/reference/api-reference/prisma-client-reference#event-types) depends on the log level. diff --git a/content/200-orm/100-prisma-client/000-setup-and-configuration/150-error-formatting.mdx b/content/200-orm/100-prisma-client/000-setup-and-configuration/150-error-formatting.mdx index aa3b961010..7e6e5f8cfc 100644 --- a/content/200-orm/100-prisma-client/000-setup-and-configuration/150-error-formatting.mdx +++ b/content/200-orm/100-prisma-client/000-setup-and-configuration/150-error-formatting.mdx @@ -32,7 +32,7 @@ In order to configure these different error formatting levels, there are two opt ### Formatting via the `PrismaClient` constructor -Alternatively, use the `PrismaClient` [`errorFormat`](/reference/api-reference/prisma-client-reference#errorformat) parameter to set the error format: +Alternatively, use the `PrismaClient` [`errorFormat`](/reference/api-reference/prisma-client-reference#errorformat) parameter to set the error format: ```ts const prisma = new PrismaClient({ diff --git a/content/200-orm/100-prisma-client/000-setup-and-configuration/50-databases-connections/100-connection-management.mdx b/content/200-orm/100-prisma-client/000-setup-and-configuration/50-databases-connections/100-connection-management.mdx index 3f0d38e0fe..b3135868ba 100644 --- a/content/200-orm/100-prisma-client/000-setup-and-configuration/50-databases-connections/100-connection-management.mdx +++ b/content/200-orm/100-prisma-client/000-setup-and-configuration/50-databases-connections/100-connection-management.mdx @@ -9,18 +9,18 @@ tocDepth: 3 `PrismaClient` connects and disconnects from your data source using the following two methods: -- [`$connect()`](/reference/api-reference/prisma-client-reference#connect-1) -- [`$disconnect()`](/reference/api-reference/prisma-client-reference#disconnect-1) +- [`$connect()`](/reference/api-reference/prisma-client-reference#connect-1) +- [`$disconnect()`](/reference/api-reference/prisma-client-reference#disconnect-1) In most cases, you **do not need to explicitly call these methods**. `PrismaClient` automatically connects when you run your first query, creates a [connection pool](connection-pool), and disconnects when the Node.js process ends. -See the [connection management guide](/guides/performance-and-optimization/connection-management) for information about managing connections for different deployment paradigms (long-running processes and serverless functions). +See the [connection management guide](/guides/performance-and-optimization/connection-management) for information about managing connections for different deployment paradigms (long-running processes and serverless functions). ## $connect() -It is not necessary to call [`$connect()`](/reference/api-reference/prisma-client-reference#connect-1) thanks to the _lazy connect_ behavior: The `PrismaClient` instance connects lazily when the first request is made to the API (`$connect()` is called for you under the hood). +It is not necessary to call [`$connect()`](/reference/api-reference/prisma-client-reference#connect-1) thanks to the _lazy connect_ behavior: The `PrismaClient` instance connects lazily when the first request is made to the API (`$connect()` is called for you under the hood). ### Calling $connect() explicitly @@ -35,7 +35,7 @@ await prisma.$connect() ## $disconnect() -When you call [`$disconnect()`](/reference/api-reference/prisma-client-reference#disconnect-1) , Prisma Client: +When you call [`$disconnect()`](/reference/api-reference/prisma-client-reference#disconnect-1) , Prisma Client: 1. Runs the [`beforeExit` hook](#exit-hooks) 2. Ends the Query Engine child process and closes all connections diff --git a/content/200-orm/100-prisma-client/000-setup-and-configuration/50-databases-connections/115-connection-pool.mdx b/content/200-orm/100-prisma-client/000-setup-and-configuration/50-databases-connections/115-connection-pool.mdx index b5cd357363..5b2f88bb21 100644 --- a/content/200-orm/100-prisma-client/000-setup-and-configuration/50-databases-connections/115-connection-pool.mdx +++ b/content/200-orm/100-prisma-client/000-setup-and-configuration/50-databases-connections/115-connection-pool.mdx @@ -30,7 +30,7 @@ The following steps describe how the query engine uses the connection pool: 1. If the query engine cannot reserve a connection from the pool, queries are added to a FIFO (First In First Out) queue in memory. FIFO means that queries are processed in the order they enter the queue. 1. If the query engine cannot process a query in the queue for **before the [time limit](#default-pool-timeout)**, it throws an exception with error code `P2024` for that query and moves on to the next one in the queue. -If you consistently experience pool timeout errors, you need to [optimize the connection pool](/guides/performance-and-optimization/connection-management#optimizing-the-connection-pool) . +If you consistently experience pool timeout errors, you need to [optimize the connection pool](/guides/performance-and-optimization/connection-management#optimizing-the-connection-pool) . ### Connection pool size @@ -44,7 +44,7 @@ num_physical_cpus * 2 + 1 `num_physical_cpus` represents the number of physical CPUs on the machine your application is running on. If your machine has **four** physical CPUs, your connection pool will contain **nine** connections (`4 * 2 + 1 = 9`). -Although the formula represents a good starting point, the [recommended connection limit](/guides/performance-and-optimization/connection-management#recommended-connection-pool-size) also depends on your deployment paradigm - particularly if you are using serverless. +Although the formula represents a good starting point, the [recommended connection limit](/guides/performance-and-optimization/connection-management#recommended-connection-pool-size) also depends on your deployment paradigm - particularly if you are using serverless. #### Setting the connection pool size @@ -61,7 +61,7 @@ datasource db { The number of connections Prisma Client uses can be viewed using [logging](/concepts/components/prisma-client/working-with-prismaclient/logging) and [metrics](/concepts/components/prisma-client/metrics). -Using the `info` [logging level](/reference/api-reference/prisma-client-reference#log-levels), you can log the number of connections in a connection pool that are opened when Prisma Client is instantiated. +Using the `info` [logging level](/reference/api-reference/prisma-client-reference#log-levels), you can log the number of connections in a connection pool that are opened when Prisma Client is instantiated. For example, consider the following Prisma Client instance and invocation: @@ -200,7 +200,7 @@ datasource db { } ``` -You can choose to [disable the connection pool timeout if queries **must** remain in the queue](/guides/performance-and-optimization/connection-management#disabling-the-pool-timeout) - for example, if you are importing a large number of records in parallel and are confident that the queue will not use up all available RAM before the job is complete. +You can choose to [disable the connection pool timeout if queries **must** remain in the queue](/guides/performance-and-optimization/connection-management#disabling-the-pool-timeout) - for example, if you are importing a large number of records in parallel and are confident that the queue will not use up all available RAM before the job is complete. ## MongoDB @@ -210,7 +210,7 @@ The MongoDB connector does not use the Prisma connection pool. The connection po You cannot increase the `connection_limit` beyond what the underlying database can support. This is a particular challenge in serverless environments, where each function manages an instance of `PrismaClient` - and its own connection pool. -Consider introducing [an external connection pooler like PgBouncer](/guides/performance-and-optimization/connection-management#pgbouncer) to prevent your application or functions from exhausting the database connection limit. +Consider introducing [an external connection pooler like PgBouncer](/guides/performance-and-optimization/connection-management#pgbouncer) to prevent your application or functions from exhausting the database connection limit. ## Manual database connection handling diff --git a/content/200-orm/100-prisma-client/000-setup-and-configuration/50-databases-connections/200-pgbouncer.mdx b/content/200-orm/100-prisma-client/000-setup-and-configuration/50-databases-connections/200-pgbouncer.mdx index 9879515fcb..4b6cd6cd29 100644 --- a/content/200-orm/100-prisma-client/000-setup-and-configuration/50-databases-connections/200-pgbouncer.mdx +++ b/content/200-orm/100-prisma-client/000-setup-and-configuration/50-databases-connections/200-pgbouncer.mdx @@ -48,7 +48,7 @@ Error: undefined: Database error Error querying the database: db error: ERROR: prepared statement "s0" already exists ``` -To work around this issue, you must connect directly to the database rather than going through PgBouncer. To achieve this, you can use the [`directUrl`](/reference/api-reference/prisma-schema-reference#fields) field in your [`datasource`](/reference/api-reference/prisma-schema-reference#datasource) block. +To work around this issue, you must connect directly to the database rather than going through PgBouncer. To achieve this, you can use the [`directUrl`](/reference/api-reference/prisma-schema-reference#fields) field in your [`datasource`](/reference/api-reference/prisma-schema-reference#datasource) block. For example, consider the following `datasource` block: diff --git a/content/200-orm/100-prisma-client/000-setup-and-configuration/50-databases-connections/index.mdx b/content/200-orm/100-prisma-client/000-setup-and-configuration/50-databases-connections/index.mdx index f7ca88a45f..53bf93c935 100644 --- a/content/200-orm/100-prisma-client/000-setup-and-configuration/50-databases-connections/index.mdx +++ b/content/200-orm/100-prisma-client/000-setup-and-configuration/50-databases-connections/index.mdx @@ -46,7 +46,7 @@ If you have **one** application instances: If you have **multiple** application instances: -- You must **manually** [set the `connection_limit` parameter](/concepts/components/prisma-client/working-with-prismaclient/connection-pool#setting-the-connection-pool-size) . For example, if your calculated pool size is _10_ and you have _2_ instances of your app, the `connection_limit` parameter should be **no more than _5_**. +- You must **manually** [set the `connection_limit` parameter](/concepts/components/prisma-client/working-with-prismaclient/connection-pool#setting-the-connection-pool-size) . For example, if your calculated pool size is _10_ and you have _2_ instances of your app, the `connection_limit` parameter should be **no more than _5_**. - You can optionally [tune the pool size](#optimizing-the-connection-pool). ### PrismaClient in long-running applications @@ -84,7 +84,7 @@ You do not have to replicate the example above exactly - the goal is to make sur #### Do not explicitly `$disconnect()` -You [do not need to explicitly `$disconnect()`](/concepts/components/prisma-client/working-with-prismaclient/connection-management#calling-disconnect-explicitly) in the context of a long-running application that is continuously serving requests. Opening a new connection takes time and can slow down your application if you disconnect after each query. +You [do not need to explicitly `$disconnect()`](/concepts/components/prisma-client/working-with-prismaclient/connection-management#calling-disconnect-explicitly) in the context of a long-running application that is continuously serving requests. Opening a new connection takes time and can slow down your application if you disconnect after each query. #### Prevent hot reloading from creating new instances of `PrismaClient` @@ -219,7 +219,7 @@ export async function handler() { #### Do not explicitly $disconnect() -You [do not need to explicitly `$disconnect()`](/concepts/components/prisma-client/working-with-prismaclient/connection-management#calling-disconnect-explicitly) at the end of a function, as there is a possibility that the container might be reused. Opening a new connection takes time and slows down your function's ability to process requests. +You [do not need to explicitly `$disconnect()`](/concepts/components/prisma-client/working-with-prismaclient/connection-management#calling-disconnect-explicitly) at the end of a function, as there is a possibility that the container might be reused. Opening a new connection takes time and slows down your function's ability to process requests. ### Other serverless considerations @@ -241,7 +241,7 @@ Depending on your serverless concurrency limit (the number of serverless functio ## Optimizing the connection pool -If the query engine cannot [process a query in the queue before the time limit](/concepts/components/prisma-client/working-with-prismaclient/connection-pool#how-the-connection-pool-works) , you will see connection pool timeout exceptions in your log. A connection pool timeout can occur if: +If the query engine cannot [process a query in the queue before the time limit](/concepts/components/prisma-client/working-with-prismaclient/connection-pool#how-the-connection-pool-works) , you will see connection pool timeout exceptions in your log. A connection pool timeout can occur if: - Many users are accessing your app simultaneously - You send a large number of queries in parallel (for example, using `await Promise.all()`) diff --git a/content/200-orm/100-prisma-client/000-setup-and-configuration/index.mdx b/content/200-orm/100-prisma-client/000-setup-and-configuration/index.mdx index f780f8fb93..526a8f7b28 100644 --- a/content/200-orm/100-prisma-client/000-setup-and-configuration/index.mdx +++ b/content/200-orm/100-prisma-client/000-setup-and-configuration/index.mdx @@ -6,7 +6,7 @@ metaDescription: 'This section explains how to generate, configure, and instanti -This section describes how to set up, generate, configure, and instantiate `PrismaClient` , as well as when and how to actively [manage connections](connection-management). +This section describes how to set up, generate, configure, and instantiate `PrismaClient` , as well as when and how to actively [manage connections](connection-management). diff --git a/content/200-orm/100-prisma-client/100-queries/030-crud.mdx b/content/200-orm/100-prisma-client/100-queries/030-crud.mdx index c34dd58584..f876969148 100644 --- a/content/200-orm/100-prisma-client/100-queries/030-crud.mdx +++ b/content/200-orm/100-prisma-client/100-queries/030-crud.mdx @@ -14,7 +14,7 @@ This page describes how to perform CRUD operations with your generated Prisma Cl - [Update](#update) - [Delete](#delete) -Refer to the [Prisma Client API reference documentation](/reference/api-reference/prisma-client-reference) for detailed explanations of each method. +Refer to the [Prisma Client API reference documentation](/reference/api-reference/prisma-client-reference) for detailed explanations of each method. @@ -151,7 +151,7 @@ For **MongoDB**, ensure your data is in a uniform shape and matches the model de ### Create a single record -The following query creates ([`create`](/reference/api-reference/prisma-client-reference#create) ) a single user with two fields: +The following query creates ([`create`](/reference/api-reference/prisma-client-reference#create) ) a single user with two fields: @@ -228,7 +228,7 @@ For more information about working with generated types, see: [Generated types]( Prisma Client supports bulk inserts as a GA feature in [2.20.0](https://github.com/prisma/prisma/releases/2.20.0) and later. -The following [`createMany`](/reference/api-reference/prisma-client-reference#createmany) query creates multiple users and skips any duplicates (`email` must be unique): +The following [`createMany`](/reference/api-reference/prisma-client-reference#createmany) query creates multiple users and skips any duplicates (`email` must be unique): @@ -296,7 +296,7 @@ See [Working with relations > Nested writes](relation-queries#nested-writes) for ### Get record by ID or unique identifier -The following queries return a single record ([`findUnique`](/reference/api-reference/prisma-client-reference#findunique) ) by unique identifier or ID: +The following queries return a single record ([`findUnique`](/reference/api-reference/prisma-client-reference#findunique) ) by unique identifier or ID: ```ts // By unique identifier @@ -327,7 +327,7 @@ const user = await prisma.user.findUnique({ ### Get all records -The following [`findMany`](/reference/api-reference/prisma-client-reference#findmany) query returns _all_ `User` records: +The following [`findMany`](/reference/api-reference/prisma-client-reference#findmany) query returns _all_ `User` records: ```ts const users = await prisma.user.findMany() @@ -337,7 +337,7 @@ You can also [paginate your results](pagination). ### Get the first record that matches a specific criteria -The following [`findFirst`](/reference/api-reference/prisma-client-reference#findfirst) query returns the _most recently created user_ with at least one post that has more than 100 likes: +The following [`findFirst`](/reference/api-reference/prisma-client-reference#findfirst) query returns the _most recently created user_ with at least one post that has more than 100 likes: 1. Order users by descending ID (largest first) - the largest ID is the most recent 2. Return the first user in descending order with at least one post that has more than 100 likes @@ -379,7 +379,7 @@ const users = await prisma.user.findMany({ #### Filter by multiple field values -The following query uses a combination of [operators](/reference/api-reference/prisma-client-reference#filter-conditions-and-operators) to return users whose name start with `E` _or_ administrators with at least 1 profile view: +The following query uses a combination of [operators](/reference/api-reference/prisma-client-reference#filter-conditions-and-operators) to return users whose name start with `E` _or_ administrators with at least 1 profile view: ```ts const users = await prisma.user.findMany({ @@ -569,13 +569,13 @@ For more information about including relations, see [Select fields and include r #### Include a filtered list of relations -See [Working with relations](relation-queries#filter-a-list-of-relations) to find out how to combine [`include`](/reference/api-reference/prisma-client-reference#include) and `where` for a filtered list of relations - for example, only include a user's published posts. +See [Working with relations](relation-queries#filter-a-list-of-relations) to find out how to combine [`include`](/reference/api-reference/prisma-client-reference#include) and `where` for a filtered list of relations - for example, only include a user's published posts. ## Update ### Update a single record -The following query uses [`update`](/reference/api-reference/prisma-client-reference#update) to find and update a single `User` record by `email`: +The following query uses [`update`](/reference/api-reference/prisma-client-reference#update) to find and update a single `User` record by `email`: @@ -610,7 +610,7 @@ const updateUser = await prisma.user.update({ ### Update multiple records -The following query uses [`updateMany`](/reference/api-reference/prisma-client-reference#updatemany) to update all `User` records that contain `prisma.io`: +The following query uses [`updateMany`](/reference/api-reference/prisma-client-reference#updatemany) to update all `User` records that contain `prisma.io`: @@ -642,7 +642,7 @@ const updateUsers = await prisma.user.updateMany({ ### Update _or_ create records -The following query uses [`upsert`](/reference/api-reference/prisma-client-reference#upsert) to update a `User` record with a specific email address, or create that `User` record if it does not exist: +The following query uses [`upsert`](/reference/api-reference/prisma-client-reference#upsert) to update a `User` record with a specific email address, or create that `User` record if it does not exist: @@ -695,7 +695,7 @@ A limitation to using `upsert` as a workaround for `findOrCreate` is that `upser ### Update a number field -Use [atomic number operations](/reference/api-reference/prisma-client-reference#atomic-number-operations) to update a number field **based on its current value** - for example, increment or multiply. The following query increments the `views` and `likes` fields by `1`: +Use [atomic number operations](/reference/api-reference/prisma-client-reference#atomic-number-operations) to update a number field **based on its current value** - for example, increment or multiply. The following query increments the `views` and `likes` fields by `1`: ```ts const updatePosts = await prisma.post.updateMany({ @@ -712,13 +712,13 @@ const updatePosts = await prisma.post.updateMany({ ### Connect and disconnect related records -Refer to [Working with relations](relation-queries) for information about disconnecting ([`disconnect`](/reference/api-reference/prisma-client-reference#disconnect) ) and connecting ([`connect`](/reference/api-reference/prisma-client-reference#connect) ) related records. +Refer to [Working with relations](relation-queries) for information about disconnecting ([`disconnect`](/reference/api-reference/prisma-client-reference#disconnect) ) and connecting ([`connect`](/reference/api-reference/prisma-client-reference#connect) ) related records. ## Delete ### Delete a single record -The following query uses [`delete`](/reference/api-reference/prisma-client-reference#delete) to delete a single `User` record: +The following query uses [`delete`](/reference/api-reference/prisma-client-reference#delete) to delete a single `User` record: ```ts const deleteUser = await prisma.user.delete({ @@ -764,7 +764,7 @@ In [2.26.0](https://github.com/prisma/prisma/releases/tag/2.26.0) and later it i -The following query uses [`delete`](/reference/api-reference/prisma-client-reference#delete) to delete a single `User` record: +The following query uses [`delete`](/reference/api-reference/prisma-client-reference#delete) to delete a single `User` record: ```ts const deleteUser = await prisma.user.delete({ diff --git a/content/200-orm/100-prisma-client/100-queries/035-select-fields.mdx b/content/200-orm/100-prisma-client/100-queries/035-select-fields.mdx index e36bbac87d..9ff3c459b5 100644 --- a/content/200-orm/100-prisma-client/100-queries/035-select-fields.mdx +++ b/content/200-orm/100-prisma-client/100-queries/035-select-fields.mdx @@ -14,8 +14,8 @@ By default, when a query returns records (as opposed to a count), the result inc To customize the result: -- Use [`select`](/reference/api-reference/prisma-client-reference#select) to return specific fields - [you can also use a nested `select` to include relation fields](relation-queries#select-specific-relation-fields) -- Use [`include`](/reference/api-reference/prisma-client-reference#include) to explicitly [include relations](relation-queries#nested-reads) +- Use [`select`](/reference/api-reference/prisma-client-reference#select) to return specific fields - [you can also use a nested `select` to include relation fields](relation-queries#select-specific-relation-fields) +- Use [`include`](/reference/api-reference/prisma-client-reference#include) to explicitly [include relations](relation-queries#nested-reads) Selecting only the fields and relations that you require rather than relying on the default selection set can ✔ reduce the size of the response and ✔ improve query speed. diff --git a/content/200-orm/100-prisma-client/100-queries/037-relation-queries.mdx b/content/200-orm/100-prisma-client/100-queries/037-relation-queries.mdx index 6878ad7da8..e2735ae62a 100644 --- a/content/200-orm/100-prisma-client/100-queries/037-relation-queries.mdx +++ b/content/200-orm/100-prisma-client/100-queries/037-relation-queries.mdx @@ -9,7 +9,7 @@ tocDepth: 4 A key feature of Prisma Client is the ability to query [relations](/concepts/components/prisma-schema/relations) between two or more models. Relation queries include: -- [Nested reads](#nested-reads) (sometimes referred to as _eager loading_) via [`select`](/reference/api-reference/prisma-client-reference#select) and [`include`](/reference/api-reference/prisma-client-reference#include) +- [Nested reads](#nested-reads) (sometimes referred to as _eager loading_) via [`select`](/reference/api-reference/prisma-client-reference#select) and [`include`](/reference/api-reference/prisma-client-reference#include) - [Nested writes](#nested-writes) with [transactional](transactions) guarantees - [Filtering on related records](#relation-filters) @@ -21,8 +21,8 @@ Prisma Client also has a [fluent API for traversing relations](#fluent-api). Nested reads allow you to read related data from multiple tables in your database - such as a user and that user's posts. You can: -- Use [`include`](/reference/api-reference/prisma-client-reference#include) to include related records, such as a user's posts or profile, in the query response. -- Use a nested [`select`](/reference/api-reference/prisma-client-reference#select) to include specific fields from a related record. You can also nest `select` inside an `include`. +- Use [`include`](/reference/api-reference/prisma-client-reference#include) to include related records, such as a user's posts or profile, in the query response. +- Use a nested [`select`](/reference/api-reference/prisma-client-reference#select) to include specific fields from a related record. You can also nest `select` inside an `include`. The following example returns a single user and that user's posts: @@ -468,8 +468,8 @@ const result = await prisma.user.create({ There are two ways to create or update a single record and multiple related records - for example, a user with multiple posts: -- Use a nested [`create`](/reference/api-reference/prisma-client-reference#create-1) query -- Use a nested [`createMany`](/reference/api-reference/prisma-client-reference#createmany-1) query +- Use a nested [`create`](/reference/api-reference/prisma-client-reference#create-1) query +- Use a nested [`createMany`](/reference/api-reference/prisma-client-reference#createmany-1) query Each technique has pros and cons: @@ -482,7 +482,7 @@ Each technique has pros and cons: | Supports has-many relations | ✔ | ✔ | For example, you can create a user and multiple posts (one user has many posts) | | Supports many-to-many relations | ✔ | ✘ | For example, you can create a post and several categories (one post can have many categories, and one category can have many posts) | -The following query uses nested [`create`](/reference/api-reference/prisma-client-reference#create) to create: +The following query uses nested [`create`](/reference/api-reference/prisma-client-reference#create) to create: - One user - Two posts @@ -570,7 +570,7 @@ const result = await prisma.user.create({ -The following query uses a nested [`createMany`](/reference/api-reference/prisma-client-reference#create) to create: +The following query uses a nested [`createMany`](/reference/api-reference/prisma-client-reference#create) to create: - One user - Two posts @@ -669,7 +669,7 @@ const createMany = await prisma.user.createMany({ ### Connect multiple records -The following query creates ([`create`](/reference/api-reference/prisma-client-reference#create) ) a new `User` record and connects that record ([`connect`](/reference/api-reference/prisma-client-reference#connect) ) to three existing posts: +The following query creates ([`create`](/reference/api-reference/prisma-client-reference#create) ) a new `User` record and connects that record ([`connect`](/reference/api-reference/prisma-client-reference#connect) ) to three existing posts: @@ -720,7 +720,7 @@ const result = await prisma.user.create({ ### Connect a single record -You can [`connect`](/reference/api-reference/prisma-client-reference#connect) an existing record to a new or existing user. The following query connects an existing post (`id: 11`) to an existing user (`id: 9`) +You can [`connect`](/reference/api-reference/prisma-client-reference#connect) an existing record to a new or existing user. The following query connects an existing post (`id: 11`) to an existing user (`id: 9`) ```ts highlight=6-9;normal const result = await prisma.user.update({ @@ -742,7 +742,7 @@ const result = await prisma.user.update({ ### Connect _or_ create a record -If a related record may or may not already exist, use [`connectOrCreate`](/reference/api-reference/prisma-client-reference#connectorcreate) to connect the related record: +If a related record may or may not already exist, use [`connectOrCreate`](/reference/api-reference/prisma-client-reference#connectorcreate) to connect the related record: - Connect a `User` with the email address `viola@prisma.io` _or_ - Create a new `User` with the email address `viola@prisma.io` if the user does not already exist @@ -880,7 +880,7 @@ const result = await prisma.post.update({ ### Disconnect all related records -To [`disconnect`](/reference/api-reference/prisma-client-reference#disconnect) _all_ related records in a one-to-many relation (a user has many posts), `set` the relation to an empty list as shown: +To [`disconnect`](/reference/api-reference/prisma-client-reference#disconnect) _all_ related records in a one-to-many relation (a user has many posts), `set` the relation to an empty list as shown: diff --git a/content/200-orm/100-prisma-client/100-queries/050-filtering-and-sorting.mdx b/content/200-orm/100-prisma-client/100-queries/050-filtering-and-sorting.mdx index f12dd4371a..7c967e3c0a 100644 --- a/content/200-orm/100-prisma-client/100-queries/050-filtering-and-sorting.mdx +++ b/content/200-orm/100-prisma-client/100-queries/050-filtering-and-sorting.mdx @@ -87,11 +87,11 @@ const result = await prisma.user.findMany({ ### Filter conditions and operators -Refer to Prisma Client's reference documentation for [a full list of operators](/reference/api-reference/prisma-client-reference#filter-conditions-and-operators) , such as `startsWith` and `contains`. +Refer to Prisma Client's reference documentation for [a full list of operators](/reference/api-reference/prisma-client-reference#filter-conditions-and-operators) , such as `startsWith` and `contains`. #### Combining operators -You can use operators (such as [`NOT`](/reference/api-reference/prisma-client-reference#not-1) and [`OR`](/reference/api-reference/prisma-client-reference#or) ) to filter by a combination of conditions. The following query returns all users with an `email` that ends in `"prisma.io"` or `"gmail.com"`, but not `"hotmail.com"`: +You can use operators (such as [`NOT`](/reference/api-reference/prisma-client-reference#not-1) and [`OR`](/reference/api-reference/prisma-client-reference#or) ) to filter by a combination of conditions. The following query returns all users with an `email` that ends in `"prisma.io"` or `"gmail.com"`, but not `"hotmail.com"`: @@ -206,7 +206,7 @@ const res = await prisma.post.findMany({ ### Filter on scalar lists / arrays -Scalar lists (for example, `String[]`) have a special set of [filter conditions](/reference/api-reference/prisma-client-reference#scalar-list-filters) - for example, the following query returns all posts where the `tags` array contains `databases`: +Scalar lists (for example, `String[]`) have a special set of [filter conditions](/reference/api-reference/prisma-client-reference#scalar-list-filters) - for example, the following query returns all posts where the `tags` array contains `databases`: ```ts const posts = await client.post.findMany({ @@ -276,7 +276,7 @@ const users = await prisma.user.findMany({ ## Sorting -Use [`orderBy`](/reference/api-reference/prisma-client-reference#orderby) to sort a list of records or a nested list of records by a particular field or set of fields. For example, the following query returns all `User` records sorted by `role` and `name`, **and** each user's posts sorted by `title`: +Use [`orderBy`](/reference/api-reference/prisma-client-reference#orderby) to sort a list of records or a nested list of records by a particular field or set of fields. For example, the following query returns all `User` records sorted by `role` and `name`, **and** each user's posts sorted by `title`: diff --git a/content/200-orm/100-prisma-client/100-queries/056-aggregation-grouping-summarizing.mdx b/content/200-orm/100-prisma-client/100-queries/056-aggregation-grouping-summarizing.mdx index 28a36aa005..2503e460d0 100644 --- a/content/200-orm/100-prisma-client/100-queries/056-aggregation-grouping-summarizing.mdx +++ b/content/200-orm/100-prisma-client/100-queries/056-aggregation-grouping-summarizing.mdx @@ -13,7 +13,7 @@ Prisma Client allows you to count records, aggregate number fields, and select d ## Aggregate -Prisma Client allows you to [`aggregate`](/reference/api-reference/prisma-client-reference#aggregate) on the **number** fields (such as `Int` and `Float`) of a model. The following query returns the average age of all users: +Prisma Client allows you to [`aggregate`](/reference/api-reference/prisma-client-reference#aggregate) on the **number** fields (such as `Int` and `Float`) of a model. The following query returns the average age of all users: ```ts const aggregations = await prisma.user.aggregate({ @@ -96,7 +96,7 @@ This allows you to differentiate between the true aggregate value (which could b ## Group by -Prisma Client's [`groupBy`](/reference/api-reference/prisma-client-reference#groupby) allows you to **group records** by one or more field values - such as `country`, or `country` and `city` and **perform aggregations** on each group, such as finding the average age of people living in a particular city. `groupBy` is a GA in [2.20.0](https://github.com/prisma/prisma/releases/2.20.0) and later. +Prisma Client's [`groupBy`](/reference/api-reference/prisma-client-reference#groupby) allows you to **group records** by one or more field values - such as `country`, or `country` and `city` and **perform aggregations** on each group, such as finding the average age of people living in a particular city. `groupBy` is a GA in [2.20.0](https://github.com/prisma/prisma/releases/2.20.0) and later. The following video uses `groupBy` to summarize total COVID-19 cases by continent: @@ -329,7 +329,7 @@ Both `distinct` and `groupBy` group records by one or more unique field values. ## Count -Use [`count`](/reference/api-reference/prisma-client-reference#count) to count the number of records or non-`null` field values. The following example query counts all users: +Use [`count`](/reference/api-reference/prisma-client-reference#count) to count the number of records or non-`null` field values. The following example query counts all users: ```ts const userCount = await prisma.user.count() @@ -577,7 +577,7 @@ const postCount = await prisma.post.count({ ## Select distinct -Prisma Client allows you to filter duplicate rows from a Prisma Query response to a [`findMany`](/reference/api-reference/prisma-client-reference#findmany) query using [`distinct`](/reference/api-reference/prisma-client-reference#distinct) . `distinct` is often used in combination with [`select`](/reference/api-reference/prisma-client-reference#select) to identify certain unique combinations of values in the rows of your table. +Prisma Client allows you to filter duplicate rows from a Prisma Query response to a [`findMany`](/reference/api-reference/prisma-client-reference#findmany) query using [`distinct`](/reference/api-reference/prisma-client-reference#distinct) . `distinct` is often used in combination with [`select`](/reference/api-reference/prisma-client-reference#select) to identify certain unique combinations of values in the rows of your table. The following example returns all fields for all `User` records with distinct `name` field values: diff --git a/content/200-orm/100-prisma-client/100-queries/100-query-optimization-performance.mdx b/content/200-orm/100-prisma-client/100-queries/100-query-optimization-performance.mdx index a33f3edf7a..e2b3476210 100644 --- a/content/200-orm/100-prisma-client/100-queries/100-query-optimization-performance.mdx +++ b/content/200-orm/100-prisma-client/100-queries/100-query-optimization-performance.mdx @@ -261,8 +261,8 @@ SELECT "public"."Post"."id", "public"."Post"."title" FROM "public"."Post" WHERE This is not an efficient way to query. Instead, you can: -- Use nested reads ([`include`](/reference/api-reference/prisma-client-reference#include) ) to return users and related posts -- Use the [`in`](/reference/api-reference/prisma-client-reference#in) filter +- Use nested reads ([`include`](/reference/api-reference/prisma-client-reference#include) ) to return users and related posts +- Use the [`in`](/reference/api-reference/prisma-client-reference#in) filter #### Solving n+1 with include @@ -326,10 +326,10 @@ SELECT "public"."Post"."id", "public"."Post"."createdAt", "public"."Post"."updat It is generally more performant to read and write large amounts of data in bulk - for example, inserting 50,000 records in batches of 1000 rather than as 50,000 separate inserts. Prisma Client supports the following bulk queries: -- [`createMany`](/reference/api-reference/prisma-client-reference#createmany) -- [`deleteMany`](/reference/api-reference/prisma-client-reference#deletemany) -- [`updateMany`](/reference/api-reference/prisma-client-reference#updatemany) -- [`findMany`](/reference/api-reference/prisma-client-reference#findmany) +- [`createMany`](/reference/api-reference/prisma-client-reference#createmany) +- [`deleteMany`](/reference/api-reference/prisma-client-reference#deletemany) +- [`updateMany`](/reference/api-reference/prisma-client-reference#updatemany) +- [`findMany`](/reference/api-reference/prisma-client-reference#findmany) ## Using select to limit number of columns returned diff --git a/content/200-orm/100-prisma-client/200-special-fields-and-types/080-null-and-undefined.mdx b/content/200-orm/100-prisma-client/200-special-fields-and-types/080-null-and-undefined.mdx index 832b6444f8..22df16e5ad 100644 --- a/content/200-orm/100-prisma-client/200-special-fields-and-types/080-null-and-undefined.mdx +++ b/content/200-orm/100-prisma-client/200-special-fields-and-types/080-null-and-undefined.mdx @@ -292,7 +292,7 @@ The following table provides a high-level overview of how the different operator | `AND` | return all items | validate single filter | validate all filters | | `NOT` | return all items | validate single filter | validate all filters | -This example shows how an `undefined` parameter impacts the results returned by a query that uses the [`OR`](/reference/api-reference/prisma-client-reference#or) operator. +This example shows how an `undefined` parameter impacts the results returned by a query that uses the [`OR`](/reference/api-reference/prisma-client-reference#or) operator. ```ts interface FormData { @@ -321,7 +321,7 @@ const users = await prisma.user.findMany({ The query receives filters from a formData object, which includes an optional email property. In this instance, the value of the email property is `undefined`. When this query is run no data is returned. -This is in contrast to the [`AND`](/reference/api-reference/prisma-client-reference#and) and [`NOT`](/reference/api-reference/prisma-client-reference#not-1) operators, which will both return all the users +This is in contrast to the [`AND`](/reference/api-reference/prisma-client-reference#and) and [`NOT`](/reference/api-reference/prisma-client-reference#not-1) operators, which will both return all the users if you pass in an `undefined` value. > This is because passing an `undefined` value to an `AND` or `NOT` operator is the same diff --git a/content/200-orm/100-prisma-client/200-special-fields-and-types/100-working-with-json-fields.mdx b/content/200-orm/100-prisma-client/200-special-fields-and-types/100-working-with-json-fields.mdx index ea7736e078..5dfc4e93ba 100644 --- a/content/200-orm/100-prisma-client/200-special-fields-and-types/100-working-with-json-fields.mdx +++ b/content/200-orm/100-prisma-client/200-special-fields-and-types/100-working-with-json-fields.mdx @@ -7,7 +7,7 @@ tocDepth: 3 -Use the [`Json`](/reference/api-reference/prisma-schema-reference#json) Prisma field type to read, write, and perform basic filtering on JSON types in the underlying database. In the following example, the `User` model has an optional `Json` field named `extendedPetsData`: +Use the [`Json`](/reference/api-reference/prisma-schema-reference#json) Prisma field type to read, write, and perform basic filtering on JSON types in the underlying database. In the following example, the `User` model has an optional `Json` field named `extendedPetsData`: ```prisma highlight=6;normal model User { @@ -255,9 +255,9 @@ const getUsers = await prisma.user.findMany({ The following string filters are available: -- [`string_contains`](/reference/api-reference/prisma-client-reference#string_contains) -- [`string_starts_with`](/reference/api-reference/prisma-client-reference#string_starts_with) -- [`string_ends_with`](/reference/api-reference/prisma-client-reference#string_ends_with) . +- [`string_contains`](/reference/api-reference/prisma-client-reference#string_contains) +- [`string_starts_with`](/reference/api-reference/prisma-client-reference#string_starts_with) +- [`string_ends_with`](/reference/api-reference/prisma-client-reference#string_ends_with) . ### Filter on nested object property @@ -418,9 +418,9 @@ const getUsers = await prisma.user.findMany({ The following array filters are available: -- [`array_contains`](/reference/api-reference/prisma-client-reference#array_contains) -- [`array_starts_with`](/reference/api-reference/prisma-client-reference#array_starts_with) -- [`array_ends_with`](/reference/api-reference/prisma-client-reference#array_ends_with) +- [`array_contains`](/reference/api-reference/prisma-client-reference#array_contains) +- [`array_starts_with`](/reference/api-reference/prisma-client-reference#array_starts_with) +- [`array_ends_with`](/reference/api-reference/prisma-client-reference#array_ends_with) ### Filtering on nested array value diff --git a/content/200-orm/100-prisma-client/200-special-fields-and-types/200-working-with-scalar-lists-arrays.mdx b/content/200-orm/100-prisma-client/200-special-fields-and-types/200-working-with-scalar-lists-arrays.mdx index 0251bd3567..e4369f9022 100644 --- a/content/200-orm/100-prisma-client/200-special-fields-and-types/200-working-with-scalar-lists-arrays.mdx +++ b/content/200-orm/100-prisma-client/200-special-fields-and-types/200-working-with-scalar-lists-arrays.mdx @@ -7,7 +7,7 @@ tocDepth: 3 -[Scalar lists](/reference/api-reference/prisma-schema-reference#-modifier) are represented by the `[]` modifier and are only available if the underlying database supports scalar lists. The following example has one scalar `String` list named `pets`: +[Scalar lists](/reference/api-reference/prisma-schema-reference#-modifier) are represented by the `[]` modifier and are only available if the underlying database supports scalar lists. The following example has one scalar `String` list named `pets`: , ]}> @@ -44,7 +44,7 @@ Example field value: ## Setting the value of a scalar list -The following example demonstrates how to [`set`](/reference/api-reference/prisma-client-reference#set-1) the value of a scalar list (`coinflips`) when you create a model: +The following example demonstrates how to [`set`](/reference/api-reference/prisma-client-reference#set-1) the value of a scalar list (`coinflips`) when you create a model: ```ts const createdUser = await prisma.user.create({ @@ -64,7 +64,7 @@ This method is available on MongoDB only in versions -The following example demonstrates how to [`unset`](/reference/api-reference/prisma-client-reference#unset) the value of a scalar list (`coinflips`): +The following example demonstrates how to [`unset`](/reference/api-reference/prisma-client-reference#unset) the value of a scalar list (`coinflips`): ```ts const createdUser = await prisma.user.create({ @@ -91,7 +91,7 @@ Available for: -Use the [`push`](/reference/api-reference/prisma-client-reference#push) method to add a single value to a scalar list: +Use the [`push`](/reference/api-reference/prisma-client-reference#push) method to add a single value to a scalar list: ```ts const userUpdate = await prisma.user.update({ @@ -145,7 +145,7 @@ Available for: -Use [scalar list filters](/reference/api-reference/prisma-client-reference#scalar-list-filters) to filter for records with scalar lists that match a specific condition. The following example returns all posts where the tags list includes `databases` _and_ `typescript`: +Use [scalar list filters](/reference/api-reference/prisma-client-reference#scalar-list-filters) to filter for records with scalar lists that match a specific condition. The following example returns all posts where the tags list includes `databases` _and_ `typescript`: ```ts const posts = await prisma.post.findMany({ diff --git a/content/200-orm/100-prisma-client/200-special-fields-and-types/300-working-with-composite-ids-and-constraints.mdx b/content/200-orm/100-prisma-client/200-special-fields-and-types/300-working-with-composite-ids-and-constraints.mdx index 3d2f160012..2ac52d4821 100644 --- a/content/200-orm/100-prisma-client/200-special-fields-and-types/300-working-with-composite-ids-and-constraints.mdx +++ b/content/200-orm/100-prisma-client/200-special-fields-and-types/300-working-with-composite-ids-and-constraints.mdx @@ -7,7 +7,7 @@ tocDepth: 2 -Composite IDs and compound unique constraints can be defined in your Prisma schema using the [`@@id`](/reference/api-reference/prisma-schema-reference#id-1) and [`@@unique`](/reference/api-reference/prisma-schema-reference#unique-1) attributes. +Composite IDs and compound unique constraints can be defined in your Prisma schema using the [`@@id`](/reference/api-reference/prisma-schema-reference#id-1) and [`@@unique`](/reference/api-reference/prisma-schema-reference#unique-1) attributes. diff --git a/content/200-orm/100-prisma-client/300-client-extensions/500-middleware/index.mdx b/content/200-orm/100-prisma-client/300-client-extensions/500-middleware/index.mdx index e8377ac882..354d71179e 100644 --- a/content/200-orm/100-prisma-client/300-client-extensions/500-middleware/index.mdx +++ b/content/200-orm/100-prisma-client/300-client-extensions/500-middleware/index.mdx @@ -16,7 +16,7 @@ Prisma Client extensions allow you to create independent Prisma Client instances -Middlewares act as query-level lifecycle hooks, which allow you to perform an action before or after a query runs. Use the [`prisma.$use`](/reference/api-reference/prisma-client-reference#use) method to add middleware, as follows: +Middlewares act as query-level lifecycle hooks, which allow you to perform an action before or after a query runs. Use the [`prisma.$use`](/reference/api-reference/prisma-client-reference#use) method to add middleware, as follows: ```ts highlight=4-9,12-17;normal const prisma = new PrismaClient() @@ -46,7 +46,7 @@ Do not invoke next multiple times within a middleware w -[`params`](/reference/api-reference/prisma-client-reference#params) represent parameters available in the middleware, such as the name of the query, and [`next`](/reference/api-reference/prisma-client-reference#next) represents [the next middleware in the stack _or_ the original Prisma Client query](#running-order-and-the-middleware-stack). +[`params`](/reference/api-reference/prisma-client-reference#params) represent parameters available in the middleware, such as the name of the query, and [`next`](/reference/api-reference/prisma-client-reference#next) represents [the next middleware in the stack _or_ the original Prisma Client query](#running-order-and-the-middleware-stack). Possible use cases for middleware include: diff --git a/content/200-orm/100-prisma-client/300-client-extensions/index.mdx b/content/200-orm/100-prisma-client/300-client-extensions/index.mdx index 7d7b0ee910..c1fb68819e 100644 --- a/content/200-orm/100-prisma-client/300-client-extensions/index.mdx +++ b/content/200-orm/100-prisma-client/300-client-extensions/index.mdx @@ -212,7 +212,7 @@ const xPrisma = prisma.$extends({ }) ``` -To learn more, see our documentation on [`$on`](/reference/api-reference/prisma-client-reference#on) and [`$use`](/reference/api-reference/prisma-client-reference#use) +To learn more, see our documentation on [`$on`](/reference/api-reference/prisma-client-reference#on) and [`$use`](/reference/api-reference/prisma-client-reference#use) ### Usage of client-level methods in extended clients diff --git a/content/200-orm/100-prisma-client/400-type-safety/100-operating-against-partial-structures-of-model-types.mdx b/content/200-orm/100-prisma-client/400-type-safety/100-operating-against-partial-structures-of-model-types.mdx index cacf078eab..20a7de5c01 100644 --- a/content/200-orm/100-prisma-client/400-type-safety/100-operating-against-partial-structures-of-model-types.mdx +++ b/content/200-orm/100-prisma-client/400-type-safety/100-operating-against-partial-structures-of-model-types.mdx @@ -99,7 +99,7 @@ The main benefits of the latter approach are: ### Description -When doing [`select`](/reference/api-reference/prisma-client-reference#select) or [`include`](/reference/api-reference/prisma-client-reference#include) operations on your models and returning these variants from a function, it can be difficult to gain access to the return type, e.g: +When doing [`select`](/reference/api-reference/prisma-client-reference#select) or [`include`](/reference/api-reference/prisma-client-reference#include) operations on your models and returning these variants from a function, it can be difficult to gain access to the return type, e.g: ```ts // Function definition that returns a partial structure diff --git a/content/200-orm/100-prisma-client/400-type-safety/99-prisma-validator.mdx b/content/200-orm/100-prisma-client/400-type-safety/99-prisma-validator.mdx index 11fbeed7f8..a5e05e2983 100644 --- a/content/200-orm/100-prisma-client/400-type-safety/99-prisma-validator.mdx +++ b/content/200-orm/100-prisma-client/400-type-safety/99-prisma-validator.mdx @@ -6,7 +6,7 @@ metaDescription: 'The Prisma validator is a utility function that takes a genera -The [`Prisma.validator`](/reference/api-reference/prisma-client-reference#prismavalidator) is a utility function that takes a generated type and returns a type-safe object which adheres to the generated types model fields. +The [`Prisma.validator`](/reference/api-reference/prisma-client-reference#prismavalidator) is a utility function that takes a generated type and returns a type-safe object which adheres to the generated types model fields. This page introduces the `Prisma.validator` and offers some motivations behind why you might choose to use it. diff --git a/content/200-orm/100-prisma-client/450-testing/150-integration-testing.mdx b/content/200-orm/100-prisma-client/450-testing/150-integration-testing.mdx index fd91087586..0fef3ce724 100644 --- a/content/200-orm/100-prisma-client/450-testing/150-integration-testing.mdx +++ b/content/200-orm/100-prisma-client/450-testing/150-integration-testing.mdx @@ -291,7 +291,7 @@ The following tests will check if the `createOrder` function works as it should - Creating an order with an existing customer - Show an "Out of stock" error message if a product doesn't exist -Before the test suite is run the database is seeded with data. After the test suite has finished a [`deleteMany`](/reference/api-reference/prisma-client-reference#deletemany) is used to clear the database of its data. +Before the test suite is run the database is seeded with data. After the test suite has finished a [`deleteMany`](/reference/api-reference/prisma-client-reference#deletemany) is used to clear the database of its data. diff --git a/content/200-orm/100-prisma-client/500-deployment/550-deploy-database-changes-with-prisma-migrate.mdx b/content/200-orm/100-prisma-client/500-deployment/550-deploy-database-changes-with-prisma-migrate.mdx index f05ca8337d..f07a5e5562 100644 --- a/content/200-orm/100-prisma-client/500-deployment/550-deploy-database-changes-with-prisma-migrate.mdx +++ b/content/200-orm/100-prisma-client/500-deployment/550-deploy-database-changes-with-prisma-migrate.mdx @@ -29,8 +29,8 @@ Ideally, `migrate deploy` should be part of an automated CI/CD pipeline, and we Beware that in order to run the `prisma migrate deploy` command, you need access to the `prisma` dependency that is typically added to the `devDependencies`. Some platforms like Vercel, prune development dependencies during the build, thereby preventing you from calling the command. This can be worked around by making the `prisma` a production dependency, by moving it to `dependencies` in your `package.json`. For more information about the `migrate deploy` command, see: -- [`migrate deploy` reference](/reference/api-reference/command-reference#migrate-deploy) -- [How `migrate deploy` works](/concepts/components/prisma-migrate/migrate-development-production#production-and-testing-environments) +- [`migrate deploy` reference](/reference/api-reference/command-reference#migrate-deploy) +- [How `migrate deploy` works](/concepts/components/prisma-migrate/migrate-development-production#production-and-testing-environments) - [Production troubleshooting](/guides/migrate/production-troubleshooting) diff --git a/content/200-orm/100-prisma-client/index.mdx b/content/200-orm/100-prisma-client/index.mdx index 88e18dd73e..57727d9708 100644 --- a/content/200-orm/100-prisma-client/index.mdx +++ b/content/200-orm/100-prisma-client/index.mdx @@ -143,7 +143,7 @@ const prisma = new PrismaClient() // use `prisma` in your application to read and write data in your DB ``` -The import path will depend on the custom `output` specified in Prisma Client's [`generator`](/reference/api-reference/prisma-schema-reference#fields-1) block in your Prisma schema. +The import path will depend on the custom `output` specified in Prisma Client's [`generator`](/reference/api-reference/prisma-schema-reference#fields-1) block in your Prisma schema. ### 4. Use Prisma Client to send queries to your database diff --git a/content/200-orm/200-prisma-migrate/050-getting-started.mdx b/content/200-orm/200-prisma-migrate/050-getting-started.mdx index 7465cc0d98..82bf859d44 100644 --- a/content/200-orm/200-prisma-migrate/050-getting-started.mdx +++ b/content/200-orm/200-prisma-migrate/050-getting-started.mdx @@ -7,7 +7,7 @@ tocDepth: 3 -This page explains how to get started with migrating your schema in a development environment using Prisma Migrate. See [Developing with Prisma Migrate](/guides/migrate/developing-with-prisma-migrate) for a more in-depth development workflow. +This page explains how to get started with migrating your schema in a development environment using Prisma Migrate. See [Developing with Prisma Migrate](/guides/migrate/developing-with-prisma-migrate) for a more in-depth development workflow. diff --git a/content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/200-shadow-database.mdx b/content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/200-shadow-database.mdx index b85694345d..bd7301fa69 100644 --- a/content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/200-shadow-database.mdx +++ b/content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/200-shadow-database.mdx @@ -76,7 +76,7 @@ In some cases it might make sense (e.g. when [creating and dropping databases is 1. Create a dedicated database that should be used as the shadow database 2. Add the connection string of that database your environment variable `SHADOW_DATABASE_URL` (or `.env` file) -3. Add the [`shadowDatabaseUrl`](/reference/api-reference/prisma-schema-reference#datasource) field reading this environment variable: +3. Add the [`shadowDatabaseUrl`](/reference/api-reference/prisma-schema-reference#datasource) field reading this environment variable: ```prisma highlight=4;normal datasource db { @@ -94,7 +94,7 @@ Some cloud providers do not allow you to drop and create databases with SQL. Som 1. Create a dedicated cloud-hosted shadow database 2. Add the URL to your environment variable `SHADOW_DATABASE_URL` -3. Add the [`shadowDatabaseUrl`](/reference/api-reference/prisma-schema-reference#datasource) field reading this environment variable: +3. Add the [`shadowDatabaseUrl`](/reference/api-reference/prisma-schema-reference#datasource) field reading this environment variable: ```prisma highlight=4;normal datasource db { diff --git a/content/200-orm/200-prisma-migrate/300-workflows/110-native-database-types.mdx b/content/200-orm/200-prisma-migrate/300-workflows/110-native-database-types.mdx index 8352229c73..95d21284da 100644 --- a/content/200-orm/200-prisma-migrate/300-workflows/110-native-database-types.mdx +++ b/content/200-orm/200-prisma-migrate/300-workflows/110-native-database-types.mdx @@ -14,8 +14,8 @@ Every¹ feature in your [data model](/concepts/components/prisma-schema/data-mod For a complete list of Prisma schema features, refer to: -- [Database features matrix](/reference/database-reference/database-features) for a list of database features and what they map to in the Prisma schema. -- [Prisma schema reference](/reference/api-reference/prisma-schema-reference) for a list of all Prisma schema features, including field types, attributes, and functions. +- [Database features matrix](/reference/database-reference/database-features) for a list of database features and what they map to in the Prisma schema. +- [Prisma schema reference](/reference/api-reference/prisma-schema-reference) for a list of all Prisma schema features, including field types, attributes, and functions. Prisma Migrate also supports mapping each field to a [specific native type](#mapping-fields-to-a-specific-native-type), and there are ways to [include features without a Prisma schema equivalent in your database](#handling-unsupported-database-features). diff --git a/content/200-orm/200-prisma-migrate/300-workflows/120-native-database-functions.mdx b/content/200-orm/200-prisma-migrate/300-workflows/120-native-database-functions.mdx index b91eefbd1b..0b35f4c662 100644 --- a/content/200-orm/200-prisma-migrate/300-workflows/120-native-database-functions.mdx +++ b/content/200-orm/200-prisma-migrate/300-workflows/120-native-database-functions.mdx @@ -6,7 +6,7 @@ metaDescription: How to enable PostgreSQL native database functions for projects -In PostgreSQL, some [native database functions](/concepts/components/prisma-schema/features-without-psl-equivalent#native-database-functions) are part of optional extensions. For example, in PostgreSQL versions 12.13 and earlier the `gen_random_uuid()` function is part of the [`pgcrypto`](https://www.postgresql.org/docs/10/pgcrypto.html) extension. +In PostgreSQL, some [native database functions](/concepts/components/prisma-schema/features-without-psl-equivalent#native-database-functions) are part of optional extensions. For example, in PostgreSQL versions 12.13 and earlier the `gen_random_uuid()` function is part of the [`pgcrypto`](https://www.postgresql.org/docs/10/pgcrypto.html) extension. To use a PostgreSQL extension, you must install it on the file system of your database server and then activate the extension. If you use Prisma Migrate, this must be done as part of a migration. diff --git a/content/200-orm/200-prisma-migrate/300-workflows/20-prototyping-your-schema.mdx b/content/200-orm/200-prisma-migrate/300-workflows/20-prototyping-your-schema.mdx index e6a654bff5..0847235dd6 100644 --- a/content/200-orm/200-prisma-migrate/300-workflows/20-prototyping-your-schema.mdx +++ b/content/200-orm/200-prisma-migrate/300-workflows/20-prototyping-your-schema.mdx @@ -7,7 +7,7 @@ codeStyle: false -The Prisma CLI has a dedicated command for prototyping schemas: [`db push`](/reference/api-reference/command-reference#db-push) +The Prisma CLI has a dedicated command for prototyping schemas: [`db push`](/reference/api-reference/command-reference#db-push) `db push` uses the same engine as Prisma Migrate to synchronize your Prisma schema with your database schema. The `db push` command: @@ -33,7 +33,7 @@ The Prisma CLI has a dedicated command for prototyping schemas: [`db push`](/ref - You are prioritizing reaching a **desired end-state** and not the changes or steps executed to reach that end-state (there is no way to preview changes made by `db push`) - You do not need to control how schema changes impact data. There is no way to orchestrate schema and data migrations—if `db push` anticipates that changes will result in data loss, you can either accept data loss with the `--accept-data-loss` option or stop the process. There is no way to customize the changes. -See [Schema prototyping with `db push`](/guides/migrate/prototyping-schema-db-push) for an example of how to use `db push` in this way. +See [Schema prototyping with `db push`](/guides/migrate/prototyping-schema-db-push) for an example of how to use `db push` in this way. `db push` is **not recommended** if: @@ -44,7 +44,7 @@ See [Schema prototyping with `db push`](/guides/migrate/prototyping-schema-db-pu ## Can I use Prisma Migrate and db push together? -Yes, you can [use `db push` and Prisma Migrate together in your development workflow](/guides/migrate/prototyping-schema-db-push) . For example, you can: +Yes, you can [use `db push` and Prisma Migrate together in your development workflow](/guides/migrate/prototyping-schema-db-push) . For example, you can: - Use `db push` to prototype a schema at the start of a project and initialize a migration history when you are happy with the first draft - Use `db push` to prototype a change to an existing schema, then run `prisma migrate dev` to generate a migration from your changes (you will be asked to reset) diff --git a/content/200-orm/200-prisma-migrate/300-workflows/70-patching-and-hotfixing.mdx b/content/200-orm/200-prisma-migrate/300-workflows/70-patching-and-hotfixing.mdx index 438f82c353..932eafcdb9 100644 --- a/content/200-orm/200-prisma-migrate/300-workflows/70-patching-and-hotfixing.mdx +++ b/content/200-orm/200-prisma-migrate/300-workflows/70-patching-and-hotfixing.mdx @@ -126,8 +126,8 @@ The following example demonstrates how to manually complete the steps of a migra To help with fixing a failed migration, Prisma provides the following commands for creating and executing a migration file: -- [`prisma migrate diff`](/reference/api-reference/command-reference#migrate-diff) which diffs two database schema sources to create a migration taking one to the state of the second. You can output either a summary of the difference or a sql script. The script can be output into a file via `> file_name.sql` or be piped to the `db execute --stdin` command. -- [`prisma db execute`](/reference/api-reference/command-reference#db-execute) which applies a SQL script to the database without interacting with the Prisma migrations table. +- [`prisma migrate diff`](/reference/api-reference/command-reference#migrate-diff) which diffs two database schema sources to create a migration taking one to the state of the second. You can output either a summary of the difference or a sql script. The script can be output into a file via `> file_name.sql` or be piped to the `db execute --stdin` command. +- [`prisma db execute`](/reference/api-reference/command-reference#db-execute) which applies a SQL script to the database without interacting with the Prisma migrations table. These commands are available in Preview in versions `3.9.0` and later (with the `--preview-feature` CLI flag), and generally available in versions `3.13.0` and later. diff --git a/content/200-orm/200-prisma-migrate/300-workflows/80-unsupported-database-features.mdx b/content/200-orm/200-prisma-migrate/300-workflows/80-unsupported-database-features.mdx index fc7db82208..a9b83ad6fc 100644 --- a/content/200-orm/200-prisma-migrate/300-workflows/80-unsupported-database-features.mdx +++ b/content/200-orm/200-prisma-migrate/300-workflows/80-unsupported-database-features.mdx @@ -6,7 +6,7 @@ metaDescription: How to include unsupported database features for projects that -Prisma Migrate uses the Prisma schema to determine what features to create in the database. However, some database features [cannot be represented in the Prisma schema](/concepts/components/prisma-schema/features-without-psl-equivalent) , including but not limited to: +Prisma Migrate uses the Prisma schema to determine what features to create in the database. However, some database features [cannot be represented in the Prisma schema](/concepts/components/prisma-schema/features-without-psl-equivalent) , including but not limited to: - Stored procedures - Triggers @@ -17,7 +17,7 @@ To add an unsupported feature to your database, you must [customize a migration] -The Prisma schema is able to represent [unsupported field types](/concepts/components/prisma-schema/features-without-psl-equivalent#unsupported-field-types) and [native database functions](enable-native-database-functions). +The Prisma schema is able to represent [unsupported field types](/concepts/components/prisma-schema/features-without-psl-equivalent#unsupported-field-types) and [native database functions](enable-native-database-functions). diff --git a/content/200-orm/200-prisma-migrate/300-workflows/90-development-and-production.mdx b/content/200-orm/200-prisma-migrate/300-workflows/90-development-and-production.mdx index e2a9669a2d..344e343b76 100644 --- a/content/200-orm/200-prisma-migrate/300-workflows/90-development-and-production.mdx +++ b/content/200-orm/200-prisma-migrate/300-workflows/90-development-and-production.mdx @@ -82,11 +82,11 @@ npx prisma migrate dev --create-only To apply the edited migration, run `prisma migrate dev` again. -Refer to [Customizing migrations](/guides/migrate/developing-with-prisma-migrate/customizing-migrations) for examples. +Refer to [Customizing migrations](/guides/migrate/developing-with-prisma-migrate/customizing-migrations) for examples. ### Team development -See: [Team development with Prisma Migrate](/guides/migrate/developing-with-prisma-migrate/team-development) . +See: [Team development with Prisma Migrate](/guides/migrate/developing-with-prisma-migrate/team-development) . ## Production and testing environments @@ -118,8 +118,8 @@ The `migrate deploy` command: See also: -- [Prisma Migrate in deployment](/guides/deployment/deploy-database-changes-with-prisma-migrate) -- [Production troubleshooting](/guides/migrate/production-troubleshooting) +- [Prisma Migrate in deployment](/guides/deployment/deploy-database-changes-with-prisma-migrate) +- [Production troubleshooting](/guides/migrate/production-troubleshooting) ### Advisory locking diff --git a/content/200-orm/200-prisma-migrate/index.mdx b/content/200-orm/200-prisma-migrate/index.mdx index 04106b1059..592a1645fe 100644 --- a/content/200-orm/200-prisma-migrate/index.mdx +++ b/content/200-orm/200-prisma-migrate/index.mdx @@ -28,11 +28,11 @@ Prisma Migrate can be considered a _hybrid_ database schema migration tool, mean -If you are prototyping, consider using the [`db push` command](db-push) - see [Schema prototyping with `db push`](/guides/migrate/prototyping-schema-db-push) for examples. +If you are prototyping, consider using the [`db push` command](db-push) - see [Schema prototyping with `db push`](/guides/migrate/prototyping-schema-db-push) for examples. -See the [Prisma Migrate reference](/reference/api-reference/command-reference#prisma-migrate) for detailed information about the Prisma Migrate CLI commands. +See the [Prisma Migrate reference](/reference/api-reference/command-reference#prisma-migrate) for detailed information about the Prisma Migrate CLI commands. diff --git a/content/200-orm/300-prisma-schema/10-overview/02-data-sources.mdx b/content/200-orm/300-prisma-schema/10-overview/02-data-sources.mdx index d36e7e64b3..c080432eaa 100644 --- a/content/200-orm/300-prisma-schema/10-overview/02-data-sources.mdx +++ b/content/200-orm/300-prisma-schema/10-overview/02-data-sources.mdx @@ -6,7 +6,7 @@ metaDescription: 'Data sources enable Prisma to connect to your database. This p -A data source determines how Prisma connects your database, and is represented by the [`datasource`](/reference/api-reference/prisma-schema-reference#datasource) block in the Prisma schema. The following data source uses the `postgresql` provider and includes a connection URL: +A data source determines how Prisma connects your database, and is represented by the [`datasource`](/reference/api-reference/prisma-schema-reference#datasource) block in the Prisma schema. The following data source uses the `postgresql` provider and includes a connection URL: ```prisma datasource db { diff --git a/content/200-orm/300-prisma-schema/10-overview/03-generators.mdx b/content/200-orm/300-prisma-schema/10-overview/03-generators.mdx index 1aef048592..fb369390f9 100644 --- a/content/200-orm/300-prisma-schema/10-overview/03-generators.mdx +++ b/content/200-orm/300-prisma-schema/10-overview/03-generators.mdx @@ -6,7 +6,7 @@ metaDescription: 'Generators in your Prisma schema specify what assets are gener -A Prisma schema can have one or more generators, represented by the [`generator`](/reference/api-reference/prisma-schema-reference#generator) block: +A Prisma schema can have one or more generators, represented by the [`generator`](/reference/api-reference/prisma-schema-reference#generator) block: ```prisma generator client { @@ -53,7 +53,7 @@ generator client { } ``` -In that case, Prisma detects your operating system and finds the right binary file for it based on the [list of supported operating systems](/reference/api-reference/prisma-schema-reference#binarytargets-options) . +In that case, Prisma detects your operating system and finds the right binary file for it based on the [list of supported operating systems](/reference/api-reference/prisma-schema-reference#binarytargets-options) . If you use macOS Intel x86 (`darwin`), then the binary file that was compiled for `darwin` will be selected. If you use macOS ARM64 (`darwin-arm64`), then the binary file that was compiled for `darwin-arm64` will be selected. diff --git a/content/200-orm/300-prisma-schema/20-data-model/10-models.mdx b/content/200-orm/300-prisma-schema/20-data-model/10-models.mdx index 6c562f6747..19ca03db87 100644 --- a/content/200-orm/300-prisma-schema/20-data-model/10-models.mdx +++ b/content/200-orm/300-prisma-schema/20-data-model/10-models.mdx @@ -126,8 +126,8 @@ enum Role { The data model definition is made up of: -- [Models](#defining-models) ([`model`](/reference/api-reference/prisma-schema-reference#model) primitives) that define a number of fields, including [relations between models](#relation-fields) -- [Enums](#defining-enums) ([`enum`](/reference/api-reference/prisma-schema-reference#enum) primitives) (if your connector supports Enums) +- [Models](#defining-models) ([`model`](/reference/api-reference/prisma-schema-reference#model) primitives) that define a number of fields, including [relations between models](#relation-fields) +- [Enums](#defining-enums) ([`enum`](/reference/api-reference/prisma-schema-reference#enum) primitives) (if your connector supports Enums) - [Attributes](#defining-attributes) and [functions](#using-functions) that change the behavior of fields and models The corresponding database looks like this: @@ -257,7 +257,7 @@ There are two ways to define a data model: ## Defining models -Models represent the entities of your application domain. Models are represented by [`model`](/reference/api-reference/prisma-schema-reference#model) blocks and define a number of [fields](/reference/api-reference/prisma-schema-reference#model-fields). In the [example data model](data-model), `User`, `Profile`, `Post` and `Category` are models. +Models represent the entities of your application domain. Models are represented by [`model`](/reference/api-reference/prisma-schema-reference#model) blocks and define a number of [fields](/reference/api-reference/prisma-schema-reference#model-fields). In the [example data model](data-model), `User`, `Profile`, `Post` and `Category` are models. A blogging platform can be extended with the following models: @@ -273,7 +273,7 @@ model Tag { ### Mapping model names to tables or collections -Prisma model [naming conventions (singular form, PascalCase)](/reference/api-reference/prisma-schema-reference#naming-conventions) do not always match table names in the database. A common approach for naming tables/collections in databases is to use plural form and [snake_case](https://en.wikipedia.org/wiki/Snake_case) notation - for example: `comments`. When you introspect a database with a table named `comments`, the result Prisma model will look like this: +Prisma model [naming conventions (singular form, PascalCase)](/reference/api-reference/prisma-schema-reference#naming-conventions) do not always match table names in the database. A common approach for naming tables/collections in databases is to use plural form and [snake_case](https://en.wikipedia.org/wiki/Snake_case) notation - for example: `comments`. When you introspect a database with a table named `comments`, the result Prisma model will look like this: ```prisma model comments { @@ -281,7 +281,7 @@ model comments { } ``` -However, you can still adhere to the naming convention without renaming the underlying `comments` table in the database by using the [`@@map`](/reference/api-reference/prisma-schema-reference#map-1) attribute: +However, you can still adhere to the naming convention without renaming the underlying `comments` table in the database by using the [`@@map`](/reference/api-reference/prisma-schema-reference#map-1) attribute: ```prisma model Comment { @@ -293,7 +293,7 @@ model Comment { With this model definition, Prisma automatically maps the `Comment` model to the `comments` table in the underlying database. -> **Note**: You can also [`@map`](/reference/api-reference/prisma-schema-reference#map) a column name or enum value, and `@@map` an enum name. +> **Note**: You can also [`@map`](/reference/api-reference/prisma-schema-reference#map) a column name or enum value, and `@@map` an enum name. `@map` and `@@map` allow you to [tune the shape of your Prisma Client API](/concepts/components/prisma-client/working-with-prismaclient/use-custom-model-and-field-names#using-map-and-map-to-rename-fields-and-models-in-the-prisma-client-api) by decoupling model and field names from table and column names in the underlying database. @@ -314,14 +314,14 @@ With this model definition, Prisma automatically maps the `Comment` model to the The properties of a model are called _fields_, which consist of: -- A **[field name](/reference/api-reference/prisma-schema-reference#model-fields)** -- A **[field type](/reference/api-reference/prisma-schema-reference#model-fields)** +- A **[field name](/reference/api-reference/prisma-schema-reference#model-fields)** +- A **[field type](/reference/api-reference/prisma-schema-reference#model-fields)** - Optional **[type modifiers](#type-modifiers)** - Optional **[attributes](#defining-attributes)**, including [native database type attributes](#native-types-mapping) A field's type determines its _structure_, and fits into one of two categories: -- [Scalar types](data-model#scalar-fields) (includes [enums](data-model#defining-enums)) that map to columns (relational databases) or document fields (MongoDB) in the database - for example, [`String`](/reference/api-reference/prisma-schema-reference#string) or [`Int`](/reference/api-reference/prisma-schema-reference#int) +- [Scalar types](data-model#scalar-fields) (includes [enums](data-model#defining-enums)) that map to columns (relational databases) or document fields (MongoDB) in the database - for example, [`String`](/reference/api-reference/prisma-schema-reference#string) or [`Int`](/reference/api-reference/prisma-schema-reference#int) - Model types (the field is then called [relation field](relations#relation-fields)) - for example `Post` or `Comment[]`. The following table describes `User` model's fields from the sample schema: @@ -376,7 +376,7 @@ model Tag { -See [complete list of scalar field types](/reference/api-reference/prisma-schema-reference#model-field-scalar-types) . +See [complete list of scalar field types](/reference/api-reference/prisma-schema-reference#model-field-scalar-types) . ### Relation fields @@ -443,7 +443,7 @@ Type attributes are: Furthermore, during [Introspection](/concepts/components/introspection) type attributes are _only_ added to the schema if the underlying native type is **not the default type**. For example, if you are using the PostgreSQL provider, `String` fields where the underlying native type is `text` will not have a type attribute. -See [complete list of native database type attributes per scalar type and provider](/reference/api-reference/prisma-schema-reference#model-field-scalar-types) . +See [complete list of native database type attributes per scalar type and provider](/reference/api-reference/prisma-schema-reference#model-field-scalar-types) . #### Benefits and workflows @@ -454,8 +454,8 @@ See [complete list of native database type attributes per scalar type and provid The type of a field can be modified by appending either of two modifiers: -- [`[]`](/reference/api-reference/prisma-schema-reference#-modifier) Make a field a list -- [`?`](/reference/api-reference/prisma-schema-reference#-modifier-1) Make a field optional +- [`[]`](/reference/api-reference/prisma-schema-reference#-modifier) Make a field a list +- [`?`](/reference/api-reference/prisma-schema-reference#-modifier-1) Make a field optional > **Note**: You **cannot** combine type modifiers - optional lists are not supported. @@ -538,7 +538,7 @@ When **not** annotating a field with the `?` type modifier, the field will be _r ### Unsupported types -When you introspect a relational database, unsupported data types are added as [`Unsupported`](/reference/api-reference/prisma-schema-reference#unsupported) : +When you introspect a relational database, unsupported data types are added as [`Unsupported`](/reference/api-reference/prisma-schema-reference#unsupported) : ```prisma location Unsupported("POLYGON")? @@ -554,7 +554,7 @@ Fields of type `Unsupported` are not available in the generated Prisma Client AP ## Defining attributes -Attributes modify the behavior of fields or model blocks. The following example includes three field attributes ([`@id`](/reference/api-reference/prisma-schema-reference#id) , [`@default`](/reference/api-reference/prisma-schema-reference#default) , and [`@unique`](/reference/api-reference/prisma-schema-reference#unique) ) and one block attribute ([`@@unique`](/reference/api-reference/prisma-schema-reference#unique-1) ): +Attributes modify the behavior of fields or model blocks. The following example includes three field attributes ([`@id`](/reference/api-reference/prisma-schema-reference#id) , [`@default`](/reference/api-reference/prisma-schema-reference#default) , and [`@unique`](/reference/api-reference/prisma-schema-reference#unique) ) and one block attribute ([`@@unique`](/reference/api-reference/prisma-schema-reference#unique-1) ): , ]}> @@ -589,13 +589,13 @@ model User { -Some attributes accept [arguments](/reference/api-reference/prisma-schema-reference#attribute-argument-types) - for example, `@default` accepts `true` or `false`: +Some attributes accept [arguments](/reference/api-reference/prisma-schema-reference#attribute-argument-types) - for example, `@default` accepts `true` or `false`: ```prisma isAdmin Boolean @default(false) // short form of @default(value: false) ``` -See [complete list of field and block attributes](/reference/api-reference/prisma-schema-reference#attributes) +See [complete list of field and block attributes](/reference/api-reference/prisma-schema-reference#attributes) ### Defining an ID field @@ -606,7 +606,7 @@ An ID uniquely identifies individual records of a model. A model can only have _ #### Defining IDs in relational databases -In relational databases, an ID can be defined by a single field using the [`@id`](/reference/api-reference/prisma-schema-reference#id) attribute, or multiple fields using the [`@@id`](/reference/api-reference/prisma-schema-reference#id-1) attribute. +In relational databases, an ID can be defined by a single field using the [`@id`](/reference/api-reference/prisma-schema-reference#id) attribute, or multiple fields using the [`@@id`](/reference/api-reference/prisma-schema-reference#id-1) attribute. ##### Single field IDs @@ -640,7 +640,7 @@ model User { By default, the name of this field in Prisma Client queries will be `firstName_lastName`. -You can also provide your own name for the composite ID using the [`@@id`](/reference/api-reference/prisma-schema-reference#id-1) attribute's `name` field: +You can also provide your own name for the composite ID using the [`@@id`](/reference/api-reference/prisma-schema-reference#id-1) attribute's `name` field: ```prisma highlight=7;normal model User { @@ -684,7 +684,7 @@ You can optionally define a [custom primary key constraint name](/concepts/compo #### Defining IDs in MongoDB -The MongoDB connector has [specific rules for defining an ID field](/reference/api-reference/prisma-schema-reference#mongodb) that differs from relational databases. An ID must be defined by a single field using the [`@id`](/reference/api-reference/prisma-schema-reference#id) attribute and must include `@map("_id")`. +The MongoDB connector has [specific rules for defining an ID field](/reference/api-reference/prisma-schema-reference#mongodb) that differs from relational databases. An ID must be defined by a single field using the [`@id`](/reference/api-reference/prisma-schema-reference#id) attribute and must include `@map("_id")`. In the following example, the `User` ID is represented by the `id` string field that accepts an auto-generated `ObjectId`: @@ -721,7 +721,7 @@ MongoDB does not support composite IDs, which means you cannot identify a model ### Defining a default value -You can define default values for scalar fields of your models using the [`@default`](/reference/api-reference/prisma-schema-reference#default) attribute: +You can define default values for scalar fields of your models using the [`@default`](/reference/api-reference/prisma-schema-reference#default) attribute: , ]}> @@ -764,18 +764,18 @@ model Post { Default values can be: - Static values that correspond to the field type, such as `5` (`Int`), `Hello` (`String`), or `false` (`Boolean`) -- [Lists](/reference/api-reference/prisma-schema-reference#-modifier) of static values, such as `[5, 6, 8]` (`Int[]`) or `["Hello", "Goodbye"]` (`String`[]). These are available in versions `4.0.0` and later, when using databases where Prisma supports them (PostgreSQL, CockroachDB and MongoDB) +- [Lists](/reference/api-reference/prisma-schema-reference#-modifier) of static values, such as `[5, 6, 8]` (`Int[]`) or `["Hello", "Goodbye"]` (`String`[]). These are available in versions `4.0.0` and later, when using databases where Prisma supports them (PostgreSQL, CockroachDB and MongoDB) - [Functions](#using-functions), such as [`now()`](/reference/api-reference/prisma-schema-reference#now) or [`uuid()`](/reference/api-reference/prisma-schema-reference#uuid) -Refer to the [attribute function reference documentation](/reference/api-reference/prisma-schema-reference#attribute-functions) for information about connector support for functions. +Refer to the [attribute function reference documentation](/reference/api-reference/prisma-schema-reference#attribute-functions) for information about connector support for functions. ### Defining a unique field -You can add unique attributes to your models to be able to uniquely identify individual records of that model. Unique attributes can be defined on a single field using [`@unique`](/reference/api-reference/prisma-schema-reference#unique) attribute, or on multiple fields (also called composite or compound unique constraints) using the [`@@unique`](/reference/api-reference/prisma-schema-reference#unique-1) attribute. +You can add unique attributes to your models to be able to uniquely identify individual records of that model. Unique attributes can be defined on a single field using [`@unique`](/reference/api-reference/prisma-schema-reference#unique) attribute, or on multiple fields (also called composite or compound unique constraints) using the [`@@unique`](/reference/api-reference/prisma-schema-reference#unique-1) attribute. In the following example, the value of the `email` field must be unique: @@ -852,7 +852,7 @@ You can optionally define a [custom unique constraint name](/concepts/components By default, the name of this field in Prisma Client queries will be `authorId_title`. -You can also provide your own name for the composite unique constraint using the [`@@unique`](/concepts/components/prisma-schema/names-in-underlying-database#constraint-and-index-names) attribute's `name` field: +You can also provide your own name for the composite unique constraint using the [`@@unique`](/concepts/components/prisma-schema/names-in-underlying-database#constraint-and-index-names) attribute's `name` field: ```prisma highlight=10;normal model Post { @@ -919,7 +919,7 @@ model User { ### Defining an index -You can define indexes on one or multiple fields of your models via the [`@@index`](/reference/api-reference/prisma-schema-reference#index) on a model. The following example defines a multi-column index based on the `title` and `content` field: +You can define indexes on one or multiple fields of your models via the [`@@index`](/reference/api-reference/prisma-schema-reference#index) on a model. The following example defines a multi-column index based on the `title` and `content` field: ```prisma model Post { @@ -985,7 +985,7 @@ You can define enums in your data model [if enums are supported for your databas Enums are considered [scalar](#scalar-fields) types in the Prisma data model. They're therefore [by default](/concepts/components/prisma-client/select-fields#return-the-default-selection-set) included as return values in [Prisma Client queries](/concepts/components/prisma-client/crud). -Enums are defined via the [`enum`](/reference/api-reference/prisma-schema-reference#enum) block. For example, a `User` has a `Role`: +Enums are defined via the [`enum`](/reference/api-reference/prisma-schema-reference#enum) block. For example, a `User` has a `Role`: , ]}> @@ -1080,9 +1080,9 @@ Indexes can be defined by using the `@@index` attribute on the level of the mode ## Using functions -The Prisma schema supports a number of [functions](/reference/api-reference/prisma-schema-reference#attribute-functions) . These can be used to specify [default values](/reference/api-reference/prisma-schema-reference#default) on fields of a model. +The Prisma schema supports a number of [functions](/reference/api-reference/prisma-schema-reference#attribute-functions) . These can be used to specify [default values](/reference/api-reference/prisma-schema-reference#default) on fields of a model. -For example, the default value of `createdAt` is [`now()`](/reference/api-reference/prisma-schema-reference#now) : +For example, the default value of `createdAt` is [`now()`](/reference/api-reference/prisma-schema-reference#now) : , ]}> @@ -1107,9 +1107,9 @@ model Post { -[`cuid()`](/reference/api-reference/prisma-schema-reference#cuid) and [`uuid()`](/reference/api-reference/prisma-schema-reference#uuid) are implemented by Prisma and therefore are not "visible" in the underlying database schema. You can still use them when using [introspection](/concepts/components/introspection) by [manually changing your Prisma schema](/concepts/components/prisma-client/working-with-prismaclient/use-custom-model-and-field-names) and [generating Prisma Client](/concepts/components/prisma-client/working-with-prismaclient/generating-prisma-client), in that case the values will be generated by Prisma's [query engine](/concepts/components/prisma-engines/query-engine) +[`cuid()`](/reference/api-reference/prisma-schema-reference#cuid) and [`uuid()`](/reference/api-reference/prisma-schema-reference#uuid) are implemented by Prisma and therefore are not "visible" in the underlying database schema. You can still use them when using [introspection](/concepts/components/introspection) by [manually changing your Prisma schema](/concepts/components/prisma-client/working-with-prismaclient/use-custom-model-and-field-names) and [generating Prisma Client](/concepts/components/prisma-client/working-with-prismaclient/generating-prisma-client), in that case the values will be generated by Prisma's [query engine](/concepts/components/prisma-engines/query-engine) -Support for [`autoincrement()`](/reference/api-reference/prisma-schema-reference#autoincrement) , [`now()`](/reference/api-reference/prisma-schema-reference#now) and [`dbgenerated()`](/reference/api-reference/prisma-schema-reference#dbgenerated) differ between databases. +Support for [`autoincrement()`](/reference/api-reference/prisma-schema-reference#autoincrement) , [`now()`](/reference/api-reference/prisma-schema-reference#now) and [`dbgenerated()`](/reference/api-reference/prisma-schema-reference#dbgenerated) differ between databases. **Relational database connectors** implement `autoincrement()`, `dbgenerated()`, and `now()` at database level. The **MongoDB connector** does not support `autoincrement()` or `dbgenerated()`, and `now()` is implemented at Prisma level. The [`auto()`](/reference/api-reference/prisma-schema-reference#auto) function is used to generate an `ObjectId`. @@ -1153,7 +1153,7 @@ const allUsers = await prisma.user.findMany() Prisma Client also generates **type definitions** that reflect your model structures. These are part of the generated [`@prisma/client`](/concepts/components/prisma-client/working-with-prismaclient/generating-prisma-client#the-prismaclient-npm-package) node module. -When using TypeScript, these type definitions ensure that all your database queries are entirely type safe and validated at compile-time (even partial queries using [`select`](/reference/api-reference/prisma-client-reference#select) or [`include`](/reference/api-reference/prisma-client-reference#include) ). +When using TypeScript, these type definitions ensure that all your database queries are entirely type safe and validated at compile-time (even partial queries using [`select`](/reference/api-reference/prisma-client-reference#select) or [`include`](/reference/api-reference/prisma-client-reference#include) ). Even when using plain JavaScript, the type definitions are still included in the `@prisma/client` node module, enabling features like [IntelliSense](https://code.visualstudio.com/docs/editor/intellisense)/autocompletion in your editor. diff --git a/content/200-orm/300-prisma-schema/20-data-model/20-relations/index.mdx b/content/200-orm/300-prisma-schema/20-data-model/20-relations/index.mdx index 07b151ca1a..04fa24f9a8 100644 --- a/content/200-orm/300-prisma-schema/20-data-model/20-relations/index.mdx +++ b/content/200-orm/300-prisma-schema/20-data-model/20-relations/index.mdx @@ -458,7 +458,7 @@ Because a relation scalar field always _belongs_ to a relation field, the follow ## The @relation attribute -The [`@relation`](/reference/api-reference/prisma-schema-reference#relation) attribute can only be applied to the [relation fields](#relation-fields), not to [scalar fields](/concepts/components/prisma-schema/data-model#scalar-fields). +The [`@relation`](/reference/api-reference/prisma-schema-reference#relation) attribute can only be applied to the [relation fields](#relation-fields), not to [scalar fields](/concepts/components/prisma-schema/data-model#scalar-fields). The `@relation` attribute is required when: diff --git a/content/200-orm/300-prisma-schema/20-data-model/50-database-mapping.mdx b/content/200-orm/300-prisma-schema/20-data-model/50-database-mapping.mdx index e9f4d00a7b..00d582512f 100644 --- a/content/200-orm/300-prisma-schema/20-data-model/50-database-mapping.mdx +++ b/content/200-orm/300-prisma-schema/20-data-model/50-database-mapping.mdx @@ -20,7 +20,7 @@ The [Prisma schema](./) includes mechanisms that allow you to define names of ce Sometimes the names used to describe entities in your database might not match the names you would prefer in your generated API. Mapping names in the Prisma schema allows you to influence the naming in your Client API without having to change the underlying database names. -A common approach for naming tables/collections in databases for example is to use plural form and [snake_case](https://en.wikipedia.org/wiki/Snake_case) notation. Prisma on the other hand has recommended model [naming conventions (singular form, PascalCase)](/reference/api-reference/prisma-schema-reference#naming-conventions) which differ from that. +A common approach for naming tables/collections in databases for example is to use plural form and [snake_case](https://en.wikipedia.org/wiki/Snake_case) notation. Prisma on the other hand has recommended model [naming conventions (singular form, PascalCase)](/reference/api-reference/prisma-schema-reference#naming-conventions) which differ from that. `@map` and `@@map` allow you to [tune the shape of your Prisma Client API](../prisma-client/working-with-prismaclient/use-custom-model-and-field-names#using-map-and-map-to-rename-fields-and-models-in-the-prisma-client-api) by decoupling model and field names from table and column names in the underlying database. @@ -34,7 +34,7 @@ model comments { } ``` -However, you can still choose `Comment` as the name of the model (e.g. to follow the naming convention) without renaming the underlying `comments` table in the database by using the [`@@map`](/reference/api-reference/prisma-schema-reference#map-1) attribute: +However, you can still choose `Comment` as the name of the model (e.g. to follow the naming convention) without renaming the underlying `comments` table in the database by using the [`@@map`](/reference/api-reference/prisma-schema-reference#map-1) attribute: ```prisma highlight=4;normal model Comment { @@ -48,7 +48,7 @@ With this modified model definition, Prisma automatically maps the `Comment` mod ### Map field / column names -You can also [`@map`](/reference/api-reference/prisma-schema-reference#map) a column/field name: +You can also [`@map`](/reference/api-reference/prisma-schema-reference#map) a column/field name: ```prisma highlight=2-4;normal model Comment { diff --git a/content/200-orm/300-prisma-schema/20-data-model/70-unsupported-database-features.mdx b/content/200-orm/300-prisma-schema/20-data-model/70-unsupported-database-features.mdx index a65f19bded..ae0576756d 100644 --- a/content/200-orm/300-prisma-schema/20-data-model/70-unsupported-database-features.mdx +++ b/content/200-orm/300-prisma-schema/20-data-model/70-unsupported-database-features.mdx @@ -20,7 +20,7 @@ model Post { } ``` -However, you can also use **native database functions** to define default values with [`dbgenerated()`](/reference/api-reference/prisma-schema-reference#dbgenerated) on relational databases (MongoDB does not have the concept of database-level functions). The following example uses the PostgreSQL `gen_random_uuid()` function to populate the `id` field: +However, you can also use **native database functions** to define default values with [`dbgenerated()`](/reference/api-reference/prisma-schema-reference#dbgenerated) on relational databases (MongoDB does not have the concept of database-level functions). The following example uses the PostgreSQL `gen_random_uuid()` function to populate the `id` field: ```prisma model User { @@ -72,7 +72,7 @@ In earlier versions of Prisma, you must instead run a SQL command to activate th CREATE EXTENSION IF NOT EXISTS pgcrypto; ``` -If your project uses [Prisma Migrate](/concepts/components/prisma-migrate), you must [install the extension as part of a migration](/guides/migrate/developing-with-prisma-migrate/enable-native-database-functions) . Do not install the extension manually, because it is also required by the shadow database. +If your project uses [Prisma Migrate](/concepts/components/prisma-migrate), you must [install the extension as part of a migration](/guides/migrate/developing-with-prisma-migrate/enable-native-database-functions) . Do not install the extension manually, because it is also required by the shadow database. Prisma Migrate returns the following error if the extension is not available: @@ -83,7 +83,7 @@ Database error: Error querying the database: db error: ERROR: type "pgcrypto" do ## Unsupported field types -Some database types of relational databases, such as `polygon` or `geometry`, do not have a Prisma Schema Language equivalent. Use the [`Unsupported`](/reference/api-reference/prisma-schema-reference#unsupported) field type to represent the field in your Prisma schema: +Some database types of relational databases, such as `polygon` or `geometry`, do not have a Prisma Schema Language equivalent. Use the [`Unsupported`](/reference/api-reference/prisma-schema-reference#unsupported) field type to represent the field in your Prisma schema: ```prisma highlight=3;normal model Star { @@ -96,4 +96,4 @@ The `prisma migrate dev` and `prisma db push` command will both create a `positi ## Unsupported database features -Some features, like SQL views or partial indexes, cannot be represented in the Prisma schema. If your project uses [Prisma Migrate](/concepts/components/prisma-migrate), you must [include unsupported features as part of a migration](/guides/migrate/developing-with-prisma-migrate/include-unsupported-database-features) . +Some features, like SQL views or partial indexes, cannot be represented in the Prisma schema. If your project uses [Prisma Migrate](/concepts/components/prisma-migrate), you must [include unsupported features as part of a migration](/guides/migrate/developing-with-prisma-migrate/include-unsupported-database-features) . diff --git a/content/200-orm/300-prisma-schema/50-introspection.mdx b/content/200-orm/300-prisma-schema/50-introspection.mdx index 288be7bf86..c53e53f513 100644 --- a/content/200-orm/300-prisma-schema/50-introspection.mdx +++ b/content/200-orm/300-prisma-schema/50-introspection.mdx @@ -73,9 +73,9 @@ Prisma employs a number of conventions for translating a database schema into a Field, model and enum names (identifiers) must start with a letter and generally must only contain underscores, letters and digits. You can find the naming rules and conventions for each of these identifiers on the respective docs page: -- [Naming models](/reference/api-reference/prisma-schema-reference#naming-conventions) -- [Naming fields](/reference/api-reference/prisma-schema-reference#naming-conventions-1) -- [Naming enums](/reference/api-reference/prisma-schema-reference#naming-conventions-2) +- [Naming models](/reference/api-reference/prisma-schema-reference#naming-conventions) +- [Naming fields](/reference/api-reference/prisma-schema-reference#naming-conventions-1) +- [Naming enums](/reference/api-reference/prisma-schema-reference#naming-conventions-2) The general rule for identifiers is that they need to adhere to this regular expression: diff --git a/content/200-orm/400-tools/05-prisma-cli.mdx b/content/200-orm/400-tools/05-prisma-cli.mdx index 11641d3add..3ab712f00b 100644 --- a/content/200-orm/400-tools/05-prisma-cli.mdx +++ b/content/200-orm/400-tools/05-prisma-cli.mdx @@ -13,7 +13,7 @@ The Prisma command line interface (CLI) is the primary way to interact with your ## Command reference -See [Prisma CLI command reference](/reference/api-reference/command-reference) for a complete list of commands. +See [Prisma CLI command reference](/reference/api-reference/command-reference) for a complete list of commands. ## Installation diff --git a/content/200-orm/500-reference/050-prisma-client-reference.mdx b/content/200-orm/500-reference/050-prisma-client-reference.mdx index 0533345d9f..51361cd3c5 100644 --- a/content/200-orm/500-reference/050-prisma-client-reference.mdx +++ b/content/200-orm/500-reference/050-prisma-client-reference.mdx @@ -63,7 +63,7 @@ This section describes the `PrismaClient` constructor and its parameters. ### datasources -Programmatically overrides properties of the `datasource` block in the `schema.prisma` file - for example, as part of an integration test. See also: [Data sources](/concepts/components/prisma-schema/data-sources) +Programmatically overrides properties of the `datasource` block in the `schema.prisma` file - for example, as part of an integration test. See also: [Data sources](/concepts/components/prisma-schema/data-sources) From version 5.2.0 and upwards, you can also use the [`datasourceUrl`](#datasourceUrl) property to programmatically override the database connection string. @@ -125,7 +125,7 @@ const prisma = new PrismaClient({ ### log -Determines the type and level of logging. See also: [Logging](/concepts/components/prisma-client/working-with-prismaclient/logging) +Determines the type and level of logging. See also: [Logging](/concepts/components/prisma-client/working-with-prismaclient/logging) #### Options @@ -378,7 +378,7 @@ const prisma = new PrismaClient({ ### adapter -Defines an instance of a [driver adapter](/concepts/components/database-drivers#driver-adapters). See also [Database drivers](/concepts/components/database-drivers) . +Defines an instance of a [driver adapter](/concepts/components/database-drivers#driver-adapters). See also [Database drivers](/concepts/components/database-drivers) . @@ -468,7 +468,7 @@ const prisma = new PrismaClient({ ## Model queries -Use model queries to perform CRUD operations on your models. See also: [CRUD](/concepts/components/prisma-client/crud) +Use model queries to perform CRUD operations on your models. See also: [CRUD](/concepts/components/prisma-client/crud) ### findUnique() @@ -1357,7 +1357,7 @@ const c = await prisma.user.count({ ### aggregate() -See also: [Aggregation, grouping, and summarizing](/concepts/components/prisma-client/aggregation-grouping-summarizing#aggregate) +See also: [Aggregation, grouping, and summarizing](/concepts/components/prisma-client/aggregation-grouping-summarizing#aggregate) #### Options @@ -1438,7 +1438,7 @@ const setValue = await prisma.user.aggregate({ ### groupBy() -See also: [Aggregation, grouping, and summarizing](/concepts/components/prisma-client/aggregation-grouping-summarizing#group-by) +See also: [Aggregation, grouping, and summarizing](/concepts/components/prisma-client/aggregation-grouping-summarizing#group-by) #### Options @@ -1521,7 +1521,7 @@ const groupUsers = await prisma.user.groupBy({ ### select -`select` defines which fields are included in the object that Prisma Client returns. See: [Select fields and include relations](/concepts/components/prisma-client/select-fields) . +`select` defines which fields are included in the object that Prisma Client returns. See: [Select fields and include relations](/concepts/components/prisma-client/select-fields) . #### Remarks @@ -1754,7 +1754,7 @@ const selectNameEmailNotPosts = Prisma.validator()({ ### include -`include` defines which relations are included in the result that Prisma Client returns. See: [Select fields and include relations](/concepts/components/prisma-client/select-fields) . +`include` defines which relations are included in the result that Prisma Client returns. See: [Select fields and include relations](/concepts/components/prisma-client/select-fields) . #### Remarks @@ -1954,7 +1954,7 @@ const whereEmailIsUnique = Prisma.validator()({ ### orderBy -Sorts a list of records. See also: [Sorting](/concepts/components/prisma-client/filtering-and-sorting) +Sorts a list of records. See also: [Sorting](/concepts/components/prisma-client/filtering-and-sorting) #### Remarks @@ -2454,7 +2454,7 @@ The following examples demonstrate how to use the [`validator`](/concepts/compon ### distinct -Deduplicate a list of records from [`findMany`](#findmany) or [`findFirst`](#findfirst). See also: [Aggregation, grouping, and summarizing](/concepts/components/prisma-client/aggregation-grouping-summarizing#select-distinct) +Deduplicate a list of records from [`findMany`](#findmany) or [`findFirst`](#findfirst). See also: [Aggregation, grouping, and summarizing](/concepts/components/prisma-client/aggregation-grouping-summarizing#select-distinct) #### Examples @@ -2569,13 +2569,13 @@ const distinctCitiesAndCountries = await prisma.user.findMany({ ### create -A nested `create` query adds a new related record or set of records to a parent record. See: [Working with relations](/concepts/components/prisma-client/relation-queries) . +A nested `create` query adds a new related record or set of records to a parent record. See: [Working with relations](/concepts/components/prisma-client/relation-queries) . #### Remarks - `create` is available as a nested query when you `create` (`prisma.user.create(...)`) a new parent record or `update` (`prisma.user.update(...)`) an existing parent record. -> You can use a nested `create` _or_ a nested `createMany` to create multiple related records - [each technique pros and cons](/concepts/components/prisma-client/relation-queries#create-a-single-record-and-multiple-related-records) . +> You can use a nested `create` _or_ a nested `createMany` to create multiple related records - [each technique pros and cons](/concepts/components/prisma-client/relation-queries#create-a-single-record-and-multiple-related-records) . #### Examples @@ -2670,7 +2670,7 @@ const user = await prisma.user.update({ ### createMany -A nested `createMany` query adds a new set of records to a parent record. See: [Working with relations](/concepts/components/prisma-client/relation-queries) . +A nested `createMany` query adds a new set of records to a parent record. See: [Working with relations](/concepts/components/prisma-client/relation-queries) . #### Remarks @@ -2680,7 +2680,7 @@ A nested `createMany` query adds a new set of records to a parent record. See: [ - Does not support nesting additional relations - you cannot nest an additional `create` or `createMany`. - Allows setting foreign keys directly - for example, setting the `categoryId` on a post. -> You can use a nested `create` _or_ a nested `createMany` to create multiple related records - [each technique pros and cons](/concepts/components/prisma-client/relation-queries#create-a-single-record-and-multiple-related-records) . +> You can use a nested `create` _or_ a nested `createMany` to create multiple related records - [each technique pros and cons](/concepts/components/prisma-client/relation-queries#create-a-single-record-and-multiple-related-records) . #### Examples @@ -2704,7 +2704,7 @@ const user = await prisma.user.update({ ### set -`set` overwrites the value of a relation - for example, replacing a list of `Post` records with a different list. See: [Working with relations](/concepts/components/prisma-client/relation-queries) +`set` overwrites the value of a relation - for example, replacing a list of `Post` records with a different list. See: [Working with relations](/concepts/components/prisma-client/relation-queries) #### Examples @@ -2725,7 +2725,7 @@ const user = await prisma.user.update({ -A nested `connect` query connects a record to an existing related record by specifying an ID or unique identifier. See: [Working with relations](/concepts/components/prisma-client/relation-queries) +A nested `connect` query connects a record to an existing related record by specifying an ID or unique identifier. See: [Working with relations](/concepts/components/prisma-client/relation-queries) #### Remarks @@ -2818,7 +2818,7 @@ const user = await prisma.user.update({ -`connectOrCreate` _either_ connects a record to an existing related record by ID or unique identifier _or_ creates a new related record if the record does not exist. See: [Working with relations](/concepts/components/prisma-client/relation-queries) +`connectOrCreate` _either_ connects a record to an existing related record by ID or unique identifier _or_ creates a new related record if the record does not exist. See: [Working with relations](/concepts/components/prisma-client/relation-queries) #### Remarks @@ -2986,7 +2986,7 @@ const user = await prisma.user.update({ -A nested `disconnect` query breaks the connection between a parent record and a related record, but does not delete either record. See: [Working with relations](/concepts/components/prisma-client/relation-queries) +A nested `disconnect` query breaks the connection between a parent record and a related record, but does not delete either record. See: [Working with relations](/concepts/components/prisma-client/relation-queries) #### Remarks @@ -3032,7 +3032,7 @@ const user = await prisma.user.update({ -A nested `update` query updates one or more related records where the parent record's ID is `n`. See: [Working with relations](/concepts/components/prisma-client/relation-queries#update-a-specific-related-record) +A nested `update` query updates one or more related records where the parent record's ID is `n`. See: [Working with relations](/concepts/components/prisma-client/relation-queries#update-a-specific-related-record) #### Remarks @@ -4076,7 +4076,7 @@ Available for: ### Remarks -- Scalar list / array filters [ignore `NULL` values](/concepts/components/prisma-client/working-with-fields/working-with-scalar-lists-arrays#null-values-in-arrays) . Using `isEmpty` or `NOT` does not return records with `NULL` value lists / arrays, and `{ equals: null }` results in an error. +- Scalar list / array filters [ignore `NULL` values](/concepts/components/prisma-client/working-with-fields/working-with-scalar-lists-arrays#null-values-in-arrays) . Using `isEmpty` or `NOT` does not return records with `NULL` value lists / arrays, and `{ equals: null }` results in an error. ### has @@ -4631,11 +4631,11 @@ const updatePosts = await prisma.post.updateMany({ ## Json filters -For use cases and advanced examples, see: [Working with `Json` fields](/concepts/components/prisma-client/working-with-fields/working-with-json-fields) +For use cases and advanced examples, see: [Working with `Json` fields](/concepts/components/prisma-client/working-with-fields/working-with-json-fields). -Supported by [PostgreSQL](/concepts/database-connectors/postgresql) and [MySQL](/concepts/database-connectors/mysql) with different syntaxes for the `path` option. PostgreSQL does not support filtering on object key values in arrays. +Supported by [PostgreSQL](/concepts/database-connectors/postgresql) and [MySQL](/concepts/database-connectors/mysql) with different syntaxes for the `path` option. PostgreSQL does not support filtering on object key values in arrays. @@ -5025,7 +5025,7 @@ const getUsers = await prisma.user.findMany({ ### Remarks -- `$on` and `$use` client methods do not exist on extended client instances which are extended using [`$extends`](#extends) +- `$on` and `$use` client methods do not exist on extended client instances which are extended using [`$extends`](#extends) @@ -5069,7 +5069,7 @@ The `$on()` method allows you to subscribe to [logging events](#log) or the [exi -The `$use()` method adds [middleware](/concepts/components/prisma-client/middleware) : +The `$use()` method adds [middleware](/concepts/components/prisma-client/middleware) : ```ts prisma.$use(async (params, next) => { @@ -5116,7 +5116,7 @@ Example parameter values: #### Examples -See [middleware examples](/concepts/components/prisma-client/middleware#samples) . +See [middleware examples](/concepts/components/prisma-client/middleware#samples) . ### $executeRaw() @@ -5160,7 +5160,7 @@ Utility types are helper functions and types that live on the Prisma namespace. ### Prisma.validator -The `validator` helps you create re-usable query parameters based on your schema models while making sure that the objects you create are valid. See also: [Using `Prisma.validator`](/concepts/components/prisma-client/advanced-type-safety/prisma-validator) +The `validator` helps you create re-usable query parameters based on your schema models while making sure that the objects you create are valid. See also: [Using `Prisma.validator`](/concepts/components/prisma-client/advanced-type-safety/prisma-validator) There are two ways you can use the `validator`: @@ -5176,7 +5176,7 @@ Prisma.validator({ args }) When using the selector pattern, you use an existing Prisma Client instance to create a validator. This pattern allows you to select the model, operation, and query option to validate against. -You can also use an instance of Prisma Client that has been extended using a [Prisma Client extension](/concepts/components/prisma-client/client-extensions). +You can also use an instance of Prisma Client that has been extended using a [Prisma Client extension](/concepts/components/prisma-client/client-extensions). ```ts Prisma.validator( diff --git a/content/200-orm/500-reference/100-prisma-schema-reference.mdx b/content/200-orm/500-reference/100-prisma-schema-reference.mdx index 5662cacf64..84a5e9d79c 100644 --- a/content/200-orm/500-reference/100-prisma-schema-reference.mdx +++ b/content/200-orm/500-reference/100-prisma-schema-reference.mdx @@ -8,7 +8,7 @@ toc: true ## datasource -Defines a [data source](/concepts/components/prisma-schema/data-sources) in the Prisma schema. +Defines a [data source](/concepts/components/prisma-schema/data-sources) in the Prisma schema. ### Fields @@ -158,7 +158,7 @@ The format for connection strings is the same as for PostgreSQL. Learn more abou -Defines a [generator](/concepts/components/prisma-schema/generators) in the Prisma schema. +Defines a [generator](/concepts/components/prisma-schema/generators) in the Prisma schema. ### Fields @@ -166,7 +166,7 @@ A `generator` block accepts the following fields: | Name | Required | Type | Description | | ----------------- | -------- | ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- | -| `provider` | **Yes** | String (file path) or Enum (`prisma-client-js`) | Describes which [generator](/concepts/components/prisma-schema/generators) to use. This can point to a file that implements a generator or specify a built-in generator directly. | +| `provider` | **Yes** | String (file path) or Enum (`prisma-client-js`) | Describes which [generator](/concepts/components/prisma-schema/generators) to use. This can point to a file that implements a generator or specify a built-in generator directly. | | `output` | No | String (file path) | Determines the location for the generated client, [learn more](/concepts/components/prisma-client/working-with-prismaclient/generating-prisma-client#using-a-custom-output-path). **Default**: `node_modules/.prisma/client` | | `previewFeatures` | No | List of Enums | Use intellisense to see list of currently available Preview features (`Ctrl+Space` in Visual Studio Code) **Default**: none | | | `engineType` | No | Enum (`library` or `binary`) | Defines the [query engine](/concepts/components/prisma-engines/query-engine) type to download and use. **Default**: `library` | @@ -329,7 +329,7 @@ generator client { ## model -Defines a Prisma [model](/concepts/components/prisma-schema/data-model#defining-models) . +Defines a Prisma [model](/concepts/components/prisma-schema/data-model#defining-models) . ### Remarks @@ -382,7 +382,7 @@ model User { ## model fields -[Fields](/concepts/components/prisma-schema/data-model#defining-fields) are properties of models. +[Fields](/concepts/components/prisma-schema/data-model#defining-fields) are properties of models. ### Remarks @@ -398,7 +398,7 @@ model User { The _data source connector_ determines what _native database type_ each of Prisma scalar type maps to. Similarly, the _generator_ determines what _type in the target programming language_ each of these types map to. -Prisma models also have [model field types](/concepts/components/prisma-schema/relations) that define relations between models. +Prisma models also have [model field types](/concepts/components/prisma-schema/relations) that define relations between models. ### String @@ -1667,7 +1667,7 @@ const post = await prisma.post.create({ -Defines a [default value for a field](/concepts/components/prisma-schema/data-model#defining-a-default-value) . +Defines a [default value for a field](/concepts/components/prisma-schema/data-model#defining-a-default-value) . #### Remarks @@ -2190,7 +2190,7 @@ model User { ### @@unique -Defines a compound [unique constraint](/concepts/components/prisma-schema/data-model#defining-a-unique-field) for the specified fields. +Defines a compound [unique constraint](/concepts/components/prisma-schema/data-model#defining-a-unique-field) for the specified fields. #### Remarks @@ -3350,7 +3350,7 @@ The [SQLite connector](/concepts/database-connectors/sqlite) and the The [Micros -Defines an [enum](/concepts/components/prisma-schema/data-model#defining-enums) . +Defines an [enum](/concepts/components/prisma-schema/data-model#defining-enums) . ### Remarks @@ -3449,7 +3449,7 @@ Composite types are available in versions 3.12.0 and later, and in versions 3.10 -Defines a [composite type](/concepts/components/prisma-schema/data-model#defining-composite-types) . +Defines a [composite type](/concepts/components/prisma-schema/data-model#defining-composite-types) . ### Naming conventions diff --git a/content/200-orm/500-reference/200-prisma-cli-reference.mdx b/content/200-orm/500-reference/200-prisma-cli-reference.mdx index 07f51a2cef..07595be13d 100644 --- a/content/200-orm/500-reference/200-prisma-cli-reference.mdx +++ b/content/200-orm/500-reference/200-prisma-cli-reference.mdx @@ -856,8 +856,8 @@ This command is a good choice when you do not need to version schema changes, su See also: -- [Conceptual overview of `db push` and when to use it over Prisma Migrate](/concepts/components/prisma-migrate/db-push) -- [Schema prototyping with `db push`](/guides/migrate/prototyping-schema-db-push) +- [Conceptual overview of `db push` and when to use it over Prisma Migrate](/concepts/components/prisma-migrate/db-push) +- [Schema prototyping with `db push`](/guides/migrate/prototyping-schema-db-push) #### Prerequisites @@ -911,7 +911,7 @@ prisma db push --schema=/tmp/schema.prisma `db seed` changed from Preview to Generally Available (GA) in 3.0.1. -See [Seeding your database](/guides/migrate/seed-database) +See [Seeding your database](/guides/migrate/seed-database) #### Options @@ -951,7 +951,7 @@ The output of the command is connector-specific, and is not meant for returning See also: -- [Migration troubleshooting in production](/guides/migrate/production-troubleshooting#fixing-failed-migrations-with-migrate-diff-and-db-execute) +- [Migration troubleshooting in production](/guides/migrate/production-troubleshooting#fixing-failed-migrations-with-migrate-diff-and-db-execute) #### Prerequisites @@ -1033,8 +1033,8 @@ This command is not supported on [MongoDB](/concepts/database-connectors/mongodb See also: -- [Conceptual overview of Prisma Migrate](/concepts/components/prisma-migrate) -- [Developing with Prisma Migrate](/guides/migrate/developing-with-prisma-migrate) +- [Conceptual overview of Prisma Migrate](/concepts/components/prisma-migrate) +- [Developing with Prisma Migrate](/guides/migrate/developing-with-prisma-migrate) #### Options @@ -1275,7 +1275,7 @@ Both schema sources must use the same database provider. For example, a diff com See also: -- [Migration troubleshooting in production](/guides/migrate/production-troubleshooting#fixing-failed-migrations-with-migrate-diff-and-db-execute) +- [Migration troubleshooting in production](/guides/migrate/production-troubleshooting#fixing-failed-migrations-with-migrate-diff-and-db-execute) #### Prerequisites @@ -1424,7 +1424,7 @@ This is available from version 2.7.0 and later. The command used to populate the datasource is specified in the `prisma.seed` entry in the `package.json` file. It is used when `prisma db seed` is invoked or triggered. -See [Seeding your database](/guides/migrate/seed-database) +See [Seeding your database](/guides/migrate/seed-database) ```json file="package.json" { @@ -1444,5 +1444,5 @@ Prisma CLI supports [custom HTTP proxies](https://github.com/prisma/prisma/issue To activate usage of the proxy, provide either of the following environment variables: -- [`HTTP_PROXY`](/reference/api-reference/environment-variables-reference#http_proxy) or `http_proxy`: Proxy URL for http traffic, for example `http://localhost:8080` -- [`HTTPS_PROXY`](/reference/api-reference/environment-variables-reference#https_proxy) or `https_proxy`: Proxy URL for https traffic, for example `https://localhost:8080` +- [`HTTP_PROXY`](/reference/api-reference/environment-variables-reference#http_proxy) or `http_proxy`: Proxy URL for http traffic, for example `http://localhost:8080` +- [`HTTPS_PROXY`](/reference/api-reference/environment-variables-reference#https_proxy) or `https_proxy`: Proxy URL for https traffic, for example `https://localhost:8080` diff --git a/content/200-orm/800-more/100-under-the-hood/100-engines.mdx b/content/200-orm/800-more/100-under-the-hood/100-engines.mdx index 2b70af3bb8..70c4edcefc 100644 --- a/content/200-orm/800-more/100-under-the-hood/100-engines.mdx +++ b/content/200-orm/800-more/100-under-the-hood/100-engines.mdx @@ -38,11 +38,11 @@ You might want to use a [custom library or binary](https://github.com/prisma/pri Use the following environment variables to specify custom locations for your binaries: -- [`PRISMA_QUERY_ENGINE_LIBRARY`](/reference/api-reference/environment-variables-reference#prisma_query_engine_library) (Query engine, library) -- [`PRISMA_QUERY_ENGINE_BINARY`](/reference/api-reference/environment-variables-reference#prisma_query_engine_binary) (Query engine, binary) -- [`PRISMA_SCHEMA_ENGINE_BINARY`](/reference/api-reference/environment-variables-reference#prisma_schema_engine_binary) (Schema engine) -- [`PRISMA_MIGRATION_ENGINE_BINARY`](/reference/api-reference/environment-variables-reference#prisma_migration_engine_binary) (Migration engine) -- [`PRISMA_INTROSPECTION_ENGINE_BINARY`](/reference/api-reference/environment-variables-reference#prisma_introspection_engine_binary) (Introspection engine) +- [`PRISMA_QUERY_ENGINE_LIBRARY`](/reference/api-reference/environment-variables-reference#prisma_query_engine_library) (Query engine, library) +- [`PRISMA_QUERY_ENGINE_BINARY`](/reference/api-reference/environment-variables-reference#prisma_query_engine_binary) (Query engine, binary) +- [`PRISMA_SCHEMA_ENGINE_BINARY`](/reference/api-reference/environment-variables-reference#prisma_schema_engine_binary) (Schema engine) +- [`PRISMA_MIGRATION_ENGINE_BINARY`](/reference/api-reference/environment-variables-reference#prisma_migration_engine_binary) (Migration engine) +- [`PRISMA_INTROSPECTION_ENGINE_BINARY`](/reference/api-reference/environment-variables-reference#prisma_introspection_engine_binary) (Introspection engine) @@ -150,7 +150,7 @@ Introspection Engine : introspection-core d6ff7119649922b84e413b3b69660e2f49e2dd ### Hosting engines -The [`PRISMA_ENGINES_MIRROR`](/reference/api-reference/environment-variables-reference#prisma_engines_mirror) environment variable allows you to host engine files via a private server, AWS bucket or other cloud storage. +The [`PRISMA_ENGINES_MIRROR`](/reference/api-reference/environment-variables-reference#prisma_engines_mirror) environment variable allows you to host engine files via a private server, AWS bucket or other cloud storage. This can be useful if you have a custom OS that requires custom-built engines. ```terminal diff --git a/content/200-orm/800-more/600-help-and-troubleshooting/050-creating-bug-reports.mdx b/content/200-orm/800-more/600-help-and-troubleshooting/050-creating-bug-reports.mdx index 2b7421c536..4e09ee1be6 100644 --- a/content/200-orm/800-more/600-help-and-troubleshooting/050-creating-bug-reports.mdx +++ b/content/200-orm/800-more/600-help-and-troubleshooting/050-creating-bug-reports.mdx @@ -138,7 +138,7 @@ Default Engines Hash : 60cc71d884972ab4e897f0277c4b84383dddaf6c Studio : 0.379.0 ``` -Additionally, you can use the [`prisma debug`](/reference/api-reference/command-reference#debug) command to retrieve debugging information. The `prisma debug` command provides debugging information that compliments the output of the `prisma -v` command. The information includes [environment variables](/reference/api-reference/environment-variables-reference) used for Prisma Client, Prisma Migrate, Prisma CLI, and Prisma Studio. +Additionally, you can use the [`prisma debug`](/reference/api-reference/command-reference#debug) command to retrieve debugging information. The `prisma debug` command provides debugging information that compliments the output of the `prisma -v` command. The information includes [environment variables](/reference/api-reference/environment-variables-reference) used for Prisma Client, Prisma Migrate, Prisma CLI, and Prisma Studio. From 93eff14830ae52158f963cfaae4fd66092d0b647 Mon Sep 17 00:00:00 2001 From: Nikolas Burk Date: Tue, 28 Nov 2023 10:33:36 +0100 Subject: [PATCH 014/100] add redirects (still has 40 TODOs) --- vercel.json | 2094 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 2093 insertions(+), 1 deletion(-) diff --git a/vercel.json b/vercel.json index 9d1396a39f..6c2e21b800 100644 --- a/vercel.json +++ b/vercel.json @@ -1734,6 +1734,2098 @@ { "source": "/docs/data-platform/classic-projects/platform/billing/manage-plans", "destination": "https://www.prisma.io/pricing" - } + }, + { + "source": "/docs/concepts/components/prisma-schema", + "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + }, + { + "source": "/docs/concepts/components/prisma-client/working-with-prismaclient", + "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + }, + { + "source": "/docs/concepts/components/prisma-client/transactions", + "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + }, + { + "source": "/docs/concepts/components/prisma-migrate/get-started", + "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + }, + { + "source": "/docs/concepts/components/prisma-migrate/db-push", + "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + }, + { + "source": "/docs/concepts/components/prisma-cli", + "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + }, + { + "source": "/docs/concepts/components/prisma-engines", + "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + }, + { + "source": "/docs/concepts/database-connectors/mongodb", + "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + }, + { + "source": "/docs/concepts/database-connectors", + "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + }, + { + "source": "/docs/concepts/more/telemetry", + "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + }, + { + "source": "/docs/concepts/more", + "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + }, + { + "source": "/docs/concepts", + "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + }, + { + "source": "/docs/concepts/overview/why-prisma", + "destination": "/docs/orm/overview/introduction/why-prisma" + }, + { + "source": "/docs/concepts/overview/should-you-use-prisma", + "destination": "/docs/orm/overview/introduction/should-you-use-prisma" + }, + { + "source": "/docs/concepts/overview/what-is-prisma/data-modeling", + "destination": "/docs/orm/overview/introduction/data-modeling" + }, + { + "source": "/docs/concepts/overview/what-is-prisma", + "destination": "/docs/orm/overview/introduction/what-is-prisma" + }, + { + "source": "/docs/concepts/components/database-drivers", + "destination": "/docs/orm/overview/introduction/databases/database-drivers" + }, + { + "source": "/docs/concepts/database-connectors/postgresql", + "destination": "/docs/orm/overview/introduction/databases/postgresql" + }, + { + "source": "/docs/concepts/database-connectors/mysql", + "destination": "/docs/orm/overview/introduction/databases/mysql" + }, + { + "source": "/docs/concepts/database-connectors/sqlite", + "destination": "/docs/orm/overview/introduction/databases/sqlite" + }, + { + "source": "/docs/guides/database/mongodb", + "destination": "/docs/orm/overview/introduction/databases/mongodb" + }, + { + "source": "/docs/concepts/database-connectors/cockroachdb", + "destination": "/docs/orm/overview/introduction/databases/cockroachdb" + }, + { + "source": "/docs/concepts/database-connectors/sql-server/sql-server-local", + "destination": "/docs/orm/overview/introduction/databases/sql-server/sql-server-local" + }, + { + "source": "/docs/concepts/database-connectors/sql-server/sql-server-docker", + "destination": "/docs/orm/overview/introduction/databases/sql-server/sql-server-docker" + }, + { + "source": "/docs/concepts/database-connectors/sql-server", + "destination": "/docs/orm/overview/introduction/databases/sql-server" + }, + { + "source": "/docs/guides/database/planetscale", + "destination": "/docs/orm/overview/introduction/databases/planetscale" + }, + { + "source": "/docs/guides/database/cockroachdb", + "destination": "/docs/orm/overview/introduction/databases/cockroachdb" + }, + { + "source": "/docs/guides/database/supabase", + "destination": "/docs/orm/overview/introduction/databases/supabase" + }, + { + "source": "/docs/guides/database/neon", + "destination": "/docs/orm/overview/introduction/databases/neon" + }, + { + "source": "/docs/guides/database/turso", + "destination": "/docs/orm/overview/introduction/databases/turso" + }, + { + "source": "/docs/guides/database/images/embedded-replica-create-replica.png", + "destination": "/docs/orm/overview/introduction/databases/images/embedded-replica-create-replica.png" + }, + { + "source": "/docs/guides/database/images/embedded-replica-read.png", + "destination": "/docs/orm/overview/introduction/databases/images/embedded-replica-read.png" + }, + { + "source": "/docs/guides/database/images/embedded-replica-remote-read.png", + "destination": "/docs/orm/overview/introduction/databases/images/embedded-replica-remote-read.png" + }, + { + "source": "/docs/guides/database/images/embedded-replica-write-propagation.png", + "destination": "/docs/orm/overview/introduction/databases/images/embedded-replica-write-propagation.png" + }, + { + "source": "/docs/concepts/database-connectors/mongodb.png", + "destination": "/docs/orm/overview/introduction/databases/mongodb.png" + }, + { + "source": "/docs/concepts/database-connectors/mysql-connection-string.png", + "destination": "/docs/orm/overview/introduction/databases/mysql-connection-string.png" + }, + { + "source": "/docs/concepts/database-connectors/postgresql-connection-string.png", + "destination": "/docs/orm/overview/introduction/databases/postgresql-connection-string.png" + }, + { + "source": "/docs/concepts/overview/node-js-db-tools-tradeoffs.png", + "destination": "/docs/orm/overview/introduction/node-js-db-tools-tradeoffs.png" + }, + { + "source": "/docs/concepts/overview/prisma-makes-devs-productive.png", + "destination": "/docs/orm/overview/introduction/prisma-makes-devs-productive.png" + }, + { + "source": "/docs/concepts/overview/prisma-rest-apis.png", + "destination": "/docs/orm/overview/introduction/prisma-rest-apis.png" + }, + { + "source": "/docs/concepts/overview/user-post-relation-1-n.png", + "destination": "/docs/orm/overview/introduction/user-post-relation-1-n.png" + }, + { + "source": "/docs/concepts/overview/user-table.png", + "destination": "/docs/orm/overview/introduction/user-table.png" + }, + { + "source": "/docs/concepts/overview/user-table.svg", + "destination": "/docs/orm/overview/introduction/user-table.svg" + }, + { + "source": "/docs/concepts/overview/prisma-in-your-stack/rest.md", + "destination": "/docs/orm/overview/prisma-in-your-stack/rest.md" + }, + { + "source": "/docs/concepts/overview/prisma-in-your-stack/graphql.md", + "destination": "/docs/orm/overview/prisma-in-your-stack/graphql.md" + }, + { + "source": "/docs/concepts/overview/prisma-in-your-stack/fullstack", + "destination": "/docs/orm/overview/prisma-in-your-stack/fullstack" + }, + { + "source": "/docs/concepts/overview/prisma-in-your-stack/is-prisma-an-orm", + "destination": "/docs/orm/overview/prisma-in-your-stack/is-prisma-an-orm" + }, + { + "source": "/docs/concepts/overview/prisma-in-your-stack", + "destination": "/docs/orm/overview/prisma-in-your-stack" + }, + { + "source": "/docs/concepts/overview", + "destination": "/docs/orm/overview" + }, + { + "source": "/docs/concepts/components/prisma-client/working-with-prismaclient/generating-prisma-client", + "destination": "/docs/orm/prisma-client/setup-and-configuration/generating-prisma-client" + }, + { + "source": "/docs/concepts/components/prisma-client/working-with-prismaclient/instantiate-prisma-client", + "destination": "/docs/orm/prisma-client/setup-and-configuration/instantiate-prisma-client" + }, + { + "source": "/docs/concepts/components/prisma-client/read-replicas", + "destination": "/docs/orm/prisma-client/setup-and-configuration/read-replicas" + }, + { + "source": "/docs/concepts/components/prisma-client/working-with-prismaclient/use-custom-model-and-field-names", + "destination": "/docs/orm/prisma-client/setup-and-configuration/custom-model-and-field-names" + }, + { + "source": "/docs/concepts/components/prisma-client/working-with-prismaclient/logging", + "destination": "/docs/orm/prisma-client/setup-and-configuration/logging" + }, + { + "source": "/docs/concepts/components/prisma-client/working-with-prismaclient/error-formatting", + "destination": "/docs/orm/prisma-client/setup-and-configuration/error-formatting" + }, + { + "source": "/docs/concepts/components/prisma-client/database-polyfills", + "destination": "/docs/orm/prisma-client/setup-and-configuration/database-polyfills" + }, + { + "source": "/docs/concepts/components/prisma-client/working-with-prismaclient/connection-management", + "destination": "/docs/orm/prisma-client/setup-and-configuration/databases-connections/connection-management" + }, + { + "source": "/docs/concepts/components/prisma-client/working-with-prismaclient/connection-pool", + "destination": "/docs/orm/prisma-client/setup-and-configuration/databases-connections/connection-pool" + }, + { + "source": "/docs/guides/performance-and-optimization/connection-management/configure-for-external-connection-pooler", + "destination": "/docs/orm/prisma-client/setup-and-configuration/databases-connections/pgbouncer" + }, + { + "source": "/docs/guides/performance-and-optimization/connection-management", + "destination": "/docs/orm/prisma-client/setup-and-configuration/databases-connections" + }, + { + "source": "/docs/guides/performance-and-optimization/connection-management/serverless-connections-2.png", + "destination": "/docs/orm/prisma-client/setup-and-configuration/databases-connections/serverless-connections-2.png" + }, + { + "source": "/docs/guides/performance-and-optimization/connection-management/serverless-connections.png", + "destination": "/docs/orm/prisma-client/setup-and-configuration/databases-connections/serverless-connections.png" + }, + { + "source": "/docs/concepts/components/prisma-client/working-with-prismaclient/prisma-client-generation-workflow.png", + "destination": "/docs/orm/prisma-client/setup-and-configuration/prisma-client-generation-workflow.png" + }, + { + "source": "/docs/concepts/components/prisma-client/working-with-prismaclient/prisma-client-node-module.png", + "destination": "/docs/orm/prisma-client/setup-and-configuration/prisma-client-node-module.png" + }, + { + "source": "/docs/concepts/components/prisma-client/crud", + "destination": "/docs/orm/prisma-client/queries/crud" + }, + { + "source": "/docs/concepts/components/prisma-client/select-fields", + "destination": "/docs/orm/prisma-client/queries/select-fields" + }, + { + "source": "/docs/concepts/components/prisma-client/relation-queries", + "destination": "/docs/orm/prisma-client/queries/relation-queries" + }, + { + "source": "/docs/concepts/components/prisma-client/filtering-and-sorting", + "destination": "/docs/orm/prisma-client/queries/filtering-and-sorting" + }, + { + "source": "/docs/concepts/components/prisma-client/pagination", + "destination": "/docs/orm/prisma-client/queries/pagination" + }, + { + "source": "/docs/concepts/components/prisma-client/aggregation-grouping-summarizing", + "destination": "/docs/orm/prisma-client/queries/aggregation-grouping-summarizing" + }, + { + "source": "/docs/guides/performance-and-optimization/prisma-client-transactions-guide", + "destination": "/docs/orm/prisma-client/queries/transactions" + }, + { + "source": "/docs/concepts/components/prisma-client/full-text-search", + "destination": "/docs/orm/prisma-client/queries/full-text-search" + }, + { + "source": "/docs/concepts/components/prisma-client/custom-validation", + "destination": "/docs/orm/prisma-client/queries/custom-validation" + }, + { + "source": "/docs/concepts/components/prisma-client/computed-fields", + "destination": "/docs/orm/prisma-client/queries/computed-fields" + }, + { + "source": "/docs/concepts/components/prisma-client/excluding-fields", + "destination": "/docs/orm/prisma-client/queries/excluding-fields" + }, + { + "source": "/docs/concepts/components/prisma-client/custom-models", + "destination": "/docs/orm/prisma-client/queries/custom-models" + }, + { + "source": "/docs/concepts/components/prisma-client/case-sensitivity", + "destination": "/docs/orm/prisma-client/queries/case-sensitivity" + }, + { + "source": "/docs/concepts/components/prisma-client/raw-database-access", + "destination": "/docs/orm/prisma-client/queries/raw-database-access/raw-queries" + }, + { + "source": "/docs/guides/other/advanced-database-tasks/typesafe-raw-sql/safeql", + "destination": "/docs/orm/prisma-client/queries/raw-database-access/custom-and-type-safe-queries" + }, + { + "source": "/docs/guides/performance-and-optimization/query-optimization-performance", + "destination": "/docs/orm/prisma-client/queries/query-optimization-performance" + }, + { + "source": "/docs/concepts/components/prisma-client/composite-types", + "destination": "/docs/orm/prisma-client/special-fields-and-types/composite-types" + }, + { + "source": "/docs/concepts/components/prisma-client/null-and-undefined", + "destination": "/docs/orm/prisma-client/special-fields-and-types/null-and-undefined" + }, + { + "source": "/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields", + "destination": "/docs/orm/prisma-client/special-fields-and-types/working-with-json-fields" + }, + { + "source": "/docs/concepts/components/prisma-client/working-with-fields/working-with-scalar-lists-arrays", + "destination": "/docs/orm/prisma-client/special-fields-and-types/working-with-scalar-lists-arrays" + }, + { + "source": "/docs/concepts/components/prisma-client/working-with-fields/working-with-composite-ids-and-constraints", + "destination": "/docs/orm/prisma-client/special-fields-and-types/working-with-composite-ids-and-constraints" + }, + { + "source": "/docs/concepts/components/prisma-client/working-with-fields", + "destination": "/docs/orm/prisma-client/special-fields-and-types" + }, + { + "source": "/docs/concepts/components/prisma-client/client-extensions/model", + "destination": "/docs/orm/prisma-client/client-extensions/model" + }, + { + "source": "/docs/concepts/components/prisma-client/client-extensions/client", + "destination": "/docs/orm/prisma-client/client-extensions/client" + }, + { + "source": "/docs/concepts/components/prisma-client/client-extensions/query", + "destination": "/docs/orm/prisma-client/client-extensions/query" + }, + { + "source": "/docs/concepts/components/prisma-client/client-extensions/result", + "destination": "/docs/orm/prisma-client/client-extensions/result" + }, + { + "source": "/docs/concepts/components/prisma-client/client-extensions/shared-extensions", + "destination": "/docs/orm/prisma-client/client-extensions/shared-extensions" + }, + { + "source": "/docs/concepts/components/prisma-client/client-extensions/type-utilities", + "destination": "/docs/orm/prisma-client/client-extensions/type-utilities" + }, + { + "source": "/docs/concepts/components/prisma-client/client-extensions/extension-examples", + "destination": "/docs/orm/prisma-client/client-extensions/extension-examples" + }, + { + "source": "/docs/concepts/components/prisma-client/middleware/soft-delete-middleware", + "destination": "/docs/orm/prisma-client/client-extensions/middleware/soft-delete-middleware" + }, + { + "source": "/docs/concepts/components/prisma-client/middleware/logging-middleware", + "destination": "/docs/orm/prisma-client/client-extensions/middleware/logging-middleware" + }, + { + "source": "/docs/concepts/components/prisma-client/middleware/session-data-middleware", + "destination": "/docs/orm/prisma-client/client-extensions/middleware/session-data-middleware" + }, + { + "source": "/docs/concepts/components/prisma-client/middleware", + "destination": "/docs/orm/prisma-client/client-extensions/middleware" + }, + { + "source": "/docs/concepts/components/prisma-client/client-extensions", + "destination": "/docs/orm/prisma-client/client-extensions" + }, + { + "source": "/docs/concepts/components/prisma-client/advanced-type-safety/operating-against-partial-structures-of-model-types", + "destination": "/docs/orm/prisma-client/type-safety/operating-against-partial-structures-of-model-types" + }, + { + "source": "/docs/guides/other/prisma-type-system", + "destination": "/docs/orm/prisma-client/type-safety/prisma-type-system" + }, + { + "source": "/docs/concepts/components/prisma-client/advanced-type-safety/prisma-validator", + "destination": "/docs/orm/prisma-client/type-safety/prisma-validator" + }, + { + "source": "/docs/concepts/components/prisma-client/advanced-type-safety", + "destination": "/docs/orm/prisma-client/type-safety" + }, + { + "source": "/docs/guides/testing/unit-testing", + "destination": "/docs/orm/prisma-client/testing/unit-testing" + }, + { + "source": "/docs/guides/testing/integration-testing", + "destination": "/docs/orm/prisma-client/testing/integration-testing" + }, + { + "source": "/docs/guides/testing/Docker_Diagram_V1.png", + "destination": "/docs/orm/prisma-client/testing/Docker_Diagram_V1.png" + }, + { + "source": "/docs/guides/testing", + "destination": "/docs/orm/prisma-client/testing" + }, + { + "source": "/docs/guides/deployment/deploy-prisma", + "destination": "/docs/orm/prisma-client/deployment/deploy-prisma" + }, + { + "source": "/docs/guides/deployment/traditional/deploy-to-heroku", + "destination": "/docs/orm/prisma-client/deployment/traditional/deploy-to-heroku" + }, + { + "source": "/docs/guides/deployment/traditional/deploy-to-koyeb", + "destination": "/docs/orm/prisma-client/deployment/traditional/deploy-to-koyeb" + }, + { + "source": "/docs/guides/deployment/traditional/images/heroku-architecture.png", + "destination": "/docs/orm/prisma-client/deployment/traditional/images/heroku-architecture.png" + }, + { + "source": "/docs/guides/deployment/traditional/images/heroku-deployed.png", + "destination": "/docs/orm/prisma-client/deployment/traditional/images/heroku-deployed.png" + }, + { + "source": "/docs/guides/deployment/traditional/images/koyeb-app-creation.png", + "destination": "/docs/orm/prisma-client/deployment/traditional/images/koyeb-app-creation.png" + }, + { + "source": "/docs/guides/deployment/traditional/images/koyeb-architecture.png", + "destination": "/docs/orm/prisma-client/deployment/traditional/images/koyeb-architecture.png" + }, + { + "source": "/docs/guides/deployment/traditional/images/koyeb-deployed.png", + "destination": "/docs/orm/prisma-client/deployment/traditional/images/koyeb-deployed.png" + }, + { + "source": "/docs/guides/deployment/traditional", + "destination": "/docs/orm/prisma-client/deployment/traditional" + }, + { + "source": "/docs/guides/deployment/serverless/deploy-to-azure-functions", + "destination": "/docs/orm/prisma-client/deployment/serverless/deploy-to-azure-functions" + }, + { + "source": "/docs/guides/deployment/serverless/deploy-to-vercel", + "destination": "/docs/orm/prisma-client/deployment/serverless/deploy-to-vercel" + }, + { + "source": "/docs/guides/deployment/serverless/deploy-to-aws-lambda", + "destination": "/docs/orm/prisma-client/deployment/serverless/deploy-to-aws-lambda" + }, + { + "source": "/docs/guides/deployment/serverless/deploy-to-netlify", + "destination": "/docs/orm/prisma-client/deployment/serverless/deploy-to-netlify" + }, + { + "source": "/docs/guides/deployment/serverless/images/00-deploy-to-vercel-architecture.png", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/00-deploy-to-vercel-architecture.png" + }, + { + "source": "/docs/guides/deployment/serverless/images/10-deploy-to-vercel-deploy-button.png", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/10-deploy-to-vercel-deploy-button.png" + }, + { + "source": "/docs/guides/deployment/serverless/images/10-deploy-to-vercel-deploy-button.snagx", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/10-deploy-to-vercel-deploy-button.snagx" + }, + { + "source": "/docs/guides/deployment/serverless/images/20-deploy-to-vercel-select-github.png", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/20-deploy-to-vercel-select-github.png" + }, + { + "source": "/docs/guides/deployment/serverless/images/20-deploy-to-vercel-select-github.snagx", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/20-deploy-to-vercel-select-github.snagx" + }, + { + "source": "/docs/guides/deployment/serverless/images/30-deploy-to-vercel-create-git-repo.png", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/30-deploy-to-vercel-create-git-repo.png" + }, + { + "source": "/docs/guides/deployment/serverless/images/30-deploy-to-vercel-create-git-repo.snagx", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/30-deploy-to-vercel-create-git-repo.snagx" + }, + { + "source": "/docs/guides/deployment/serverless/images/40-deploy-to-vercel-configure-project.png", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/40-deploy-to-vercel-configure-project.png" + }, + { + "source": "/docs/guides/deployment/serverless/images/40-deploy-to-vercel-configure-project.snagx", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/40-deploy-to-vercel-configure-project.snagx" + }, + { + "source": "/docs/guides/deployment/serverless/images/50-deploy-to-vercel-success.png", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/50-deploy-to-vercel-success.png" + }, + { + "source": "/docs/guides/deployment/serverless/images/50-deploy-to-vercel-success.snagx", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/50-deploy-to-vercel-success.snagx" + }, + { + "source": "/docs/guides/deployment/serverless/images/60-deploy-to-vercel-preview-environment-variable.png", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/60-deploy-to-vercel-preview-environment-variable.png" + }, + { + "source": "/docs/guides/deployment/serverless/images/60-deploy-to-vercel-preview-environment-variable.snagx", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/60-deploy-to-vercel-preview-environment-variable.snagx" + }, + { + "source": "/docs/guides/deployment/serverless/images/70-deploy-to-vercel-environment-variables.png", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/70-deploy-to-vercel-environment-variables.png" + }, + { + "source": "/docs/guides/deployment/serverless/images/70-deploy-to-vercel-environment-variables.snagx", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/70-deploy-to-vercel-environment-variables.snagx" + }, + { + "source": "/docs/guides/deployment/serverless/images/01-deploy-to-netlify-architecture.png", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/01-deploy-to-netlify-architecture.png" + }, + { + "source": "/docs/guides/deployment/serverless/images/02-deploy-to-netlify-example-repo-click-fork.png", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/02-deploy-to-netlify-example-repo-click-fork.png" + }, + { + "source": "/docs/guides/deployment/serverless/images/02-deploy-to-netlify-example-repo-click-fork.snagx", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/02-deploy-to-netlify-example-repo-click-fork.snagx" + }, + { + "source": "/docs/guides/deployment/serverless/images/03-deploy-to-netlify-example-repo-create-fork-page.png", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/03-deploy-to-netlify-example-repo-create-fork-page.png" + }, + { + "source": "/docs/guides/deployment/serverless/images/03-deploy-to-netlify-example-repo-create-fork-page.snagx", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/03-deploy-to-netlify-example-repo-create-fork-page.snagx" + }, + { + "source": "/docs/guides/deployment/serverless/images/04-deploy-to-netlify-copy-supabase-connection-string.png", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/04-deploy-to-netlify-copy-supabase-connection-string.png" + }, + { + "source": "/docs/guides/deployment/serverless/images/04-deploy-to-netlify-copy-supabase-connection-string.snagx", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/04-deploy-to-netlify-copy-supabase-connection-string.snagx" + }, + { + "source": "/docs/guides/deployment/serverless/images/05-deploy-to-netlify-netlify-init-configure-site.png", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/05-deploy-to-netlify-netlify-init-configure-site.png" + }, + { + "source": "/docs/guides/deployment/serverless/images/05-deploy-to-netlify-netlify-init-configure-site.snagx", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/05-deploy-to-netlify-netlify-init-configure-site.snagx" + }, + { + "source": "/docs/guides/deployment/serverless/images/06-deploy-to-netlify-site-settings.png", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/06-deploy-to-netlify-site-settings.png" + }, + { + "source": "/docs/guides/deployment/serverless/images/06-deploy-to-netlify-site-settings.snagx", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/06-deploy-to-netlify-site-settings.snagx" + }, + { + "source": "/docs/guides/deployment/serverless/images/07-deploy-to-netlify-environment-variables-settings.png", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/07-deploy-to-netlify-environment-variables-settings.png" + }, + { + "source": "/docs/guides/deployment/serverless/images/07-deploy-to-netlify-environment-variables-settings.snagx", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/07-deploy-to-netlify-environment-variables-settings.snagx" + }, + { + "source": "/docs/guides/deployment/serverless/images/08-deploy-to-netlify-application-deployed.png", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/08-deploy-to-netlify-application-deployed.png" + }, + { + "source": "/docs/guides/deployment/serverless/images/08-deploy-to-netlify-application-deployed.snagx", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/08-deploy-to-netlify-application-deployed.snagx" + }, + { + "source": "/docs/guides/deployment/serverless/images/09-deploy-to-netlify-application-deployed-call-result.png", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/09-deploy-to-netlify-application-deployed-call-result.png" + }, + { + "source": "/docs/guides/deployment/serverless/images/09-deploy-to-netlify-application-deployed-call-result.snagx", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/09-deploy-to-netlify-application-deployed-call-result.snagx" + }, + { + "source": "/docs/guides/deployment/serverless", + "destination": "/docs/orm/prisma-client/deployment/serverless" + }, + { + "source": "/docs/concepts/components/prisma-client/module-bundlers", + "destination": "/docs/orm/prisma-client/deployment/module-bundlers" + }, + { + "source": "/docs/guides/deployment/edge/deploy-to-cloudflare-workers", + "destination": "/docs/orm/prisma-client/deployment/edge/deploy-to-cloudflare-workers" + }, + { + "source": "/docs/guides/deployment/edge/deploy-to-deno-deploy", + "destination": "/docs/orm/prisma-client/deployment/edge/deploy-to-deno-deploy" + }, + { + "source": "/docs/guides/deployment/edge/images/03-import-project.png", + "destination": "/docs/orm/prisma-client/deployment/edge/images/03-import-project.png" + }, + { + "source": "/docs/guides/deployment/edge/images/03-import-project.snagx", + "destination": "/docs/orm/prisma-client/deployment/edge/images/03-import-project.snagx" + }, + { + "source": "/docs/guides/deployment/edge/images/04-connect-db.png", + "destination": "/docs/orm/prisma-client/deployment/edge/images/04-connect-db.png" + }, + { + "source": "/docs/guides/deployment/edge/images/04-connect-db.snagx", + "destination": "/docs/orm/prisma-client/deployment/edge/images/04-connect-db.snagx" + }, + { + "source": "/docs/guides/deployment/edge/images/05-data-proxy.png", + "destination": "/docs/orm/prisma-client/deployment/edge/images/05-data-proxy.png" + }, + { + "source": "/docs/guides/deployment/edge/images/05-data-proxy.snagx", + "destination": "/docs/orm/prisma-client/deployment/edge/images/05-data-proxy.snagx" + }, + { + "source": "/docs/guides/deployment/edge/images/01-create-repo.png", + "destination": "/docs/orm/prisma-client/deployment/edge/images/01-create-repo.png" + }, + { + "source": "/docs/guides/deployment/edge/images/02-deploy-to-deno-project-parameters.png", + "destination": "/docs/orm/prisma-client/deployment/edge/images/02-deploy-to-deno-project-parameters.png" + }, + { + "source": "/docs/guides/deployment/edge/images/02-deploy-to-deno-project-parameters.snagx", + "destination": "/docs/orm/prisma-client/deployment/edge/images/02-deploy-to-deno-project-parameters.snagx" + }, + { + "source": "/docs/guides/deployment/edge", + "destination": "/docs/orm/prisma-client/deployment/edge" + }, + { + "source": "/docs/guides/deployment/deploy-database-changes-with-prisma-migrate", + "destination": "/docs/orm/prisma-client/deployment/deploy-database-changes-with-prisma-migrate" + }, + { + "source": "/docs/guides/deployment/deploy-migrations-from-a-local-environment", + "destination": "/docs/orm/prisma-client/deployment/deploy-migrations-from-a-local-environment" + }, + { + "source": "/docs/guides/deployment/caveats-when-deploying-to-aws-platforms", + "destination": "/docs/orm/prisma-client/deployment/caveats-when-deploying-to-aws-platforms" + }, + { + "source": "/docs/guides/deployment/deploy-to-a-different-os", + "destination": "/docs/orm/prisma-client/deployment/deploy-to-a-different-os" + }, + { + "source": "/docs/guides/deployment", + "destination": "/docs/orm/prisma-client/deployment" + }, + { + "source": "/docs/concepts/components/prisma-client/metrics", + "destination": "/docs/orm/prisma-client/observability-and-logging/metrics" + }, + { + "source": "/docs/concepts/components/prisma-client/opentelemetry-tracing", + "destination": "/docs/orm/prisma-client/observability-and-logging/opentelemetry-tracing" + }, + { + "source": "/docs/concepts/components/prisma-client/jaeger.png", + "destination": "/docs/orm/prisma-client/observability-and-logging/jaeger.png" + }, + { + "source": "/docs/concepts/components/prisma-client/trace-diagram.png", + "destination": "/docs/orm/prisma-client/observability-and-logging/trace-diagram.png" + }, + { + "source": "/docs/concepts/components/prisma-client/debugging", + "destination": "/docs/orm/prisma-client/debugging-and-troubleshooting/debugging" + }, + { + "source": "/docs/concepts/components/prisma-client/handling-exceptions-and-errors", + "destination": "/docs/orm/prisma-client/debugging-and-troubleshooting/handling-exceptions-and-errors" + }, + { + "source": "/docs/concepts/components/prisma-client", + "destination": "/docs/orm/prisma-client" + }, + { + "source": "/docs/guides/migrate/developing-with-prisma-migrate/add-prisma-migrate-to-a-project", + "destination": "/docs/orm/prisma-migrate/getting-started" + }, + { + "source": "/docs/concepts/components/prisma-migrate/mental-model", + "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/mental-model" + }, + { + "source": "/docs/concepts/components/prisma-migrate/migration-histories", + "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/migration-histories" + }, + { + "source": "/docs/concepts/components/prisma-migrate/shadow-database", + "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/shadow-database" + }, + { + "source": "/docs/concepts/components/prisma-migrate/prisma-migrate-limitations-issues", + "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/limitations-and-known-issues" + }, + { + "source": "/docs/concepts/components/prisma-migrate/legacy-migrate", + "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/legacy-migrate" + }, + { + "source": "/docs/concepts/components/prisma-migrate/mental-model-illustrations/database-first-migration-flow.png", + "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/mental-model-illustrations/database-first-migration-flow.png" + }, + { + "source": "/docs/concepts/components/prisma-migrate/mental-model-illustrations/db-push-flow.png", + "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/mental-model-illustrations/db-push-flow.png" + }, + { + "source": "/docs/concepts/components/prisma-migrate/mental-model-illustrations/entity-first-migration-flow.png", + "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/mental-model-illustrations/entity-first-migration-flow.png" + }, + { + "source": "/docs/concepts/components/prisma-migrate/mental-model-illustrations/prisma-migrate-dev-flow.png", + "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/mental-model-illustrations/prisma-migrate-dev-flow.png" + }, + { + "source": "/docs/concepts/components/prisma-migrate/mental-model-illustrations/prisma-migrate-diff-flow.png", + "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/mental-model-illustrations/prisma-migrate-diff-flow.png" + }, + { + "source": "/docs/concepts/components/prisma-migrate/mental-model-illustrations/prisma-migrate-lifecycle.png", + "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/mental-model-illustrations/prisma-migrate-lifecycle.png" + }, + { + "source": "/docs/concepts/components/prisma-migrate/mental-model-illustrations/prisma-migrate-state-mgt.png", + "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/mental-model-illustrations/prisma-migrate-state-mgt.png" + }, + { + "source": "/docs/concepts/components/prisma-migrate/migrate-mapping.png", + "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/migrate-mapping.png" + }, + { + "source": "/docs/concepts/components/prisma-migrate/shadow-database.png", + "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/shadow-database.png" + }, + { + "source": "/docs/concepts/components/prisma-migrate/shadow-db.png", + "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/shadow-db.png" + }, + { + "source": "/docs/guides/migrate/seed-database", + "destination": "/docs/orm/prisma-migrate/workflows/seeding" + }, + { + "source": "/docs/guides/migrate/developing-with-prisma-migrate/team-development", + "destination": "/docs/orm/prisma-migrate/workflows/team-development" + }, + { + "source": "/docs/concepts/components/prisma-migrate/supported-types-and-db-features", + "destination": "/docs/orm/prisma-migrate/workflows/native-database-types" + }, + { + "source": "/docs/guides/migrate/developing-with-prisma-migrate/enable-native-database-functions", + "destination": "/docs/orm/prisma-migrate/workflows/native-database-functions" + }, + { + "source": "/docs/guides/migrate/prototyping-schema-db-push", + "destination": "/docs/orm/prisma-migrate/workflows/prototyping-your-schema" + }, + { + "source": "/docs/guides/migrate/developing-with-prisma-migrate/troubleshooting-development", + "destination": "/docs/orm/prisma-migrate/workflows/troubleshooting" + }, + { + "source": "/docs/guides/migrate/developing-with-prisma-migrate/baselining", + "destination": "/docs/orm/prisma-migrate/workflows/baselining" + }, + { + "source": "/docs/guides/migrate/developing-with-prisma-migrate/customizing-migrations", + "destination": "/docs/orm/prisma-migrate/workflows/customizing-migrations" + }, + { + "source": "/docs/guides/migrate/data-migration", + "destination": "/docs/orm/prisma-migrate/workflows/data-migration" + }, + { + "source": "/docs/guides/migrate/developing-with-prisma-migrate/squashing-migrations", + "destination": "/docs/orm/prisma-migrate/workflows/squashing-migrations" + }, + { + "source": "/docs/guides/migrate/developing-with-prisma-migrate/generating-down-migrations", + "destination": "/docs/orm/prisma-migrate/workflows/generating-down-migrations" + }, + { + "source": "/docs/guides/migrate/production-troubleshooting", + "destination": "/docs/orm/prisma-migrate/workflows/patching-and-hotfixing" + }, + { + "source": "/docs/guides/migrate/developing-with-prisma-migrate/include-unsupported-database-features", + "destination": "/docs/orm/prisma-migrate/workflows/unsupported-database-features" + }, + { + "source": "/docs/concepts/components/prisma-migrate/migrate-development-production", + "destination": "/docs/orm/prisma-migrate/workflows/development-and-production" + }, + { + "source": "/docs/guides/migrate/developing-with-prisma-migrate/deploy-db.png", + "destination": "/docs/orm/prisma-migrate/workflows/deploy-db.png" + }, + { + "source": "/docs/guides/migrate/developing-with-prisma-migrate/existing-database.png", + "destination": "/docs/orm/prisma-migrate/workflows/existing-database.png" + }, + { + "source": "/docs/guides/migrate/developing-with-prisma-migrate/migrate-team-dev.png", + "destination": "/docs/orm/prisma-migrate/workflows/migrate-team-dev.png" + }, + { + "source": "/docs/guides/migrate/developing-with-prisma-migrate/migration-history.png", + "destination": "/docs/orm/prisma-migrate/workflows/migration-history.png" + }, + { + "source": "/docs/guides/migrate/developing-with-prisma-migrate/new-dev-db.png", + "destination": "/docs/orm/prisma-migrate/workflows/new-dev-db.png" + }, + { + "source": "/docs/concepts/components/prisma-migrate", + "destination": "/docs/orm/prisma-migrate" + }, + { + "source": "/docs/concepts/components/prisma-schema/data-sources", + "destination": "/docs/orm/prisma-schema/overview/data-sources" + }, + { + "source": "/docs/concepts/components/prisma-schema/generators", + "destination": "/docs/orm/prisma-schema/overview/generators" + }, + { + "source": "/docs/concepts/components/prisma-schema/data-model", + "destination": "/docs/orm/prisma-schema/data-model/models" + }, + { + "source": "/docs/concepts/components/prisma-schema/relations/one-to-one-relations", + "destination": "/docs/orm/prisma-schema/data-model/relations/one-to-one-relations" + }, + { + "source": "/docs/concepts/components/prisma-schema/relations/one-to-many-relations", + "destination": "/docs/orm/prisma-schema/data-model/relations/one-to-many-relations" + }, + { + "source": "/docs/concepts/components/prisma-schema/relations/many-to-many-relations", + "destination": "/docs/orm/prisma-schema/data-model/relations/many-to-many-relations" + }, + { + "source": "/docs/concepts/components/prisma-schema/relations/self-relations", + "destination": "/docs/orm/prisma-schema/data-model/relations/self-relations" + }, + { + "source": "/docs/concepts/components/prisma-schema/relations/referential-actions/special-rules-for-referential-actions", + "destination": "/docs/orm/prisma-schema/data-model/relations/referential-actions/special-rules-for-referential-actions" + }, + { + "source": "/docs/concepts/components/prisma-schema/relations/referential-actions", + "destination": "/docs/orm/prisma-schema/data-model/relations/referential-actions" + }, + { + "source": "/docs/concepts/components/prisma-schema/relations/relation-mode", + "destination": "/docs/orm/prisma-schema/data-model/relations/relation-mode" + }, + { + "source": "/docs/concepts/components/prisma-schema/relations/troubleshooting-relations", + "destination": "/docs/orm/prisma-schema/data-model/relations/troubleshooting-relations" + }, + { + "source": "/docs/concepts/components/prisma-schema/relations", + "destination": "/docs/orm/prisma-schema/data-model/relations" + }, + { + "source": "/docs/concepts/components/prisma-schema/relations/one-to-many.png", + "destination": "/docs/orm/prisma-schema/data-model/relations/one-to-many.png" + }, + { + "source": "/docs/concepts/components/prisma-schema/relations/quick-fix-index.png", + "destination": "/docs/orm/prisma-schema/data-model/relations/quick-fix-index.png" + }, + { + "source": "/docs/concepts/components/prisma-schema/relations/quick-fix-index.snagx", + "destination": "/docs/orm/prisma-schema/data-model/relations/quick-fix-index.snagx" + }, + { + "source": "/docs/concepts/components/prisma-schema/relations/relations-intro.png", + "destination": "/docs/orm/prisma-schema/data-model/relations/relations-intro.png" + }, + { + "source": "/docs/concepts/components/prisma-schema/relations/sample-schema.png", + "destination": "/docs/orm/prisma-schema/data-model/relations/sample-schema.png" + }, + { + "source": "/docs/concepts/components/prisma-schema/indexes", + "destination": "/docs/orm/prisma-schema/data-model/indexes" + }, + { + "source": "/docs/concepts/components/prisma-schema/views", + "destination": "/docs/orm/prisma-schema/data-model/views" + }, + { + "source": "/docs/concepts/components/prisma-schema/names-in-underlying-database", + "destination": "/docs/orm/prisma-schema/data-model/database-mapping" + }, + { + "source": "/docs/guides/other/multi-schema", + "destination": "/docs/orm/prisma-schema/data-model/multi-schema" + }, + { + "source": "/docs/concepts/components/prisma-schema/features-without-psl-equivalent", + "destination": "/docs/orm/prisma-schema/data-model/unsupported-database-features" + }, + { + "source": "/docs/concepts/components/introspection", + "destination": "/docs/orm/prisma-schema/introspection" + }, + { + "source": "/docs/concepts/components/prisma-schema/postgresql-extensions", + "destination": "/docs/orm/prisma-schema/postgresql-extensions" + }, + { + "source": "/docs/concepts/components/prisma-schema/prisma-schema/relations-intro.png", + "destination": "/docs/orm/prisma-schema/prisma-schema/relations-intro.png" + }, + { + "source": "/docs/concepts/components/prisma-schema/prisma-schema/sample-database.png", + "destination": "/docs/orm/prisma-schema/prisma-schema/sample-database.png" + }, + { + "source": "/docs/concepts/components/prisma-studio", + "destination": "/docs/orm/tools/prisma-studio" + }, + { + "source": "/docs/concepts/components/images/drivers/qe-query-engine-adapter.png", + "destination": "/docs/orm/tools/images/drivers/qe-query-engine-adapter.png" + }, + { + "source": "/docs/concepts/components/images/drivers/qe-query-execution-flow.png", + "destination": "/docs/orm/tools/images/drivers/qe-query-execution-flow.png" + }, + { + "source": "/docs/concepts/components/images/prisma-studio/models-view.png", + "destination": "/docs/orm/tools/images/prisma-studio/models-view.png" + }, + { + "source": "/docs/concepts/components/images/prisma-studio/open-close-models.png", + "destination": "/docs/orm/tools/images/prisma-studio/open-close-models.png" + }, + { + "source": "/docs/concepts/components/images/prisma-studio/model-view-keyboard-shortcuts.png", + "destination": "/docs/orm/tools/images/prisma-studio/model-view-keyboard-shortcuts.png" + }, + { + "source": "/docs/concepts/components/images/prisma-studio/save-multiple-changes.png", + "destination": "/docs/orm/tools/images/prisma-studio/save-multiple-changes.png" + }, + { + "source": "/docs/concepts/components/images/prisma-studio/add-remove-filters.png", + "destination": "/docs/orm/tools/images/prisma-studio/add-remove-filters.png" + }, + { + "source": "/docs/concepts/components/images/prisma-studio/show-hide-fields.png", + "destination": "/docs/orm/tools/images/prisma-studio/show-hide-fields.png" + }, + { + "source": "/docs/concepts/components/images/prisma-studio/show-hide-records.png", + "destination": "/docs/orm/tools/images/prisma-studio/show-hide-records.png" + }, + { + "source": "/docs/concepts/components/images/prisma-studio/model-sort.png", + "destination": "/docs/orm/tools/images/prisma-studio/model-sort.png" + }, + { + "source": "/docs/concepts/components/images/prisma-studio/array.svg", + "destination": "/docs/orm/tools/images/prisma-studio/array.svg" + }, + { + "source": "/docs/concepts/components/images/prisma-studio/boolean.svg", + "destination": "/docs/orm/tools/images/prisma-studio/boolean.svg" + }, + { + "source": "/docs/concepts/components/images/prisma-studio/database.svg", + "destination": "/docs/orm/tools/images/prisma-studio/database.svg" + }, + { + "source": "/docs/concepts/components/images/prisma-studio/datetime.svg", + "destination": "/docs/orm/tools/images/prisma-studio/datetime.svg" + }, + { + "source": "/docs/concepts/components/images/prisma-studio/enum.svg", + "destination": "/docs/orm/tools/images/prisma-studio/enum.svg" + }, + { + "source": "/docs/concepts/components/images/prisma-studio/number.svg", + "destination": "/docs/orm/tools/images/prisma-studio/number.svg" + }, + { + "source": "/docs/concepts/components/images/prisma-studio/object.svg", + "destination": "/docs/orm/tools/images/prisma-studio/object.svg" + }, + { + "source": "/docs/concepts/components/images/prisma-studio/string.svg", + "destination": "/docs/orm/tools/images/prisma-studio/string.svg" + }, + { + "source": "/docs/concepts/components", + "destination": "/docs/orm/tools" + }, + { + "source": "/docs/reference/api-reference/prisma-client-reference", + "destination": "/docs/orm/reference/prisma-client-reference" + }, + { + "source": "/docs/reference/api-reference/prisma-schema-reference", + "destination": "/docs/orm/reference/prisma-schema-reference" + }, + { + "source": "/docs/reference/api-reference/command-reference", + "destination": "/docs/orm/reference/prisma-cli-reference" + }, + { + "source": "/docs/reference/api-reference/error-reference", + "destination": "/docs/orm/reference/error-reference" + }, + { + "source": "/docs/reference/api-reference/environment-variables-reference", + "destination": "/docs/orm/reference/environment-variables-reference" + }, + { + "source": "/docs/reference/database-reference/database-features", + "destination": "/docs/orm/reference/database-features" + }, + { + "source": "/docs/reference/database-reference/supported-databases", + "destination": "/docs/orm/reference/supported-databases" + }, + { + "source": "/docs/reference/database-reference/connection-urls", + "destination": "/docs/orm/reference/connection-urls" + }, + { + "source": "/docs/reference/system-requirements", + "destination": "/docs/orm/reference/system-requirements" + }, + { + "source": "/docs/concepts/components/preview-features/client-preview-features", + "destination": "/docs/orm/reference/preview-features/client-preview-features" + }, + { + "source": "/docs/concepts/components/preview-features/cli-preview-features", + "destination": "/docs/orm/reference/preview-features/cli-preview-features" + }, + { + "source": "/docs/concepts/components/preview-features", + "destination": "/docs/orm/reference/preview-features" + }, + { + "source": "/docs/reference", + "destination": "/docs/orm/reference" + }, + { + "source": "/docs/concepts/components/prisma-engines/query-engine", + "destination": "/docs/orm/more/under-the-hood/engines" + }, + { + "source": "/docs/concepts/components/prisma-engines/query-engine-node-js-at-runtime.png", + "destination": "/docs/orm/more/under-the-hood/query-engine-node-js-at-runtime.png" + }, + { + "source": "/docs/concepts/components/prisma-engines/typical-flow-query-engine-at-runtime.png", + "destination": "/docs/orm/more/under-the-hood/typical-flow-query-engine-at-runtime.png" + }, + { + "source": "/docs/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-5/rejectonnotfound-changes", + "destination": "/docs/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-5/rejectonnotfound-changes" + }, + { + "source": "/docs/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-5/jsonprotocol-changes", + "destination": "/docs/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-5/jsonprotocol-changes" + }, + { + "source": "/docs/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-5", + "destination": "/docs/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-5" + }, + { + "source": "/docs/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-4", + "destination": "/docs/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-4" + }, + { + "source": "/docs/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-3/named-constraints", + "destination": "/docs/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-3/named-constraints" + }, + { + "source": "/docs/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-3/referential-actions", + "destination": "/docs/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-3/referential-actions" + }, + { + "source": "/docs/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-3", + "destination": "/docs/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-3" + }, + { + "source": "/docs/guides/upgrade-guides/upgrading-versions/codemods", + "destination": "/docs/orm/more/upgrade-guides/upgrading-versions/codemods" + }, + { + "source": "/docs/guides/upgrade-guides/upgrading-versions", + "destination": "/docs/orm/more/upgrade-guides/upgrading-versions" + }, + { + "source": "/docs/guides/upgrade-guides/upgrading-to-use-preview-features", + "destination": "/docs/orm/more/upgrade-guides/upgrading-to-use-preview-features" + }, + { + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/how-to-upgrade", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/how-to-upgrade" + }, + { + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/schema-incompatibilities", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/schema-incompatibilities" + }, + { + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-the-prisma-layer", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/upgrading-the-prisma-layer" + }, + { + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-nexus-prisma-to-nexus", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/upgrading-nexus-prisma-to-nexus" + }, + { + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-prisma-binding-to-nexus", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/upgrading-prisma-binding-to-nexus" + }, + { + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-prisma-binding-to-sdl-first", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/upgrading-prisma-binding-to-sdl-first" + }, + { + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-a-rest-api", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/upgrading-a-rest-api" + }, + { + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/upgrade-from-mongodb-beta", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/upgrade-from-mongodb-beta" + }, + { + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/images/TablePlus-GUI.png", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/images/TablePlus-GUI.png" + }, + { + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/images/add-missing-default-constraints-to-columns.png", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/images/add-missing-default-constraints-to-columns.png" + }, + { + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/images/altering-columns-to-use-enum.png", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/images/altering-columns-to-use-enum.png" + }, + { + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/images/download-graphql-schema.png", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/images/download-graphql-schema.png" + }, + { + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/images/expose-prisma-model-fields-with-t-model.png", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/images/expose-prisma-model-fields-with-t-model.png" + }, + { + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/images/fix-columns-with-json-data-types.png", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/images/fix-columns-with-json-data-types.png" + }, + { + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/images/fix-incorrect-m-n-relations-sql.png", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/images/fix-incorrect-m-n-relations-sql.png" + }, + { + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/images/fix-schema-incompatibilities.png", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/images/fix-schema-incompatibilities.png" + }, + { + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/images/prisma-cli-introspection-flow.png", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/images/prisma-cli-introspection-flow.png" + }, + { + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/images/regenerate-resolvers-with-t-crud.png", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/images/regenerate-resolvers-with-t-crud.png" + }, + { + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/images/run-sql-command-to-alter-column.png", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/images/run-sql-command-to-alter-column.png" + }, + { + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/images/use-t-crud-to-generate-resolvers.png", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/images/use-t-crud-to-generate-resolvers.png" + }, + { + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1" + }, + { + "source": "/docs/concepts/more/comparisons/prisma-and-typeorm", + "destination": "/docs/orm/more/comparisons/prisma-and-typeorm" + }, + { + "source": "/docs/concepts/more/comparisons/prisma-and-sequelize", + "destination": "/docs/orm/more/comparisons/prisma-and-sequelize" + }, + { + "source": "/docs/concepts/more/comparisons/prisma-and-mongoose", + "destination": "/docs/orm/more/comparisons/prisma-and-mongoose" + }, + { + "source": "/docs/concepts/more/comparisons/prisma-and-drizzle", + "destination": "/docs/orm/more/comparisons/prisma-and-drizzle" + }, + { + "source": "/docs/concepts/more/comparisons", + "destination": "/docs/orm/more/comparisons" + }, + { + "source": "/docs/guides/migrate-to-prisma/migrate-from-typeorm", + "destination": "/docs/orm/more/migrating-to-prisma/migrate-from-typeorm" + }, + { + "source": "/docs/guides/migrate-to-prisma/migrate-from-sequelize", + "destination": "/docs/orm/more/migrating-to-prisma/migrate-from-sequelize" + }, + { + "source": "/docs/guides/migrate-to-prisma/migrate-from-mongoose", + "destination": "/docs/orm/more/migrating-to-prisma/migrate-from-mongoose" + }, + { + "source": "/docs/guides/migrate-to-prisma", + "destination": "/docs/orm/more/migrating-to-prisma" + }, + { + "source": "/docs/guides/development-environment/environment-variables/env-files", + "destination": "/docs/orm/more/development-environment/environment-variables/env-files" + }, + { + "source": "/docs/guides/development-environment/environment-variables/managing-env-files-and-setting-variables", + "destination": "/docs/orm/more/development-environment/environment-variables/managing-env-files-and-setting-variables" + }, + { + "source": "/docs/guides/development-environment/environment-variables/using-multiple-env-files", + "destination": "/docs/orm/more/development-environment/environment-variables/using-multiple-env-files" + }, + { + "source": "/docs/guides/development-environment/environment-variables", + "destination": "/docs/orm/more/development-environment/environment-variables" + }, + { + "source": "/docs/guides/development-environment/editor-setup", + "destination": "/docs/orm/more/development-environment/editor-setup" + }, + { + "source": "/docs/guides/development-environment", + "destination": "/docs/orm/more/development-environment" + }, + { + "source": "/docs/guides/other/troubleshooting-orm/creating-bug-reports", + "destination": "/docs/orm/more/help-and-troubleshooting/creating-bug-reports" + }, + { + "source": "/docs/guides/other/troubleshooting-orm/help-articles/autocompletion-in-graphql-resolvers-with-js", + "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/autocompletion-in-graphql-resolvers-with-js" + }, + { + "source": "/docs/guides/other/troubleshooting-orm/help-articles/working-with-many-to-many-relations", + "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/working-with-many-to-many-relations" + }, + { + "source": "/docs/guides/other/troubleshooting-orm/help-articles/nextjs-prisma-client-dev-practices", + "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/nextjs-prisma-client-dev-practices" + }, + { + "source": "/docs/guides/other/troubleshooting-orm/help-articles/nextjs-prisma-client-monorepo", + "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/nextjs-prisma-client-monorepo" + }, + { + "source": "/docs/guides/other/troubleshooting-orm/help-articles/pkg-issue", + "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/pkg-issue" + }, + { + "source": "/docs/guides/other/troubleshooting-orm/help-articles/comparing-columns-through-raw-queries", + "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/comparing-columns-through-raw-queries" + }, + { + "source": "/docs/guides/other/troubleshooting-orm/help-articles/vercel-caching-issue", + "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/vercel-caching-issue" + }, + { + "source": "/docs/guides/other/troubleshooting-orm/help-articles/netlify-caching-issue", + "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/netlify-caching-issue" + }, + { + "source": "/docs/guides/other/advanced-database-tasks/data-validation/postgresql", + "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/check-constraints" + }, + { + "source": "/docs/guides/other/troubleshooting-orm/help-articles", + "destination": "/docs/orm/more/help-and-troubleshooting/help-articles" + }, + { + "source": "/docs/guides/other/troubleshooting-orm/help-articles/netlify-build-command-filled.png", + "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/netlify-build-command-filled.png" + }, + { + "source": "/docs/guides/other/troubleshooting-orm/help-articles/netlify-edit-settings.png", + "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/netlify-edit-settings.png" + }, + { + "source": "/docs/guides/other/troubleshooting-orm/help-articles/prisma-autocompletion-in-js.png", + "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/prisma-autocompletion-in-js.png" + }, + { + "source": "/docs/guides/other/troubleshooting-orm/help-articles/unwanted-autocomplete-values-in-vscode.png", + "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/unwanted-autocomplete-values-in-vscode.png" + }, + { + "source": "/docs/guides/other/troubleshooting-orm/help-articles/vercel-ui-build-command-filled.png", + "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/vercel-ui-build-command-filled.png" + }, + { + "source": "/docs/guides/other/troubleshooting-orm/help-articles/vercel-ui-build-command.png", + "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/vercel-ui-build-command.png" + }, + { + "source": "/docs/about/prisma/releases", + "destination": "/docs/orm/more/releases" + }, + { + "source": "/docs/data-platform/accelerate/what-is-accelerate", + "destination": "/docs/accelerate/what-is-accelerate" + }, + { + "source": "/docs/data-platform/accelerate/getting-started", + "destination": "/docs/accelerate/getting-started" + }, + { + "source": "/docs/data-platform/accelerate/concepts", + "destination": "/docs/accelerate/concepts" + }, + { + "source": "/docs/data-platform/accelerate/api-reference", + "destination": "/docs/accelerate/api-reference" + }, + { + "source": "/docs/data-platform/accelerate/limitations", + "destination": "/docs/accelerate/limitations" + }, + { + "source": "/docs/data-platform/accelerate/evaluating", + "destination": "/docs/accelerate/evaluating" + }, + { + "source": "/docs/data-platform/accelerate/faq", + "destination": "/docs/accelerate/faq" + }, + { + "source": "/docs/data-platform/accelerate/feedback", + "destination": "/docs/accelerate/feedback" + }, + { + "source": "/docs/data-platform/accelerate/images/accelerate-update-database-connection-string.png", + "destination": "/docs/accelerate/images/accelerate-update-database-connection-string.png" + }, + { + "source": "/docs/data-platform/accelerate/images/accelerate.png", + "destination": "/docs/accelerate/images/accelerate.png" + }, + { + "source": "/docs/data-platform/accelerate/images/no-cache.png", + "destination": "/docs/accelerate/images/no-cache.png" + }, + { + "source": "/docs/data-platform/accelerate/images/speed-test.png", + "destination": "/docs/accelerate/images/speed-test.png" + }, + { + "source": "/docs/data-platform/accelerate/images/swr.png", + "destination": "/docs/accelerate/images/swr.png" + }, + { + "source": "/docs/data-platform/accelerate/images/ttl.png", + "destination": "/docs/accelerate/images/ttl.png" + }, + { + "source": "/docs/data-platform/accelerate/images/ttl_and_swr.png", + "destination": "/docs/accelerate/images/ttl_and_swr.png" + }, + { + "source": "/docs/guides/migrate/developing-with-prisma-migrate", + "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + }, + { + "source": "/docs/guides/migrate/patching-production", + "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + }, + { + "source": "/docs/guides/migrate", + "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + }, + { + "source": "/docs/guides/database", + "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + }, + { + "source": "/docs/guides/performance-and-optimization/metrics", + "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + }, + { + "source": "/docs/guides/performance-and-optimization/query-tracing", + "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + }, + { + "source": "/docs/guides/performance-and-optimization", + "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + }, + { + "source": "/docs/guides/upgrade-guides", + "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + }, + { + "source": "/docs/guides/other/troubleshooting-orm", + "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + }, + { + "source": "/docs/guides/other/advanced-database-tasks/typesafe-raw-sql", + "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + }, + { + "source": "/docs/guides/other/advanced-database-tasks/data-validation", + "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + }, + { + "source": "/docs/guides/other/advanced-database-tasks", + "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + }, + { + "source": "/docs/guides/other", + "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + }, + { + "source": "/docs/guides", + "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + }, + { + "source": "/docs/data-platform/pulse/what-is-pulse", + "destination": "/docs/pulse/what-is-pulse" + }, + { + "source": "/docs/data-platform/pulse/getting-started", + "destination": "/docs/pulse/getting-started" + }, + { + "source": "/docs/data-platform/pulse/concepts", + "destination": "/docs/pulse/concepts" + }, + { + "source": "/docs/data-platform/pulse/api-reference", + "destination": "/docs/pulse/api-reference" + }, + { + "source": "/docs/data-platform/pulse/current-limitations", + "destination": "/docs/pulse/current-limitations" + }, + { + "source": "/docs/data-platform/pulse/faq", + "destination": "/docs/pulse/faq" + }, + { + "source": "/docs/data-platform/pulse/feedback", + "destination": "/docs/pulse/feedback" + }, + { + "source": "/docs/reference/api-reference", + "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + }, + { + "source": "/docs/reference/database-reference", + "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + }, + { + "source": "/docs/data-platform/platform-console/about", + "destination": "/docs/platform/platform-console/about" + }, + { + "source": "/docs/data-platform/platform-console/concepts/workspaces", + "destination": "/docs/platform/platform-console/concepts/workspaces" + }, + { + "source": "/docs/data-platform/platform-console/concepts/projects", + "destination": "/docs/platform/platform-console/concepts/projects" + }, + { + "source": "/docs/data-platform/platform-console/concepts", + "destination": "/docs/platform/platform-console/concepts" + }, + { + "source": "/docs/data-platform/platform-console/maturity-levels", + "destination": "/docs/platform/platform-console/maturity-levels" + }, + { + "source": "/docs/data-platform/platform-console/limits", + "destination": "/docs/platform/platform-console/limits" + }, + { + "source": "/docs/data-platform/platform-console/support", + "destination": "/docs/platform/platform-console/support" + }, + { + "source": "/docs/data-platform/platform-console", + "destination": "/docs/platform/platform-console" + }, + { + "source": "/docs/data-platform/classic-projects/data-proxy/use-data-proxy", + "destination": "/docs/platform/classic-projects/data-proxy/use-data-proxy" + }, + { + "source": "/docs/data-platform/classic-projects/data-proxy/deploy", + "destination": "/docs/platform/classic-projects/data-proxy/deploy" + }, + { + "source": "/docs/data-platform/classic-projects/data-proxy/prisma-cli-with-data-proxy", + "destination": "/docs/platform/classic-projects/data-proxy/prisma-cli-with-data-proxy" + }, + { + "source": "/docs/data-platform/classic-projects/data-proxy/considerations-limitations", + "destination": "/docs/platform/classic-projects/data-proxy/considerations-limitations" + }, + { + "source": "/docs/data-platform/classic-projects/data-proxy", + "destination": "/docs/platform/classic-projects/data-proxy" + }, + { + "source": "/docs/data-platform/classic-projects/platform/static-ips", + "destination": "/docs/platform/classic-projects/platform/static-ips" + }, + { + "source": "/docs/data-platform/classic-projects/platform/projects/create", + "destination": "/docs/platform/classic-projects/platform/projects/create" + }, + { + "source": "/docs/data-platform/classic-projects/platform/projects/edit-settings", + "destination": "/docs/platform/classic-projects/platform/projects/edit-settings" + }, + { + "source": "/docs/data-platform/classic-projects/platform/projects/delete-project", + "destination": "/docs/platform/classic-projects/platform/projects/delete-project" + }, + { + "source": "/docs/data-platform/classic-projects/platform/projects", + "destination": "/docs/platform/classic-projects/platform/projects" + }, + { + "source": "/docs/data-platform/classic-projects/platform/environments/view-all", + "destination": "/docs/platform/classic-projects/platform/environments/view-all" + }, + { + "source": "/docs/data-platform/classic-projects/platform/environments/create", + "destination": "/docs/platform/classic-projects/platform/environments/create" + }, + { + "source": "/docs/data-platform/classic-projects/platform/environments/edit-settings/edit-name-and-url-handle", + "destination": "/docs/platform/classic-projects/platform/environments/edit-settings/edit-name-and-url-handle" + }, + { + "source": "/docs/data-platform/classic-projects/platform/environments/edit-settings/change-default-environment", + "destination": "/docs/platform/classic-projects/platform/environments/edit-settings/change-default-environment" + }, + { + "source": "/docs/data-platform/classic-projects/platform/environments/edit-settings", + "destination": "/docs/platform/classic-projects/platform/environments/edit-settings" + }, + { + "source": "/docs/data-platform/classic-projects/platform/environments/delete", + "destination": "/docs/platform/classic-projects/platform/environments/delete" + }, + { + "source": "/docs/data-platform/classic-projects/platform/environments", + "destination": "/docs/platform/classic-projects/platform/environments" + }, + { + "source": "/docs/data-platform/classic-projects/platform/members/roles-permissions", + "destination": "/docs/platform/classic-projects/platform/members/roles-permissions" + }, + { + "source": "/docs/data-platform/classic-projects/platform/members/add", + "destination": "/docs/platform/classic-projects/platform/members/add" + }, + { + "source": "/docs/data-platform/classic-projects/platform/members/change-role", + "destination": "/docs/platform/classic-projects/platform/members/change-role" + }, + { + "source": "/docs/data-platform/classic-projects/platform/members/remove", + "destination": "/docs/platform/classic-projects/platform/members/remove" + }, + { + "source": "/docs/data-platform/classic-projects/platform/members/images/team-members-invite-and-select-role.png", + "destination": "/docs/platform/classic-projects/platform/members/images/team-members-invite-and-select-role.png" + }, + { + "source": "/docs/data-platform/classic-projects/platform/members/images/team-members-invite-and-select-role.snagx", + "destination": "/docs/platform/classic-projects/platform/members/images/team-members-invite-and-select-role.snagx" + }, + { + "source": "/docs/data-platform/classic-projects/platform/members", + "destination": "/docs/platform/classic-projects/platform/members" + }, + { + "source": "/docs/data-platform/classic-projects/platform/data-browser", + "destination": "/docs/platform/classic-projects/platform/data-browser" + }, + { + "source": "/docs/data-platform/classic-projects/platform/query-console", + "destination": "/docs/platform/classic-projects/platform/query-console" + }, + { + "source": "/docs/data-platform/classic-projects/platform/schema-viewer", + "destination": "/docs/platform/classic-projects/platform/schema-viewer" + }, + { + "source": "/docs/data-platform/classic-projects/platform/account", + "destination": "/docs/platform/classic-projects/platform/account" + }, + { + "source": "/docs/data-platform/classic-projects/platform/github-integration", + "destination": "/docs/platform/classic-projects/platform/github-integration" + }, + { + "source": "/docs/data-platform/classic-projects/platform/troubleshooting/connection-to-db-timed-out", + "destination": "/docs/platform/classic-projects/platform/troubleshooting/connection-to-db-timed-out" + }, + { + "source": "/docs/data-platform/classic-projects/platform/troubleshooting/cannot-change-db-of-env", + "destination": "/docs/platform/classic-projects/platform/troubleshooting/cannot-change-db-of-env" + }, + { + "source": "/docs/data-platform/classic-projects/platform/troubleshooting/cannot-edit-schema-file", + "destination": "/docs/platform/classic-projects/platform/troubleshooting/cannot-edit-schema-file" + }, + { + "source": "/docs/data-platform/classic-projects/platform/troubleshooting/schema-file-does-not-update", + "destination": "/docs/platform/classic-projects/platform/troubleshooting/schema-file-does-not-update" + }, + { + "source": "/docs/data-platform/classic-projects/platform/troubleshooting", + "destination": "/docs/platform/classic-projects/platform/troubleshooting" + }, + { + "source": "/docs/data-platform/classic-projects/platform", + "destination": "/docs/platform/classic-projects/platform" + }, + { + "source": "/docs/data-platform/classic-projects/support", + "destination": "/docs/platform/classic-projects/support" + }, + { + "source": "/docs/data-platform/classic-projects/images/account/profile-menu-github-account.png", + "destination": "/docs/platform/classic-projects/images/account/profile-menu-github-account.png" + }, + { + "source": "/docs/data-platform/classic-projects/images/account/profile-menu-github-account.snagx", + "destination": "/docs/platform/classic-projects/images/account/profile-menu-github-account.snagx" + }, + { + "source": "/docs/data-platform/classic-projects/images/account/sign-up-01-create-first-project.png", + "destination": "/docs/platform/classic-projects/images/account/sign-up-01-create-first-project.png" + }, + { + "source": "/docs/data-platform/classic-projects/images/account/sign-up-01-create-first-project.snagx", + "destination": "/docs/platform/classic-projects/images/account/sign-up-01-create-first-project.snagx" + }, + { + "source": "/docs/data-platform/classic-projects/images/common/open-project-settings.png", + "destination": "/docs/platform/classic-projects/images/common/open-project-settings.png" + }, + { + "source": "/docs/data-platform/classic-projects/images/common/open-project-settings.snagx", + "destination": "/docs/platform/classic-projects/images/common/open-project-settings.snagx" + }, + { + "source": "/docs/data-platform/classic-projects/images/common/support-pop-up.png", + "destination": "/docs/platform/classic-projects/images/common/support-pop-up.png" + }, + { + "source": "/docs/data-platform/classic-projects/images/common/support-pop-up.snagx", + "destination": "/docs/platform/classic-projects/images/common/support-pop-up.snagx" + }, + { + "source": "/docs/data-platform/classic-projects/images/data-browser/models-view.png", + "destination": "/docs/platform/classic-projects/images/data-browser/models-view.png" + }, + { + "source": "/docs/data-platform/classic-projects/images/data-browser/models-view.snagx", + "destination": "/docs/platform/classic-projects/images/data-browser/models-view.snagx" + }, + { + "source": "/docs/data-platform/classic-projects/images/data-browser/open-close-models.png", + "destination": "/docs/platform/classic-projects/images/data-browser/open-close-models.png" + }, + { + "source": "/docs/data-platform/classic-projects/images/data-browser/open-close-models.snagx", + "destination": "/docs/platform/classic-projects/images/data-browser/open-close-models.snagx" + }, + { + "source": "/docs/data-platform/classic-projects/images/data-browser/model-view-keyboard-shortcuts.png", + "destination": "/docs/platform/classic-projects/images/data-browser/model-view-keyboard-shortcuts.png" + }, + { + "source": "/docs/data-platform/classic-projects/images/data-browser/model-view-keyboard-shortcuts.snagx", + "destination": "/docs/platform/classic-projects/images/data-browser/model-view-keyboard-shortcuts.snagx" + }, + { + "source": "/docs/data-platform/classic-projects/images/data-browser/save-multiple-changes.png", + "destination": "/docs/platform/classic-projects/images/data-browser/save-multiple-changes.png" + }, + { + "source": "/docs/data-platform/classic-projects/images/data-browser/save-multiple-changes.snagx", + "destination": "/docs/platform/classic-projects/images/data-browser/save-multiple-changes.snagx" + }, + { + "source": "/docs/data-platform/classic-projects/images/data-browser/add-remove-filters.png", + "destination": "/docs/platform/classic-projects/images/data-browser/add-remove-filters.png" + }, + { + "source": "/docs/data-platform/classic-projects/images/data-browser/add-remove-filters.snagx", + "destination": "/docs/platform/classic-projects/images/data-browser/add-remove-filters.snagx" + }, + { + "source": "/docs/data-platform/classic-projects/images/data-browser/show-hide-fields.png", + "destination": "/docs/platform/classic-projects/images/data-browser/show-hide-fields.png" + }, + { + "source": "/docs/data-platform/classic-projects/images/data-browser/show-hide-fields.snagx", + "destination": "/docs/platform/classic-projects/images/data-browser/show-hide-fields.snagx" + }, + { + "source": "/docs/data-platform/classic-projects/images/data-browser/show-hide-records.png", + "destination": "/docs/platform/classic-projects/images/data-browser/show-hide-records.png" + }, + { + "source": "/docs/data-platform/classic-projects/images/data-browser/show-hide-records.snagx", + "destination": "/docs/platform/classic-projects/images/data-browser/show-hide-records.snagx" + }, + { + "source": "/docs/data-platform/classic-projects/images/data-browser/model-sort.png", + "destination": "/docs/platform/classic-projects/images/data-browser/model-sort.png" + }, + { + "source": "/docs/data-platform/classic-projects/images/data-browser/model-sort.snagx", + "destination": "/docs/platform/classic-projects/images/data-browser/model-sort.snagx" + }, + { + "source": "/docs/data-platform/classic-projects/images/data-browser/array.svg", + "destination": "/docs/platform/classic-projects/images/data-browser/array.svg" + }, + { + "source": "/docs/data-platform/classic-projects/images/data-browser/boolean.svg", + "destination": "/docs/platform/classic-projects/images/data-browser/boolean.svg" + }, + { + "source": "/docs/data-platform/classic-projects/images/data-browser/database.svg", + "destination": "/docs/platform/classic-projects/images/data-browser/database.svg" + }, + { + "source": "/docs/data-platform/classic-projects/images/data-browser/datetime.svg", + "destination": "/docs/platform/classic-projects/images/data-browser/datetime.svg" + }, + { + "source": "/docs/data-platform/classic-projects/images/data-browser/enum.svg", + "destination": "/docs/platform/classic-projects/images/data-browser/enum.svg" + }, + { + "source": "/docs/data-platform/classic-projects/images/data-browser/number.svg", + "destination": "/docs/platform/classic-projects/images/data-browser/number.svg" + }, + { + "source": "/docs/data-platform/classic-projects/images/data-browser/object.svg", + "destination": "/docs/platform/classic-projects/images/data-browser/object.svg" + }, + { + "source": "/docs/data-platform/classic-projects/images/data-browser/string.svg", + "destination": "/docs/platform/classic-projects/images/data-browser/string.svg" + }, + { + "source": "/docs/data-platform/classic-projects/images/data-proxy/copy-connection-string.png", + "destination": "/docs/platform/classic-projects/images/data-proxy/copy-connection-string.png" + }, + { + "source": "/docs/data-platform/classic-projects/images/data-proxy/copy-connection-string.snagx", + "destination": "/docs/platform/classic-projects/images/data-proxy/copy-connection-string.snagx" + }, + { + "source": "/docs/data-platform/classic-projects/images/data-proxy/create-and-name-new-connection-string.png", + "destination": "/docs/platform/classic-projects/images/data-proxy/create-and-name-new-connection-string.png" + }, + { + "source": "/docs/data-platform/classic-projects/images/data-proxy/create-and-name-new-connection-string.snagx", + "destination": "/docs/platform/classic-projects/images/data-proxy/create-and-name-new-connection-string.snagx" + }, + { + "source": "/docs/data-platform/classic-projects/images/data-proxy/prisma-bundle-with-data-proxy.svg", + "destination": "/docs/platform/classic-projects/images/data-proxy/prisma-bundle-with-data-proxy.svg" + }, + { + "source": "/docs/data-platform/classic-projects/images/data-proxy/prisma-bundle-without-data-proxy.svg", + "destination": "/docs/platform/classic-projects/images/data-proxy/prisma-bundle-without-data-proxy.svg" + }, + { + "source": "/docs/data-platform/classic-projects/images/environments/create-01-drop-down-select-create.png", + "destination": "/docs/platform/classic-projects/images/environments/create-01-drop-down-select-create.png" + }, + { + "source": "/docs/data-platform/classic-projects/images/environments/create-01-drop-down-select-create.snagx", + "destination": "/docs/platform/classic-projects/images/environments/create-01-drop-down-select-create.snagx" + }, + { + "source": "/docs/data-platform/classic-projects/images/environments/create-env-upload-schema-file.png", + "destination": "/docs/platform/classic-projects/images/environments/create-env-upload-schema-file.png" + }, + { + "source": "/docs/data-platform/classic-projects/images/environments/create-no-schema-sync-02-repo-branch-database-connection-string-data-proxy.png", + "destination": "/docs/platform/classic-projects/images/environments/create-no-schema-sync-02-repo-branch-database-connection-string-data-proxy.png" + }, + { + "source": "/docs/data-platform/classic-projects/images/environments/create-no-schema-sync-02-repo-branch-database-connection-string-data-proxy.snagx", + "destination": "/docs/platform/classic-projects/images/environments/create-no-schema-sync-02-repo-branch-database-connection-string-data-proxy.snagx" + }, + { + "source": "/docs/data-platform/classic-projects/images/environments/create-on-schema-sync-02-connection-string-static-ips-data-proxy-region.png", + "destination": "/docs/platform/classic-projects/images/environments/create-on-schema-sync-02-connection-string-static-ips-data-proxy-region.png" + }, + { + "source": "/docs/data-platform/classic-projects/images/environments/create-on-schema-sync-02-connection-string-static-ips-data-proxy-region.snagx", + "destination": "/docs/platform/classic-projects/images/environments/create-on-schema-sync-02-connection-string-static-ips-data-proxy-region.snagx" + }, + { + "source": "/docs/data-platform/classic-projects/images/environments/default-environment.png", + "destination": "/docs/platform/classic-projects/images/environments/default-environment.png" + }, + { + "source": "/docs/data-platform/classic-projects/images/environments/default-environment.snagx", + "destination": "/docs/platform/classic-projects/images/environments/default-environment.snagx" + }, + { + "source": "/docs/data-platform/classic-projects/images/environments/delete-01-click-three-dot-select-delete.png", + "destination": "/docs/platform/classic-projects/images/environments/delete-01-click-three-dot-select-delete.png" + }, + { + "source": "/docs/data-platform/classic-projects/images/environments/delete-01-click-three-dot-select-delete.snagx", + "destination": "/docs/platform/classic-projects/images/environments/delete-01-click-three-dot-select-delete.snagx" + }, + { + "source": "/docs/data-platform/classic-projects/images/environments/edit-01-change-database-connection-string.png", + "destination": "/docs/platform/classic-projects/images/environments/edit-01-change-database-connection-string.png" + }, + { + "source": "/docs/data-platform/classic-projects/images/environments/edit-01-change-database-connection-string.snagx", + "destination": "/docs/platform/classic-projects/images/environments/edit-01-change-database-connection-string.snagx" + }, + { + "source": "/docs/data-platform/classic-projects/images/environments/edit-01-change-default.png", + "destination": "/docs/platform/classic-projects/images/environments/edit-01-change-default.png" + }, + { + "source": "/docs/data-platform/classic-projects/images/environments/edit-01-change-default.snagx", + "destination": "/docs/platform/classic-projects/images/environments/edit-01-change-default.snagx" + }, + { + "source": "/docs/data-platform/classic-projects/images/environments/edit-01-change-name-and-URL-handle.png", + "destination": "/docs/platform/classic-projects/images/environments/edit-01-change-name-and-URL-handle.png" + }, + { + "source": "/docs/data-platform/classic-projects/images/environments/edit-01-change-name-and-URL-handle.snagx", + "destination": "/docs/platform/classic-projects/images/environments/edit-01-change-name-and-URL-handle.snagx" + }, + { + "source": "/docs/data-platform/classic-projects/images/environments/list-all-environments.png", + "destination": "/docs/platform/classic-projects/images/environments/list-all-environments.png" + }, + { + "source": "/docs/data-platform/classic-projects/images/environments/list-all-environments.snagx", + "destination": "/docs/platform/classic-projects/images/environments/list-all-environments.snagx" + }, + { + "source": "/docs/data-platform/classic-projects/images/environments/switch-environment.png", + "destination": "/docs/platform/classic-projects/images/environments/switch-environment.png" + }, + { + "source": "/docs/data-platform/classic-projects/images/environments/switch-environment.snagx", + "destination": "/docs/platform/classic-projects/images/environments/switch-environment.snagx" + }, + { + "source": "/docs/data-platform/classic-projects/images/environments/view-all-01-environments-drop-down-view-all.png", + "destination": "/docs/platform/classic-projects/images/environments/view-all-01-environments-drop-down-view-all.png" + }, + { + "source": "/docs/data-platform/classic-projects/images/environments/view-all-01-environments-drop-down-view-all.snagx", + "destination": "/docs/platform/classic-projects/images/environments/view-all-01-environments-drop-down-view-all.snagx" + }, + { + "source": "/docs/data-platform/classic-projects/images/github/add-github-account-or-org.png", + "destination": "/docs/platform/classic-projects/images/github/add-github-account-or-org.png" + }, + { + "source": "/docs/data-platform/classic-projects/images/github/add-github-account-or-org.snagx", + "destination": "/docs/platform/classic-projects/images/github/add-github-account-or-org.snagx" + }, + { + "source": "/docs/data-platform/classic-projects/images/github/grant-access-github-app.png", + "destination": "/docs/platform/classic-projects/images/github/grant-access-github-app.png" + }, + { + "source": "/docs/data-platform/classic-projects/images/github/grant-access-github-app.snagx", + "destination": "/docs/platform/classic-projects/images/github/grant-access-github-app.snagx" + }, + { + "source": "/docs/data-platform/classic-projects/images/github/grant-access-to-select-github-repositories.png", + "destination": "/docs/platform/classic-projects/images/github/grant-access-to-select-github-repositories.png" + }, + { + "source": "/docs/data-platform/classic-projects/images/github/grant-access-to-select-github-repositories.snagx", + "destination": "/docs/platform/classic-projects/images/github/grant-access-to-select-github-repositories.snagx" + }, + { + "source": "/docs/data-platform/classic-projects/images/projects/create-02-enable-schema-sync-github-account-branch-schema-path.png", + "destination": "/docs/platform/classic-projects/images/projects/create-02-enable-schema-sync-github-account-branch-schema-path.png" + }, + { + "source": "/docs/data-platform/classic-projects/images/projects/create-02-enable-schema-sync-github-account-branch-schema-path.snagx", + "destination": "/docs/platform/classic-projects/images/projects/create-02-enable-schema-sync-github-account-branch-schema-path.snagx" + }, + { + "source": "/docs/data-platform/classic-projects/images/projects/create-02-link-schema-file-from-a-repository.png", + "destination": "/docs/platform/classic-projects/images/projects/create-02-link-schema-file-from-a-repository.png" + }, + { + "source": "/docs/data-platform/classic-projects/images/projects/create-02-upload-schema-file.png", + "destination": "/docs/platform/classic-projects/images/projects/create-02-upload-schema-file.png" + }, + { + "source": "/docs/data-platform/classic-projects/images/projects/prisma-data-platform-projects-page.png", + "destination": "/docs/platform/classic-projects/images/projects/prisma-data-platform-projects-page.png" + }, + { + "source": "/docs/data-platform/classic-projects/images/projects/prisma-data-platform-projects-page.snagx", + "destination": "/docs/platform/classic-projects/images/projects/prisma-data-platform-projects-page.snagx" + }, + { + "source": "/docs/data-platform/classic-projects/images/query-console/add-query-with-autocomplete.png", + "destination": "/docs/platform/classic-projects/images/query-console/add-query-with-autocomplete.png" + }, + { + "source": "/docs/data-platform/classic-projects/images/query-console/add-query-with-autocomplete.snagx", + "destination": "/docs/platform/classic-projects/images/query-console/add-query-with-autocomplete.snagx" + }, + { + "source": "/docs/data-platform/classic-projects/images/query-console/components.png", + "destination": "/docs/platform/classic-projects/images/query-console/components.png" + }, + { + "source": "/docs/data-platform/classic-projects/images/query-console/components.snagx", + "destination": "/docs/platform/classic-projects/images/query-console/components.snagx" + }, + { + "source": "/docs/data-platform/classic-projects/images/query-console/run-query.png", + "destination": "/docs/platform/classic-projects/images/query-console/run-query.png" + }, + { + "source": "/docs/data-platform/classic-projects/images/query-console/run-query.snagx", + "destination": "/docs/platform/classic-projects/images/query-console/run-query.snagx" + }, + { + "source": "/docs/data-platform/classic-projects/images/schema-viewer/overview.png", + "destination": "/docs/platform/classic-projects/images/schema-viewer/overview.png" + }, + { + "source": "/docs/data-platform/classic-projects/images/schema-viewer/overview.snagx", + "destination": "/docs/platform/classic-projects/images/schema-viewer/overview.snagx" + }, + { + "source": "/docs/data-platform/classic-projects/images/schema-viewer/project-introspected-schema.png", + "destination": "/docs/platform/classic-projects/images/schema-viewer/project-introspected-schema.png" + }, + { + "source": "/docs/data-platform/classic-projects/images/schema-viewer/project-introspected-schema.snagx", + "destination": "/docs/platform/classic-projects/images/schema-viewer/project-introspected-schema.snagx" + }, + { + "source": "/docs/data-platform/classic-projects/images/schema-viewer/project-no-models-no-schema.png", + "destination": "/docs/platform/classic-projects/images/schema-viewer/project-no-models-no-schema.png" + }, + { + "source": "/docs/data-platform/classic-projects/images/schema-viewer/project-no-models-no-schema.snagx", + "destination": "/docs/platform/classic-projects/images/schema-viewer/project-no-models-no-schema.snagx" + }, + { + "source": "/docs/data-platform/classic-projects/images/schema-viewer/project-schema-viewer.png", + "destination": "/docs/platform/classic-projects/images/schema-viewer/project-schema-viewer.png" + }, + { + "source": "/docs/data-platform/classic-projects/images/schema-viewer/provide-prisma-schema.png", + "destination": "/docs/platform/classic-projects/images/schema-viewer/provide-prisma-schema.png" + }, + { + "source": "/docs/data-platform/classic-projects/images/schema-viewer/provide-prisma-schema.snagx", + "destination": "/docs/platform/classic-projects/images/schema-viewer/provide-prisma-schema.snagx" + }, + { + "source": "/docs/data-platform/classic-projects", + "destination": "/docs/platform/classic-projects" + }, + { + "source": "/docs/data-platform", + "destination": "/docs/platform" + }, + { + "source": "/docs/about/prisma/example-projects", + "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + }, + { + "source": "/docs/about/prisma/roadmap", + "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + }, + { + "source": "/docs/about/prisma/faq", + "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + }, + { + "source": "/docs/about/prisma/limitations", + "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + }, + { + "source": "/docs/about/prisma", + "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + }, + { + "source": "/docs/data-platform/accelerate", + "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + }, + { + "source": "/docs/data-platform/pulse", + "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + }, + { + "source": "/docs/doc-images/unused/DxuOs88.png", + "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + }, + { + "source": "/docs/doc-images/unused/H2TCRc5.png", + "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + }, + { + "source": "/docs/doc-images/unused/OImder6.png", + "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + }, + { + "source": "/docs/doc-images/unused/kOO4eh2.png", + "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + }, + { + "source": "/docs/doc-images/unused/nycymr8.png", + "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + }, ] } From 76eb2395a6dabe8162237573e2272b904ea26893 Mon Sep 17 00:00:00 2001 From: Nikolas Burk Date: Tue, 28 Nov 2023 10:40:12 +0100 Subject: [PATCH 015/100] fix json --- vercel.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vercel.json b/vercel.json index 6c2e21b800..979872d2dd 100644 --- a/vercel.json +++ b/vercel.json @@ -3826,6 +3826,6 @@ { "source": "/docs/doc-images/unused/nycymr8.png", "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" - }, + } ] } From 2957e0ada60594acdaafae7d7089bd73848204ad Mon Sep 17 00:00:00 2001 From: Nikolas Burk Date: Tue, 28 Nov 2023 10:54:34 +0100 Subject: [PATCH 016/100] add redirects for all TODOs --- vercel.json | 88 +++++++++++++++++++++-------------------------------- 1 file changed, 34 insertions(+), 54 deletions(-) diff --git a/vercel.json b/vercel.json index 979872d2dd..b486538b5b 100644 --- a/vercel.json +++ b/vercel.json @@ -1737,51 +1737,51 @@ }, { "source": "/docs/concepts/components/prisma-schema", - "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + "destination": "/docs/orm/prisma-schema" }, { "source": "/docs/concepts/components/prisma-client/working-with-prismaclient", - "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + "destination": "/docs/orm/prisma-client" }, { "source": "/docs/concepts/components/prisma-client/transactions", - "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + "destination": "/docs/orm/prisma-client/queries/transactions" }, { "source": "/docs/concepts/components/prisma-migrate/get-started", - "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + "destination": "/docs/orm/prisma-migrate/getting-started" }, { "source": "/docs/concepts/components/prisma-migrate/db-push", - "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + "destination": "/docs/orm/prisma-migrate/workflows/prototyping-your-schema" }, { "source": "/docs/concepts/components/prisma-cli", - "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + "destination": "/docs/orm/tools/prisma-cli" }, { "source": "/docs/concepts/components/prisma-engines", - "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + "destination": "/docs/orm/more/under-the-hood/engines" }, { "source": "/docs/concepts/database-connectors/mongodb", - "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + "destination": "/docs/orm/" }, { "source": "/docs/concepts/database-connectors", - "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + "destination": "/docs/orm/overview" }, { "source": "/docs/concepts/more/telemetry", - "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + "destination": "/docs/orm/tools/prisma-cli#telemetry" }, { "source": "/docs/concepts/more", - "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + "destination": "/docs/orm/more" }, { "source": "/docs/concepts", - "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + "destination": "/docs/orm" }, { "source": "/docs/concepts/overview/why-prisma", @@ -3153,15 +3153,15 @@ }, { "source": "/docs/guides/migrate/developing-with-prisma-migrate", - "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + "destination": "/docs/orm/prisma-migrate" }, { "source": "/docs/guides/migrate/patching-production", - "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + "destination": "/docs/orm/prisma-migrate/workflows/patching-and-hotfixing" }, { "source": "/docs/guides/migrate", - "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + "destination": "/docs/orm/prisma-migrate" }, { "source": "/docs/guides/database", @@ -3169,43 +3169,43 @@ }, { "source": "/docs/guides/performance-and-optimization/metrics", - "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + "destination": "/docs/orm/prisma-client/observability-and-logging/metrics" }, { "source": "/docs/guides/performance-and-optimization/query-tracing", - "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + "destination": "/docs/orm/prisma-client/observability-and-logging/opentelemetry-tracing" }, { "source": "/docs/guides/performance-and-optimization", - "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + "destination": "/docs/orm/prisma-client/queries/query-optimization-performance" }, { "source": "/docs/guides/upgrade-guides", - "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + "destination": "/docs/orm/more/upgrade-guides" }, { "source": "/docs/guides/other/troubleshooting-orm", - "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + "destination": "/docs/orm/more/help-and-troubleshooting" }, { "source": "/docs/guides/other/advanced-database-tasks/typesafe-raw-sql", - "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + "destination": "/docs/orm/prisma-client/queries/raw-database-access/custom-and-type-safe-queries" }, { "source": "/docs/guides/other/advanced-database-tasks/data-validation", - "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + "destination": "/docs/orm/prisma-client/queries/custom-validation" }, { "source": "/docs/guides/other/advanced-database-tasks", - "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + "destination": "/docs/orm" }, { "source": "/docs/guides/other", - "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + "destination": "/docs/orm" }, { "source": "/docs/guides", - "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + "destination": "/docs/orm" }, { "source": "/docs/data-platform/pulse/what-is-pulse", @@ -3237,11 +3237,11 @@ }, { "source": "/docs/reference/api-reference", - "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + "destination": "/docs/orm/reference##" }, { "source": "/docs/reference/database-reference", - "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + "destination": "/docs/orm/reference" }, { "source": "/docs/data-platform/platform-console/about", @@ -3781,51 +3781,31 @@ }, { "source": "/docs/about/prisma/example-projects", - "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + "destination": "https://github.com/prisma/prisma-examples/" }, { "source": "/docs/about/prisma/roadmap", - "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + "destination": "/docs/orm/more/releases#roadmap" }, { "source": "/docs/about/prisma/faq", - "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + "destination": "/support" }, { "source": "/docs/about/prisma/limitations", - "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + "destination": "/docs/orm/prisma-schema/data-model/models#limitations" }, { "source": "/docs/about/prisma", - "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + "destination": "/docs/about" }, { "source": "/docs/data-platform/accelerate", - "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + "destination": "/docs/accelerate" }, { "source": "/docs/data-platform/pulse", - "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" - }, - { - "source": "/docs/doc-images/unused/DxuOs88.png", - "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" - }, - { - "source": "/docs/doc-images/unused/H2TCRc5.png", - "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" - }, - { - "source": "/docs/doc-images/unused/OImder6.png", - "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" - }, - { - "source": "/docs/doc-images/unused/kOO4eh2.png", - "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" - }, - { - "source": "/docs/doc-images/unused/nycymr8.png", - "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + "destination": "/docs/pulse" } ] } From 56556267016be4581f448a10e88efb3db37b2ace Mon Sep 17 00:00:00 2001 From: Nikolas Burk Date: Tue, 28 Nov 2023 11:02:42 +0100 Subject: [PATCH 017/100] move folder with db connectors one level up --- .../500-databases/01-database-drivers.mdx | 0 .../500-databases/03-postgresql.mdx | 0 .../500-databases/04-mysql.mdx | 0 .../500-databases/05-sqlite.mdx | 0 .../500-databases/07-mongodb.mdx | 0 .../500-databases/08-cockroachdb.mdx | 0 .../08-sql-server/020-sql-server-local.mdx | 0 .../08-sql-server/030-sql-server-docker.mdx | 0 .../500-databases/08-sql-server/index.mdx | 0 .../500-databases/850-planetscale.mdx | 0 .../500-databases/860-cockroachdb.mdx | 0 .../500-databases/880-supabase.mdx | 0 .../500-databases/890-neon.mdx | 0 .../500-databases/900-turso.mdx | 0 .../images/embedded-replica-create-replica.png | Bin .../500-databases/images/embedded-replica-read.png | Bin .../images/embedded-replica-remote-read.png | Bin .../images/embedded-replica-write-propagation.png | Bin .../{100-introduction => }/500-databases/index.mdx | 0 .../500-databases/mongodb.png | Bin .../500-databases/mysql-connection-string.png | Bin .../500-databases/postgresql-connection-string.png | Bin 22 files changed, 0 insertions(+), 0 deletions(-) rename content/200-orm/050-overview/{100-introduction => }/500-databases/01-database-drivers.mdx (100%) rename content/200-orm/050-overview/{100-introduction => }/500-databases/03-postgresql.mdx (100%) rename content/200-orm/050-overview/{100-introduction => }/500-databases/04-mysql.mdx (100%) rename content/200-orm/050-overview/{100-introduction => }/500-databases/05-sqlite.mdx (100%) rename content/200-orm/050-overview/{100-introduction => }/500-databases/07-mongodb.mdx (100%) rename content/200-orm/050-overview/{100-introduction => }/500-databases/08-cockroachdb.mdx (100%) rename content/200-orm/050-overview/{100-introduction => }/500-databases/08-sql-server/020-sql-server-local.mdx (100%) rename content/200-orm/050-overview/{100-introduction => }/500-databases/08-sql-server/030-sql-server-docker.mdx (100%) rename content/200-orm/050-overview/{100-introduction => }/500-databases/08-sql-server/index.mdx (100%) rename content/200-orm/050-overview/{100-introduction => }/500-databases/850-planetscale.mdx (100%) rename content/200-orm/050-overview/{100-introduction => }/500-databases/860-cockroachdb.mdx (100%) rename content/200-orm/050-overview/{100-introduction => }/500-databases/880-supabase.mdx (100%) rename content/200-orm/050-overview/{100-introduction => }/500-databases/890-neon.mdx (100%) rename content/200-orm/050-overview/{100-introduction => }/500-databases/900-turso.mdx (100%) rename content/200-orm/050-overview/{100-introduction => }/500-databases/images/embedded-replica-create-replica.png (100%) rename content/200-orm/050-overview/{100-introduction => }/500-databases/images/embedded-replica-read.png (100%) rename content/200-orm/050-overview/{100-introduction => }/500-databases/images/embedded-replica-remote-read.png (100%) rename content/200-orm/050-overview/{100-introduction => }/500-databases/images/embedded-replica-write-propagation.png (100%) rename content/200-orm/050-overview/{100-introduction => }/500-databases/index.mdx (100%) rename content/200-orm/050-overview/{100-introduction => }/500-databases/mongodb.png (100%) rename content/200-orm/050-overview/{100-introduction => }/500-databases/mysql-connection-string.png (100%) rename content/200-orm/050-overview/{100-introduction => }/500-databases/postgresql-connection-string.png (100%) diff --git a/content/200-orm/050-overview/100-introduction/500-databases/01-database-drivers.mdx b/content/200-orm/050-overview/500-databases/01-database-drivers.mdx similarity index 100% rename from content/200-orm/050-overview/100-introduction/500-databases/01-database-drivers.mdx rename to content/200-orm/050-overview/500-databases/01-database-drivers.mdx diff --git a/content/200-orm/050-overview/100-introduction/500-databases/03-postgresql.mdx b/content/200-orm/050-overview/500-databases/03-postgresql.mdx similarity index 100% rename from content/200-orm/050-overview/100-introduction/500-databases/03-postgresql.mdx rename to content/200-orm/050-overview/500-databases/03-postgresql.mdx diff --git a/content/200-orm/050-overview/100-introduction/500-databases/04-mysql.mdx b/content/200-orm/050-overview/500-databases/04-mysql.mdx similarity index 100% rename from content/200-orm/050-overview/100-introduction/500-databases/04-mysql.mdx rename to content/200-orm/050-overview/500-databases/04-mysql.mdx diff --git a/content/200-orm/050-overview/100-introduction/500-databases/05-sqlite.mdx b/content/200-orm/050-overview/500-databases/05-sqlite.mdx similarity index 100% rename from content/200-orm/050-overview/100-introduction/500-databases/05-sqlite.mdx rename to content/200-orm/050-overview/500-databases/05-sqlite.mdx diff --git a/content/200-orm/050-overview/100-introduction/500-databases/07-mongodb.mdx b/content/200-orm/050-overview/500-databases/07-mongodb.mdx similarity index 100% rename from content/200-orm/050-overview/100-introduction/500-databases/07-mongodb.mdx rename to content/200-orm/050-overview/500-databases/07-mongodb.mdx diff --git a/content/200-orm/050-overview/100-introduction/500-databases/08-cockroachdb.mdx b/content/200-orm/050-overview/500-databases/08-cockroachdb.mdx similarity index 100% rename from content/200-orm/050-overview/100-introduction/500-databases/08-cockroachdb.mdx rename to content/200-orm/050-overview/500-databases/08-cockroachdb.mdx diff --git a/content/200-orm/050-overview/100-introduction/500-databases/08-sql-server/020-sql-server-local.mdx b/content/200-orm/050-overview/500-databases/08-sql-server/020-sql-server-local.mdx similarity index 100% rename from content/200-orm/050-overview/100-introduction/500-databases/08-sql-server/020-sql-server-local.mdx rename to content/200-orm/050-overview/500-databases/08-sql-server/020-sql-server-local.mdx diff --git a/content/200-orm/050-overview/100-introduction/500-databases/08-sql-server/030-sql-server-docker.mdx b/content/200-orm/050-overview/500-databases/08-sql-server/030-sql-server-docker.mdx similarity index 100% rename from content/200-orm/050-overview/100-introduction/500-databases/08-sql-server/030-sql-server-docker.mdx rename to content/200-orm/050-overview/500-databases/08-sql-server/030-sql-server-docker.mdx diff --git a/content/200-orm/050-overview/100-introduction/500-databases/08-sql-server/index.mdx b/content/200-orm/050-overview/500-databases/08-sql-server/index.mdx similarity index 100% rename from content/200-orm/050-overview/100-introduction/500-databases/08-sql-server/index.mdx rename to content/200-orm/050-overview/500-databases/08-sql-server/index.mdx diff --git a/content/200-orm/050-overview/100-introduction/500-databases/850-planetscale.mdx b/content/200-orm/050-overview/500-databases/850-planetscale.mdx similarity index 100% rename from content/200-orm/050-overview/100-introduction/500-databases/850-planetscale.mdx rename to content/200-orm/050-overview/500-databases/850-planetscale.mdx diff --git a/content/200-orm/050-overview/100-introduction/500-databases/860-cockroachdb.mdx b/content/200-orm/050-overview/500-databases/860-cockroachdb.mdx similarity index 100% rename from content/200-orm/050-overview/100-introduction/500-databases/860-cockroachdb.mdx rename to content/200-orm/050-overview/500-databases/860-cockroachdb.mdx diff --git a/content/200-orm/050-overview/100-introduction/500-databases/880-supabase.mdx b/content/200-orm/050-overview/500-databases/880-supabase.mdx similarity index 100% rename from content/200-orm/050-overview/100-introduction/500-databases/880-supabase.mdx rename to content/200-orm/050-overview/500-databases/880-supabase.mdx diff --git a/content/200-orm/050-overview/100-introduction/500-databases/890-neon.mdx b/content/200-orm/050-overview/500-databases/890-neon.mdx similarity index 100% rename from content/200-orm/050-overview/100-introduction/500-databases/890-neon.mdx rename to content/200-orm/050-overview/500-databases/890-neon.mdx diff --git a/content/200-orm/050-overview/100-introduction/500-databases/900-turso.mdx b/content/200-orm/050-overview/500-databases/900-turso.mdx similarity index 100% rename from content/200-orm/050-overview/100-introduction/500-databases/900-turso.mdx rename to content/200-orm/050-overview/500-databases/900-turso.mdx diff --git a/content/200-orm/050-overview/100-introduction/500-databases/images/embedded-replica-create-replica.png b/content/200-orm/050-overview/500-databases/images/embedded-replica-create-replica.png similarity index 100% rename from content/200-orm/050-overview/100-introduction/500-databases/images/embedded-replica-create-replica.png rename to content/200-orm/050-overview/500-databases/images/embedded-replica-create-replica.png diff --git a/content/200-orm/050-overview/100-introduction/500-databases/images/embedded-replica-read.png b/content/200-orm/050-overview/500-databases/images/embedded-replica-read.png similarity index 100% rename from content/200-orm/050-overview/100-introduction/500-databases/images/embedded-replica-read.png rename to content/200-orm/050-overview/500-databases/images/embedded-replica-read.png diff --git a/content/200-orm/050-overview/100-introduction/500-databases/images/embedded-replica-remote-read.png b/content/200-orm/050-overview/500-databases/images/embedded-replica-remote-read.png similarity index 100% rename from content/200-orm/050-overview/100-introduction/500-databases/images/embedded-replica-remote-read.png rename to content/200-orm/050-overview/500-databases/images/embedded-replica-remote-read.png diff --git a/content/200-orm/050-overview/100-introduction/500-databases/images/embedded-replica-write-propagation.png b/content/200-orm/050-overview/500-databases/images/embedded-replica-write-propagation.png similarity index 100% rename from content/200-orm/050-overview/100-introduction/500-databases/images/embedded-replica-write-propagation.png rename to content/200-orm/050-overview/500-databases/images/embedded-replica-write-propagation.png diff --git a/content/200-orm/050-overview/100-introduction/500-databases/index.mdx b/content/200-orm/050-overview/500-databases/index.mdx similarity index 100% rename from content/200-orm/050-overview/100-introduction/500-databases/index.mdx rename to content/200-orm/050-overview/500-databases/index.mdx diff --git a/content/200-orm/050-overview/100-introduction/500-databases/mongodb.png b/content/200-orm/050-overview/500-databases/mongodb.png similarity index 100% rename from content/200-orm/050-overview/100-introduction/500-databases/mongodb.png rename to content/200-orm/050-overview/500-databases/mongodb.png diff --git a/content/200-orm/050-overview/100-introduction/500-databases/mysql-connection-string.png b/content/200-orm/050-overview/500-databases/mysql-connection-string.png similarity index 100% rename from content/200-orm/050-overview/100-introduction/500-databases/mysql-connection-string.png rename to content/200-orm/050-overview/500-databases/mysql-connection-string.png diff --git a/content/200-orm/050-overview/100-introduction/500-databases/postgresql-connection-string.png b/content/200-orm/050-overview/500-databases/postgresql-connection-string.png similarity index 100% rename from content/200-orm/050-overview/100-introduction/500-databases/postgresql-connection-string.png rename to content/200-orm/050-overview/500-databases/postgresql-connection-string.png From 0850e444ef1019803bec13b02c3e666285ee9e43 Mon Sep 17 00:00:00 2001 From: Nikolas Burk Date: Wed, 29 Nov 2023 09:24:09 +0100 Subject: [PATCH 018/100] fix remaining redirect issues --- vercel.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vercel.json b/vercel.json index b486538b5b..3fec0cf7d0 100644 --- a/vercel.json +++ b/vercel.json @@ -3165,7 +3165,7 @@ }, { "source": "/docs/guides/database", - "destination": "/docs/##( TODO: Path of page that replaces deleted page )##" + "destination": "/docs/orm/overview/databases" }, { "source": "/docs/guides/performance-and-optimization/metrics", @@ -3237,7 +3237,7 @@ }, { "source": "/docs/reference/api-reference", - "destination": "/docs/orm/reference##" + "destination": "/docs/orm/reference" }, { "source": "/docs/reference/database-reference", From 5ad651f6cd3ede5a41f6d37037c8888a0ccf53ea Mon Sep 17 00:00:00 2001 From: Nikolas Burk Date: Wed, 29 Nov 2023 15:50:30 +0100 Subject: [PATCH 019/100] fix absolute links --- content/100-getting-started/01-quickstart.mdx | 4 +- .../100-connect-your-database.mdx | 28 ++--- .../150-using-prisma-migrate.mdx | 10 +- .../250-querying-the-database.mdx | 4 +- .../300-next-steps.mdx | 4 +- .../110-relational-databases/index.mdx | 12 +- .../120-mongodb/100-connect-your-database.mdx | 6 +- .../120-mongodb/250-querying-the-database.mdx | 2 +- .../120-mongodb/300-next-steps.mdx | 4 +- .../120-mongodb/index.mdx | 8 +- .../100-start-from-scratch/index.mdx | 2 +- .../100-connect-your-database.mdx | 26 ++--- .../150-introspection.mdx | 32 ++--- .../170-baseline-your-database.mdx | 2 +- .../250-querying-the-database.mdx | 2 +- .../300-next-steps.mdx | 4 +- .../110-relational-databases/index.mdx | 14 +-- .../120-mongodb/100-connect-your-database.mdx | 6 +- .../120-mongodb/250-querying-the-database.mdx | 2 +- .../120-mongodb/300-next-steps.mdx | 4 +- .../120-mongodb/index.mdx | 10 +- .../02-setup-prisma/index.mdx | 2 +- content/100-getting-started/index.mdx | 6 +- .../250-should-you-use-prisma.mdx | 18 +-- .../100-introduction/300-data-modeling.mdx | 4 +- .../100-introduction/50-what-is-prisma.mdx | 28 ++--- .../050-overview/100-introduction/index.mdx | 2 +- .../300-prisma-in-your-stack/03-fullstack.mdx | 2 +- .../04-is-prisma-an-orm.mdx | 16 +-- .../500-databases/03-postgresql.mdx | 12 +- .../050-overview/500-databases/04-mysql.mdx | 8 +- .../050-overview/500-databases/05-sqlite.mdx | 6 +- .../050-overview/500-databases/07-mongodb.mdx | 28 ++--- .../500-databases/08-cockroachdb.mdx | 10 +- .../500-databases/08-sql-server/index.mdx | 10 +- .../500-databases/850-planetscale.mdx | 14 +-- .../500-databases/860-cockroachdb.mdx | 12 +- .../500-databases/880-supabase.mdx | 10 +- .../050-overview/500-databases/890-neon.mdx | 12 +- .../050-overview/500-databases/900-turso.mdx | 6 +- .../010-generating-prisma-client.mdx | 4 +- .../015-instantiate-prisma-client.mdx | 2 +- .../100-custom-model-and-field-names.mdx | 4 +- .../130-logging.mdx | 4 +- .../220-database-polyfills.mdx | 2 +- .../100-connection-management.mdx | 2 +- .../115-connection-pool.mdx | 6 +- .../50-databases-connections/index.mdx | 2 +- .../100-queries/030-crud.mdx | 6 +- .../100-queries/037-relation-queries.mdx | 4 +- .../100-queries/050-filtering-and-sorting.mdx | 2 +- .../100-queries/058-transactions.mdx | 6 +- .../100-queries/060-full-text-search.mdx | 2 +- .../100-queries/061-custom-validation.mdx | 6 +- .../100-queries/062-computed-fields.mdx | 6 +- .../100-queries/063-excluding-fields.mdx | 2 +- .../100-queries/064-custom-models.mdx | 4 +- .../100-queries/070-case-sensitivity.mdx | 2 +- .../050-raw-queries.mdx | 2 +- .../100-custom-and-type-safe-queries.mdx | 4 +- .../100-query-optimization-performance.mdx | 2 +- .../057-composite-types.mdx | 6 +- .../100-working-with-json-fields.mdx | 12 +- .../300-client-extensions/100-model.mdx | 4 +- .../300-client-extensions/110-client.mdx | 4 +- .../300-client-extensions/120-query.mdx | 12 +- .../300-client-extensions/130-result.mdx | 2 +- .../140-shared-extensions.mdx | 6 +- .../200-extension-examples.mdx | 2 +- .../100-soft-delete-middleware.mdx | 2 +- .../500-middleware/200-logging-middleware.mdx | 2 +- .../500-middleware/index.mdx | 2 +- .../300-client-extensions/index.mdx | 16 +-- ...inst-partial-structures-of-model-types.mdx | 2 +- .../830-prisma-type-system.mdx | 6 +- .../400-type-safety/index.mdx | 4 +- .../450-testing/150-integration-testing.mdx | 2 +- .../101-traditional/200-deploy-to-heroku.mdx | 6 +- .../101-traditional/250-deploy-to-koyeb.mdx | 4 +- .../150-deploy-to-azure-functions.mdx | 2 +- .../201-serverless/300-deploy-to-vercel.mdx | 2 +- .../400-deploy-to-aws-lambda.mdx | 2 +- .../201-serverless/500-deploy-to-netlify.mdx | 2 +- .../450-deploy-to-cloudflare-workers.mdx | 8 +- .../301-edge/550-deploy-to-deno-deploy.mdx | 2 +- ...y-database-changes-with-prisma-migrate.mdx | 4 +- ...oy-migrations-from-a-local-environment.mdx | 4 +- ...aveats-when-deploying-to-aws-platforms.mdx | 2 +- .../700-deploy-to-a-different-os.mdx | 2 +- .../240-metrics.mdx | 2 +- .../250-opentelemetry-tracing.mdx | 10 +- .../230-handling-exceptions-and-errors.mdx | 2 +- content/200-orm/100-prisma-client/index.mdx | 2 +- .../050-getting-started.mdx | 4 +- .../010-mental-model.mdx | 2 +- .../300-limitations-and-known-issues.mdx | 2 +- .../600-legacy-migrate.mdx | 14 +-- .../300-workflows/100-team-development.mdx | 2 +- .../110-native-database-types.mdx | 8 +- .../120-native-database-functions.mdx | 4 +- .../20-prototyping-your-schema.mdx | 4 +- .../300-workflows/200-troubleshooting.mdx | 8 +- .../300-workflows/30-baselining.mdx | 2 +- .../40-customizing-migrations.mdx | 2 +- .../300-workflows/50-squashing-migrations.mdx | 2 +- .../60-generating-down-migrations.mdx | 4 +- .../70-patching-and-hotfixing.mdx | 6 +- .../80-unsupported-database-features.mdx | 4 +- .../90-development-and-production.mdx | 10 +- content/200-orm/200-prisma-migrate/index.mdx | 10 +- .../10-overview/03-generators.mdx | 4 +- .../20-data-model/10-models.mdx | 28 ++--- .../300-many-to-many-relations.mdx | 8 +- ...-special-rules-for-referential-actions.mdx | 2 +- .../410-referential-actions/index.mdx | 4 +- .../20-relations/420-relation-mode.mdx | 6 +- .../20-data-model/20-relations/index.mdx | 10 +- .../20-data-model/40-views.mdx | 2 +- .../20-data-model/50-database-mapping.mdx | 2 +- .../70-unsupported-database-features.mdx | 8 +- .../300-prisma-schema/50-introspection.mdx | 16 +-- .../80-postgresql-extensions.mdx | 4 +- content/200-orm/400-tools/05-prisma-cli.mdx | 2 +- .../050-prisma-client-reference.mdx | 110 +++++++++--------- .../100-prisma-schema-reference.mdx | 68 +++++------ .../200-prisma-cli-reference.mdx | 56 ++++----- .../500-reference/250-error-reference.mdx | 2 +- .../300-environment-variables-reference.mdx | 6 +- .../500-reference/350-database-features.mdx | 6 +- .../500-reference/375-supported-databases.mdx | 2 +- .../500-reference/380-connection-urls.mdx | 14 +-- .../050-client-preview-features.mdx | 30 ++--- .../080-cli-preview-features.mdx | 6 +- .../500-preview-features/index.mdx | 2 +- .../100-under-the-hood/100-engines.mdx | 14 +-- .../800-more/100-under-the-hood/index.mdx | 2 +- .../001-rejectonnotfound-changes.mdx | 2 +- .../101-jsonprotocol-changes.mdx | 2 +- .../600-upgrading-to-prisma-5/index.mdx | 2 +- .../700-upgrading-to-prisma-4.mdx | 2 +- .../100-named-constraints.mdx | 2 +- .../150-referential-actions.mdx | 6 +- .../800-upgrading-to-prisma-3/index.mdx | 8 +- .../200-upgrading-versions/index.mdx | 8 +- .../250-upgrading-to-use-preview-features.mdx | 4 +- .../01-how-to-upgrade.mdx | 2 +- .../03-upgrading-the-prisma-layer.mdx | 16 +-- .../07-upgrading-a-rest-api.mdx | 2 +- .../08-upgrade-from-mongodb-beta.mdx | 4 +- .../400-comparisons/01-prisma-and-typeorm.mdx | 16 +-- .../02-prisma-and-sequelize.mdx | 4 +- .../03-prisma-and-mongoose.mdx | 4 +- .../01-migrate-from-typeorm.mdx | 12 +- .../02-migrate-from-sequelize.mdx | 14 +-- .../03-migrate-from-mongoose.mdx | 16 +-- ...naging-env-files-and-setting-variables.mdx | 4 +- .../050-environment-variables/index.mdx | 4 +- .../050-creating-bug-reports.mdx | 4 +- ...00-working-with-many-to-many-relations.mdx | 2 +- ...-comparing-columns-through-raw-queries.mdx | 2 +- content/200-orm/800-more/700-releases.mdx | 4 +- .../300-accelerate/200-getting-started.mdx | 4 +- content/300-accelerate/300-concepts.mdx | 2 +- content/300-accelerate/500-limitations.mdx | 2 +- content/400-pulse/100-what-is-pulse.mdx | 2 +- content/400-pulse/200-getting-started.mdx | 6 +- content/400-pulse/600-faq.mdx | 2 +- .../300-platform-console/10-about.mdx | 4 +- .../30-maturity-levels.mdx | 2 +- .../050-data-proxy/100-use-data-proxy.mdx | 6 +- .../050-data-proxy/500-deploy.mdx | 2 +- .../700-prisma-cli-with-data-proxy.mdx | 8 +- .../900-considerations-limitations.mdx | 4 +- .../050-data-proxy/index.mdx | 4 +- .../100-platform/200-projects/100-create.mdx | 6 +- .../100-platform/200-projects/index.mdx | 2 +- .../250-environments/100-view-all.mdx | 10 +- .../250-environments/200-create.mdx | 4 +- .../300-change-default-environment.mdx | 4 +- .../300-edit-settings/index.mdx | 2 +- .../250-environments/400-delete.mdx | 6 +- .../100-platform/250-environments/index.mdx | 2 +- .../100-platform/400-members/100-add.mdx | 12 +- .../100-platform/400-members/400-remove.mdx | 2 +- .../100-platform/700-schema-viewer.mdx | 10 +- .../100-platform/800-account.mdx | 2 +- .../080-cannot-change-db-of-env.mdx | 2 +- .../20-style-guide/02-word-choice.mdx | 8 +- .../03-spelling-punctuation-formatting.mdx | 2 +- .../30-docs-components/01-mdx-examples.mdx | 6 +- .../30-docs-components/03-frontmatter.mdx | 2 +- 191 files changed, 692 insertions(+), 692 deletions(-) diff --git a/content/100-getting-started/01-quickstart.mdx b/content/100-getting-started/01-quickstart.mdx index d263f9de57..c9f02d6fb8 100644 --- a/content/100-getting-started/01-quickstart.mdx +++ b/content/100-getting-started/01-quickstart.mdx @@ -19,7 +19,7 @@ If you want to use Prisma with your own PostgreSQL, MySQL, MongoDB or any other ## Prerequisites -You need Node.js v16.13.0 or higher for this guide (learn more about [system requirements](/reference/system-requirements)). +You need Node.js v16.13.0 or higher for this guide (learn more about [system requirements](/orm/reference/system-requirements)). ## 1. Create TypeScript project and set up Prisma @@ -256,7 +256,7 @@ Notice how the single `User` object is now enclosed with square brackets in the ### 4.3. Explore relation queries with Prisma -One of the main features of Prisma Client is the ease of working with [relations](/concepts/components/prisma-schema/relations). In this section, you'll learn how to create a `User` and a `Post` record in a nested write query. Afterwards, you'll see how you can retrieve the relation from the database using the `include` option. +One of the main features of Prisma Client is the ease of working with [relations](/orm/prisma-schema/data-model/relations). In this section, you'll learn how to create a `User` and a `Post` record in a nested write query. Afterwards, you'll see how you can retrieve the relation from the database using the `include` option. First, adjust your script to include the nested query: diff --git a/content/100-getting-started/02-setup-prisma/100-start-from-scratch/110-relational-databases/100-connect-your-database.mdx b/content/100-getting-started/02-setup-prisma/100-start-from-scratch/110-relational-databases/100-connect-your-database.mdx index b7684611e2..85f277190d 100644 --- a/content/100-getting-started/02-setup-prisma/100-start-from-scratch/110-relational-databases/100-connect-your-database.mdx +++ b/content/100-getting-started/02-setup-prisma/100-start-from-scratch/110-relational-databases/100-connect-your-database.mdx @@ -9,7 +9,7 @@ toc: false ## Connect your database -To connect your database, you need to set the `url` field of the `datasource` block in your Prisma schema to your database [connection URL](/reference/database-reference/connection-urls): +To connect your database, you need to set the `url` field of the `datasource` block in your Prisma schema to your database [connection URL](/orm/reference/connection-urls): @@ -20,7 +20,7 @@ datasource db { } ``` -In this case, the `url` is [set via an environment variable](/guides/development-environment/environment-variables) which is defined in `.env`: +In this case, the `url` is [set via an environment variable](/orm/more/development-environment/environment-variables) which is defined in `.env`: ```bash file=.env DATABASE_URL="postgresql://johndoe:randompassword@localhost:5432/mydb?schema=public" @@ -34,7 +34,7 @@ We recommend adding `.env` to your `.gitignore` file to prevent committing your You now need to adjust the connection URL to point to your own database. -The [format of the connection URL](/reference/database-reference/connection-urls) for your database depends on the database you use. For PostgreSQL, it looks as follows (the parts spelled all-uppercased are _placeholders_ for your specific connection details): +The [format of the connection URL](/orm/reference/connection-urls) for your database depends on the database you use. For PostgreSQL, it looks as follows (the parts spelled all-uppercased are _placeholders_ for your specific connection details): ```no-lines postgresql://USER:PASSWORD@HOST:PORT/DATABASE?schema=SCHEMA @@ -51,7 +51,7 @@ Here's a short explanation of each component: If you're unsure what to provide for the `schema` parameter for a PostgreSQL connection URL, you can probably omit it. In that case, the default schema name `public` will be used. -As an example, for a PostgreSQL database hosted on Heroku, the [connection URL](/reference/database-reference/connection-urls) might look similar to this: +As an example, for a PostgreSQL database hosted on Heroku, the [connection URL](/orm/reference/connection-urls) might look similar to this: ```bash file=.env DATABASE_URL="postgresql://opnmyfngbknppm:XXX@ec2-46-137-91-216.eu-west-1.compute.amazonaws.com:5432/d50rgmkqi2ipus?schema=hello-prisma" @@ -97,7 +97,7 @@ We recommend adding `.env` to your `.gitignore` file to prevent committing your You now need to adjust the connection URL to point to your own database. -The [format of the connection URL](/reference/database-reference/connection-urls) for your database typically depends on the database you use. For MySQL, it looks as follows (the parts spelled all-uppercased are _placeholders_ for your specific connection details): +The [format of the connection URL](/orm/reference/connection-urls) for your database typically depends on the database you use. For MySQL, it looks as follows (the parts spelled all-uppercased are _placeholders_ for your specific connection details): ```no-lines mysql://USER:PASSWORD@HOST:PORT/DATABASE @@ -110,7 +110,7 @@ Here's a short explanation of each component: - `PORT`: The port where your database server is running (typically `3306` for MySQL) - `DATABASE`: The name of the [database](https://dev.mysql.com/doc/refman/8.0/en/creating-database.html) -As an example, for a MySQL database hosted on AWS RDS, the [connection URL](/reference/database-reference/connection-urls) might look similar to this: +As an example, for a MySQL database hosted on AWS RDS, the [connection URL](/orm/reference/connection-urls) might look similar to this: ```bash file=.env DATABASE_URL="mysql://johndoe:XXX@mysql–instance1.123456789012.us-east-1.rds.amazonaws.com:3306/mydb" @@ -160,7 +160,7 @@ DATABASE_URL="mysql://janedoe:mypassword@server.us-east-2.psdb.cloud/mydb?sslacc You now need to adjust the connection URL to point to your own database. -The [format of the connection URL](/reference/database-reference/connection-urls) for your database typically depends on the database you use. PlanetScale uses the MySQL connection URL format, which has the following structure (the parts spelled all-uppercased are _placeholders_ for your specific connection details): +The [format of the connection URL](/orm/reference/connection-urls) for your database typically depends on the database you use. PlanetScale uses the MySQL connection URL format, which has the following structure (the parts spelled all-uppercased are _placeholders_ for your specific connection details): ```no-lines mysql://USER:PASSWORD@HOST:PORT/DATABASE @@ -173,7 +173,7 @@ Here's a short explanation of each component: - `PORT`: The port where your database server is running (typically `3306` for MySQL) - `DATABASE`: The name of the [database](https://dev.mysql.com/doc/refman/8.0/en/creating-database.html) -For a database hosted with PlanetScale, the [connection URL](/reference/database-reference/connection-urls) looks similar to this: +For a database hosted with PlanetScale, the [connection URL](/orm/reference/connection-urls) looks similar to this: ```bash file=.env DATABASE_URL="mysql://myusername:mypassword@server.us-east-2.psdb.cloud/mydb?sslaccept=strict" @@ -218,7 +218,7 @@ datasource db { In this case, the `url` is [set via an environment variable](/concepts/components/prisma-schema#accessing-environment-variables-from-the-schema) which is defined in `.env`: -The following example connection URL [uses SQL authentication](/concepts/database-connectors/sql-server), but there are [other ways to format your connection URL](/concepts/database-connectors/sql-server) +The following example connection URL [uses SQL authentication](/orm/overview/introduction/databases/sql-server), but there are [other ways to format your connection URL](/orm/overview/introduction/databases/sql-server) ```bash file=.env DATABASE_URL="sqlserver://localhost:1433;database=mydb;user=sa;password=r@ndomP@$$w0rd;trustServerCertificate=true" @@ -230,7 +230,7 @@ We recommend adding `.env` to your `.gitignore` file to prevent committing your -Adjust the connection URL to match your setup - see [Microsoft SQL Server connection URL](/concepts/database-connectors/sql-server) for more information. +Adjust the connection URL to match your setup - see [Microsoft SQL Server connection URL](/orm/overview/introduction/databases/sql-server) for more information. > Make sure TCP/IP connections are enabled via [SQL Server Configuration Manager](https://docs.microsoft.com/en-us/sql/relational-databases/sql-server-configuration-manager) to avoid `No connection could be made because the target machine actively refused it. (os error 10061)` @@ -254,9 +254,9 @@ datasource db { } ``` -The `url` is [set via an environment variable](/guides/development-environment/environment-variables) which is defined in `.env`. You now need to adjust the connection URL to point to your own database. +The `url` is [set via an environment variable](/orm/more/development-environment/environment-variables) which is defined in `.env`. You now need to adjust the connection URL to point to your own database. -The [format of the connection URL](/reference/database-reference/connection-urls) for your database depends on the database you use. CockroachDB uses the PostgreSQL connection URL format, which has the following structure (the parts spelled all-uppercased are _placeholders_ for your specific connection details): +The [format of the connection URL](/orm/reference/connection-urls) for your database depends on the database you use. CockroachDB uses the PostgreSQL connection URL format, which has the following structure (the parts spelled all-uppercased are _placeholders_ for your specific connection details): ```no-lines postgresql://USER:PASSWORD@HOST:PORT/DATABASE?PARAMETERS @@ -270,7 +270,7 @@ Here's a short explanation of each component: - `DATABASE`: The name of the database - `PARAMETERS`: Any additional connection parameters. See the CockroachDB documentation [here](https://www.cockroachlabs.com/docs/stable/connection-parameters.html#additional-connection-parameters). -For a [CockroachDB Serverless](https://www.cockroachlabs.com/docs/cockroachcloud/quickstart.html) or [Cockroach Dedicated](https://www.cockroachlabs.com/docs/cockroachcloud/quickstart-trial-cluster) database hosted on [CockroachDB Cloud](https://www.cockroachlabs.com/get-started-cockroachdb/), the [connection URL](/reference/database-reference/connection-urls) looks similar to this: +For a [CockroachDB Serverless](https://www.cockroachlabs.com/docs/cockroachcloud/quickstart.html) or [Cockroach Dedicated](https://www.cockroachlabs.com/docs/cockroachcloud/quickstart-trial-cluster) database hosted on [CockroachDB Cloud](https://www.cockroachlabs.com/get-started-cockroachdb/), the [connection URL](/orm/reference/connection-urls) looks similar to this: ```bash file=.env DATABASE_URL="postgresql://:@..cockroachlabs.cloud:26257/defaultdb?sslmode=verify-full&sslrootcert=$HOME/.postgresql/root.crt&options=--" @@ -278,7 +278,7 @@ DATABASE_URL="postgresql://:@..cockroa To find your connection string on CockroachDB Cloud, click the 'Connect' button on the overview page for your database cluster, and select the 'Connection string' tab. -For a [CockroachDB database hosted locally](https://www.cockroachlabs.com/docs/stable/secure-a-cluster.html), the [connection URL](/reference/database-reference/connection-urls) looks similar to this: +For a [CockroachDB database hosted locally](https://www.cockroachlabs.com/docs/stable/secure-a-cluster.html), the [connection URL](/orm/reference/connection-urls) looks similar to this: ```bash file=.env DATABASE_URL="postgresql://root@localhost:26257?sslmode=disable" diff --git a/content/100-getting-started/02-setup-prisma/100-start-from-scratch/110-relational-databases/150-using-prisma-migrate.mdx b/content/100-getting-started/02-setup-prisma/100-start-from-scratch/110-relational-databases/150-using-prisma-migrate.mdx index 5161bd8d5c..734bfeee23 100644 --- a/content/100-getting-started/02-setup-prisma/100-start-from-scratch/110-relational-databases/150-using-prisma-migrate.mdx +++ b/content/100-getting-started/02-setup-prisma/100-start-from-scratch/110-relational-databases/150-using-prisma-migrate.mdx @@ -11,7 +11,7 @@ toc: false -In this guide, you'll use [Prisma Migrate](/concepts/components/prisma-migrate) to create the tables in your database. Add the following Prisma data model to your [Prisma schema](/concepts/components/prisma-schema) in `prisma/schema.prisma`: +In this guide, you'll use [Prisma Migrate](/orm/prisma-migrate) to create the tables in your database. Add the following Prisma data model to your [Prisma schema](/orm/prisma-schema) in `prisma/schema.prisma`: ```prisma file=prisma/schema.prisma copy model Post { @@ -60,7 +60,7 @@ Great, you now created three tables in your database with Prisma Migrate 🚀 -In this guide, you'll use [Prisma Migrate](/concepts/components/prisma-migrate) to create the tables in your database. Add the following Prisma data model to your Prisma schema in `prisma/schema.prisma`: +In this guide, you'll use [Prisma Migrate](/orm/prisma-migrate) to create the tables in your database. Add the following Prisma data model to your Prisma schema in `prisma/schema.prisma`: ```prisma file=prisma/schema.prisma copy model Post { @@ -109,7 +109,7 @@ Great, you now created three tables in your database with Prisma Migrate 🚀 -In this guide, you'll use Prisma's [`db push` command](/concepts/components/prisma-migrate/db-push) to create the tables in your database. Add the following Prisma data model to your Prisma schema in `prisma/schema.prisma`: +In this guide, you'll use Prisma's [`db push` command](/orm/prisma-migrate/workflows/prototyping-your-schema) to create the tables in your database. Add the following Prisma data model to your Prisma schema in `prisma/schema.prisma`: ```prisma file=prisma/schema.prisma copy model Post { @@ -157,7 +157,7 @@ Great, you now created three tables in your database with Prisma's `db push` com -In this guide, you'll use [Prisma Migrate](/concepts/components/prisma-migrate) to create the tables in your database. Add the following Prisma data model to your Prisma schema in `prisma/schema.prisma`: +In this guide, you'll use [Prisma Migrate](/orm/prisma-migrate) to create the tables in your database. Add the following Prisma data model to your Prisma schema in `prisma/schema.prisma`: ```prisma file=prisma/schema.prisma copy model Post { @@ -533,7 +533,7 @@ END CATCH -In this guide, you'll use [Prisma Migrate](/concepts/components/prisma-migrate) to create the tables in your database. Add the following Prisma data model to your Prisma schema in `prisma/schema.prisma`: +In this guide, you'll use [Prisma Migrate](/orm/prisma-migrate) to create the tables in your database. Add the following Prisma data model to your Prisma schema in `prisma/schema.prisma`: ```prisma file=prisma/schema.prisma copy model Post { diff --git a/content/100-getting-started/02-setup-prisma/100-start-from-scratch/110-relational-databases/250-querying-the-database.mdx b/content/100-getting-started/02-setup-prisma/100-start-from-scratch/110-relational-databases/250-querying-the-database.mdx index e730cd26f8..db4a3805a1 100644 --- a/content/100-getting-started/02-setup-prisma/100-start-from-scratch/110-relational-databases/250-querying-the-database.mdx +++ b/content/100-getting-started/02-setup-prisma/100-start-from-scratch/110-relational-databases/250-querying-the-database.mdx @@ -9,7 +9,7 @@ toc: false ## Write your first query with Prisma Client -Now that you have generated [Prisma Client](/concepts/components/prisma-client), you can start writing queries to read and write data in your database. For the purpose of this guide, you'll use a plain Node.js script to explore some basic features of Prisma Client. +Now that you have generated [Prisma Client](/orm/prisma-client), you can start writing queries to read and write data in your database. For the purpose of this guide, you'll use a plain Node.js script to explore some basic features of Prisma Client. @@ -237,7 +237,7 @@ The output should look similar to this: -Also note that `allUsers` is _statically typed_ thanks to [Prisma Client's generated types](/concepts/components/prisma-client/advanced-type-safety/operating-against-partial-structures-of-model-types). You can observe the type by hovering over the `allUsers` variable in your editor. It should be typed as follows: +Also note that `allUsers` is _statically typed_ thanks to [Prisma Client's generated types](/orm/prisma-client/type-safety/operating-against-partial-structures-of-model-types). You can observe the type by hovering over the `allUsers` variable in your editor. It should be typed as follows: ```ts no-lines const allUsers: (User & { diff --git a/content/100-getting-started/02-setup-prisma/100-start-from-scratch/110-relational-databases/300-next-steps.mdx b/content/100-getting-started/02-setup-prisma/100-start-from-scratch/110-relational-databases/300-next-steps.mdx index 6c4834f7c9..dc0d133e74 100644 --- a/content/100-getting-started/02-setup-prisma/100-start-from-scratch/110-relational-databases/300-next-steps.mdx +++ b/content/100-getting-started/02-setup-prisma/100-start-from-scratch/110-relational-databases/300-next-steps.mdx @@ -9,11 +9,11 @@ toc: false ## Next steps -This section lists a number of potential next steps you can now take from here. Feel free to explore these or read the [Introduction](/concepts/overview/what-is-prisma) page to get a high-level overview of Prisma. +This section lists a number of potential next steps you can now take from here. Feel free to explore these or read the [Introduction](/orm/overview/introduction/what-is-prisma) page to get a high-level overview of Prisma. ### Continue exploring the Prisma Client API -You can send a variety of queries with the Prisma Client API. Check out the [API reference](/concepts/components/prisma-client) and use your existing database setup from this guide to try them out. +You can send a variety of queries with the Prisma Client API. Check out the [API reference](/orm/prisma-client) and use your existing database setup from this guide to try them out. diff --git a/content/100-getting-started/02-setup-prisma/100-start-from-scratch/110-relational-databases/index.mdx b/content/100-getting-started/02-setup-prisma/100-start-from-scratch/110-relational-databases/index.mdx index 1e80f02a90..27054edd42 100644 --- a/content/100-getting-started/02-setup-prisma/100-start-from-scratch/110-relational-databases/index.mdx +++ b/content/100-getting-started/02-setup-prisma/100-start-from-scratch/110-relational-databases/index.mdx @@ -10,7 +10,7 @@ dbSwitcher: ['postgresql', 'mysql', 'sqlserver', 'planetscale', 'cockroachdb'] -Learn how to create a new Node.js or TypeScript project from scratch by connecting Prisma to your database and generating a Prisma Client for database access. The following tutorial introduces you to the [Prisma CLI](/concepts/components/prisma-cli), [Prisma Client](/concepts/components/prisma-client), and [Prisma Migrate](/concepts/components/prisma-migrate). +Learn how to create a new Node.js or TypeScript project from scratch by connecting Prisma to your database and generating a Prisma Client for database access. The following tutorial introduces you to the [Prisma CLI](/orm/tools/prisma-cli), [Prisma Client](/orm/prisma-client), and [Prisma Migrate](/orm/prisma-migrate). @@ -56,14 +56,14 @@ This tutorial will also assume that you can push to the `main` branch of your da - [Node.js](https://nodejs.org/en/) installed on your machine - A [Microsoft SQL Server](https://docs.microsoft.com/en-us/sql/?view=sql-server-ver15) database - - [Microsoft SQL Server on Linux for Docker](/concepts/database-connectors/sql-server/sql-server-docker) - - [Microsoft SQL Server on Windows (local)](/concepts/database-connectors/sql-server/sql-server-local) + - [Microsoft SQL Server on Linux for Docker](/orm/overview/introduction/databases/sql-server/sql-server-docker) + - [Microsoft SQL Server on Windows (local)](/orm/overview/introduction/databases/sql-server/sql-server-local) -> See [System requirements](/reference/system-requirements) for exact version requirements. +> See [System requirements](/orm/reference/system-requirements) for exact version requirements. -Make sure you have your database [connection URL](/reference/database-reference/connection-urls) at hand. If you don't have a database server running and just want to explore Prisma, check out the [Quickstart](/getting-started/quickstart). +Make sure you have your database [connection URL](/orm/reference/connection-urls) at hand. If you don't have a database server running and just want to explore Prisma, check out the [Quickstart](/getting-started/quickstart). ## Create project setup @@ -118,7 +118,7 @@ You can now invoke the Prisma CLI by prefixing it with `npx`: npx prisma ``` -Next, set up your Prisma project by creating your [Prisma schema](/concepts/components/prisma-schema) file with the following command: +Next, set up your Prisma project by creating your [Prisma schema](/orm/prisma-schema) file with the following command: ```terminal copy npx prisma init diff --git a/content/100-getting-started/02-setup-prisma/100-start-from-scratch/120-mongodb/100-connect-your-database.mdx b/content/100-getting-started/02-setup-prisma/100-start-from-scratch/120-mongodb/100-connect-your-database.mdx index db8ef8f9da..9edea9c598 100644 --- a/content/100-getting-started/02-setup-prisma/100-start-from-scratch/120-mongodb/100-connect-your-database.mdx +++ b/content/100-getting-started/02-setup-prisma/100-start-from-scratch/120-mongodb/100-connect-your-database.mdx @@ -9,7 +9,7 @@ toc: false ## Connect your database -To connect your database, you need to set the `url` field of the `datasource` block in your Prisma schema to your database [connection URL](/reference/database-reference/connection-urls): +To connect your database, you need to set the `url` field of the `datasource` block in your Prisma schema to your database [connection URL](/orm/reference/connection-urls): ```prisma file=prisma/schema.prisma datasource db { @@ -18,7 +18,7 @@ datasource db { } ``` -In this case, the `url` is [set via an environment variable](/guides/development-environment/environment-variables) which is defined in `.env` (the example uses a [MongoDB Atlas](https://www.mongodb.com/cloud/atlas) URL): +In this case, the `url` is [set via an environment variable](/orm/more/development-environment/environment-variables) which is defined in `.env` (the example uses a [MongoDB Atlas](https://www.mongodb.com/cloud/atlas) URL): ```bash file=.env DATABASE_URL="mongodb+srv://test:test@cluster0.ns1yp.mongodb.net/myFirstDatabase" @@ -26,7 +26,7 @@ DATABASE_URL="mongodb+srv://test:test@cluster0.ns1yp.mongodb.net/myFirstDatabase You now need to adjust the connection URL to point to your own database. -The [format of the connection URL](/reference/database-reference/connection-urls) for your database depends on the database you use. For MongoDB, it looks as follows (the parts spelled all-uppercased are _placeholders_ for your specific connection details): +The [format of the connection URL](/orm/reference/connection-urls) for your database depends on the database you use. For MongoDB, it looks as follows (the parts spelled all-uppercased are _placeholders_ for your specific connection details): ```no-lines mongodb://USERNAME:PASSWORD@HOST:PORT/DATABASE diff --git a/content/100-getting-started/02-setup-prisma/100-start-from-scratch/120-mongodb/250-querying-the-database.mdx b/content/100-getting-started/02-setup-prisma/100-start-from-scratch/120-mongodb/250-querying-the-database.mdx index b29fcd4c29..a614de7dfe 100644 --- a/content/100-getting-started/02-setup-prisma/100-start-from-scratch/120-mongodb/250-querying-the-database.mdx +++ b/content/100-getting-started/02-setup-prisma/100-start-from-scratch/120-mongodb/250-querying-the-database.mdx @@ -231,7 +231,7 @@ The output should look similar to this: -Also note that `allUsers` is _statically typed_ thanks to [Prisma Client's generated types](/concepts/components/prisma-client/advanced-type-safety/operating-against-partial-structures-of-model-types). You can observe the type by hovering over the `allUsers` variable in your editor. It should be typed as follows: +Also note that `allUsers` is _statically typed_ thanks to [Prisma Client's generated types](/orm/prisma-client/type-safety/operating-against-partial-structures-of-model-types). You can observe the type by hovering over the `allUsers` variable in your editor. It should be typed as follows: ```ts no-lines const allUsers: (User & { diff --git a/content/100-getting-started/02-setup-prisma/100-start-from-scratch/120-mongodb/300-next-steps.mdx b/content/100-getting-started/02-setup-prisma/100-start-from-scratch/120-mongodb/300-next-steps.mdx index 0333f41319..628f0abc58 100644 --- a/content/100-getting-started/02-setup-prisma/100-start-from-scratch/120-mongodb/300-next-steps.mdx +++ b/content/100-getting-started/02-setup-prisma/100-start-from-scratch/120-mongodb/300-next-steps.mdx @@ -9,11 +9,11 @@ toc: false ## Next steps -This section lists a number of potential next steps you can now take from here. Feel free to explore these or read the [Introduction](/concepts/overview/what-is-prisma) page to get a high-level overview of Prisma. +This section lists a number of potential next steps you can now take from here. Feel free to explore these or read the [Introduction](/orm/overview/introduction/what-is-prisma) page to get a high-level overview of Prisma. ### Continue exploring the Prisma Client API -You can send a variety of queries with the Prisma Client API. Check out the [API reference](/concepts/components/prisma-client) and use your existing database setup from this guide to try them out. +You can send a variety of queries with the Prisma Client API. Check out the [API reference](/orm/prisma-client) and use your existing database setup from this guide to try them out. diff --git a/content/100-getting-started/02-setup-prisma/100-start-from-scratch/120-mongodb/index.mdx b/content/100-getting-started/02-setup-prisma/100-start-from-scratch/120-mongodb/index.mdx index 7588a6f41c..35fa8db54b 100644 --- a/content/100-getting-started/02-setup-prisma/100-start-from-scratch/120-mongodb/index.mdx +++ b/content/100-getting-started/02-setup-prisma/100-start-from-scratch/120-mongodb/index.mdx @@ -10,7 +10,7 @@ dbSwitcher: ['mongodb'] -Learn how to create a new Node.js or TypeScript project from scratch by connecting Prisma to your MongoDB database and generating a Prisma Client for database access. The following tutorial introduces you to the [Prisma CLI](/concepts/components/prisma-cli) and [Prisma Client](/concepts/components/prisma-client). +Learn how to create a new Node.js or TypeScript project from scratch by connecting Prisma to your MongoDB database and generating a Prisma Client for database access. The following tutorial introduces you to the [Prisma CLI](/orm/tools/prisma-cli) and [Prisma Client](/orm/prisma-client). @@ -27,9 +27,9 @@ In order to successfully complete this guide, you need: -Make sure you have your database [connection URL](/reference/database-reference/connection-urls) at hand. If you don't have a database server running and just want to explore Prisma, check out the [Quickstart](/getting-started/quickstart). +Make sure you have your database [connection URL](/orm/reference/connection-urls) at hand. If you don't have a database server running and just want to explore Prisma, check out the [Quickstart](/getting-started/quickstart). -> See [System requirements](/reference/system-requirements) for exact version requirements. +> See [System requirements](/orm/reference/system-requirements) for exact version requirements. ## Create project setup @@ -78,7 +78,7 @@ You can now invoke the Prisma CLI by prefixing it with `npx`: npx prisma ``` -Next, set up your Prisma project by creating your [Prisma schema](/concepts/components/prisma-schema) file with the following command: +Next, set up your Prisma project by creating your [Prisma schema](/orm/prisma-schema) file with the following command: ```terminal copy npx prisma init diff --git a/content/100-getting-started/02-setup-prisma/100-start-from-scratch/index.mdx b/content/100-getting-started/02-setup-prisma/100-start-from-scratch/index.mdx index 8b9e74adf7..491ba8b0b5 100644 --- a/content/100-getting-started/02-setup-prisma/100-start-from-scratch/index.mdx +++ b/content/100-getting-started/02-setup-prisma/100-start-from-scratch/index.mdx @@ -7,7 +7,7 @@ toc: false -Start a fresh project from scratch with the following tutorials as they introduce you to the [Prisma CLI](/concepts/components/prisma-cli), [Prisma Client](/concepts/components/prisma-client), and [Prisma Migrate](/concepts/components/prisma-migrate). +Start a fresh project from scratch with the following tutorials as they introduce you to the [Prisma CLI](/orm/tools/prisma-cli), [Prisma Client](/orm/prisma-client), and [Prisma Migrate](/orm/prisma-migrate). diff --git a/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/100-connect-your-database.mdx b/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/100-connect-your-database.mdx index 07f99cbda7..4d0fcd3f93 100644 --- a/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/100-connect-your-database.mdx +++ b/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/100-connect-your-database.mdx @@ -9,7 +9,7 @@ toc: false ## Connecting your database -To connect your database, you need to set the `url` field of the `datasource` block in your Prisma schema to your database [connection URL](/reference/database-reference/connection-urls): +To connect your database, you need to set the `url` field of the `datasource` block in your Prisma schema to your database [connection URL](/orm/reference/connection-urls): @@ -20,7 +20,7 @@ datasource db { } ``` -In this case, the `url` is [set via an environment variable](/guides/development-environment/environment-variables) which is defined in `.env`: +In this case, the `url` is [set via an environment variable](/orm/more/development-environment/environment-variables) which is defined in `.env`: ```bash file=.env DATABASE_URL="postgresql://johndoe:randompassword@localhost:5432/mydb?schema=public" @@ -30,7 +30,7 @@ You now need to adjust the connection URL to point to your own database.

Connection URL

-The [format of the connection URL](/reference/database-reference/connection-urls) for your database depends on the database you use. For PostgreSQL, it looks as follows (the parts spelled all-uppercased are _placeholders_ for your specific connection details): +The [format of the connection URL](/orm/reference/connection-urls) for your database depends on the database you use. For PostgreSQL, it looks as follows (the parts spelled all-uppercased are _placeholders_ for your specific connection details): ```no-lines postgresql://USER:PASSWORD@HOST:PORT/DATABASE?schema=SCHEMA @@ -82,7 +82,7 @@ You now need to adjust the connection URL to point to your own database.

Connection URL

-The [format of the connection URL](/reference/database-reference/connection-urls) for your database typically depends on the database you use. For MySQL, it looks as follows (the parts spelled all-uppercased are _placeholders_ for your specific connection details): +The [format of the connection URL](/orm/reference/connection-urls) for your database typically depends on the database you use. For MySQL, it looks as follows (the parts spelled all-uppercased are _placeholders_ for your specific connection details): ```no-lines mysql://USER:PASSWORD@HOST:PORT/DATABASE @@ -95,7 +95,7 @@ Here's a short explanation of each component: - `PORT`: The port where your database server is running (typically `3306` for MySQL) - `DATABASE`: The name of the [database](https://dev.mysql.com/doc/refman/8.0/en/creating-database.html) -As an example, for a MySQL database hosted on AWS RDS, the [connection URL](/reference/database-reference/connection-urls) might look similar to this: +As an example, for a MySQL database hosted on AWS RDS, the [connection URL](/orm/reference/connection-urls) might look similar to this: ```bash file=.env DATABASE_URL="mysql://johndoe:XXX@mysql–instance1.123456789012.us-east-1.rds.amazonaws.com:3306/mydb" @@ -147,7 +147,7 @@ You now need to adjust the connection URL to point to your own database.

Connection URL

-The [format of the connection URL](/reference/database-reference/connection-urls) for your database typically depends on the database you use. PlanetScale uses the MySQL connection URL format, which has the following structure (the parts spelled all-uppercased are _placeholders_ for your specific connection details): +The [format of the connection URL](/orm/reference/connection-urls) for your database typically depends on the database you use. PlanetScale uses the MySQL connection URL format, which has the following structure (the parts spelled all-uppercased are _placeholders_ for your specific connection details): ```no-lines mysql://USER:PASSWORD@HOST:PORT/DATABASE @@ -160,7 +160,7 @@ Here's a short explanation of each component: - `PORT`: The port where your database server is running (typically `3306` for MySQL) - `DATABASE`: The name of the [database](https://dev.mysql.com/doc/refman/8.0/en/creating-database.html) -For a database hosted with PlanetScale, the [connection URL](/reference/database-reference/connection-urls) looks similar to this: +For a database hosted with PlanetScale, the [connection URL](/orm/reference/connection-urls) looks similar to this: ```bash file=.env DATABASE_URL="mysql://myusername:mypassword@server.us-east-2.psdb.cloud/mydb?sslaccept=strict" @@ -197,13 +197,13 @@ datasource db { } ``` -The `url` is [set via an environment variable](/concepts/components/prisma-schema#accessing-environment-variables-from-the-schema), the following example connection URL [uses SQL authentication](/concepts/database-connectors/sql-server), but there are [other ways to format your connection URL](/concepts/database-connectors/sql-server) +The `url` is [set via an environment variable](/concepts/components/prisma-schema#accessing-environment-variables-from-the-schema), the following example connection URL [uses SQL authentication](/orm/overview/introduction/databases/sql-server), but there are [other ways to format your connection URL](/orm/overview/introduction/databases/sql-server) ```bash file=.env DATABASE_URL="sqlserver://localhost:1433;database=mydb;user=sa;password=r@ndomP@$$w0rd;trustServerCertificate=true" ``` -Adjust the connection URL to match your setup - see [Microsoft SQL Server connection URL](/concepts/database-connectors/sql-server) for more information. +Adjust the connection URL to match your setup - see [Microsoft SQL Server connection URL](/orm/overview/introduction/databases/sql-server) for more information. > Make sure TCP/IP connections are enabled via [SQL Server Configuration Manager](https://docs.microsoft.com/en-us/sql/relational-databases/sql-server-configuration-manager) to avoid `No connection could be made because the target machine actively refused it. (os error 10061)` @@ -227,11 +227,11 @@ datasource db { } ``` -The `url` is [set via an environment variable](/guides/development-environment/environment-variables) which is defined in `.env`. You now need to adjust the connection URL to point to your own database. +The `url` is [set via an environment variable](/orm/more/development-environment/environment-variables) which is defined in `.env`. You now need to adjust the connection URL to point to your own database.

Connection URL

-The [format of the connection URL](/reference/database-reference/connection-urls) for your database depends on the database you use. CockroachDB uses the PostgreSQL connection URL format, which has the following structure (the parts spelled all-uppercased are _placeholders_ for your specific connection details): +The [format of the connection URL](/orm/reference/connection-urls) for your database depends on the database you use. CockroachDB uses the PostgreSQL connection URL format, which has the following structure (the parts spelled all-uppercased are _placeholders_ for your specific connection details): ```no-lines postgresql://USER:PASSWORD@HOST:PORT/DATABASE?PARAMETERS @@ -245,7 +245,7 @@ Here's a short explanation of each component: - `DATABASE`: The name of the database - `PARAMETERS`: Any additional connection parameters. See the CockroachDB documentation [here](https://www.cockroachlabs.com/docs/stable/connection-parameters.html#additional-connection-parameters). -For a [CockroachDB Serverless](https://www.cockroachlabs.com/docs/cockroachcloud/quickstart.html) or [Cockroach Dedicated](https://www.cockroachlabs.com/docs/cockroachcloud/quickstart-trial-cluster) database hosted on [CockroachDB Cloud](https://www.cockroachlabs.com/get-started-cockroachdb/), the [connection URL](/reference/database-reference/connection-urls) looks similar to this: +For a [CockroachDB Serverless](https://www.cockroachlabs.com/docs/cockroachcloud/quickstart.html) or [Cockroach Dedicated](https://www.cockroachlabs.com/docs/cockroachcloud/quickstart-trial-cluster) database hosted on [CockroachDB Cloud](https://www.cockroachlabs.com/get-started-cockroachdb/), the [connection URL](/orm/reference/connection-urls) looks similar to this: ```bash file=.env DATABASE_URL="postgresql://:@..cockroachlabs.cloud:26257/defaultdb?sslmode=verify-full&sslrootcert=$HOME/.postgresql/root.crt&options=--" @@ -253,7 +253,7 @@ DATABASE_URL="postgresql://:@..cockroa To find your connection string on CockroachDB Cloud, click the 'Connect' button on the overview page for your database cluster, and select the 'Connection string' tab. -For a [CockroachDB database hosted locally](https://www.cockroachlabs.com/docs/stable/secure-a-cluster.html), the [connection URL](/reference/database-reference/connection-urls) looks similar to this: +For a [CockroachDB database hosted locally](https://www.cockroachlabs.com/docs/stable/secure-a-cluster.html), the [connection URL](/orm/reference/connection-urls) looks similar to this: ```bash file=.env DATABASE_URL="postgresql://root@localhost:26257?sslmode=disable" diff --git a/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/150-introspection.mdx b/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/150-introspection.mdx index f07c1e065c..b9acb7d242 100644 --- a/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/150-introspection.mdx +++ b/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/150-introspection.mdx @@ -341,7 +341,7 @@ CREATE TABLE "Profile" ( -As a next step, you will introspect your database. The result of the introspection will be a [data model](/concepts/components/prisma-schema/data-model) inside your Prisma schema. +As a next step, you will introspect your database. The result of the introspection will be a [data model](/orm/prisma-schema/data-model/models) inside your Prisma schema. Run the following command to introspect your database: @@ -392,7 +392,7 @@ Right now, there's a few minor "issues" with the data model: - The `Post` and `Profile` relation fields on `User` as well as the `User` relation field on `Profile` are all uppercased. To adhere to Prisma's [naming conventions](/reference/api-reference/prisma-schema-reference#naming-conventions-1) , both fields should be lowercased to `post`, `profile` and `user`. - Even after lowercasing, the `post` field on `User` is still slightly misnamed. That's because it actually refers to a [list](/concepts/components/prisma-schema/data-model#type-modifiers) of posts – a better name therefore would be the plural form: `posts`. -These changes are relevant for the generated Prisma Client API where using lowercased relation fields `author`, `posts`, `profile` and `user` will feel more natural and idiomatic to JavaScript/TypeScript developers. You can therefore [configure your Prisma Client API](/concepts/components/prisma-client/working-with-prismaclient/use-custom-model-and-field-names). +These changes are relevant for the generated Prisma Client API where using lowercased relation fields `author`, `posts`, `profile` and `user` will feel more natural and idiomatic to JavaScript/TypeScript developers. You can therefore [configure your Prisma Client API](/orm/prisma-client/setup-and-configuration/custom-model-and-field-names). Because [relation fields](/concepts/components/prisma-schema/relations#relation-fields) are _virtual_ (i.e. they _do not directly manifest in the database_), you can manually rename them in your Prisma schema without touching the database: @@ -474,7 +474,7 @@ const user = await prisma.myUser.create({ }) ``` -Learn more about this on the [Configuring your Prisma Client API](/concepts/components/prisma-client/working-with-prismaclient/use-custom-model-and-field-names) page. +Learn more about this on the [Configuring your Prisma Client API](/orm/prisma-client/setup-and-configuration/custom-model-and-field-names) page.
@@ -482,7 +482,7 @@ Learn more about this on the [Configuring your Prisma Client API](/concepts/comp -As a next step, you will introspect your database. The result of the introspection will be a [data model](/concepts/components/prisma-schema/data-model) inside your Prisma schema. +As a next step, you will introspect your database. The result of the introspection will be a [data model](/orm/prisma-schema/data-model/models) inside your Prisma schema. Run the following command to introspect your database: @@ -529,7 +529,7 @@ model User { -Refer to the [Prisma schema reference](/reference/api-reference/prisma-schema-reference) for detailed information about the schema definition. +Refer to the [Prisma schema reference](/orm/reference/prisma-schema-reference) for detailed information about the schema definition. @@ -541,7 +541,7 @@ Right now, there's a few minor "issues" with the data model: - The `Post` and `Profile` relation fields on `User` as well as the `User` relation field on `Profile` are all uppercased. To adhere to Prisma's [naming conventions](/reference/api-reference/prisma-schema-reference#naming-conventions-1) , both fields should be lowercased to `post`, `profile` and `user`. - Even after lowercasing, the `post` field on `User` is still slightly misnamed. That's because it actually refers to a [list](/concepts/components/prisma-schema/data-model#type-modifiers) of posts – a better name therefore would be the plural form: `posts`. -These changes are relevant for the generated Prisma Client API where using lowercased relation fields `author`, `posts`, `profile` and `user` will feel more natural and idiomatic to JavaScript/TypeScript developers. You can therefore [configure your Prisma Client API](/concepts/components/prisma-client/working-with-prismaclient/use-custom-model-and-field-names). +These changes are relevant for the generated Prisma Client API where using lowercased relation fields `author`, `posts`, `profile` and `user` will feel more natural and idiomatic to JavaScript/TypeScript developers. You can therefore [configure your Prisma Client API](/orm/prisma-client/setup-and-configuration/custom-model-and-field-names). Because [relation fields](/concepts/components/prisma-schema/relations#relation-fields) are _virtual_ (i.e. they _do not directly manifest in the database_), you can manually rename them in your Prisma schema without touching the database: @@ -622,13 +622,13 @@ const user = await prisma.myUser.create({ }) ``` -Learn more about this on the [Configuring your Prisma Client API](/concepts/components/prisma-client/working-with-prismaclient/use-custom-model-and-field-names) page. +Learn more about this on the [Configuring your Prisma Client API](/orm/prisma-client/setup-and-configuration/custom-model-and-field-names) page. -As a next step, you will introspect your database. The result of the introspection will be a [data model](/concepts/components/prisma-schema/data-model) inside your Prisma schema. +As a next step, you will introspect your database. The result of the introspection will be a [data model](/orm/prisma-schema/data-model/models) inside your Prisma schema. Run the following command to introspect your database: @@ -679,7 +679,7 @@ Right now, there's a few minor "issues" with the data model: - The `Post` and `Profile` relation fields on `User` as well as the `User` relation field on `Profile` are all uppercased. To adhere to Prisma's [naming conventions](/reference/api-reference/prisma-schema-reference#naming-conventions-1) , both fields should be lowercased to `post`, `profile` and `user`. - Even after lowercasing, the `post` field on `User` is still slightly misnamed. That's because it actually refers to a [list](/concepts/components/prisma-schema/data-model#type-modifiers) of posts – a better name therefore would be the plural form: `posts`. -These changes are relevant for the generated Prisma Client API where using lowercased relation fields `author`, `posts`, `profile` and `user` will feel more natural and idiomatic to JavaScript/TypeScript developers. You can therefore [configure your Prisma Client API](/concepts/components/prisma-client/working-with-prismaclient/use-custom-model-and-field-names). +These changes are relevant for the generated Prisma Client API where using lowercased relation fields `author`, `posts`, `profile` and `user` will feel more natural and idiomatic to JavaScript/TypeScript developers. You can therefore [configure your Prisma Client API](/orm/prisma-client/setup-and-configuration/custom-model-and-field-names). Because [relation fields](/concepts/components/prisma-schema/relations#relation-fields) are _virtual_ (i.e. they _do not directly manifest in the database_), you can manually rename them in your Prisma schema without touching the database: @@ -761,7 +761,7 @@ const user = await prisma.myUser.create({ }) ``` -Learn more about this on the [Configuring your Prisma Client API](/concepts/components/prisma-client/working-with-prismaclient/use-custom-model-and-field-names) page. +Learn more about this on the [Configuring your Prisma Client API](/orm/prisma-client/setup-and-configuration/custom-model-and-field-names) page.
@@ -769,7 +769,7 @@ Learn more about this on the [Configuring your Prisma Client API](/concepts/comp -As a next step, you will introspect your database. The result of the introspection will be a [data model](/concepts/components/prisma-schema/data-model) inside your Prisma schema. +As a next step, you will introspect your database. The result of the introspection will be a [data model](/orm/prisma-schema/data-model/models) inside your Prisma schema. Run the following command to introspect your database: @@ -815,7 +815,7 @@ model User { -Refer to the [Prisma schema reference](/reference/api-reference/prisma-schema-reference) for detailed information about the schema definition. +Refer to the [Prisma schema reference](/orm/reference/prisma-schema-reference) for detailed information about the schema definition. @@ -916,7 +916,7 @@ const user = await prisma.myUser.create({ }) ``` -Learn more about this on the [Configuring your Prisma Client API](/concepts/components/prisma-client/working-with-prismaclient/use-custom-model-and-field-names) page. +Learn more about this on the [Configuring your Prisma Client API](/orm/prisma-client/setup-and-configuration/custom-model-and-field-names) page.
@@ -924,7 +924,7 @@ Learn more about this on the [Configuring your Prisma Client API](/concepts/comp -As a next step, you will introspect your database. The result of the introspection will be a [data model](/concepts/components/prisma-schema/data-model) inside your Prisma schema. +As a next step, you will introspect your database. The result of the introspection will be a [data model](/orm/prisma-schema/data-model/models) inside your Prisma schema. Run the following command to introspect your database: @@ -975,7 +975,7 @@ Right now, there's a few minor "issues" with the data model: - The `Post` and `Profile` relation fields on `User` as well as the `User` relation field on `Profile` are all uppercased. To adhere to Prisma's [naming conventions](/reference/api-reference/prisma-schema-reference#naming-conventions-1) , both fields should be lowercased to `post`, `profile` and `user`. - Even after lowercasing, the `post` field on `User` is still slightly misnamed. That's because it actually refers to a [list](/concepts/components/prisma-schema/data-model#type-modifiers) of posts – a better name therefore would be the plural form: `posts`. -These changes are relevant for the generated Prisma Client API where using lowercased relation fields `author`, `posts`, `profile` and `user` will feel more natural and idiomatic to JavaScript/TypeScript developers. You can therefore [configure your Prisma Client API](/concepts/components/prisma-client/working-with-prismaclient/use-custom-model-and-field-names). +These changes are relevant for the generated Prisma Client API where using lowercased relation fields `author`, `posts`, `profile` and `user` will feel more natural and idiomatic to JavaScript/TypeScript developers. You can therefore [configure your Prisma Client API](/orm/prisma-client/setup-and-configuration/custom-model-and-field-names). Because [relation fields](/concepts/components/prisma-schema/relations#relation-fields) are _virtual_ (i.e. they _do not directly manifest in the database_), you can manually rename them in your Prisma schema without touching the database: @@ -1057,7 +1057,7 @@ const user = await prisma.myUser.create({ }) ``` -Learn more about this on the [Configuring your Prisma Client API](/concepts/components/prisma-client/working-with-prismaclient/use-custom-model-and-field-names) page. +Learn more about this on the [Configuring your Prisma Client API](/orm/prisma-client/setup-and-configuration/custom-model-and-field-names) page.
diff --git a/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/170-baseline-your-database.mdx b/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/170-baseline-your-database.mdx index 19ed32d4c1..5e0fb672f6 100644 --- a/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/170-baseline-your-database.mdx +++ b/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/170-baseline-your-database.mdx @@ -9,7 +9,7 @@ toc: false ## Create an initial migration -To use Prisma Migrate with the database you introspected in the last section, you will need to [baseline your database](/guides/migrate/developing-with-prisma-migrate/add-prisma-migrate-to-a-project). +To use Prisma Migrate with the database you introspected in the last section, you will need to [baseline your database](/orm/prisma-migrate/getting-started). Baselining refers to initializing your migration history for a database that might already contain data and **cannot be reset**, such as your production database. Baselining tells Prisma Migrate to assume that one or more migrations have already been applied to your database. diff --git a/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/250-querying-the-database.mdx b/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/250-querying-the-database.mdx index 209691e8d0..dd7fcb5eae 100644 --- a/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/250-querying-the-database.mdx +++ b/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/250-querying-the-database.mdx @@ -75,7 +75,7 @@ Here's a quick overview of the different parts of the code snippet: 1. Call the `main` function 1. Close the database connections when the script terminates -Depending on what your models look like, the Prisma Client API will look different as well. For example, if you have a `User` model, your `PrismaClient` instance exposes a property called `user` on which you can call [CRUD](/concepts/components/prisma-client/crud) methods like `findMany`, `create` or `update`. The property is named after the model, but the first letter is lowercased (so for the `Post` model it's called `post`, for `Profile` it's called `profile`). +Depending on what your models look like, the Prisma Client API will look different as well. For example, if you have a `User` model, your `PrismaClient` instance exposes a property called `user` on which you can call [CRUD](/orm/prisma-client/queries/crud) methods like `findMany`, `create` or `update`. The property is named after the model, but the first letter is lowercased (so for the `Post` model it's called `post`, for `Profile` it's called `profile`). The following examples are all based on the models in the Prisma schema. diff --git a/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/300-next-steps.mdx b/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/300-next-steps.mdx index b32313f5ac..4a2c944b59 100644 --- a/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/300-next-steps.mdx +++ b/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/300-next-steps.mdx @@ -9,11 +9,11 @@ toc: false ## Next steps -This section lists a number of potential next steps you can now take from here. Feel free to explore these or read the [Introduction](/concepts/overview/what-is-prisma) page to get a high-level overview of Prisma. +This section lists a number of potential next steps you can now take from here. Feel free to explore these or read the [Introduction](/orm/overview/introduction/what-is-prisma) page to get a high-level overview of Prisma. ### Continue exploring the Prisma Client API -You can send a variety of queries with the Prisma Client API. Check out the [API reference](/concepts/components/prisma-client) and use your existing database setup from this guide to try them out. +You can send a variety of queries with the Prisma Client API. Check out the [API reference](/orm/prisma-client) and use your existing database setup from this guide to try them out. diff --git a/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/index.mdx b/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/index.mdx index 00668a1032..7d77e136e4 100644 --- a/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/index.mdx +++ b/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/index.mdx @@ -10,7 +10,7 @@ dbSwitcher: ['postgresql', 'mysql', 'sqlserver', 'planetscale', 'cockroachdb'] -Learn how to add Prisma to an existing Node.js or TypeScript project by connecting it to your database and generating a Prisma Client for database access. The following tutorial introduces you to the [Prisma CLI](/concepts/components/prisma-cli), [Prisma Client](/concepts/components/prisma-client), and [Prisma Introspection](/concepts/components/introspection). +Learn how to add Prisma to an existing Node.js or TypeScript project by connecting it to your database and generating a Prisma Client for database access. The following tutorial introduces you to the [Prisma CLI](/orm/tools/prisma-cli), [Prisma Client](/orm/prisma-client), and [Prisma Introspection](/orm/prisma-schema/introspection). @@ -18,7 +18,7 @@ Learn how to add Prisma to an existing Node.js or TypeScript project by connecti
-If you're migrating to Prisma from another ORM, see our [Migrate from TypeORM](/guides/migrate-to-prisma/migrate-from-typeorm) or [Migrate from Sequelize](/guides/migrate-to-prisma/migrate-from-sequelize) migration guides. +If you're migrating to Prisma from another ORM, see our [Migrate from TypeORM](/orm/more/migrating-to-prisma/migrate-from-typeorm) or [Migrate from Sequelize](/orm/more/migrating-to-prisma/migrate-from-sequelize) migration guides.
@@ -55,8 +55,8 @@ In order to successfully complete this guide, you need: - [Node.js](https://nodejs.org/en/) installed on your machine - A [Microsoft SQL Server](https://docs.microsoft.com/en-us/sql/?view=sql-server-ver15) database - - [Microsoft SQL Server on Linux for Docker](/concepts/database-connectors/sql-server/sql-server-docker) - - [Microsoft SQL Server on Windows (local)](/concepts/database-connectors/sql-server/sql-server-local) + - [Microsoft SQL Server on Linux for Docker](/orm/overview/introduction/databases/sql-server/sql-server-docker) + - [Microsoft SQL Server on Windows (local)](/orm/overview/introduction/databases/sql-server/sql-server-local) @@ -68,9 +68,9 @@ In order to successfully complete this guide, you need: -> See [System requirements](/reference/system-requirements) for exact version requirements. +> See [System requirements](/orm/reference/system-requirements) for exact version requirements. -Make sure you have your database [connection URL](/reference/database-reference/connection-urls) (that includes your authentication credentials) at hand! If you don't have a database server running and just want to explore Prisma, check out the [Quickstart](/getting-started/quickstart). +Make sure you have your database [connection URL](/orm/reference/connection-urls) (that includes your authentication credentials) at hand! If you don't have a database server running and just want to explore Prisma, check out the [Quickstart](/getting-started/quickstart). ## Set up Prisma @@ -94,7 +94,7 @@ See [installation instructions](/reference/api-reference/command-reference#insta -Next, set up your Prisma project by creating your [Prisma schema](/concepts/components/prisma-schema) file template with the following command: +Next, set up your Prisma project by creating your [Prisma schema](/orm/prisma-schema) file template with the following command: ```terminal copy npx prisma init diff --git a/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/120-mongodb/100-connect-your-database.mdx b/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/120-mongodb/100-connect-your-database.mdx index ae745ac8c9..5e976dcd74 100644 --- a/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/120-mongodb/100-connect-your-database.mdx +++ b/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/120-mongodb/100-connect-your-database.mdx @@ -9,7 +9,7 @@ toc: false ## Connecting your database -To connect your database, you need to set the `url` field of the `datasource` block in your Prisma schema to your database [connection URL](/reference/database-reference/connection-urls): +To connect your database, you need to set the `url` field of the `datasource` block in your Prisma schema to your database [connection URL](/orm/reference/connection-urls): ```prisma file=prisma/schema.prisma datasource db { @@ -18,7 +18,7 @@ datasource db { } ``` -In this case, the `url` is [set via an environment variable](/guides/development-environment/environment-variables) which is defined in `.env`: +In this case, the `url` is [set via an environment variable](/orm/more/development-environment/environment-variables) which is defined in `.env`: ```bash file=.env DATABASE_URL="mongodb+srv://test:test@cluster0.ns1yp.mongodb.net/myFirstDatabase" @@ -26,7 +26,7 @@ DATABASE_URL="mongodb+srv://test:test@cluster0.ns1yp.mongodb.net/myFirstDatabase You now need to adjust the connection URL to point to your own database. -The [format of the connection URL](/reference/database-reference/connection-urls) for your database depends on the database you use. For MongoDB, it looks as follows (the parts spelled all-uppercased are _placeholders_ for your specific connection details): +The [format of the connection URL](/orm/reference/connection-urls) for your database depends on the database you use. For MongoDB, it looks as follows (the parts spelled all-uppercased are _placeholders_ for your specific connection details): ```no-lines mongodb://USERNAME:PASSWORD@HOST:PORT/DATABASE diff --git a/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/120-mongodb/250-querying-the-database.mdx b/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/120-mongodb/250-querying-the-database.mdx index 0a5b773614..57997e273a 100644 --- a/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/120-mongodb/250-querying-the-database.mdx +++ b/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/120-mongodb/250-querying-the-database.mdx @@ -231,7 +231,7 @@ The output should look similar to this: -Also note that `allUsers` is _statically typed_ thanks to [Prisma Client's generated types](/concepts/components/prisma-client/advanced-type-safety/operating-against-partial-structures-of-model-types). You can observe the type by hovering over the `allUsers` variable in your editor. It should be typed as follows: +Also note that `allUsers` is _statically typed_ thanks to [Prisma Client's generated types](/orm/prisma-client/type-safety/operating-against-partial-structures-of-model-types). You can observe the type by hovering over the `allUsers` variable in your editor. It should be typed as follows: ```ts no-lines const allUsers: (User & { diff --git a/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/120-mongodb/300-next-steps.mdx b/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/120-mongodb/300-next-steps.mdx index 0333f41319..628f0abc58 100644 --- a/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/120-mongodb/300-next-steps.mdx +++ b/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/120-mongodb/300-next-steps.mdx @@ -9,11 +9,11 @@ toc: false ## Next steps -This section lists a number of potential next steps you can now take from here. Feel free to explore these or read the [Introduction](/concepts/overview/what-is-prisma) page to get a high-level overview of Prisma. +This section lists a number of potential next steps you can now take from here. Feel free to explore these or read the [Introduction](/orm/overview/introduction/what-is-prisma) page to get a high-level overview of Prisma. ### Continue exploring the Prisma Client API -You can send a variety of queries with the Prisma Client API. Check out the [API reference](/concepts/components/prisma-client) and use your existing database setup from this guide to try them out. +You can send a variety of queries with the Prisma Client API. Check out the [API reference](/orm/prisma-client) and use your existing database setup from this guide to try them out. diff --git a/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/120-mongodb/index.mdx b/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/120-mongodb/index.mdx index 5ce63e5b5e..e333b6d87b 100644 --- a/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/120-mongodb/index.mdx +++ b/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/120-mongodb/index.mdx @@ -10,7 +10,7 @@ dbSwitcher: ['mongodb'] -Learn how to add Prisma to an existing Node.js or TypeScript project by connecting it to your database and generating a Prisma Client for database access. The following tutorial introduces you to the [Prisma CLI](/concepts/components/prisma-cli), [Prisma Client](/concepts/components/prisma-client), and [Prisma Introspection](/concepts/components/introspection). +Learn how to add Prisma to an existing Node.js or TypeScript project by connecting it to your database and generating a Prisma Client for database access. The following tutorial introduces you to the [Prisma CLI](/orm/tools/prisma-cli), [Prisma Client](/orm/prisma-client), and [Prisma Introspection](/orm/prisma-schema/introspection). @@ -18,7 +18,7 @@ Learn how to add Prisma to an existing Node.js or TypeScript project by connecti
-If you're migrating to Prisma from Mongoose, see our [Migrate from Mongoose guide](/guides/migrate-to-prisma/migrate-from-mongoose). +If you're migrating to Prisma from Mongoose, see our [Migrate from Mongoose guide](/orm/more/migrating-to-prisma/migrate-from-mongoose).
@@ -36,9 +36,9 @@ In order to successfully complete this guide, you need: -Make sure you have your database [connection URL](/reference/database-reference/connection-urls) (that includes your authentication credentials) at hand! If you don't have a database server running and just want to explore Prisma, check out the [Quickstart](/getting-started/quickstart). +Make sure you have your database [connection URL](/orm/reference/connection-urls) (that includes your authentication credentials) at hand! If you don't have a database server running and just want to explore Prisma, check out the [Quickstart](/getting-started/quickstart). -> See [System requirements](/reference/system-requirements) for exact version requirements. +> See [System requirements](/orm/reference/system-requirements) for exact version requirements. ## Set up Prisma @@ -56,7 +56,7 @@ You can now invoke the Prisma CLI by prefixing it with `npx`: npx prisma ``` -Next, set up your Prisma project by creating your [Prisma schema](/concepts/components/prisma-schema) file template with the following command: +Next, set up your Prisma project by creating your [Prisma schema](/orm/prisma-schema) file template with the following command: ```terminal copy npx prisma init diff --git a/content/100-getting-started/02-setup-prisma/index.mdx b/content/100-getting-started/02-setup-prisma/index.mdx index e497ffb55a..a9fff3bfbf 100644 --- a/content/100-getting-started/02-setup-prisma/index.mdx +++ b/content/100-getting-started/02-setup-prisma/index.mdx @@ -8,7 +8,7 @@ staticLink: true -Start from scratch or add Prisma to an existing project. The following tutorials introduce you to the [Prisma CLI](/concepts/components/prisma-cli), [Prisma Client](/concepts/components/prisma-client), and [Prisma Migrate](/concepts/components/prisma-migrate). +Start from scratch or add Prisma to an existing project. The following tutorials introduce you to the [Prisma CLI](/orm/tools/prisma-cli), [Prisma Client](/orm/prisma-client), and [Prisma Migrate](/orm/prisma-migrate). diff --git a/content/100-getting-started/index.mdx b/content/100-getting-started/index.mdx index 3aa8f6e95d..b7f4f66a14 100644 --- a/content/100-getting-started/index.mdx +++ b/content/100-getting-started/index.mdx @@ -10,11 +10,11 @@ Welcome to the Prisma getting started section! 👋 Explore our range of products defined to make working with data easy: -[**Prisma ORM**](/concepts/overview/what-is-prisma) is an [open source](https://github.com/prisma/prisma) next-generation Node.js and TypeScript ORM that unlocks a new level of developer experience when working with databases thanks to its intuitive data model, automated migrations, type-safety & auto-completion. +[**Prisma ORM**](/orm/overview/introduction/what-is-prisma) is an [open source](https://github.com/prisma/prisma) next-generation Node.js and TypeScript ORM that unlocks a new level of developer experience when working with databases thanks to its intuitive data model, automated migrations, type-safety & auto-completion. -[**Prisma Accelerate**](/data-platform/accelerate/what-is-accelerate) is a global database cache with scalable connection pooling. +[**Prisma Accelerate**](/accelerate/what-is-accelerate) is a global database cache with scalable connection pooling. -[**Prisma Pulse**](/data-platform/pulse/what-is-pulse) allows you to build reactive, real-time applications in a type-safe manner. +[**Prisma Pulse**](/pulse/what-is-pulse) allows you to build reactive, real-time applications in a type-safe manner.
diff --git a/content/200-orm/050-overview/100-introduction/250-should-you-use-prisma.mdx b/content/200-orm/050-overview/100-introduction/250-should-you-use-prisma.mdx index 1cb4caa5c9..5684b221e4 100644 --- a/content/200-orm/050-overview/100-introduction/250-should-you-use-prisma.mdx +++ b/content/200-orm/050-overview/100-introduction/250-should-you-use-prisma.mdx @@ -47,7 +47,7 @@ Here's an overview of the different scenarios where Prisma might or might not be This is the main use case for Prisma. Server-side applications typically are API servers that expose data operations via technologies like REST, GraphQL or gRPC. They are commonly built as microservices or monolithic apps and deployed via long-running servers or serverless functions. Prisma is a great fit for all of these application and deployment models. -Refer to the full list of databases (relational, NoSQL, and NewSQL) that Prisma [supports](/reference/database-reference/supported-databases). +Refer to the full list of databases (relational, NoSQL, and NewSQL) that Prisma [supports](/orm/reference/supported-databases). ### ... you care about productivity and developer experience @@ -67,19 +67,19 @@ Here are a couple of the guiding principles and general practices we apply when Prisma shines especially when used in collaborative environments. -The declarative [Prisma schema](/concepts/components/prisma-schema) provides an overview of the current state of the database that's easy to understand for everyone. This is a major improvement to traditional workflows where developers have to dig through migration files to understand the current table structure. +The declarative [Prisma schema](/orm/prisma-schema) provides an overview of the current state of the database that's easy to understand for everyone. This is a major improvement to traditional workflows where developers have to dig through migration files to understand the current table structure. -[Prisma Client](/concepts/components/prisma-client)'s minimal API surface enables developers to pick it up quickly without much learning overhead, so onboarding new developers to a team becomes a lot smoother. +[Prisma Client](/orm/prisma-client)'s minimal API surface enables developers to pick it up quickly without much learning overhead, so onboarding new developers to a team becomes a lot smoother. -The [Prisma Migrate](/concepts/components/prisma-migrate) workflows are designed in a way to cover database schema changes in collaborative environments. From the initial schema creation up to the point of deploying schema changes to production and resolving conflicts that were introduced by parallel modifications, Prisma Migrate has you covered. +The [Prisma Migrate](/orm/prisma-migrate) workflows are designed in a way to cover database schema changes in collaborative environments. From the initial schema creation up to the point of deploying schema changes to production and resolving conflicts that were introduced by parallel modifications, Prisma Migrate has you covered. ### ... you want a tool that holistically covers your database workflows Prisma is a lot more than "just another ORM". We are building a database toolkit that covers the daily workflows of application developers that interact with databases. A few examples are: -- querying (with [Prisma Client](/concepts/components/prisma-client)) -- data modeling (in the [Prisma schema](/concepts/components/prisma-schema)) -- migrations (with [Prisma Migrate](/concepts/components/prisma-migrate)) +- querying (with [Prisma Client](/orm/prisma-client)) +- data modeling (in the [Prisma schema](/orm/prisma-schema)) +- migrations (with [Prisma Migrate](/orm/prisma-migrate)) - prototyping (via [`prisma db push`](/reference/api-reference/command-reference#db-push)) - seeding (via [`prisma db seed`](/reference/api-reference/command-reference#db-seed)) - visual viewing and editing (with [Prisma Studio](https://www.prisma.io/studio)) @@ -106,7 +106,7 @@ Prisma has a lively [community](https://www.prisma.io/community), which you can ### ... you need _full_ control over all database queries -Prisma is an abstraction. As such, an inherent tradeoff of Prisma is a reduced amount of control in exchange for higher productivity. This means, the [Prisma Client API](/concepts/components/prisma-client) might have less capabilities in some scenarios than you get with plain SQL. +Prisma is an abstraction. As such, an inherent tradeoff of Prisma is a reduced amount of control in exchange for higher productivity. This means, the [Prisma Client API](/orm/prisma-client) might have less capabilities in some scenarios than you get with plain SQL. If your application has requirements for database queries that Prisma does not provide and the workarounds are too costly, you might be better off with a tool that allows you to exercise full control over your database operations using plain SQL. @@ -134,7 +134,7 @@ _Alternatives_: [Hasura](https://hasura.io/), [Postgraphile](https://www.graphil ### ... you want to use raw, type-safe SQL for querying your database -While Prisma does allow you to [send plain SQL queries](/concepts/components/prisma-client/raw-database-access) to your database, it might not be the best fit if you prefer to work with a SQL-based abstraction that you want to be type-safe. Prisma's main benefit is to provide an abstraction layer that makes you more productive compared to writing SQL. +While Prisma does allow you to [send plain SQL queries](/orm/prisma-client/queries/raw-database-access/raw-queries) to your database, it might not be the best fit if you prefer to work with a SQL-based abstraction that you want to be type-safe. Prisma's main benefit is to provide an abstraction layer that makes you more productive compared to writing SQL. If you're a solo developer that is very comfortable with SQL, and you just want to be sure that your database layer is type-safe, a lower-level TypeScript database library might be better for you. diff --git a/content/200-orm/050-overview/100-introduction/300-data-modeling.mdx b/content/200-orm/050-overview/100-introduction/300-data-modeling.mdx index 38d4e000c8..ac5ff0e3a2 100644 --- a/content/200-orm/050-overview/100-introduction/300-data-modeling.mdx +++ b/content/200-orm/050-overview/100-introduction/300-data-modeling.mdx @@ -179,7 +179,7 @@ The resulting `user` object is an instance of Sequelize's `Model` class (because Depending on which parts of Prisma you want to use in your application, the data modeling flow looks slightly different. The following two sections explain the workflows for using [**only Prisma Client**](#using-only-prisma-client) and using [**Prisma Client and Prisma Migrate**](#using-prisma-client-and-prisma-migrate). -No matter which approach though, with Prisma you never create application models in your programming language by manually defining classes, interfaces, or structs. Instead, the application models are defined in your [Prisma schema](/concepts/components/prisma-schema): +No matter which approach though, with Prisma you never create application models in your programming language by manually defining classes, interfaces, or structs. Instead, the application models are defined in your [Prisma schema](/orm/prisma-schema): - **Only Prisma Client**: Application models in the Prisma schema are _generated based on the introspection of your database schema_. Data modeling happens primarily on the database-level. - **Prisma Client and Prisma Migrate**: Data modeling happens in the Prisma schema by _manually adding application models_ to it. Prisma Migrate maps these application models to tables in the underlying database (currently only supported for relational databases). @@ -238,7 +238,7 @@ Here is an overview of the main workflow: ### Using Prisma Client and Prisma Migrate -When using [Prisma Migrate](/concepts/components/prisma-migrate), you define your application in the Prisma schema and with relational databases use the `prisma migrate` subcommand to generate plain SQL migration files, which you can edit before applying. With MongoDB, you use `prisma db push` instead which applies the changes to your database directly. +When using [Prisma Migrate](/orm/prisma-migrate), you define your application in the Prisma schema and with relational databases use the `prisma migrate` subcommand to generate plain SQL migration files, which you can edit before applying. With MongoDB, you use `prisma db push` instead which applies the changes to your database directly. Here is an overview of the main workflow: diff --git a/content/200-orm/050-overview/100-introduction/50-what-is-prisma.mdx b/content/200-orm/050-overview/100-introduction/50-what-is-prisma.mdx index ded28dd986..e957d9de48 100644 --- a/content/200-orm/050-overview/100-introduction/50-what-is-prisma.mdx +++ b/content/200-orm/050-overview/100-introduction/50-what-is-prisma.mdx @@ -14,7 +14,7 @@ Prisma is an [open source](https://github.com/prisma/prisma) next-generation ORM - **Prisma Studio** is the only part of Prisma ORM that is not open source. You can only run Prisma Studio locally. Prisma Studio is also integrated in our commercial offering [Prisma Data Platform](/data-platform/classic-projects/about) under the name [Data Browser](/data-platform/classic-projects/platform/data-browser). In Data Browser, you can view and edit data for each project and other team members can do the same after you grant them permissions with an appropriate [role](/data-platform/classic-projects/platform/members/roles-permissions). + **Prisma Studio** is the only part of Prisma ORM that is not open source. You can only run Prisma Studio locally. Prisma Studio is also integrated in our commercial offering [Prisma Data Platform](/data-platform/classic-projects/about) under the name [Data Browser](/platform/classic-projects/platform/data-browser). In Data Browser, you can view and edit data for each project and other team members can do the same after you grant them permissions with an appropriate [role](/platform/classic-projects/platform/members/roles-permissions). @@ -36,7 +36,7 @@ Prisma Client can be used in _any_ Node.js (supported versions) or TypeScript ba ### The Prisma schema -Every project that uses a tool from the Prisma toolkit starts with a [Prisma schema file](/concepts/components/prisma-schema). The Prisma schema allows developers to define their _application models_ in an intuitive data modeling language. It also contains the connection to a database and defines a _generator_: +Every project that uses a tool from the Prisma toolkit starts with a [Prisma schema file](/orm/prisma-schema). The Prisma schema allows developers to define their _application models_ in an intuitive data modeling language. It also contains the connection to a database and defines a _generator_: , ]}> @@ -101,7 +101,7 @@ model User { -> **Note**: The Prisma schema has powerful data modeling features. For example, it allows you to define "Prisma-level" [relation fields](/concepts/components/prisma-schema/relations) which will make it easier to work with [relations in the Prisma Client API](/concepts/components/prisma-client/relation-queries). In the case above, the `posts` field on `User` is defined only on "Prisma-level", meaning it does not manifest as a foreign key in the underlying database. +> **Note**: The Prisma schema has powerful data modeling features. For example, it allows you to define "Prisma-level" [relation fields](/orm/prisma-schema/data-model/relations) which will make it easier to work with [relations in the Prisma Client API](/orm/prisma-client/queries/relation-queries). In the case above, the `posts` field on `User` is defined only on "Prisma-level", meaning it does not manifest as a foreign key in the underlying database. In this schema, you configure three things: @@ -111,7 +111,7 @@ In this schema, you configure three things: ### The Prisma data model -On this page, the focus is on the data model. You can learn more about [Data sources](/concepts/components/prisma-schema/data-sources) and [Generators](/concepts/components/prisma-schema/generators) on the respective docs pages. +On this page, the focus is on the data model. You can learn more about [Data sources](/orm/prisma-schema/overview/data-sources) and [Generators](/orm/prisma-schema/overview/generators) on the respective docs pages. #### Functions of Prisma models @@ -124,10 +124,10 @@ The data model is a collection of [models](/concepts/components/prisma-schema/da There are two major workflows for "getting" a data model into your Prisma schema: -- Manually writing the data model and mapping it to the database with [Prisma Migrate](/concepts/components/prisma-migrate) -- Generating the data model by [introspecting](/concepts/components/introspection) a database +- Manually writing the data model and mapping it to the database with [Prisma Migrate](/orm/prisma-migrate) +- Generating the data model by [introspecting](/orm/prisma-schema/introspection) a database -Once the data model is defined, you can [generate Prisma Client](/concepts/components/prisma-client/working-with-prismaclient/generating-prisma-client) which will expose CRUD and more queries for the defined models. If you're using TypeScript, you'll get full type-safety for all queries (even when only retrieving the subsets of a model's fields). +Once the data model is defined, you can [generate Prisma Client](/orm/prisma-client/setup-and-configuration/generating-prisma-client) which will expose CRUD and more queries for the defined models. If you're using TypeScript, you'll get full type-safety for all queries (even when only retrieving the subsets of a model's fields). ### Accessing your database with Prisma Client @@ -176,7 +176,7 @@ const prisma = new PrismaClient() Now you can start sending queries via the generated Prisma Client API, here are a few sample queries. Note that all Prisma Client queries return _plain old JavaScript objects_. -Learn more about the available operations in the [Prisma Client API reference](/concepts/components/prisma-client). +Learn more about the available operations in the [Prisma Client API reference](/orm/prisma-client). ##### Retrieve all `User` records from the database @@ -235,7 +235,7 @@ const post = await prisma.post.update({ #### Usage with TypeScript -Note that when using TypeScript, the result of this query will be _statically typed_ so that you can't accidentally access a property that doesn't exist (and any typos are caught at compile-time). Learn more about leveraging Prisma Client's generated types on the [Advanced usage of generated types](/concepts/components/prisma-client/advanced-type-safety/operating-against-partial-structures-of-model-types) page in the docs. +Note that when using TypeScript, the result of this query will be _statically typed_ so that you can't accidentally access a property that doesn't exist (and any typos are caught at compile-time). Learn more about leveraging Prisma Client's generated types on the [Advanced usage of generated types](/orm/prisma-client/type-safety/operating-against-partial-structures-of-model-types) page in the docs. ## Typical Prisma workflows @@ -245,7 +245,7 @@ As mentioned above, there are two ways for "getting" your data model into the Pr With **Prisma Migrate**, Prisma's integrated database migration tool, the workflow looks as follows: -1. Manually adjust your [Prisma data model](/concepts/components/prisma-schema/data-model) +1. Manually adjust your [Prisma data model](/orm/prisma-schema/data-model/models) 1. Migrate your development database using the `prisma migrate dev` CLI command 1. Use Prisma Client in your application code to access your database @@ -253,9 +253,9 @@ With **Prisma Migrate**, Prisma's integrated database migration tool, the workfl To learn more about the Prisma Migrate workflow, see: -- [Deploying database changes with Prisma Migrate](/guides/deployment/deploy-database-changes-with-prisma-migrate) +- [Deploying database changes with Prisma Migrate](/orm/prisma-client/deployment/deploy-database-changes-with-prisma-migrate) -* [Developing with Prisma Migrate](/guides/migrate/developing-with-prisma-migrate) +* [Developing with Prisma Migrate](/orm/prisma-migrate) ### SQL migrations and introspection @@ -264,10 +264,10 @@ The typical workflow when using **SQL migrations and introspection** is slightly 1. Manually adjust your database schema using SQL or a third-party migration tool 1. (Re-)introspect your database -1. Optionally [(re-)configure your Prisma Client API](/concepts/components/prisma-client/working-with-prismaclient/use-custom-model-and-field-names)) +1. Optionally [(re-)configure your Prisma Client API](/orm/prisma-client/setup-and-configuration/custom-model-and-field-names)) 1. (Re-)generate Prisma Client 1. Use Prisma Client in your application code to access your database ![Introspect workflow](../../../doc-images/prisma-evolve-app-workflow.png) -To learn more about the introspection workflow, please refer the [introspection section](/concepts/components/introspection). +To learn more about the introspection workflow, please refer the [introspection section](/orm/prisma-schema/introspection). diff --git a/content/200-orm/050-overview/100-introduction/index.mdx b/content/200-orm/050-overview/100-introduction/index.mdx index 3742bd226f..90a1c1af59 100644 --- a/content/200-orm/050-overview/100-introduction/index.mdx +++ b/content/200-orm/050-overview/100-introduction/index.mdx @@ -10,7 +10,7 @@ This page gives a high-level overview of what Prisma is and how it works. If you want to get started with a _practical introduction_ and learn about the Prisma Client API, head over to the [**Getting Started**](/getting-started) documentation. -To learn more about the _motivation_ for Prisma, check out the [**Why Prisma?**](/concepts/overview/why-prisma) page. +To learn more about the _motivation_ for Prisma, check out the [**Why Prisma?**](/orm/overview/introduction/why-prisma) page.
diff --git a/content/200-orm/050-overview/300-prisma-in-your-stack/03-fullstack.mdx b/content/200-orm/050-overview/300-prisma-in-your-stack/03-fullstack.mdx index b4569bc0d5..85bd2fc921 100644 --- a/content/200-orm/050-overview/300-prisma-in-your-stack/03-fullstack.mdx +++ b/content/200-orm/050-overview/300-prisma-in-your-stack/03-fullstack.mdx @@ -55,7 +55,7 @@ model User { } ``` -You can now implement the logic for querying your database using [Prisma Client API](/concepts/components/prisma-client) inside `getServerSideProps`, `getStaticProps`, API routes, or using API libraries such as [tRPC](https://trpc.io/) and [GraphQL](https://graphql.org/). +You can now implement the logic for querying your database using [Prisma Client API](/orm/prisma-client) inside `getServerSideProps`, `getStaticProps`, API routes, or using API libraries such as [tRPC](https://trpc.io/) and [GraphQL](https://graphql.org/). ### getServerSideProps diff --git a/content/200-orm/050-overview/300-prisma-in-your-stack/04-is-prisma-an-orm.mdx b/content/200-orm/050-overview/300-prisma-in-your-stack/04-is-prisma-an-orm.mdx index d75a95daf5..07f0063572 100644 --- a/content/200-orm/050-overview/300-prisma-in-your-stack/04-is-prisma-an-orm.mdx +++ b/content/200-orm/050-overview/300-prisma-in-your-stack/04-is-prisma-an-orm.mdx @@ -10,7 +10,7 @@ To answer the question briefly: _Yes, Prisma is a new kind of ORM that fundament Traditional ORMs provide an object-oriented way for working with relational databases by mapping tables to _model classes_ in your programming language. This approach leads to many problems that are caused by the [object-relational impedance mismatch](https://en.wikipedia.org/wiki/Object%E2%80%93relational_impedance_mismatch). -Prisma works fundamentally different compared to that. With Prisma, you define your models in the declarative [Prisma schema](/concepts/components/prisma-schema) which serves as the single source of truth for your database schema and the models in your programming language. In your application code, you can then use Prisma Client to read and write data in your database in a type-safe manner without the overhead of managing complex model instances. This makes the process of querying data a lot more natural as well as more predictable since Prisma Client always returns plain JavaScript objects. +Prisma works fundamentally different compared to that. With Prisma, you define your models in the declarative [Prisma schema](/orm/prisma-schema) which serves as the single source of truth for your database schema and the models in your programming language. In your application code, you can then use Prisma Client to read and write data in your database in a type-safe manner without the overhead of managing complex model instances. This makes the process of querying data a lot more natural as well as more predictable since Prisma Client always returns plain JavaScript objects. In this article, you will learn in more detail about ORM patterns and workflows, how Prisma implements the Data Mapper pattern, and the benefits of Prisma's approach. @@ -174,13 +174,13 @@ Now that the costs and benefits of ORMs have been covered, you can better unders Prisma is a **next-generation ORM** that makes working with databases easy for application developers and features the following tools: -- [**Prisma Client**](/concepts/components/prisma-client): Auto-generated and type-safe database client for use in your application. -- [**Prisma Migrate**](/concepts/components/prisma-migrate): A declarative data modeling and migration tool. -- [**Prisma Studio**](/concepts/components/prisma-studio): A modern GUI for browsing and managing data in your database. +- [**Prisma Client**](/orm/prisma-client): Auto-generated and type-safe database client for use in your application. +- [**Prisma Migrate**](/orm/prisma-migrate): A declarative data modeling and migration tool. +- [**Prisma Studio**](/orm/tools/prisma-studio): A modern GUI for browsing and managing data in your database. > **Note:** Since Prisma Client is the most prominent tool, we often refer to it as simply Prisma. -The three tools use the [Prisma schema](/concepts/components/prisma-schema) as a single source of truth for the database schema, your application's object schema, and the mapping between the two. It's defined by you and is your main configuration file for Prisma. +The three tools use the [Prisma schema](/orm/prisma-schema) as a single source of truth for the database schema, your application's object schema, and the mapping between the two. It's defined by you and is your main configuration file for Prisma. Prisma makes you productive and confident in the software you're building with features such as _type safety_, rich auto-completion, and a natural API for fetching relations. @@ -281,7 +281,7 @@ In the next section, you will learn about Prisma's supported workflows. The workflow with Prisma is slightly different to traditional ORMs. You can use Prisma when building new applications from scratch or adopt it incrementally: - _New application_ (greenfield): Projects that have no database schema yet can use Prisma Migrate to create the database schema. -- _Existing application_ (brownfield): Projects that already have a database schema can be [introspected](/concepts/components/introspection) by Prisma to generate the Prisma schema and Prisma Client. This use-case works with any existing migration tool and is useful for incremental adoption. It's possible to switch to Prisma Migrate as the migration tool. However, this is optional. +- _Existing application_ (brownfield): Projects that already have a database schema can be [introspected](/orm/prisma-schema/introspection) by Prisma to generate the Prisma schema and Prisma Client. This use-case works with any existing migration tool and is useful for incremental adoption. It's possible to switch to Prisma Migrate as the migration tool. However, this is optional. With both workflows, the Prisma schema is the main configuration file. @@ -314,7 +314,7 @@ generator client { 3. (Optional) Customize [field and model mappings](/concepts/components/prisma-schema/data-model#mapping-model-names-to-tables-or-collections) between Prisma Client and the database. 4. Run `prisma generate`. -Prisma will generate Prisma Client inside the `node_modules` folder, from which it can be imported in your application. For more extensive usage documentation, see the [Prisma Client API](/concepts/components/prisma-client) docs. +Prisma will generate Prisma Client inside the `node_modules` folder, from which it can be imported in your application. For more extensive usage documentation, see the [Prisma Client API](/orm/prisma-client) docs. To summarize, Prisma Client can be integrated into projects with an existing database and tooling as part of a parallel adoption strategy. New projects will use a different workflow detailed next. @@ -430,7 +430,7 @@ With this query, `user`'s type will also include `Post`s which can be accessed w console.log(user.posts[0].title) ``` -The example only scratches the surface of Prisma Client's API for [CRUD operations](/concepts/components/prisma-client/crud) which you can learn more about in the docs. The main idea is that all queries and results are backed by types and you have full control over how relations are fetched. +The example only scratches the surface of Prisma Client's API for [CRUD operations](/orm/prisma-client/queries/crud) which you can learn more about in the docs. The main idea is that all queries and results are backed by types and you have full control over how relations are fetched. ## Conclusion diff --git a/content/200-orm/050-overview/500-databases/03-postgresql.mdx b/content/200-orm/050-overview/500-databases/03-postgresql.mdx index 56ac7308a5..ed5f5697fe 100644 --- a/content/200-orm/050-overview/500-databases/03-postgresql.mdx +++ b/content/200-orm/050-overview/500-databases/03-postgresql.mdx @@ -15,7 +15,7 @@ By default, the PostgreSQL connector contains a database driver responsible for ## Example -To connect to a PostgreSQL database server, you need to configure a [`datasource`](/concepts/components/prisma-schema/data-sources) block in your [Prisma schema file](/concepts/components/prisma-schema): +To connect to a PostgreSQL database server, you need to configure a [`datasource`](/orm/prisma-schema/overview/data-sources) block in your [Prisma schema file](/orm/prisma-schema): ```prisma file=schema.prisma datasource db { @@ -74,7 +74,7 @@ The following arguments can be used: | Argument name | Required | Default | Description | | :--------------------- | :------- | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `schema` | **Yes** | `public` | Name of the [schema](https://www.postgresql.org/docs/12/ddl-schemas.html) you want to use, e.g. `myschema` | -| `connection_limit` | No | `num_cpus * 2 + 1` | Maximum size of the [connection pool](/concepts/components/prisma-client/working-with-prismaclient/connection-pool) | +| `connection_limit` | No | `num_cpus * 2 + 1` | Maximum size of the [connection pool](/orm/prisma-client/setup-and-configuration/databases-connections/connection-pool) | | `connect_timeout` | No | `5` | Maximum number of seconds to wait for a new connection to be opened, `0` means no timeout | | `pool_timeout` | No | `10` | Maximum number of seconds to wait for a new connection from the pool, `0` means no timeout | | `sslmode` | No | `prefer` | Configures whether to use TLS. Possible values: `prefer`, `disable`, `require` | @@ -137,7 +137,7 @@ These two tables show the type mapping between PostgreSQL and Prisma schema. Fir ### Mapping between Prisma scalar types and PostgreSQL database column types -The PostgreSQL connector maps the [scalar types](/concepts/components/prisma-schema/data-model#scalar-fields) from the Prisma [data model](/concepts/components/prisma-schema/data-model) as follows to database column types: +The PostgreSQL connector maps the [scalar types](/concepts/components/prisma-schema/data-model#scalar-fields) from the Prisma [data model](/orm/prisma-schema/data-model/models) as follows to database column types: | Prisma | PostgreSQL | | ---------- | ------------------ | @@ -153,8 +153,8 @@ The PostgreSQL connector maps the [scalar types](/concepts/components/prisma-sch ### Mapping between PostgreSQL database column types to Prisma scalar and native types -- When [introspecting](/concepts/components/introspection) a PostgreSQL database, the database types are mapped to Prisma types according to the following table. -- When [creating a migration](/concepts/components/prisma-migrate) or [prototyping your schema](/concepts/components/prisma-migrate/db-push) the table is also used - in the other direction. +- When [introspecting](/orm/prisma-schema/introspection) a PostgreSQL database, the database types are mapped to Prisma types according to the following table. +- When [creating a migration](/orm/prisma-migrate) or [prototyping your schema](/orm/prisma-migrate/workflows/prototyping-your-schema) the table is also used - in the other direction. | PostgreSQL (Type \| Aliases) | Supported | Prisma | Native database type attribute | Notes | | ------------------------------------------- | :-------: | ------------- | :--------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -210,7 +210,7 @@ The PostgreSQL connector maps the [scalar types](/concepts/components/prisma-sch | Composite types | Not yet | n/a | | | | Domain types | Not yet | n/a | | | -[Introspection](/concepts/components/introspection) adds native database types that are **not yet supported** as [`Unsupported`](/reference/api-reference/prisma-schema-reference#unsupported) fields: +[Introspection](/orm/prisma-schema/introspection) adds native database types that are **not yet supported** as [`Unsupported`](/reference/api-reference/prisma-schema-reference#unsupported) fields: ```prisma file=schema.prisma model Device { diff --git a/content/200-orm/050-overview/500-databases/04-mysql.mdx b/content/200-orm/050-overview/500-databases/04-mysql.mdx index 2c6d3e9845..e392b5a735 100644 --- a/content/200-orm/050-overview/500-databases/04-mysql.mdx +++ b/content/200-orm/050-overview/500-databases/04-mysql.mdx @@ -15,7 +15,7 @@ By default, the MySQL connector contains a database driver responsible for conne ## Example -To connect to a MySQL database server, you need to configure a [`datasource`](/concepts/components/prisma-schema/data-sources) block in your [Prisma schema file](/concepts/components/prisma-schema): +To connect to a MySQL database server, you need to configure a [`datasource`](/orm/prisma-schema/overview/data-sources) block in your [Prisma schema file](/orm/prisma-schema): ```prisma file=schema.prisma datasource db { @@ -73,7 +73,7 @@ The following arguments can be used: | Argument name | Required | Default | Description | | :----------------- | :------- | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `connection_limit` | No | `num_cpus * 2 + 1` | Maximum size of the [connection pool](/concepts/components/prisma-client/working-with-prismaclient/connection-pool) | +| `connection_limit` | No | `num_cpus * 2 + 1` | Maximum size of the [connection pool](/orm/prisma-client/setup-and-configuration/databases-connections/connection-pool) | | `connect_timeout` | No | `5` | Maximum number of seconds to wait for a new connection to be opened, `0` means no timeout | | `pool_timeout` | No | `10` | Maximum number of seconds to wait for a new connection from the pool, `0` means no timeout | | `sslcert` | No | | Path to the server certificate. Certificate paths are [resolved relative to the `./prisma folder`](/concepts/components/prisma-schema/data-sources#securing-database-connections) | @@ -121,7 +121,7 @@ Note that `localhost` is required, the value itself is ignored and can be anythi ## Type mapping between MySQL to Prisma schema -The MySQL connector maps the [scalar types](/concepts/components/prisma-schema/data-model#scalar-fields) from the Prisma [data model](/concepts/components/prisma-schema/data-model) as follows to native column types: +The MySQL connector maps the [scalar types](/concepts/components/prisma-schema/data-model#scalar-fields) from the Prisma [data model](/orm/prisma-schema/data-model/models) as follows to native column types: > Alternatively, see [Prisma schema reference](/reference/api-reference/prisma-schema-reference#model-field-scalar-types) for type mappings organized by Prisma type. @@ -191,7 +191,7 @@ When introspecting a MySQL database, the database types are mapped to Prisma acc | `multipolygon` | `Unsupported` | Not yet | | | `geometrycollection` | `Unsupported` | Not yet | | -[Introspection](/concepts/components/introspection) adds native database types that are **not yet supported** as [`Unsupported`](/reference/api-reference/prisma-schema-reference#unsupported) fields: +[Introspection](/orm/prisma-schema/introspection) adds native database types that are **not yet supported** as [`Unsupported`](/reference/api-reference/prisma-schema-reference#unsupported) fields: ```prisma file=schema.prisma model Device { diff --git a/content/200-orm/050-overview/500-databases/05-sqlite.mdx b/content/200-orm/050-overview/500-databases/05-sqlite.mdx index 99bc35cded..25e66516ad 100644 --- a/content/200-orm/050-overview/500-databases/05-sqlite.mdx +++ b/content/200-orm/050-overview/500-databases/05-sqlite.mdx @@ -15,7 +15,7 @@ By default, the SQLite connector contains a database driver responsible for conn ## Example -To connect to a SQLite database file, you need to configure a [`datasource`](/concepts/components/prisma-schema/data-sources) block in your [schema file](/concepts/components/prisma-schema): +To connect to a SQLite database file, you need to configure a [`datasource`](/orm/prisma-schema/overview/data-sources) block in your [schema file](/orm/prisma-schema): ```prisma file=schema.prisma datasource db { @@ -27,11 +27,11 @@ datasource db { The fields passed to the `datasource` block are: - `provider`: Specifies the `sqlite` data source connector. -- `url`: Specifies the [connection URL](/reference/database-reference/connection-urls) for the SQLite database. The connection URL always starts with the prefix `file:` and then contains a file path pointing to the SQLite database file. In this case, the file is located in the same directory and called `dev.db`. +- `url`: Specifies the [connection URL](/orm/reference/connection-urls) for the SQLite database. The connection URL always starts with the prefix `file:` and then contains a file path pointing to the SQLite database file. In this case, the file is located in the same directory and called `dev.db`. ## Type mapping between SQLite to Prisma schema -The SQLite connector maps the [scalar types](/concepts/components/prisma-schema/data-model#scalar-fields) from the [data model](/concepts/components/prisma-schema/data-model) to native column types as follows: +The SQLite connector maps the [scalar types](/concepts/components/prisma-schema/data-model#scalar-fields) from the [data model](/orm/prisma-schema/data-model/models) to native column types as follows: > Alternatively, see [Prisma schema reference](/reference/api-reference/prisma-schema-reference#model-field-scalar-types) for type mappings organized by Prisma type. diff --git a/content/200-orm/050-overview/500-databases/07-mongodb.mdx b/content/200-orm/050-overview/500-databases/07-mongodb.mdx index 47db70e6bc..e82237007d 100644 --- a/content/200-orm/050-overview/500-databases/07-mongodb.mdx +++ b/content/200-orm/050-overview/500-databases/07-mongodb.mdx @@ -29,11 +29,11 @@ MongoDB stores data in collections that do not need a schema to be defined in ad Some aspects of using Prisma with MongoDB are the same as when using Prisma with a relational database. You can still: -- model your database with the [Prisma Schema Language](/concepts/components/prisma-schema) -- connect to your database, using the [`mongodb` database connector](/concepts/database-connectors/mongodb) -- use [Introspection](/concepts/components/introspection) for existing projects if you already have a MongoDB database -- use [`db push`](/concepts/components/prisma-migrate/db-push) to push changes in your schema to the database -- use [Prisma Client](/concepts/components/prisma-client) in your application to query your database in a type safe way based on your Prisma Schema +- model your database with the [Prisma Schema Language](/orm/prisma-schema) +- connect to your database, using the [`mongodb` database connector](/orm/) +- use [Introspection](/orm/prisma-schema/introspection) for existing projects if you already have a MongoDB database +- use [`db push`](/orm/prisma-migrate/workflows/prototyping-your-schema) to push changes in your schema to the database +- use [Prisma Client](/orm/prisma-client) in your application to query your database in a type safe way based on your Prisma Schema ## Differences to consider @@ -157,7 +157,7 @@ model User { } ``` -For more information on how to use relations in Prisma, see [our documentation](/concepts/components/prisma-schema/relations). +For more information on how to use relations in Prisma, see [our documentation](/orm/prisma-schema/data-model/relations). ### How to filter for null and missing fields @@ -346,13 +346,13 @@ The fastest way to start using MongoDB with Prisma is to refer to our Getting St These tutorials will take you through the process of connecting to MongoDB, pushing schema changes, and using Prisma Client. -Further reference information is available in the [MongoDB connector documentation](/concepts/database-connectors/mongodb). +Further reference information is available in the [MongoDB connector documentation](/orm/). For more information on how to set up and manage a MongoDB database, see the [Prisma Data Guide](https://www.prisma.io/dataguide#mongodb). ## Example -To connect to a MongoDB server, configure the [`datasource`](/concepts/components/prisma-schema/data-sources) block in your [Prisma schema file](/concepts/components/prisma-schema): +To connect to a MongoDB server, configure the [`datasource`](/orm/prisma-schema/overview/data-sources) block in your [Prisma schema file](/orm/prisma-schema): ```prisma file=schema.prisma datasource db { @@ -364,7 +364,7 @@ datasource db { The fields passed to the `datasource` block are: - `provider`: Specifies the `mongodb` data source connector. -- `url`: Specifies the [connection URL](#connection-url) for the MongoDB server. In this case, an [environment variable is used](/guides/development-environment/environment-variables) to provide the connection URL. +- `url`: Specifies the [connection URL](#connection-url) for the MongoDB server. In this case, an [environment variable is used](/orm/more/development-environment/environment-variables) to provide the connection URL. @@ -478,7 +478,7 @@ This section covers ways in which the MongoDB connector differs from Prisma conn ### No support for Prisma Migrate -Currently, there are no plans to add support for [Prisma Migrate](/concepts/components/prisma-migrate) as MongoDB projects do not rely on internal schemas where changes need to be managed with an extra tool. Management of `@unique` indexes is realized through `db push`. +Currently, there are no plans to add support for [Prisma Migrate](/orm/prisma-migrate) as MongoDB projects do not rely on internal schemas where changes need to be managed with an extra tool. Management of `@unique` indexes is realized through `db push`. ### No support for @@id and autoincrement() @@ -490,9 +490,9 @@ The [`autoincrement()`](/reference/api-reference/prisma-schema-reference#generat ### Cyclic references and referential actions -If you have cyclic references in your models, either from self-relations or a cycle of relations between models, and you use [referential actions](/concepts/components/prisma-schema/relations/referential-actions), you must set a referential action of `NoAction` to prevent an infinite loop of actions. +If you have cyclic references in your models, either from self-relations or a cycle of relations between models, and you use [referential actions](/orm/prisma-schema/data-model/relations/referential-actions), you must set a referential action of `NoAction` to prevent an infinite loop of actions. -See [Special rules for referential actions](/concepts/components/prisma-schema/relations/referential-actions/special-rules-for-referential-actions) for more details. +See [Special rules for referential actions](/orm/prisma-schema/data-model/relations/referential-actions/special-rules-for-referential-actions) for more details. ### Replica set configuration @@ -524,7 +524,7 @@ There's also an option to run the replica set locally with this guide: https://d ## Type mapping between MongoDB and the Prisma schema -The MongoDB connector maps the [scalar types](/concepts/components/prisma-schema/data-model#scalar-fields) from the Prisma [data model](/concepts/components/prisma-schema/data-model) to MongoDB's native column types as follows: +The MongoDB connector maps the [scalar types](/concepts/components/prisma-schema/data-model#scalar-fields) from the Prisma [data model](/orm/prisma-schema/data-model/models) to MongoDB's native column types as follows: > Alternatively, see [Prisma schema reference](/reference/api-reference/prisma-schema-reference#model-field-scalar-types) for type mappings organized by Prisma type. @@ -564,7 +564,7 @@ When introspecting a MongoDB database, Prisma uses the relevant [scalar types](/ | ------------------------- | -------- | :-------: | :----------------------------- | :---- | | `objectId` | `String` | ✔️ | `@db.ObjectId` | | -[Introspection](/concepts/components/introspection) adds native database types that are **not yet supported** as [`Unsupported`](/reference/api-reference/prisma-schema-reference#unsupported) fields: +[Introspection](/orm/prisma-schema/introspection) adds native database types that are **not yet supported** as [`Unsupported`](/reference/api-reference/prisma-schema-reference#unsupported) fields: ```prisma file=schema.prisma model Example { diff --git a/content/200-orm/050-overview/500-databases/08-cockroachdb.mdx b/content/200-orm/050-overview/500-databases/08-cockroachdb.mdx index 2536e39276..2e7704d705 100644 --- a/content/200-orm/050-overview/500-databases/08-cockroachdb.mdx +++ b/content/200-orm/050-overview/500-databases/08-cockroachdb.mdx @@ -11,7 +11,7 @@ The CockroachDB data source connector connects Prisma to a [CockroachDB](https:/ -The CockroachDB connector is generally available in versions `3.14.0` and later. It was first added as a [Preview feature](/concepts/components/preview-features) in version [`3.9.0`](https://github.com/prisma/prisma/releases/tag/3.9.0) with support for Introspection, and Prisma Migrate support was added in [`3.11.0`](https://github.com/prisma/prisma/releases/tag/3.11.0). +The CockroachDB connector is generally available in versions `3.14.0` and later. It was first added as a [Preview feature](/orm/reference/preview-features) in version [`3.9.0`](https://github.com/prisma/prisma/releases/tag/3.9.0) with support for Introspection, and Prisma Migrate support was added in [`3.11.0`](https://github.com/prisma/prisma/releases/tag/3.11.0). @@ -19,7 +19,7 @@ The CockroachDB connector is generally available in versions `3.14.0` and later. ## Example -To connect to a CockroachDB database server, you need to configure a [`datasource`](/concepts/components/prisma-schema/data-sources) block in your [Prisma schema file](/concepts/components/prisma-schema): +To connect to a CockroachDB database server, you need to configure a [`datasource`](/orm/prisma-schema/overview/data-sources) block in your [Prisma schema file](/orm/prisma-schema): ```prisma file=schema.prisma datasource db { @@ -55,7 +55,7 @@ The following table lists differences between CockroachDB and PostgreSQL: ## Type mapping limitations in CockroachDB -The CockroachDB connector maps the [scalar types](/concepts/components/prisma-schema/data-model#scalar-fields) from the Prisma [data model](/concepts/components/prisma-schema/data-model) to native column types. These native types are mostly the same as for PostgreSQL — see the [Native type mapping from Prisma to CockroachDB](#native-type-mapping-from-prisma-to-cockroachdb) for details. However, there are some limitations: +The CockroachDB connector maps the [scalar types](/concepts/components/prisma-schema/data-model#scalar-fields) from the Prisma [data model](/orm/prisma-schema/data-model/models) to native column types. These native types are mostly the same as for PostgreSQL — see the [Native type mapping from Prisma to CockroachDB](#native-type-mapping-from-prisma-to-cockroachdb) for details. However, there are some limitations: | CockroachDB (Type \| Aliases) | Prisma | Supported | Native database type attribute | Notes | | ----------------------------- | --------- | :-------: | :----------------------------- | :------------------------------------------------------------------------------------------------------------------------- | @@ -79,7 +79,7 @@ The following table lists any other current known limitations of CockroachDB com ## Type mapping between CockroachDB and the Prisma schema -The CockroachDB connector maps the [scalar types](/concepts/components/prisma-schema/data-model#scalar-fields) from the Prisma [data model](/concepts/components/prisma-schema/data-model) as follows to native column types: +The CockroachDB connector maps the [scalar types](/concepts/components/prisma-schema/data-model#scalar-fields) from the Prisma [data model](/orm/prisma-schema/data-model/models) as follows to native column types: > Alternatively, see the [Prisma schema reference](/reference/api-reference/prisma-schema-reference#model-field-scalar-types) for type mappings organized by Prisma type. @@ -127,7 +127,7 @@ When introspecting a CockroachDB database, the database types are mapped to Pris | `JSONB` \| `JSON` | `Json` | ✔️ | `@db.JsonB` | | | Array types | `[]` | ✔️ | | | -[Introspection](/concepts/components/introspection) adds native database types that are **not yet supported** as [`Unsupported`](/reference/api-reference/prisma-schema-reference#unsupported) fields: +[Introspection](/orm/prisma-schema/introspection) adds native database types that are **not yet supported** as [`Unsupported`](/reference/api-reference/prisma-schema-reference#unsupported) fields: ```prisma file=schema.prisma model Device { diff --git a/content/200-orm/050-overview/500-databases/08-sql-server/index.mdx b/content/200-orm/050-overview/500-databases/08-sql-server/index.mdx index 73057932fe..bfb54fe9b7 100644 --- a/content/200-orm/050-overview/500-databases/08-sql-server/index.mdx +++ b/content/200-orm/050-overview/500-databases/08-sql-server/index.mdx @@ -13,7 +13,7 @@ The Microsoft SQL Server data source connector connects Prisma to a [Microsoft S ## Example -To connect to a Microsoft SQL Server database, you need to configure a [`datasource`](/concepts/components/prisma-schema/data-sources) block in your [Prisma schema file](/concepts/components/prisma-schema): +To connect to a Microsoft SQL Server database, you need to configure a [`datasource`](/orm/prisma-schema/overview/data-sources) block in your [Prisma schema file](/orm/prisma-schema): ```prisma file=schema.prisma datasource db { @@ -84,7 +84,7 @@ sqlserver://mycomputer\sql2019;database=sample;integratedSecurity=true;trustServ |
  • `password`
  • `pwd`
| No - see Comments | | Password for SQL Server login _or_ Windows (Active Directory) username if `integratedSecurity` is set to `true` (Windows only). | | `encrypt` | No | `true` | Configures whether to use TLS all the time, or only for the login procedure, possible values: `true` (use always), `false` (only for login credentials). | | `integratedSecurity` | No | | Enables [Windows authentication (integrated security)](https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql/authentication-in-sql-server), possible values: `true`, `false`, `yes`, `no`. If set to `true` or `yes` and `username` and `password` are present, login is performed through Windows Active Directory. If login details are not given via separate arguments, the current logged in Windows user is used to login to the server. | -| `connectionLimit` | No | `num_cpus * 2 + 1` | Maximum size of the [connection pool](/concepts/components/prisma-client/working-with-prismaclient/connection-pool) | +| `connectionLimit` | No | `num_cpus * 2 + 1` | Maximum size of the [connection pool](/orm/prisma-client/setup-and-configuration/databases-connections/connection-pool) | | `connectTimeout` | No | `5` | Maximum number of seconds to wait for a new connection | | `schema` | No | `dbo` | Added as a prefix to all the queries if schema name is not the default. | |
  • `loginTimeout`
  • `connectTimeout`
  • `connectionTimeout`
| No | | Number of seconds to wait for login to succeed. | @@ -101,7 +101,7 @@ For type mappings organized by Prisma type, refer to the [Prisma schema referenc ## Supported versions -See [Supported databases](/reference/database-reference/supported-databases). +See [Supported databases](/orm/reference/supported-databases). ## Limitations and known issues @@ -115,9 +115,9 @@ SQL Server does not have an equivalent to the PostgreSQL `SET search_path` comma #### Cyclic references -Circular references can occur between models when each model references another, creating a closed loop. When using a Microsoft SQL Server database, Prisma will show a validation error if the [referential action](/concepts/components/prisma-schema/relations/referential-actions) on a relation is set to something other than [`NoAction`](/concepts/components/prisma-schema/relations/referential-actions#noaction). +Circular references can occur between models when each model references another, creating a closed loop. When using a Microsoft SQL Server database, Prisma will show a validation error if the [referential action](/orm/prisma-schema/data-model/relations/referential-actions) on a relation is set to something other than [`NoAction`](/concepts/components/prisma-schema/relations/referential-actions#noaction). -See [Special rules for referential actions in SQL Server](/concepts/components/prisma-schema/relations/referential-actions/special-rules-for-referential-actions) for more information. +See [Special rules for referential actions in SQL Server](/orm/prisma-schema/data-model/relations/referential-actions/special-rules-for-referential-actions) for more information. #### Destructive changes diff --git a/content/200-orm/050-overview/500-databases/850-planetscale.mdx b/content/200-orm/050-overview/500-databases/850-planetscale.mdx index 28fb441835..8c94b6a033 100644 --- a/content/200-orm/050-overview/500-databases/850-planetscale.mdx +++ b/content/200-orm/050-overview/500-databases/850-planetscale.mdx @@ -28,11 +28,11 @@ PlanetScale uses the [Vitess](https://vitess.io/) database clustering system to Many aspects of using Prisma with PlanetScale are just like using Prisma with any other relational database. You can still: -- model your database with the [Prisma Schema Language](/concepts/components/prisma-schema) -- use Prisma's existing [`mysql` database connector](/concepts/database-connectors/mysql) in your schema, along with the [connection string PlanetScale provides you](https://planetscale.com/docs/concepts/connection-strings) -- use [Introspection](/concepts/components/introspection) for existing projects if you already have a database schema in PlanetScale -- use [`db push`](/concepts/components/prisma-migrate/db-push) to push changes in your schema to the database -- use [Prisma Client](/concepts/components/prisma-client) in your application to talk to the database server at PlanetScale +- model your database with the [Prisma Schema Language](/orm/prisma-schema) +- use Prisma's existing [`mysql` database connector](/orm/overview/introduction/databases/mysql) in your schema, along with the [connection string PlanetScale provides you](https://planetscale.com/docs/concepts/connection-strings) +- use [Introspection](/orm/prisma-schema/introspection) for existing projects if you already have a database schema in PlanetScale +- use [`db push`](/orm/prisma-migrate/workflows/prototyping-your-schema) to push changes in your schema to the database +- use [Prisma Client](/orm/prisma-client) in your application to talk to the database server at PlanetScale ## Differences to consider @@ -41,11 +41,11 @@ PlanetScale's branching model and design for scalability means that there are al - **Branching and deploy requests.** PlanetScale provides two types of database branches: _development branches_, which allow you to test out schema changes, and _production branches_, which are protected from direct schema changes. Instead, changes must be first created on a development branch and then deployed to production using a deploy request. Production branches are highly available and include automated daily backups. To learn more, see [How to use branches and deploy requests](#how-to-use-branches-and-deploy-requests). - **Referential actions and integrity.** To support scaling across multiple database servers, PlanetScale [does not allow the use of foreign key constraints](https://planetscale.com/docs/learn/operating-without-foreign-key-constraints), which are normally used in relational databases to enforce relationships between data in different tables, and asks users to handle this manually in their applications. - With Prisma you can maintain these relationships in your data and allow the use of [referential actions](/concepts/components/prisma-schema/relations/referential-actions) by using Prisma's ability to [emulate relations in Prisma Client](/concepts/components/prisma-schema/relations/relation-mode#emulate-relations-in-prisma-with-the-prisma-relation-mode) with the `prisma` relation mode. For more information, see [How to emulate relations in Prisma Client](#how-to-emulate-relations-in-prisma-client). + With Prisma you can maintain these relationships in your data and allow the use of [referential actions](/orm/prisma-schema/data-model/relations/referential-actions) by using Prisma's ability to [emulate relations in Prisma Client](/concepts/components/prisma-schema/relations/relation-mode#emulate-relations-in-prisma-with-the-prisma-relation-mode) with the `prisma` relation mode. For more information, see [How to emulate relations in Prisma Client](#how-to-emulate-relations-in-prisma-client). - **Creating indexes on foreign keys.** When emulating relations in Prisma, you will need to create indexes on foreign keys. In a standard MySQL database, if a table has a column with a foreign key constraint, an index is automatically created on that column. Because PlanetScale does not support foreign keys, these indexes are [currently](https://github.com/prisma/prisma/issues/10611) not created when Prisma Client emulates relations, which can lead to issues with queries not being well optimised. To avoid this, you can create indexes in Prisma. For more information, see [How to create indexes on foreign keys](#how-to-create-indexes-on-foreign-keys). -- **Making schema changes with `db push`.** When you merge a development branch into your production branch, PlanetScale will automatically compare the two schemas and generate its own schema diff. This means that Prisma's [`prisma migrate`](/concepts/components/prisma-migrate) workflow, which generates its own history of migration files, is not a natural fit when working with PlanetScale. These migration files may not reflect the actual schema changes run by PlanetScale when the branch is merged. +- **Making schema changes with `db push`.** When you merge a development branch into your production branch, PlanetScale will automatically compare the two schemas and generate its own schema diff. This means that Prisma's [`prisma migrate`](/orm/prisma-migrate) workflow, which generates its own history of migration files, is not a natural fit when working with PlanetScale. These migration files may not reflect the actual schema changes run by PlanetScale when the branch is merged. diff --git a/content/200-orm/050-overview/500-databases/860-cockroachdb.mdx b/content/200-orm/050-overview/500-databases/860-cockroachdb.mdx index 365c52f0d2..a14aaf22b9 100644 --- a/content/200-orm/050-overview/500-databases/860-cockroachdb.mdx +++ b/content/200-orm/050-overview/500-databases/860-cockroachdb.mdx @@ -24,11 +24,11 @@ CockroachDB is a distributed database that is designed for scalability and high CockroachDB is largely compatible with PostgreSQL, and can mostly be used with Prisma in the same way. You can still: -- model your database with the [Prisma Schema Language](/concepts/components/prisma-schema) -- connect to your database, using Prisma's [`cockroachdb` database connector](/concepts/database-connectors/cockroachdb) -- use [Introspection](/concepts/components/introspection) for existing projects if you already have a CockroachDB database -- use [Prisma Migrate](/concepts/components/prisma-migrate) to migrate your database schema to a new version -- use [Prisma Client](/concepts/components/prisma-client) in your application to query your database in a type safe way based on your Prisma Schema +- model your database with the [Prisma Schema Language](/orm/prisma-schema) +- connect to your database, using Prisma's [`cockroachdb` database connector](/orm/overview/introduction/databases/cockroachdb) +- use [Introspection](/orm/prisma-schema/introspection) for existing projects if you already have a CockroachDB database +- use [Prisma Migrate](/orm/prisma-migrate) to migrate your database schema to a new version +- use [Prisma Client](/orm/prisma-client) in your application to query your database in a type safe way based on your Prisma Schema ## Differences to consider @@ -96,4 +96,4 @@ The fastest way to start using CockroachDB with Prisma is to refer to our Gettin These tutorials will take you through the process of connecting to CockroachDB, migrating your schema, and using Prisma Client. -Further reference information is available in the [CockroachDB connector documentation](/concepts/database-connectors/cockroachdb). +Further reference information is available in the [CockroachDB connector documentation](/orm/overview/introduction/databases/cockroachdb). diff --git a/content/200-orm/050-overview/500-databases/880-supabase.mdx b/content/200-orm/050-overview/500-databases/880-supabase.mdx index 8ce4769c4a..f933cfa201 100644 --- a/content/200-orm/050-overview/500-databases/880-supabase.mdx +++ b/content/200-orm/050-overview/500-databases/880-supabase.mdx @@ -22,11 +22,11 @@ To learn more about Supabase, you can check out their architecture [here](https: Many aspects of using Prisma with Supabase are just like using Prisma with any other relational database. You can still: -- model your database with the [Prisma Schema Language](/concepts/components/prisma-schema) -- use Prisma's existing [`postgresql` database connector](/concepts/database-connectors/postgresql) in your schema, along with the [connection string Supabase provides you](https://supabase.com/docs/guides/database/connecting-to-postgres#finding-your-connection-string) -- use [Introspection](/concepts/components/introspection) for existing projects if you already have a database schema in Supabase -- use [`db push`](/concepts/components/prisma-migrate/db-push) to push changes in your schema to Supabase -- use [Prisma Client](/concepts/components/prisma-client) in your application to talk to the database server at Supabase +- model your database with the [Prisma Schema Language](/orm/prisma-schema) +- use Prisma's existing [`postgresql` database connector](/orm/overview/introduction/databases/postgresql) in your schema, along with the [connection string Supabase provides you](https://supabase.com/docs/guides/database/connecting-to-postgres#finding-your-connection-string) +- use [Introspection](/orm/prisma-schema/introspection) for existing projects if you already have a database schema in Supabase +- use [`db push`](/orm/prisma-migrate/workflows/prototyping-your-schema) to push changes in your schema to Supabase +- use [Prisma Client](/orm/prisma-client) in your application to talk to the database server at Supabase ## Specific considerations diff --git a/content/200-orm/050-overview/500-databases/890-neon.mdx b/content/200-orm/050-overview/500-databases/890-neon.mdx index b870c36f06..c1e2baefb8 100644 --- a/content/200-orm/050-overview/500-databases/890-neon.mdx +++ b/content/200-orm/050-overview/500-databases/890-neon.mdx @@ -32,12 +32,12 @@ Learn more about Neon [here](https://neon.tech/docs). Many aspects of using Prisma with Neon are just like using Prisma with any other PostgreSQL database. You can: -- model your database with the [Prisma Schema Language](/concepts/components/prisma-schema) -- use Prisma's [`postgresql` database connector](/concepts/database-connectors/postgresql) in your schema, along with the [connection string Neon provides you](https://neon.tech/docs/connect/connect-from-any-app) -- use [Introspection](/concepts/components/introspection) for existing projects if you already have a database schema on Neon -- use [`prisma migrate dev`](/concepts/components/prisma-migrate/migrate-development-production) to track schema migrations in your Neon database -- use [`prisma db push`](/concepts/components/prisma-migrate/db-push) to push changes in your schema to Neon -- use [Prisma Client](/concepts/components/prisma-client) in your application to communicate with the database hosted by Neon +- model your database with the [Prisma Schema Language](/orm/prisma-schema) +- use Prisma's [`postgresql` database connector](/orm/overview/introduction/databases/postgresql) in your schema, along with the [connection string Neon provides you](https://neon.tech/docs/connect/connect-from-any-app) +- use [Introspection](/orm/prisma-schema/introspection) for existing projects if you already have a database schema on Neon +- use [`prisma migrate dev`](/orm/prisma-migrate/workflows/development-and-production) to track schema migrations in your Neon database +- use [`prisma db push`](/orm/prisma-migrate/workflows/prototyping-your-schema) to push changes in your schema to Neon +- use [Prisma Client](/orm/prisma-client) in your application to communicate with the database hosted by Neon ## Differences to consider diff --git a/content/200-orm/050-overview/500-databases/900-turso.mdx b/content/200-orm/050-overview/500-databases/900-turso.mdx index f74c8e8d54..e633be790b 100644 --- a/content/200-orm/050-overview/500-databases/900-turso.mdx +++ b/content/200-orm/050-overview/500-databases/900-turso.mdx @@ -43,9 +43,9 @@ libSQL is 100% compatible with SQLite. libSQL extends SQLite and adds the follow Many aspects of using Prisma with Turso are just like using Prisma with any other relational database. You can still: -- model your database with the [Prisma Schema Language](/concepts/components/prisma-schema) -- use Prisma's existing [`sqlite` database connector](/concepts/database-connectors/sqlite) in your schema -- use [Prisma Client](/concepts/components/prisma-client) in your application to talk to the database server at Turso +- model your database with the [Prisma Schema Language](/orm/prisma-schema) +- use Prisma's existing [`sqlite` database connector](/orm/overview/introduction/databases/sqlite) in your schema +- use [Prisma Client](/orm/prisma-client) in your application to talk to the database server at Turso ## Differences to consider diff --git a/content/200-orm/100-prisma-client/000-setup-and-configuration/010-generating-prisma-client.mdx b/content/200-orm/100-prisma-client/000-setup-and-configuration/010-generating-prisma-client.mdx index d1c4625add..d5cffef407 100644 --- a/content/200-orm/100-prisma-client/000-setup-and-configuration/010-generating-prisma-client.mdx +++ b/content/200-orm/100-prisma-client/000-setup-and-configuration/010-generating-prisma-client.mdx @@ -93,7 +93,7 @@ This means that you still import `@prisma/client` in your own `.ts` files: import { PrismaClient } from '@prisma/client' ``` -Prisma Client is generated from your Prisma schema and is unique to your project. Each time you change the schema (for example, by performing a [schema migration](/concepts/components/prisma-migrate)) and run `prisma generate`, Prisma Client's code changes: +Prisma Client is generated from your Prisma schema and is unique to your project. Each time you change the schema (for example, by performing a [schema migration](/orm/prisma-migrate)) and run `prisma generate`, Prisma Client's code changes: ![The .prisma and @prisma folders](prisma-client-node-module.png) @@ -152,7 +152,7 @@ const prisma = new PrismaClient() #### Keeping the query engine out of version control by default -Prisma Client uses a [_query engine_](/concepts/components/prisma-engines/query-engine) to run queries against the database. This query engine is downloaded when `prisma generate` is invoked and stored in the `output` path together with the generated Client. +Prisma Client uses a [_query engine_](/orm/more/under-the-hood/engines) to run queries against the database. This query engine is downloaded when `prisma generate` is invoked and stored in the `output` path together with the generated Client. By generating Prisma Client into `node_modules`, the query engine is usually kept out of version control by default since `node_modules` is typically ignored for version control. When using a custom `output` path for the generated Prisma Client, it is advised to exclude it from your version control. For Git, this means adding the `output` path to your `.gitignore` file. diff --git a/content/200-orm/100-prisma-client/000-setup-and-configuration/015-instantiate-prisma-client.mdx b/content/200-orm/100-prisma-client/000-setup-and-configuration/015-instantiate-prisma-client.mdx index 0fb8ebfa69..224e41c206 100644 --- a/content/200-orm/100-prisma-client/000-setup-and-configuration/015-instantiate-prisma-client.mdx +++ b/content/200-orm/100-prisma-client/000-setup-and-configuration/015-instantiate-prisma-client.mdx @@ -49,7 +49,7 @@ The reason for this is that each instance of `PrismaClient` manages a connection If you use the **MongoDB connector**, connections are managed by the MongoDB driver connection pool. If you use a **relational database connector**, connections are managed by Prisma's [connection pool](connection-pool). Each instance of `PrismaClient` creates its own pool. -1. Each client creates its own instance of the [query engine](/concepts/components/prisma-engines/query-engine). +1. Each client creates its own instance of the [query engine](/orm/more/under-the-hood/engines). 1. Each query engine creates a [connection pool](connection-pool) with a default pool size of: - `num_physical_cpus * 2 + 1` for relational databases diff --git a/content/200-orm/100-prisma-client/000-setup-and-configuration/100-custom-model-and-field-names.mdx b/content/200-orm/100-prisma-client/000-setup-and-configuration/100-custom-model-and-field-names.mdx index cf99e393b8..26b5b389f6 100644 --- a/content/200-orm/100-prisma-client/000-setup-and-configuration/100-custom-model-and-field-names.mdx +++ b/content/200-orm/100-prisma-client/000-setup-and-configuration/100-custom-model-and-field-names.mdx @@ -6,9 +6,9 @@ metaDescription: 'Learn how you can decouple the naming of Prisma models from da -The Prisma Client API is generated based on the models in your [Prisma schema](/concepts/components/prisma-schema). Models are _typically_ 1:1 mappings of your database tables. +The Prisma Client API is generated based on the models in your [Prisma schema](/orm/prisma-schema). Models are _typically_ 1:1 mappings of your database tables. -In some cases, especially when using [introspection](/concepts/components/introspection), it might be useful to _decouple_ the naming of database tables and columns from the names that are used in your Prisma Client API. This can be done via the [`@map` and `@@map`](/concepts/components/prisma-schema/data-model#mapping-model-names-to-tables-or-collections) attributes in your Prisma schema. +In some cases, especially when using [introspection](/orm/prisma-schema/introspection), it might be useful to _decouple_ the naming of database tables and columns from the names that are used in your Prisma Client API. This can be done via the [`@map` and `@@map`](/concepts/components/prisma-schema/data-model#mapping-model-names-to-tables-or-collections) attributes in your Prisma schema. You can use `@map` and `@@map` to rename MongoDB fields and collections respectively. This page uses a relational database example. diff --git a/content/200-orm/100-prisma-client/000-setup-and-configuration/130-logging.mdx b/content/200-orm/100-prisma-client/000-setup-and-configuration/130-logging.mdx index af66d8b9a7..b7e754a5fb 100644 --- a/content/200-orm/100-prisma-client/000-setup-and-configuration/130-logging.mdx +++ b/content/200-orm/100-prisma-client/000-setup-and-configuration/130-logging.mdx @@ -15,13 +15,13 @@ Prisma supports two types of logging: -You can also use the `DEBUG` environment variable to enable debugging output in Prisma Client. See [Debugging](/concepts/components/prisma-client/debugging) for more information. +You can also use the `DEBUG` environment variable to enable debugging output in Prisma Client. See [Debugging](/orm/prisma-client/debugging-and-troubleshooting/debugging) for more information. -If you want a detailed insight into your Prisma Client's performance at the level of individual operations, see [Tracing](/concepts/components/prisma-client/opentelemetry-tracing). +If you want a detailed insight into your Prisma Client's performance at the level of individual operations, see [Tracing](/orm/prisma-client/observability-and-logging/opentelemetry-tracing). diff --git a/content/200-orm/100-prisma-client/000-setup-and-configuration/220-database-polyfills.mdx b/content/200-orm/100-prisma-client/000-setup-and-configuration/220-database-polyfills.mdx index 7d07fc38b7..620e898481 100644 --- a/content/200-orm/100-prisma-client/000-setup-and-configuration/220-database-polyfills.mdx +++ b/content/200-orm/100-prisma-client/000-setup-and-configuration/220-database-polyfills.mdx @@ -17,6 +17,6 @@ For relational databases, this includes: For MongoDB, this includes: -- [Relations in general](/concepts/components/prisma-schema/relations) - foreign key relations between documents are not enforced in MongoDB +- [Relations in general](/orm/prisma-schema/data-model/relations) - foreign key relations between documents are not enforced in MongoDB diff --git a/content/200-orm/100-prisma-client/000-setup-and-configuration/50-databases-connections/100-connection-management.mdx b/content/200-orm/100-prisma-client/000-setup-and-configuration/50-databases-connections/100-connection-management.mdx index b3135868ba..a5af9c7d12 100644 --- a/content/200-orm/100-prisma-client/000-setup-and-configuration/50-databases-connections/100-connection-management.mdx +++ b/content/200-orm/100-prisma-client/000-setup-and-configuration/50-databases-connections/100-connection-management.mdx @@ -14,7 +14,7 @@ tocDepth: 3 In most cases, you **do not need to explicitly call these methods**. `PrismaClient` automatically connects when you run your first query, creates a [connection pool](connection-pool), and disconnects when the Node.js process ends. -See the [connection management guide](/guides/performance-and-optimization/connection-management) for information about managing connections for different deployment paradigms (long-running processes and serverless functions). +See the [connection management guide](/orm/prisma-client/setup-and-configuration/databases-connections) for information about managing connections for different deployment paradigms (long-running processes and serverless functions). diff --git a/content/200-orm/100-prisma-client/000-setup-and-configuration/50-databases-connections/115-connection-pool.mdx b/content/200-orm/100-prisma-client/000-setup-and-configuration/50-databases-connections/115-connection-pool.mdx index 5b2f88bb21..cb54279ce5 100644 --- a/content/200-orm/100-prisma-client/000-setup-and-configuration/50-databases-connections/115-connection-pool.mdx +++ b/content/200-orm/100-prisma-client/000-setup-and-configuration/50-databases-connections/115-connection-pool.mdx @@ -48,7 +48,7 @@ Although the formula represents a good starting point, the [recommended connecti #### Setting the connection pool size -You can specify the number of connections by explicitly setting the `connection_limit` parameter in your database connection URL. For example, with the following `datasource` configuration in your [Prisma schema](/concepts/components/prisma-schema) the connection pool will have exactly five connections: +You can specify the number of connections by explicitly setting the `connection_limit` parameter in your database connection URL. For example, with the following `datasource` configuration in your [Prisma schema](/orm/prisma-schema) the connection pool will have exactly five connections: ```prisma datasource db { @@ -59,7 +59,7 @@ datasource db { #### Viewing the connection pool size -The number of connections Prisma Client uses can be viewed using [logging](/concepts/components/prisma-client/working-with-prismaclient/logging) and [metrics](/concepts/components/prisma-client/metrics). +The number of connections Prisma Client uses can be viewed using [logging](/orm/prisma-client/setup-and-configuration/logging) and [metrics](/orm/prisma-client/observability-and-logging/metrics). Using the `info` [logging level](/reference/api-reference/prisma-client-reference#log-levels), you can log the number of connections in a connection pool that are opened when Prisma Client is instantiated. @@ -100,7 +100,7 @@ Note that the output generated by `log: ['info']` can change in any release with -If you need even more insights into the size of your connection pool and the amount of in-use and idle connection, you can use the [metrics](/concepts/components/prisma-client/metrics) feature (which is currently in Preview). +If you need even more insights into the size of your connection pool and the amount of in-use and idle connection, you can use the [metrics](/orm/prisma-client/observability-and-logging/metrics) feature (which is currently in Preview). Consider the following example: diff --git a/content/200-orm/100-prisma-client/000-setup-and-configuration/50-databases-connections/index.mdx b/content/200-orm/100-prisma-client/000-setup-and-configuration/50-databases-connections/index.mdx index 53bf93c935..94eb3ef0ab 100644 --- a/content/200-orm/100-prisma-client/000-setup-and-configuration/50-databases-connections/index.mdx +++ b/content/200-orm/100-prisma-client/000-setup-and-configuration/50-databases-connections/index.mdx @@ -324,7 +324,7 @@ More information about the `directUrl` field can be found [here](/reference/api- ### Data Proxy -The [Data Proxy](/data-platform/classic-projects/data-proxy) is a managed external connection pooler built by Prisma that is integrated in the [Prisma Data Platform](/data-platform) and handles connection pooling for you. +The [Data Proxy](/platform/classic-projects/data-proxy) is a managed external connection pooler built by Prisma that is integrated in the [Prisma Data Platform](/platform) and handles connection pooling for you. ### PgBouncer diff --git a/content/200-orm/100-prisma-client/100-queries/030-crud.mdx b/content/200-orm/100-prisma-client/100-queries/030-crud.mdx index f876969148..3de767288e 100644 --- a/content/200-orm/100-prisma-client/100-queries/030-crud.mdx +++ b/content/200-orm/100-prisma-client/100-queries/030-crud.mdx @@ -14,7 +14,7 @@ This page describes how to perform CRUD operations with your generated Prisma Cl - [Update](#update) - [Delete](#delete) -Refer to the [Prisma Client API reference documentation](/reference/api-reference/prisma-client-reference) for detailed explanations of each method. +Refer to the [Prisma Client API reference documentation](/orm/reference/prisma-client-reference) for detailed explanations of each method. @@ -760,7 +760,7 @@ Be aware that this query will fail if the user has any related records (such as -In [2.26.0](https://github.com/prisma/prisma/releases/tag/2.26.0) and later it is possible to do cascading deletes using the **preview feature** [referential actions](/concepts/components/prisma-schema/relations/referential-actions). +In [2.26.0](https://github.com/prisma/prisma/releases/tag/2.26.0) and later it is possible to do cascading deletes using the **preview feature** [referential actions](/orm/prisma-schema/data-model/relations/referential-actions). @@ -822,7 +822,7 @@ The following shows how to delete all records from all tables with Prisma Client #### Deleting all data with `deleteMany` -When you know the order in which your tables should be deleted, you can use the [`deleteMany`](/reference/api-reference/prisma-client-reference#deletemany) function. This is executed synchronously in a [`$transaction`](/guides/performance-and-optimization/prisma-client-transactions-guide) and can be used with all types of databases. +When you know the order in which your tables should be deleted, you can use the [`deleteMany`](/reference/api-reference/prisma-client-reference#deletemany) function. This is executed synchronously in a [`$transaction`](/orm/prisma-client/queries/transactions) and can be used with all types of databases. ```ts const deletePosts = prisma.post.deleteMany() diff --git a/content/200-orm/100-prisma-client/100-queries/037-relation-queries.mdx b/content/200-orm/100-prisma-client/100-queries/037-relation-queries.mdx index e2735ae62a..649ad5b5a6 100644 --- a/content/200-orm/100-prisma-client/100-queries/037-relation-queries.mdx +++ b/content/200-orm/100-prisma-client/100-queries/037-relation-queries.mdx @@ -7,7 +7,7 @@ tocDepth: 4 -A key feature of Prisma Client is the ability to query [relations](/concepts/components/prisma-schema/relations) between two or more models. Relation queries include: +A key feature of Prisma Client is the ability to query [relations](/orm/prisma-schema/data-model/relations) between two or more models. Relation queries include: - [Nested reads](#nested-reads) (sometimes referred to as _eager loading_) via [`select`](/reference/api-reference/prisma-client-reference#select) and [`include`](/reference/api-reference/prisma-client-reference#include) - [Nested writes](#nested-writes) with [transactional](transactions) guarantees @@ -1203,7 +1203,7 @@ const usersWithSomePosts = await prisma.user.findMany({ ## Fluent API -The fluent API lets you _fluently_ traverse the [relations](/concepts/components/prisma-schema/relations) of your models via function calls. Note that the _last_ function call determines the return type of the entire query (the respective type annotations are added in the code snippets below to make that explicit). +The fluent API lets you _fluently_ traverse the [relations](/orm/prisma-schema/data-model/relations) of your models via function calls. Note that the _last_ function call determines the return type of the entire query (the respective type annotations are added in the code snippets below to make that explicit). This query returns all `Post` records by a specific `User`: diff --git a/content/200-orm/100-prisma-client/100-queries/050-filtering-and-sorting.mdx b/content/200-orm/100-prisma-client/100-queries/050-filtering-and-sorting.mdx index 7c967e3c0a..8bca9204d0 100644 --- a/content/200-orm/100-prisma-client/100-queries/050-filtering-and-sorting.mdx +++ b/content/200-orm/100-prisma-client/100-queries/050-filtering-and-sorting.mdx @@ -389,7 +389,7 @@ const getActiveUsers = await prisma.user.findMany({ In [3.5.0](https://github.com/prisma/prisma/releases/3.5.0) and later, when using PostgreSQL you can sort records by relevance to the query using the `_relevance` keyword. This uses the relevance ranking functions from PostgreSQL's full text search feature, which are explained further in [the PostgreSQL documentation](https://www.postgresql.org/docs/12/textsearch-controls.html). -Enable order by relevance with the `fullTextSearch` [preview feature](/concepts/components/prisma-client/full-text-search): +Enable order by relevance with the `fullTextSearch` [preview feature](/orm/prisma-client/queries/full-text-search): ```prisma generator client { diff --git a/content/200-orm/100-prisma-client/100-queries/058-transactions.mdx b/content/200-orm/100-prisma-client/100-queries/058-transactions.mdx index e54f42f714..56bdb1a6ae 100644 --- a/content/200-orm/100-prisma-client/100-queries/058-transactions.mdx +++ b/content/200-orm/100-prisma-client/100-queries/058-transactions.mdx @@ -9,7 +9,7 @@ tocDepth: 3 A database transaction refers to a sequence of read/write operations that are _guaranteed_ to either succeed or fail as a whole. This section describes the ways in which the Prisma Client API supports transactions. -- For more in-depth examples and use cases, refer to the 📖 [transactions guide](/guides/performance-and-optimization/prisma-client-transactions-guide). +- For more in-depth examples and use cases, refer to the 📖 [transactions guide](/orm/prisma-client/queries/transactions). - For information about transactions in general and the reasoning behind Prisma's current solutions, see [Blog: How Prisma supports transactions](https://www.prisma.io/blog/how-prisma-supports-transactions-x45s1d5l0ww1). @@ -57,7 +57,7 @@ Prisma provides the following options for using transactions: ## Nested writes -A [nested write](relation-queries#nested-writes) lets you perform a single Prisma Client API call with multiple _operations_ that touch multiple [_related_](/concepts/components/prisma-schema/relations) records. For example, creating a _user_ together with a _post_ or updating an _order_ together with an _invoice_. Prisma Client ensures that all operations succeed or fail as a whole. +A [nested write](relation-queries#nested-writes) lets you perform a single Prisma Client API call with multiple _operations_ that touch multiple [_related_](/orm/prisma-schema/data-model/relations) records. For example, creating a _user_ together with a _post_ or updating an _order_ together with an _invoice_. Prisma Client ensures that all operations succeed or fail as a whole. The following example demonstrates a nested write with `create`: @@ -204,7 +204,7 @@ Interactive transactions are available in the following versions of Prisma: - Interactive transactions are generally available from version 4.7.0. - In version 4.6, Data Proxy support for interactive transactions was available in preview. -- From version 2.29.0 to version 4.5, interactive transactions were available in preview, but did not support the [Data Proxy](/data-platform/classic-projects/data-proxy). +- From version 2.29.0 to version 4.5, interactive transactions were available in preview, but did not support the [Data Proxy](/platform/classic-projects/data-proxy). If you use interactive transactions in preview from version 2.29.0 to 4.6.1 (included), you need to add the `interactiveTransactions` preview feature to the generator block of your Prisma schema. diff --git a/content/200-orm/100-prisma-client/100-queries/060-full-text-search.mdx b/content/200-orm/100-prisma-client/100-queries/060-full-text-search.mdx index b1e2e2345e..b74a3ecd30 100644 --- a/content/200-orm/100-prisma-client/100-queries/060-full-text-search.mdx +++ b/content/200-orm/100-prisma-client/100-queries/060-full-text-search.mdx @@ -15,7 +15,7 @@ Prisma Client supports full-text search for **PostgreSQL** databases in versions The full-text search API is currently a Preview feature. To enable this feature, carry out the following steps: -1. Update the [`previewFeatures`](/concepts/components/preview-features) block in your schema to include the `fullTextSearch` preview feature flag: +1. Update the [`previewFeatures`](/orm/reference/preview-features) block in your schema to include the `fullTextSearch` preview feature flag: ```prisma file=schema.prisma generator client { diff --git a/content/200-orm/100-prisma-client/100-queries/061-custom-validation.mdx b/content/200-orm/100-prisma-client/100-queries/061-custom-validation.mdx index 0ecd13198e..9d9a9d94f8 100644 --- a/content/200-orm/100-prisma-client/100-queries/061-custom-validation.mdx +++ b/content/200-orm/100-prisma-client/100-queries/061-custom-validation.mdx @@ -8,7 +8,7 @@ metaDescription: 'This page explains how to add custom validation to Prisma Clie You can add runtime validation for your user input for Prisma Client queries in one of the following ways: -- [Prisma Client extensions](/concepts/components/prisma-client/client-extensions) +- [Prisma Client extensions](/orm/prisma-client/client-extensions) - A custom function You can use any validation library you'd like. The Node.js ecosystem offers a number of high-quality, easy-to-use validation libraries to choose from including: [joi](https://github.com/sideway/joi), [validator.js](https://github.com/validatorjs/validator.js), [Yup](https://github.com/jquense/yup), [Zod](https://github.com/colinhacks/zod) and [Superstruct](https://github.com/ianstormtaylor/superstruct). @@ -185,6 +185,6 @@ The example above shows how you can create a custom type-safe `signup` function ## Going further -- Learn how you can use [Prisma Client extensions](/concepts/components/prisma-client/client-extensions) to add input validation for your queries — [example](https://github.com/prisma/prisma-client-extensions/tree/main/input-validation). -- Learn how you can organize your code better by moving the `signup` function into [a custom model](/concepts/components/prisma-client/custom-models). +- Learn how you can use [Prisma Client extensions](/orm/prisma-client/client-extensions) to add input validation for your queries — [example](https://github.com/prisma/prisma-client-extensions/tree/main/input-validation). +- Learn how you can organize your code better by moving the `signup` function into [a custom model](/orm/prisma-client/queries/custom-models). - There's an [outstanding feature request](https://github.com/prisma/prisma/issues/3528) to bake user validation into Prisma Client. If you'd like to see that happen, make sure to upvote that issue and share your use case! diff --git a/content/200-orm/100-prisma-client/100-queries/062-computed-fields.mdx b/content/200-orm/100-prisma-client/100-queries/062-computed-fields.mdx index 41da09a8d7..694f98dbf1 100644 --- a/content/200-orm/100-prisma-client/100-queries/062-computed-fields.mdx +++ b/content/200-orm/100-prisma-client/100-queries/062-computed-fields.mdx @@ -12,7 +12,7 @@ Computed fields allow you to derive a new field based on existing data. A common ## Using a Prisma Client extension -The following example illustrates how to create a [Prisma Client extension](/concepts/components/prisma-client/client-extensions) that adds a `fullName` computed field at runtime to the `User` model in a Prisma schema. +The following example illustrates how to create a [Prisma Client extension](/orm/prisma-client/client-extensions) that adds a `fullName` computed field at runtime to the `User` model in a Prisma schema. ,]}> @@ -169,6 +169,6 @@ With this function, any object that contains `firstName` and `lastName` keys can ## Going further -- Learn how you can use [Prisma Client extensions](/concepts/components/prisma-client/client-extensions) to add a computed field to your schema — [example](https://github.com/prisma/prisma-client-extensions/tree/main/computed-fields). -- Learn how you can move the `computeFullName` function into [a custom model](/concepts/components/prisma-client/custom-models). +- Learn how you can use [Prisma Client extensions](/orm/prisma-client/client-extensions) to add a computed field to your schema — [example](https://github.com/prisma/prisma-client-extensions/tree/main/computed-fields). +- Learn how you can move the `computeFullName` function into [a custom model](/orm/prisma-client/queries/custom-models). - There's an [outstanding feature request](https://github.com/prisma/prisma/issues/3394) to add native support to Prisma Client. If you'd like to see that happen, make sure to upvote that issue and share your use case! diff --git a/content/200-orm/100-prisma-client/100-queries/063-excluding-fields.mdx b/content/200-orm/100-prisma-client/100-queries/063-excluding-fields.mdx index 7ad2df2e7d..3838008485 100644 --- a/content/200-orm/100-prisma-client/100-queries/063-excluding-fields.mdx +++ b/content/200-orm/100-prisma-client/100-queries/063-excluding-fields.mdx @@ -65,6 +65,6 @@ These generics flow through the logic, returning a `User` that omits the list of ## Going further -- Learn how you can move the `exclude` function into [a custom model](/concepts/components/prisma-client/custom-models). +- Learn how you can move the `exclude` function into [a custom model](/orm/prisma-client/queries/custom-models). - Instead of excluding fields, another option is to [obfuscate the field](https://github.com/prisma/prisma-client-extensions/tree/main/obfuscated-fields). - There's an [outstanding feature request](https://github.com/prisma/prisma/issues/5042) to add exclude support natively in Prisma Client. If you'd like to see that happen, make sure to upvote that issue and share your use case! diff --git a/content/200-orm/100-prisma-client/100-queries/064-custom-models.mdx b/content/200-orm/100-prisma-client/100-queries/064-custom-models.mdx index a762f429d5..7e19a1e449 100644 --- a/content/200-orm/100-prisma-client/100-queries/064-custom-models.mdx +++ b/content/200-orm/100-prisma-client/100-queries/064-custom-models.mdx @@ -8,7 +8,7 @@ metaDescription: 'This page explains how to wrap Prisma Client in custom models' As your application grows, you may find the need to group related logic together. We suggest either: -- Creating static methods using a [Prisma Client extension](/concepts/components/prisma-client/client-extensions) +- Creating static methods using a [Prisma Client extension](/orm/prisma-client/client-extensions) - Wrapping a model in a class - Extending Prisma Client model object @@ -173,4 +173,4 @@ Now you can use your custom `signup` method alongside `count`, `updateMany`, `gr ## Going further -We recommend using [Prisma Client extensions](/concepts/components/prisma-client/client-extensions) to extend your models with [custom model methods](https://github.com/prisma/prisma-client-extensions/tree/main/instance-methods). +We recommend using [Prisma Client extensions](/orm/prisma-client/client-extensions) to extend your models with [custom model methods](https://github.com/prisma/prisma-client-extensions/tree/main/instance-methods). diff --git a/content/200-orm/100-prisma-client/100-queries/070-case-sensitivity.mdx b/content/200-orm/100-prisma-client/100-queries/070-case-sensitivity.mdx index 1176a5876e..d512cc35b3 100644 --- a/content/200-orm/100-prisma-client/100-queries/070-case-sensitivity.mdx +++ b/content/200-orm/100-prisma-client/100-queries/070-case-sensitivity.mdx @@ -14,7 +14,7 @@ Case sensitivity affects **filtering** and **sorting** of data, and is determine | Sort ascending | `Apple`, `Banana`, `apple pie`, `banana pie` | `Apple`, `apple pie`, `Banana`, `banana pie` | | Match `"apple"` | `apple` | `Apple`, `apple` | -If you use a **relational database connector**, [Prisma Client](/concepts/components/prisma-client) respects your database collation. Options and recommendations for supporting **case-insensitive** filtering and sorting with Prisma Client depend on your [database provider](#options-for-case-insensitive-filtering). +If you use a **relational database connector**, [Prisma Client](/orm/prisma-client) respects your database collation. Options and recommendations for supporting **case-insensitive** filtering and sorting with Prisma Client depend on your [database provider](#options-for-case-insensitive-filtering). If you use the MongoDB connector, [Prisma Client](.) uses RegEx rules to enable case-insensitive filtering. The connector _does not_ use [MongoDB collation](https://docs.mongodb.com/manual/reference/collation/). diff --git a/content/200-orm/100-prisma-client/100-queries/090-raw-database-access/050-raw-queries.mdx b/content/200-orm/100-prisma-client/100-queries/090-raw-database-access/050-raw-queries.mdx index 2c7a8d2369..645769899b 100644 --- a/content/200-orm/100-prisma-client/100-queries/090-raw-database-access/050-raw-queries.mdx +++ b/content/200-orm/100-prisma-client/100-queries/090-raw-database-access/050-raw-queries.mdx @@ -548,7 +548,7 @@ await prisma.$queryRaw`SELECT location::text FROM Country;` The database will thus provide a `String` representation of your data which Prisma supports. -For details of supported Prisma types, see the [Prisma data connector](/concepts/database-connectors) for the relevant database. +For details of supported Prisma types, see the [Prisma data connector](/orm/overview) for the relevant database. ### SQL injection diff --git a/content/200-orm/100-prisma-client/100-queries/090-raw-database-access/100-custom-and-type-safe-queries.mdx b/content/200-orm/100-prisma-client/100-queries/090-raw-database-access/100-custom-and-type-safe-queries.mdx index fba4ad40c9..51994c285a 100644 --- a/content/200-orm/100-prisma-client/100-queries/090-raw-database-access/100-custom-and-type-safe-queries.mdx +++ b/content/200-orm/100-prisma-client/100-queries/090-raw-database-access/100-custom-and-type-safe-queries.mdx @@ -6,7 +6,7 @@ metaDescription: 'Learn how to use SafeQL and Prisma Client extensions to work a ## Overview -This page explains how to improve the experience of writing raw SQL in Prisma ORM. It uses [Prisma Client extensions](/concepts/components/prisma-client/client-extensions) and [SafeQL](https://safeql.dev) to create custom, type-safe Prisma Client queries which abstract custom SQL that your app might need (using `$queryRaw`). +This page explains how to improve the experience of writing raw SQL in Prisma ORM. It uses [Prisma Client extensions](/orm/prisma-client/client-extensions) and [SafeQL](https://safeql.dev) to create custom, type-safe Prisma Client queries which abstract custom SQL that your app might need (using `$queryRaw`). The example will be using [PostGIS](https://postgis.net/) and PostgreSQL, but is applicable to any raw SQL queries that you might need in your application. @@ -224,7 +224,7 @@ SafeQL is now fully configured to help you write better raw SQL using Prisma Cli ## 4. Creating extensions to make raw SQL queries type-safe -In this section, we'll create two [`model`](/concepts/components/prisma-client/client-extensions/model) extensions with custom queries to be able to work conveniently with the `PointOfInterest` model: +In this section, we'll create two [`model`](/orm/prisma-client/client-extensions/model) extensions with custom queries to be able to work conveniently with the `PointOfInterest` model: 1. A `create` query that allows us to create new `PointOfInterest` records in the database 1. A `findClosestPoints` query that returns the `PointOfInterest` records that are closest to a given coordinate diff --git a/content/200-orm/100-prisma-client/100-queries/100-query-optimization-performance.mdx b/content/200-orm/100-prisma-client/100-queries/100-query-optimization-performance.mdx index e2b3476210..97db04f4a7 100644 --- a/content/200-orm/100-prisma-client/100-queries/100-query-optimization-performance.mdx +++ b/content/200-orm/100-prisma-client/100-queries/100-query-optimization-performance.mdx @@ -15,7 +15,7 @@ This guide describes ways to optimize query performance, debug performance issue To help you debug and diagnose performance issues, you can [log query events at client level](/concepts/components/prisma-client/working-with-prismaclient/logging#event-based-logging), which allows you to see the generated queries, parameters, and durations. -Alternatively, if you are only interested in the time taken to run a query, you can implement [logging middleware](/concepts/components/prisma-client/middleware/logging-middleware). +Alternatively, if you are only interested in the time taken to run a query, you can implement [logging middleware](/orm/prisma-client/client-extensions/middleware/logging-middleware). ## Solving the n+1 problem diff --git a/content/200-orm/100-prisma-client/200-special-fields-and-types/057-composite-types.mdx b/content/200-orm/100-prisma-client/200-special-fields-and-types/057-composite-types.mdx index b1db0b0bec..fd01511634 100644 --- a/content/200-orm/100-prisma-client/200-special-fields-and-types/057-composite-types.mdx +++ b/content/200-orm/100-prisma-client/200-special-fields-and-types/057-composite-types.mdx @@ -15,7 +15,7 @@ Composite types are only available with MongoDB. [Composite types](/concepts/components/prisma-schema/data-model#defining-composite-types), known as [embedded documents](https://docs.mongodb.com/manual/core/data-model-design/#std-label-data-modeling-embedding) in MongoDB, allow you to embed records within other records. -We made composite types [Generally Available](/about/prisma/releases#generally-available-ga) in v3.12.0. They were previously available in [Preview](/concepts/components/preview-features) from v3.10.0. +We made composite types [Generally Available](/about/prisma/releases#generally-available-ga) in v3.12.0. They were previously available in [Preview](/orm/reference/preview-features) from v3.10.0. This page explains how to: @@ -122,7 +122,7 @@ type Photo { ... ``` -Suppose that you then run `npx prisma migrate deploy` to [deploy your database changes](/guides/deployment/deploy-database-changes-with-prisma-migrate) and regenerate your Prisma Client with `npx prisma generate`. Then, you run the following application code: +Suppose that you then run `npx prisma migrate deploy` to [deploy your database changes](/orm/prisma-client/deployment/deploy-database-changes-with-prisma-migrate) and regenerate your Prisma Client with `npx prisma generate`. Then, you run the following application code: ```ts console.dir(await prisma.product.findMany({}), { depth: Infinity }) @@ -760,7 +760,7 @@ Note: MongoDB throws an error if you try to store the same value in two separate ### Use Prisma relations to enforce unique values in a record -In the example above, MongoDB did not enforce the unique constraint on a nested address name. However, you can model your data differently to enforce unique values in a record. To do so, use Prisma [relations](/concepts/components/prisma-schema/relations) to turn the composite type into a collection. Set a relationship to this collection and place a unique constraint on the field that you want to be unique. +In the example above, MongoDB did not enforce the unique constraint on a nested address name. However, you can model your data differently to enforce unique values in a record. To do so, use Prisma [relations](/orm/prisma-schema/data-model/relations) to turn the composite type into a collection. Set a relationship to this collection and place a unique constraint on the field that you want to be unique. In the following example, MongoDB enforces unique values in a record. There is a relation between `Mailbox` and the `Address` model. Also, the `name` field in the `Address` model has a unique constraint. diff --git a/content/200-orm/100-prisma-client/200-special-fields-and-types/100-working-with-json-fields.mdx b/content/200-orm/100-prisma-client/200-special-fields-and-types/100-working-with-json-fields.mdx index 5dfc4e93ba..3f0874d5c8 100644 --- a/content/200-orm/100-prisma-client/200-special-fields-and-types/100-working-with-json-fields.mdx +++ b/content/200-orm/100-prisma-client/200-special-fields-and-types/100-working-with-json-fields.mdx @@ -34,7 +34,7 @@ Example field value: } ``` -> **Note**: The `Json` field is only supported if the [underlying database](/concepts/database-connectors) has a corresponding JSON data type. +> **Note**: The `Json` field is only supported if the [underlying database](/orm/overview) has a corresponding JSON data type. The `Json` field supports a few additional types, such as `string` and `boolean`. These additional types exist to match the types supported by [`JSON.parse()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse): @@ -115,12 +115,12 @@ From v2.23.0, you can filter rows by the data inside a `Json` type. We call this The availability of advanced `Json` filtering depends on your Prisma version: - V4.0.0 or later: advanced `Json` filtering is [generally available](/about/prisma/releases#generally-available-ga). -- From v2.23.0, but before v4.0.0: advanced `Json` filtering is a [preview feature](/concepts/components/preview-features/client-preview-features). Add `previewFeatures = ["filterJson"]` to your schema. [Learn more](/concepts/components/preview-features/client-preview-features#enabling-a-prisma-client-preview-feature). +- From v2.23.0, but before v4.0.0: advanced `Json` filtering is a [preview feature](/orm/reference/preview-features/client-preview-features). Add `previewFeatures = ["filterJson"]` to your schema. [Learn more](/concepts/components/preview-features/client-preview-features#enabling-a-prisma-client-preview-feature). - Before v2.23.0: you can [filter on the exact `Json` field value](#filter-on-exact-field-value), but you cannot use the other features described in this section. -Advanced `Json` filtering is supported by [PostgreSQL](/concepts/database-connectors/postgresql) and [MySQL](/concepts/database-connectors/mysql) only with different syntaxes for the `path` option. PostgreSQL does not support [filtering on object key values in arrays](#filtering-on-object-key-value-inside-array). +Advanced `Json` filtering is supported by [PostgreSQL](/orm/overview/introduction/databases/postgresql) and [MySQL](/orm/overview/introduction/databases/mysql) only with different syntaxes for the `path` option. PostgreSQL does not support [filtering on object key values in arrays](#filtering-on-object-key-value-inside-array). @@ -128,8 +128,8 @@ Advanced `Json` filtering is supported by [PostgreSQL](/concepts/database-connec The implementation of `Json` filtering differs between connectors: -- The [MySQL connector](/concepts/database-connectors/mysql) uses [MySQL's implementation of JSON path](https://dev.mysql.com/doc/refman/8.0/en/json.html#json-path-syntax) -- The [PostgreSQL connector](/concepts/database-connectors/postgresql) uses the custom JSON functions and operators [supported in version 12 _and earlier_](https://www.postgresql.org/docs/11/functions-json.html) +- The [MySQL connector](/orm/overview/introduction/databases/mysql) uses [MySQL's implementation of JSON path](https://dev.mysql.com/doc/refman/8.0/en/json.html#json-path-syntax) +- The [PostgreSQL connector](/orm/overview/introduction/databases/postgresql) uses the custom JSON functions and operators [supported in version 12 _and earlier_](https://www.postgresql.org/docs/11/functions-json.html) This means that `path` option syntax differs between database connectors - for example, the following is a valid MySQL `path` value: @@ -617,7 +617,7 @@ Depending on your provider, you can filter on the key value of an object inside -Filtering on object key values within an array is **only** supported by the [MySQL database connector](/concepts/database-connectors/mysql). However, you can still [filter on the presence of entire JSON objects](#json-object-arrays). +Filtering on object key values within an array is **only** supported by the [MySQL database connector](/orm/overview/introduction/databases/mysql). However, you can still [filter on the presence of entire JSON objects](#json-object-arrays). diff --git a/content/200-orm/100-prisma-client/300-client-extensions/100-model.mdx b/content/200-orm/100-prisma-client/300-client-extensions/100-model.mdx index 10a1aec679..1bf461f0df 100644 --- a/content/200-orm/100-prisma-client/300-client-extensions/100-model.mdx +++ b/content/200-orm/100-prisma-client/300-client-extensions/100-model.mdx @@ -13,7 +13,7 @@ Prisma Client extensions are Generally Available from versions 4.16.0 and later.
-You can use the `model` [Prisma Client extensions](/concepts/components/prisma-client/client-extensions) component type to add custom methods to your models. +You can use the `model` [Prisma Client extensions](/orm/prisma-client/client-extensions) component type to add custom methods to your models. Possible uses for the `model` component include the following: @@ -161,4 +161,4 @@ Refer to [Add a custom method to all models in your schema](#example-1) for a co ## Advanced type safety: type utilities for defining generic extensions -You can improve the type-safety of `model` components in your shared extensions with [type utilities](/concepts/components/prisma-client/client-extensions/type-utilities). +You can improve the type-safety of `model` components in your shared extensions with [type utilities](/orm/prisma-client/client-extensions/type-utilities). diff --git a/content/200-orm/100-prisma-client/300-client-extensions/110-client.mdx b/content/200-orm/100-prisma-client/300-client-extensions/110-client.mdx index 674d5833a9..04b6564036 100644 --- a/content/200-orm/100-prisma-client/300-client-extensions/110-client.mdx +++ b/content/200-orm/100-prisma-client/300-client-extensions/110-client.mdx @@ -13,7 +13,7 @@ Prisma Client extensions are Generally Available from versions 4.16.0 and later. -You can use the `client` [Prisma Client extensions](/concepts/components/prisma-client/client-extensions) component to add top-level methods to Prisma Client. +You can use the `client` [Prisma Client extensions](/orm/prisma-client/client-extensions) component to add top-level methods to Prisma Client. @@ -34,7 +34,7 @@ const prisma = new PrismaClient().$extends({ The following example uses the `client` component to add two methods to Prisma Client: - `$log` outputs a message. -- `$totalQueries` returns the number of queries executed by the current client instance. It uses the [metrics](/concepts/components/prisma-client/metrics) feature to collect this information. +- `$totalQueries` returns the number of queries executed by the current client instance. It uses the [metrics](/orm/prisma-client/observability-and-logging/metrics) feature to collect this information. diff --git a/content/200-orm/100-prisma-client/300-client-extensions/120-query.mdx b/content/200-orm/100-prisma-client/300-client-extensions/120-query.mdx index 8b7cf98d38..67e11d2d6f 100644 --- a/content/200-orm/100-prisma-client/300-client-extensions/120-query.mdx +++ b/content/200-orm/100-prisma-client/300-client-extensions/120-query.mdx @@ -13,9 +13,9 @@ Prisma Client extensions are Generally Available from versions 4.16.0 and later. -You can use the `query` [Prisma Client extensions](/concepts/components/prisma-client/client-extensions) component type to hook into the query life-cycle and modify an incoming query or its result. +You can use the `query` [Prisma Client extensions](/orm/prisma-client/client-extensions) component type to hook into the query life-cycle and modify an incoming query or its result. -You can use Prisma Client extensions `query` component to create independent clients. This provides an alternative to [middlewares](/concepts/components/prisma-client/middleware). You can bind one client to a specific filter or user, and another client to another filter or user. For example, you might do this to get [user isolation](/concepts/components/prisma-client/client-extensions#extended-clients) in a row-level security (RLS) extension. In addition, unlike middlewares the `query` extension component gives you end-to-end type safety. [Learn more about `query` extensions versus middlewares](#query-extensions-versus-middlewares). +You can use Prisma Client extensions `query` component to create independent clients. This provides an alternative to [middlewares](/orm/prisma-client/client-extensions/middleware). You can bind one client to a specific filter or user, and another client to another filter or user. For example, you might do this to get [user isolation](/concepts/components/prisma-client/client-extensions#extended-clients) in a row-level security (RLS) extension. In addition, unlike middlewares the `query` extension component gives you end-to-end type safety. [Learn more about `query` extensions versus middlewares](#query-extensions-versus-middlewares). @@ -142,7 +142,7 @@ const prisma = new PrismaClient().$extends({ }) ``` -In the event a [raw query](/concepts/components/prisma-client/raw-database-access) is invoked, the `model` argument passed to the callback will be `undefined`. +In the event a [raw query](/orm/prisma-client/queries/raw-database-access/raw-queries) is invoked, the `model` argument passed to the callback will be `undefined`. For example, you can use the `$allOperations` method to log queries as follows: @@ -256,13 +256,13 @@ const prisma = new PrismaClient().$extends({ -We include the above example to show that this is possible. However, for performance reasons we recommend that you use the [`result` component type](/concepts/components/prisma-client/client-extensions/result) to override existing fields. The `result` component type usually gives better performance in this situation because it computes only on access. The `query` component type computes after query execution. +We include the above example to show that this is possible. However, for performance reasons we recommend that you use the [`result` component type](/orm/prisma-client/client-extensions/result) to override existing fields. The `result` component type usually gives better performance in this situation because it computes only on access. The `query` component type computes after query execution. ## Wrap a query into a batch transaction -You can wrap your extended queries into a [batch transaction](/guides/performance-and-optimization/prisma-client-transactions-guide). For example, you can use this to enact row-level security (RLS). +You can wrap your extended queries into a [batch transaction](/orm/prisma-client/queries/transactions). For example, you can use this to enact row-level security (RLS). The following example extends `findFirst` so that it runs in a batch transaction. @@ -282,7 +282,7 @@ const prisma = new PrismaClient().$extends({ ## Query extensions versus middlewares -You can use query extensions or [middlewares](/concepts/components/prisma-client/middleware) to hook into the query life-cycle and modify an incoming query or its result. Client extensions and middlewares differ in the following ways: +You can use query extensions or [middlewares](/orm/prisma-client/client-extensions/middleware) to hook into the query life-cycle and modify an incoming query or its result. Client extensions and middlewares differ in the following ways: - Middlewares always apply globally to the same client. Client extensions are isolated, unless you deliberately combine them. [Learn more about client extensions](/concepts/components/prisma-client/client-extensions#about-prisma-client-extensions). - For example, in a row-level security (RLS) scenario, you can keep each user in an entirely separate client. With middlewares, all users are active in the same client. diff --git a/content/200-orm/100-prisma-client/300-client-extensions/130-result.mdx b/content/200-orm/100-prisma-client/300-client-extensions/130-result.mdx index 7c2880ba17..0c1b7d8f93 100644 --- a/content/200-orm/100-prisma-client/300-client-extensions/130-result.mdx +++ b/content/200-orm/100-prisma-client/300-client-extensions/130-result.mdx @@ -13,7 +13,7 @@ Prisma Client extensions are Generally Available from versions 4.16.0 and later. -You can use the `result` [Prisma Client extensions](/concepts/components/prisma-client/client-extensions) component type to add custom fields and methods to query results. +You can use the `result` [Prisma Client extensions](/orm/prisma-client/client-extensions) component type to add custom fields and methods to query results. diff --git a/content/200-orm/100-prisma-client/300-client-extensions/140-shared-extensions.mdx b/content/200-orm/100-prisma-client/300-client-extensions/140-shared-extensions.mdx index 3ca14196e5..188f7a937d 100644 --- a/content/200-orm/100-prisma-client/300-client-extensions/140-shared-extensions.mdx +++ b/content/200-orm/100-prisma-client/300-client-extensions/140-shared-extensions.mdx @@ -7,7 +7,7 @@ tocDepth: 4 -You can share your [Prisma Client extensions](/concepts/components/prisma-client/client-extensions) with other users, either as packages or as modules, and import extensions that other users create into your project. +You can share your [Prisma Client extensions](/orm/prisma-client/client-extensions) with other users, either as packages or as modules, and import extensions that other users create into your project. If you would like to build a shareable extension, we also recommend using the [`prisma-client-extension-starter`](https://github.com/prisma/prisma-client-extension-starter) template. @@ -57,7 +57,7 @@ The benefit of `Prisma.defineExtension` is that it provides strict type checks a Extensions that contain methods under `$allModels` apply to every model instead of a specific one. Similarly, methods under `$allOperations` apply to a client instance as a whole and not to a named component, e.g. `result` or `query`. -You do not need to use the `$all` prefix with the [`client`](/concepts/components/prisma-client/client-extensions/client) component, because the `client` component always applies to the client instance. +You do not need to use the `$all` prefix with the [`client`](/orm/prisma-client/client-extensions/client) component, because the `client` component always applies to the client instance. For example, a generic extension might take the following form: @@ -140,4 +140,4 @@ export default Prisma.defineExtension((client) => { ### Advanced type safety: type utilities for defining generic extensions -You can improve the type-safety of your shared extensions using [type utilities](/concepts/components/prisma-client/client-extensions/type-utilities). +You can improve the type-safety of your shared extensions using [type utilities](/orm/prisma-client/client-extensions/type-utilities). diff --git a/content/200-orm/100-prisma-client/300-client-extensions/200-extension-examples.mdx b/content/200-orm/100-prisma-client/300-client-extensions/200-extension-examples.mdx index ed96d18cbf..c57e27c46b 100644 --- a/content/200-orm/100-prisma-client/300-client-extensions/200-extension-examples.mdx +++ b/content/200-orm/100-prisma-client/300-client-extensions/200-extension-examples.mdx @@ -60,4 +60,4 @@ The following example extensions are provided as examples only, and without warr ## Going further -- Learn more about [Prisma Client extensions](/concepts/components/prisma-client/client-extensions). +- Learn more about [Prisma Client extensions](/orm/prisma-client/client-extensions). diff --git a/content/200-orm/100-prisma-client/300-client-extensions/500-middleware/100-soft-delete-middleware.mdx b/content/200-orm/100-prisma-client/300-client-extensions/500-middleware/100-soft-delete-middleware.mdx index d6c5d5e41c..8aa80746c1 100644 --- a/content/200-orm/100-prisma-client/300-client-extensions/500-middleware/100-soft-delete-middleware.mdx +++ b/content/200-orm/100-prisma-client/300-client-extensions/500-middleware/100-soft-delete-middleware.mdx @@ -7,7 +7,7 @@ tocDepth: 4 -The following sample uses [middleware](/concepts/components/prisma-client/middleware) to perform a **soft delete**. Soft delete means that a record is **marked as deleted** by changing a field like `deleted` to `true` rather than actually being removed from the database. Reasons to use a soft delete include: +The following sample uses [middleware](/orm/prisma-client/client-extensions/middleware) to perform a **soft delete**. Soft delete means that a record is **marked as deleted** by changing a field like `deleted` to `true` rather than actually being removed from the database. Reasons to use a soft delete include: - Regulatory requirements that mean you have to keep data for a certain amount of time - 'Trash' / 'bin' functionality that allows users to restore content that was deleted diff --git a/content/200-orm/100-prisma-client/300-client-extensions/500-middleware/200-logging-middleware.mdx b/content/200-orm/100-prisma-client/300-client-extensions/500-middleware/200-logging-middleware.mdx index 145fa01447..fbf2da4f85 100644 --- a/content/200-orm/100-prisma-client/300-client-extensions/500-middleware/200-logging-middleware.mdx +++ b/content/200-orm/100-prisma-client/300-client-extensions/500-middleware/200-logging-middleware.mdx @@ -87,4 +87,4 @@ enum Role { ## Going further -You can also use [Prisma Client extensions](/concepts/components/prisma-client/client-extensions) to log the time it takes to perform a query. A functional example can be found in [this GitHub repository](https://github.com/prisma/prisma-client-extensions/tree/main/query-logging). +You can also use [Prisma Client extensions](/orm/prisma-client/client-extensions) to log the time it takes to perform a query. A functional example can be found in [this GitHub repository](https://github.com/prisma/prisma-client-extensions/tree/main/query-logging). diff --git a/content/200-orm/100-prisma-client/300-client-extensions/500-middleware/index.mdx b/content/200-orm/100-prisma-client/300-client-extensions/500-middleware/index.mdx index 354d71179e..7a1a4eebb2 100644 --- a/content/200-orm/100-prisma-client/300-client-extensions/500-middleware/index.mdx +++ b/content/200-orm/100-prisma-client/300-client-extensions/500-middleware/index.mdx @@ -10,7 +10,7 @@ metaDescription: 'Prisma Client middleware allows you to perform actions before **Deprecated**: Middleware is deprecated in version 4.16.0. -We recommend using the [Prisma Client extensions `query` component type](/concepts/components/prisma-client/client-extensions/query) as an alternative to middleware. Prisma Client extensions were first introduced into Preview in version 4.7.0 and made Generally Available in 4.16.0. +We recommend using the [Prisma Client extensions `query` component type](/orm/prisma-client/client-extensions/query) as an alternative to middleware. Prisma Client extensions were first introduced into Preview in version 4.7.0 and made Generally Available in 4.16.0. Prisma Client extensions allow you to create independent Prisma Client instances and bind each client to a specific filter or user. For example, you could bind clients to specific users to provide user isolation. Prisma Client extensions also provide end-to-end type safety. diff --git a/content/200-orm/100-prisma-client/300-client-extensions/index.mdx b/content/200-orm/100-prisma-client/300-client-extensions/index.mdx index c1fb68819e..f38edbf3dd 100644 --- a/content/200-orm/100-prisma-client/300-client-extensions/index.mdx +++ b/content/200-orm/100-prisma-client/300-client-extensions/index.mdx @@ -17,10 +17,10 @@ You can use Prisma Client extensions to add functionality to your models, result You can create an extension with one or more of the following component types: -- `model`: [add custom methods or fields to your models](/concepts/components/prisma-client/client-extensions/model) -- `client`: [add client-level methods to Prisma Client](/concepts/components/prisma-client/client-extensions/client) -- `query`: [create custom Prisma Client queries](/concepts/components/prisma-client/client-extensions/query) -- `result`: [add custom fields to your query results](/concepts/components/prisma-client/client-extensions/result) +- `model`: [add custom methods or fields to your models](/orm/prisma-client/client-extensions/model) +- `client`: [add client-level methods to Prisma Client](/orm/prisma-client/client-extensions/client) +- `query`: [create custom Prisma Client queries](/orm/prisma-client/client-extensions/query) +- `result`: [add custom fields to your query results](/orm/prisma-client/client-extensions/result) For example, you might create an extension that uses the `model` and `client` component types. @@ -32,7 +32,7 @@ When you use a Prisma Client extension, you create an _extended client_. An exte You can associate a single extension, or multiple extensions, with an extended client. [Learn more about multiple extensions](#multiple-extensions). -You can [share your Prisma Client extensions](/concepts/components/prisma-client/client-extensions/shared-extensions) with other Prisma users, and [import Prisma Client extensions developed by other users](/concepts/components/prisma-client/client-extensions/shared-extensions#install-a-packaged-extension) into your Prisma project. +You can [share your Prisma Client extensions](/orm/prisma-client/client-extensions/shared-extensions) with other Prisma users, and [import Prisma Client extensions developed by other users](/concepts/components/prisma-client/client-extensions/shared-extensions#install-a-packaged-extension) into your Prisma project. ### Extended clients @@ -40,7 +40,7 @@ Extended clients interact with each other, and with the standard client, as foll - Each extended client operates independently in an isolated instance. - Extended clients cannot conflict with each other, or with the standard client. -- All extended clients and the standard client communicate with the same [Prisma query engine](/concepts/components/prisma-engines/query-engine). +- All extended clients and the standard client communicate with the same [Prisma query engine](/orm/more/under-the-hood/engines). - All extended clients and the standard client share the same connection pool. > **Note**: The author of an extension can modify this behavior since they're able to run arbitrary code as part of an extension. For example, an extension might actually create an entirely new `PrismaClient` instance (including its own query engine and connection pool). Be sure to check the documentation of the extension you're using to learn about any specific behavior it might implement. @@ -93,9 +93,9 @@ You can create an extension using two primary ways: -The above examples use the [`model` extension component](/concepts/components/prisma-client/client-extensions/model) to extend the `User` model. +The above examples use the [`model` extension component](/orm/prisma-client/client-extensions/model) to extend the `User` model. -In your `$extends` method, use the appropriate extension component or components ([`model`](/concepts/components/prisma-client/client-extensions/model), [`client`](/concepts/components/prisma-client/client-extensions/client), [`result`](/concepts/components/prisma-client/client-extensions/result) or [`query`](/concepts/components/prisma-client/client-extensions/query)). +In your `$extends` method, use the appropriate extension component or components ([`model`](/orm/prisma-client/client-extensions/model), [`client`](/orm/prisma-client/client-extensions/client), [`result`](/orm/prisma-client/client-extensions/result) or [`query`](/orm/prisma-client/client-extensions/query)). ## Name an extension for error logs diff --git a/content/200-orm/100-prisma-client/400-type-safety/100-operating-against-partial-structures-of-model-types.mdx b/content/200-orm/100-prisma-client/400-type-safety/100-operating-against-partial-structures-of-model-types.mdx index 20a7de5c01..ce1302769f 100644 --- a/content/200-orm/100-prisma-client/400-type-safety/100-operating-against-partial-structures-of-model-types.mdx +++ b/content/200-orm/100-prisma-client/400-type-safety/100-operating-against-partial-structures-of-model-types.mdx @@ -6,7 +6,7 @@ metaDescription: 'This page documents various scenarios for using the generated -When using Prisma Client, every model from your [Prisma schema](/concepts/components/prisma-schema) is translated into a dedicated TypeScript type. For example, assume you have the following `User` and `Post` models: +When using Prisma Client, every model from your [Prisma schema](/orm/prisma-schema) is translated into a dedicated TypeScript type. For example, assume you have the following `User` and `Post` models: ```prisma model User { diff --git a/content/200-orm/100-prisma-client/400-type-safety/830-prisma-type-system.mdx b/content/200-orm/100-prisma-client/400-type-safety/830-prisma-type-system.mdx index 70377df995..8b8426e578 100644 --- a/content/200-orm/100-prisma-client/400-type-safety/830-prisma-type-system.mdx +++ b/content/200-orm/100-prisma-client/400-type-safety/830-prisma-type-system.mdx @@ -40,7 +40,7 @@ To allow you to get started with our core scalar types, Prisma provides _default - by default Prisma's `String` type gets mapped to PostgreSQL's `text` type and MySQL's `varchar` type - by default Prisma's `DateTime` type gets mapped to PostgreSQL's `timestamp(3)` type and SQL Server's `datetime2` type -See Prisma's [database connector pages](/concepts/database-connectors) for the default type mappings for a given database. For example, [this table](/concepts/database-connectors/postgresql#native-type-mapping-from-prisma-to-postgresql) gives the default type mappings for PostgreSQL. +See Prisma's [database connector pages](/orm/overview) for the default type mappings for a given database. For example, [this table](/concepts/database-connectors/postgresql#native-type-mapping-from-prisma-to-postgresql) gives the default type mappings for PostgreSQL. To see the default type mappings for all databases for a specific given Prisma type, see the [model field scalar types section](/reference/api-reference/prisma-schema-reference#model-field-scalar-types) of the Prisma schema reference. For example, [this table](/reference/api-reference/prisma-schema-reference#float) gives the default type mappings for the `Float` scalar type. ### Native type mappings @@ -59,7 +59,7 @@ Native type mappings allow you to express all the types in your database. Howeve ## How to introspect database types -When you [introspect](/concepts/components/introspection) an existing database, Prisma will take the database type of each table column and represent it in your Prisma schema using the correct Prisma type for the corresponding model field. If the database type is not the default database type for that Prisma scalar type, Prisma will also add a native type attribute. +When you [introspect](/orm/prisma-schema/introspection) an existing database, Prisma will take the database type of each table column and represent it in your Prisma schema using the correct Prisma type for the corresponding model field. If the database type is not the default database type for that Prisma scalar type, Prisma will also add a native type attribute. As an example, take a `User` table in a PostgreSQL database, with: @@ -160,5 +160,5 @@ Notice that the `@db.Date` native type attribute modifies the database type of t For further reference information on using Prisma's type system, see the following resources: -- The [database connector](/concepts/database-connectors) page for each database provider has a type mapping section with a table of default type mappings between Prisma types and database types, and a table of database types with their corresponding native type attribute in Prisma. For example, the type mapping section for PostgreSQL is [here](/concepts/database-connectors/postgresql#type-mapping-between-postgresql-to-prisma-schema). +- The [database connector](/orm/overview) page for each database provider has a type mapping section with a table of default type mappings between Prisma types and database types, and a table of database types with their corresponding native type attribute in Prisma. For example, the type mapping section for PostgreSQL is [here](/concepts/database-connectors/postgresql#type-mapping-between-postgresql-to-prisma-schema). - The [model field scalar types](/reference/api-reference/prisma-schema-reference#model-field-scalar-types) section of the Prisma schema reference has a subsection for each Prisma scalar type. This includes a table of default mappings for that Prisma type in each database, and a table for each database listing the corresponding database types and their native type attributes in Prisma. For example, the entry for the `String` Prisma type is [here](/reference/api-reference/prisma-schema-reference#string). diff --git a/content/200-orm/100-prisma-client/400-type-safety/index.mdx b/content/200-orm/100-prisma-client/400-type-safety/index.mdx index 85b75a70a4..982c23d608 100644 --- a/content/200-orm/100-prisma-client/400-type-safety/index.mdx +++ b/content/200-orm/100-prisma-client/400-type-safety/index.mdx @@ -130,7 +130,7 @@ userPosts.profile ### Generated UncheckedInput types -The `UncheckedInput` types are a special set of generated types that allow you to perform some operations that Prisma Client considers "unsafe", like directly writing [relation scalar fields](/concepts/components/prisma-schema/relations). You can choose either the "safe" `Input` types or the "unsafe" `UncheckedInput` type when doing operations like `create`, `update`, or `upsert`. +The `UncheckedInput` types are a special set of generated types that allow you to perform some operations that Prisma Client considers "unsafe", like directly writing [relation scalar fields](/orm/prisma-schema/data-model/relations). You can choose either the "safe" `Input` types or the "unsafe" `UncheckedInput` type when doing operations like `create`, `update`, or `upsert`. For example, this Prisma schema has a one-to-many relation between `User` and `Post`: @@ -241,7 +241,7 @@ This feature is available from Prisma version 4.9.0 upwards. To help you create highly type-safe applications, Prisma Client provides a set of type utilities that tap into input and output types. These types are fully dynamic, which means that they adapt to any given model and schema. You can use them to improve the auto-completion and developer experience of your projects. -This is especially useful in [validating inputs](./prisma-validator) and [shared Prisma Client extensions](/concepts/components/prisma-client/client-extensions/shared-extensions). +This is especially useful in [validating inputs](./prisma-validator) and [shared Prisma Client extensions](/orm/prisma-client/client-extensions/shared-extensions). The following type utilities are available in Prisma Client: diff --git a/content/200-orm/100-prisma-client/450-testing/150-integration-testing.mdx b/content/200-orm/100-prisma-client/450-testing/150-integration-testing.mdx index 0fef3ce724..fb1086ba9f 100644 --- a/content/200-orm/100-prisma-client/450-testing/150-integration-testing.mdx +++ b/content/200-orm/100-prisma-client/450-testing/150-integration-testing.mdx @@ -122,7 +122,7 @@ DATABASE_URL="postgresql://prisma:prisma@localhost:5433/tests" -The above `.env.test` file is used as part of a multiple `.env` file setup. Checkout the [using multiple .env files.](/guides/development-environment/environment-variables/using-multiple-env-files) section to learn more about setting up your project with multiple `.env` files +The above `.env.test` file is used as part of a multiple `.env` file setup. Checkout the [using multiple .env files.](/orm/more/development-environment/environment-variables/using-multiple-env-files) section to learn more about setting up your project with multiple `.env` files diff --git a/content/200-orm/100-prisma-client/500-deployment/101-traditional/200-deploy-to-heroku.mdx b/content/200-orm/100-prisma-client/500-deployment/101-traditional/200-deploy-to-heroku.mdx index 310f50c63f..4242c91b81 100644 --- a/content/200-orm/100-prisma-client/500-deployment/101-traditional/200-deploy-to-heroku.mdx +++ b/content/200-orm/100-prisma-client/500-deployment/101-traditional/200-deploy-to-heroku.mdx @@ -8,7 +8,7 @@ metaDescription: 'Learn how to deploy a Node.js server that uses Prisma to Herok In this guide, you will set up and deploy a Node.js server that uses Prisma with PostgreSQL to [Heroku](https://www.heroku.com). The application exposes a REST API and uses Prisma Client to handle fetching, creating, and deleting records from a database. -Heroku is a cloud platform as a service (PaaS). In contrast to the popular serverless deployment model, with Heroku, your application is constantly running even if no requests are made to it. This has several benefits due to the connection limits of a PostgreSQL database. For more information, check out the [general deployment documentation](/guides/deployment/deploy-prisma) +Heroku is a cloud platform as a service (PaaS). In contrast to the popular serverless deployment model, with Heroku, your application is constantly running even if no requests are made to it. This has several benefits due to the connection limits of a PostgreSQL database. For more information, check out the [general deployment documentation](/orm/prisma-client/deployment/deploy-prisma) Typically Heroku integrates with a Git repository for automatic deployments upon commits. You can deploy to Heroku from a GitHub repository or by pushing your source to a [Git repository that Heroku creates per app](https://devcenter.heroku.com/articles/git). This guide uses the latter approach whereby you push your code to the app's repository on Heroku, which triggers a build and deploys the application. @@ -40,9 +40,9 @@ While the example uses REST, the same principles apply to a GraphQL server, with ## Prisma workflow -At the core of Prisma is the [Prisma schema](/concepts/components/prisma-schema) – a declarative configuration where you define your data model and other Prisma-related configuration. The Prisma schema is also a single source of truth for both Prisma Client and Prisma Migrate. +At the core of Prisma is the [Prisma schema](/orm/prisma-schema) – a declarative configuration where you define your data model and other Prisma-related configuration. The Prisma schema is also a single source of truth for both Prisma Client and Prisma Migrate. -In this guide, you will use [Prisma Migrate](/concepts/components/prisma-migrate) to create the database schema. Prisma Migrate is based on the Prisma schema and works by generating `.sql` migration files that are executed against the database. +In this guide, you will use [Prisma Migrate](/orm/prisma-migrate) to create the database schema. Prisma Migrate is based on the Prisma schema and works by generating `.sql` migration files that are executed against the database. Migrate comes with two primary workflows: diff --git a/content/200-orm/100-prisma-client/500-deployment/101-traditional/250-deploy-to-koyeb.mdx b/content/200-orm/100-prisma-client/500-deployment/101-traditional/250-deploy-to-koyeb.mdx index b9ed5e466b..6205ffddfb 100644 --- a/content/200-orm/100-prisma-client/500-deployment/101-traditional/250-deploy-to-koyeb.mdx +++ b/content/200-orm/100-prisma-client/500-deployment/101-traditional/250-deploy-to-koyeb.mdx @@ -35,9 +35,9 @@ The focus of this guide is showing how to deploy projects using Prisma to Koyeb. ## Prisma workflow -At the core of Prisma is the [Prisma schema](/concepts/components/prisma-schema) – a declarative configuration where you define your data model and other Prisma-related configuration. The Prisma schema is also a single source of truth for both Prisma Client and Prisma Migrate. +At the core of Prisma is the [Prisma schema](/orm/prisma-schema) – a declarative configuration where you define your data model and other Prisma-related configuration. The Prisma schema is also a single source of truth for both Prisma Client and Prisma Migrate. -In this guide, you will create the database schema with [Prisma Migrate](/concepts/components/prisma-migrate) to create the database schema. Prisma Migrate is based on the Prisma schema and works by generating `.sql` migration files that are executed against the database. +In this guide, you will create the database schema with [Prisma Migrate](/orm/prisma-migrate) to create the database schema. Prisma Migrate is based on the Prisma schema and works by generating `.sql` migration files that are executed against the database. Migrate comes with two primary workflows: diff --git a/content/200-orm/100-prisma-client/500-deployment/201-serverless/150-deploy-to-azure-functions.mdx b/content/200-orm/100-prisma-client/500-deployment/201-serverless/150-deploy-to-azure-functions.mdx index 37ea8c1ffa..56098d86b4 100644 --- a/content/200-orm/100-prisma-client/500-deployment/201-serverless/150-deploy-to-azure-functions.mdx +++ b/content/200-orm/100-prisma-client/500-deployment/201-serverless/150-deploy-to-azure-functions.mdx @@ -37,4 +37,4 @@ Generally, when you use a FaaS (Function as a Service) environment to interact w ## Summary -For more insight into Prisma Client's API, explore the function handlers and check out the [Prisma Client API Reference](/reference/api-reference/prisma-client-reference) +For more insight into Prisma Client's API, explore the function handlers and check out the [Prisma Client API Reference](/orm/reference/prisma-client-reference) diff --git a/content/200-orm/100-prisma-client/500-deployment/201-serverless/300-deploy-to-vercel.mdx b/content/200-orm/100-prisma-client/500-deployment/201-serverless/300-deploy-to-vercel.mdx index 7312952484..bc18808e2a 100644 --- a/content/200-orm/100-prisma-client/500-deployment/201-serverless/300-deploy-to-vercel.mdx +++ b/content/200-orm/100-prisma-client/500-deployment/201-serverless/300-deploy-to-vercel.mdx @@ -75,6 +75,6 @@ To prevent this, use a _second_ hosted database to handle preview deployments. O When you use a Function-as-a-Service provider, like Vercel Serverless functions, every invocation may result in a new connection to your database. This can cause your database to quickly run out of open connections and cause your application to stall. For this reason, pooling connections to your database is essential. -You can use [Accelerate](/data-platform/accelerate) for connection pooling, to reduce your Prisma Client bundle size, and to avoid cold starts. +You can use [Accelerate](/accelerate) for connection pooling, to reduce your Prisma Client bundle size, and to avoid cold starts. For more information on connection management for serverless environments, refer to our [connection management guide](/guides/performance-and-optimization/connection-management#serverless-environments-faas). diff --git a/content/200-orm/100-prisma-client/500-deployment/201-serverless/400-deploy-to-aws-lambda.mdx b/content/200-orm/100-prisma-client/500-deployment/201-serverless/400-deploy-to-aws-lambda.mdx index 2f73e748ce..0f9ebfc0e7 100644 --- a/content/200-orm/100-prisma-client/500-deployment/201-serverless/400-deploy-to-aws-lambda.mdx +++ b/content/200-orm/100-prisma-client/500-deployment/201-serverless/400-deploy-to-aws-lambda.mdx @@ -63,7 +63,7 @@ PRISMA_CLI_BINARY_TARGETS=native,rhel-openssl-1.0.x ### Connection pooling -Generally, when you use a Function as a Service (FaaS) environment to interact with a database, every function invocation can result in a new connection to the database. This is not a problem with a constantly running Node.js server. Therefore, it is beneficial to pool database connections to get better performance. You can use [Accelerate](/data-platform/accelerate) to solve this issue. For other solutions, see the [connection management guide for serverless environments](/guides/performance-and-optimization/connection-management#serverless-environments-faas). +Generally, when you use a Function as a Service (FaaS) environment to interact with a database, every function invocation can result in a new connection to the database. This is not a problem with a constantly running Node.js server. Therefore, it is beneficial to pool database connections to get better performance. You can use [Accelerate](/accelerate) to solve this issue. For other solutions, see the [connection management guide for serverless environments](/guides/performance-and-optimization/connection-management#serverless-environments-faas). ## Deploying with AWS SAM diff --git a/content/200-orm/100-prisma-client/500-deployment/201-serverless/500-deploy-to-netlify.mdx b/content/200-orm/100-prisma-client/500-deployment/201-serverless/500-deploy-to-netlify.mdx index 70f4bf6f01..4956803be7 100644 --- a/content/200-orm/100-prisma-client/500-deployment/201-serverless/500-deploy-to-netlify.mdx +++ b/content/200-orm/100-prisma-client/500-deployment/201-serverless/500-deploy-to-netlify.mdx @@ -81,6 +81,6 @@ You can now test the deployed application. When you use a Function-as-a-Service provider, like Netlify, it is beneficial to pool database connections for performance reasons. This is because every function invocation may result in a new connection to your database which can quickly run out of open connections. -You can use [Accelerate](/data-platform/accelerate) for connection pooling, to reduce your Prisma Client bundle size, and to avoid cold starts. +You can use [Accelerate](/accelerate) for connection pooling, to reduce your Prisma Client bundle size, and to avoid cold starts. For more information on connection management for serverless environments, refer to our [connection management guide](/guides/performance-and-optimization/connection-management#serverless-environments-faas). diff --git a/content/200-orm/100-prisma-client/500-deployment/301-edge/450-deploy-to-cloudflare-workers.mdx b/content/200-orm/100-prisma-client/500-deployment/301-edge/450-deploy-to-cloudflare-workers.mdx index 2f9e8d4a68..045eb6943d 100644 --- a/content/200-orm/100-prisma-client/500-deployment/301-edge/450-deploy-to-cloudflare-workers.mdx +++ b/content/200-orm/100-prisma-client/500-deployment/301-edge/450-deploy-to-cloudflare-workers.mdx @@ -139,7 +139,7 @@ The command does two things: ## 4. Enable Accelerate in the Prisma Data Platform -Prisma currently does not work on Cloudflare Workers yet. However, you can use Prisma on Cloudflare Workers through [Prisma Accelerate](/data-platform/accelerate). +Prisma currently does not work on Cloudflare Workers yet. However, you can use Prisma on Cloudflare Workers through [Prisma Accelerate](/accelerate). To get started with Prisma Accelerate: @@ -199,7 +199,7 @@ You are now ready to generate a Prisma Client. ## 6. Generate a Prisma Client -Next, generate Prisma Client that connects to your database through [Prisma Accelerate](/data-platform/accelerate) over HTTP. +Next, generate Prisma Client that connects to your database through [Prisma Accelerate](/accelerate) over HTTP. ```terminal npx prisma generate --no-engine @@ -217,7 +217,7 @@ npx prisma generate --accelerate The generated Client has a smaller bundle size and is optimized for edge environments like Cloudflare Workers. -The smaller bundle size is due to the fact that the interfaces talking to the database (the [Prisma engines](/concepts/components/prisma-engines)) are no longer bundled with Prisma Client as this logic is now handled by Prisma Accelerate. +The smaller bundle size is due to the fact that the interfaces talking to the database (the [Prisma engines](/orm/more/under-the-hood/engines)) are no longer bundled with Prisma Client as this logic is now handled by Prisma Accelerate. ## 7. Develop the Cloudflare Worker function @@ -268,7 +268,7 @@ export default { ``` > The [`info`](/data-platform/accelerate/api-reference#return-type) object has additional information which can be useful for debugging. -> Accelerate can also be used to cache your query results. You can find more information on caching with Prisma Accelerate in [here](/data-platform/accelerate). +> Accelerate can also be used to cache your query results. You can find more information on caching with Prisma Accelerate in [here](/accelerate). Run `npm run dev` to see your worker in development: diff --git a/content/200-orm/100-prisma-client/500-deployment/301-edge/550-deploy-to-deno-deploy.mdx b/content/200-orm/100-prisma-client/500-deployment/301-edge/550-deploy-to-deno-deploy.mdx index b69b11c4dc..377ca066aa 100644 --- a/content/200-orm/100-prisma-client/500-deployment/301-edge/550-deploy-to-deno-deploy.mdx +++ b/content/200-orm/100-prisma-client/500-deployment/301-edge/550-deploy-to-deno-deploy.mdx @@ -12,7 +12,7 @@ This guide covers the use of Prisma CLI with Deno CLI, Deno Deploy, Prisma Clien -This guide demonstrates how to deploy an application to Deno Deploy in conjunction with a PostgreSQL database, but you can use [any database type that Prisma supports](/reference/database-reference/supported-databases). +This guide demonstrates how to deploy an application to Deno Deploy in conjunction with a PostgreSQL database, but you can use [any database type that Prisma supports](/orm/reference/supported-databases). diff --git a/content/200-orm/100-prisma-client/500-deployment/550-deploy-database-changes-with-prisma-migrate.mdx b/content/200-orm/100-prisma-client/500-deployment/550-deploy-database-changes-with-prisma-migrate.mdx index f07a5e5562..5aefeee27a 100644 --- a/content/200-orm/100-prisma-client/500-deployment/550-deploy-database-changes-with-prisma-migrate.mdx +++ b/content/200-orm/100-prisma-client/500-deployment/550-deploy-database-changes-with-prisma-migrate.mdx @@ -15,7 +15,7 @@ npx prisma migrate deploy This guide **does not apply for MongoDB**.
-Instead of `migrate deploy`, [`db push`](/concepts/components/prisma-migrate/db-push) is used for [MongoDB](/concepts/database-connectors/mongodb). +Instead of `migrate deploy`, [`db push`](/orm/prisma-migrate/workflows/prototyping-your-schema) is used for [MongoDB](/orm/).
@@ -31,7 +31,7 @@ For more information about the `migrate deploy` command, see: - [`migrate deploy` reference](/reference/api-reference/command-reference#migrate-deploy) - [How `migrate deploy` works](/concepts/components/prisma-migrate/migrate-development-production#production-and-testing-environments) -- [Production troubleshooting](/guides/migrate/production-troubleshooting) +- [Production troubleshooting](/orm/prisma-migrate/workflows/patching-and-hotfixing)
diff --git a/content/200-orm/100-prisma-client/500-deployment/600-deploy-migrations-from-a-local-environment.mdx b/content/200-orm/100-prisma-client/500-deployment/600-deploy-migrations-from-a-local-environment.mdx index cb5ba5c8ea..1a3873fc5d 100644 --- a/content/200-orm/100-prisma-client/500-deployment/600-deploy-migrations-from-a-local-environment.mdx +++ b/content/200-orm/100-prisma-client/500-deployment/600-deploy-migrations-from-a-local-environment.mdx @@ -10,7 +10,7 @@ tocDepth: 3 There are two scenarios where you might consider deploying migrations directly from a local environment to a production environment. - You have a local CI/CD pipeline -- You are [baselining](/guides/migrate/developing-with-prisma-migrate/baselining) a production environment +- You are [baselining](/orm/prisma-migrate/workflows/baselining) a production environment This page outlines some examples of how you can do that and **why we would generally not recommend it**. @@ -49,6 +49,6 @@ The pipeline should handle deployment to staging and production environments, an ## Baselining a production database -When you add Prisma Migrate to an **existing database**, you must [baseline](/guides/migrate/developing-with-prisma-migrate/baselining) the production database. Baselining is performed **once**, and can be done from a local instance. +When you add Prisma Migrate to an **existing database**, you must [baseline](/orm/prisma-migrate/workflows/baselining) the production database. Baselining is performed **once**, and can be done from a local instance. ![](../../doc-images/baseline-production-from-local.png) diff --git a/content/200-orm/100-prisma-client/500-deployment/650-caveats-when-deploying-to-aws-platforms.mdx b/content/200-orm/100-prisma-client/500-deployment/650-caveats-when-deploying-to-aws-platforms.mdx index 942ee1faa1..d9f560e340 100644 --- a/content/200-orm/100-prisma-client/500-deployment/650-caveats-when-deploying-to-aws-platforms.mdx +++ b/content/200-orm/100-prisma-client/500-deployment/650-caveats-when-deploying-to-aws-platforms.mdx @@ -44,7 +44,7 @@ This error happens because AWS Elastic Beanstalk doesn't install `devDependencie AWS Lambda defines an **deployment package upload limit**, which includes: - All application code -- Binaries like the [Prisma query engine](/concepts/components/prisma-engines/query-engine) +- Binaries like the [Prisma query engine](/orm/more/under-the-hood/engines) The [deployment package (.zip) size limit for lambdas is 50MB](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html). When you prepare a deployment package, remove any files that the function does not require in production to keep the final .zip as small as possible. This includes some [Prisma engine binaries](#deleting-prisma-engines-that-are-not-required). diff --git a/content/200-orm/100-prisma-client/500-deployment/700-deploy-to-a-different-os.mdx b/content/200-orm/100-prisma-client/500-deployment/700-deploy-to-a-different-os.mdx index 6172277ba3..89998fa7fc 100644 --- a/content/200-orm/100-prisma-client/500-deployment/700-deploy-to-a-different-os.mdx +++ b/content/200-orm/100-prisma-client/500-deployment/700-deploy-to-a-different-os.mdx @@ -6,7 +6,7 @@ metaDescription: 'Learn how to deploy Node.js and TypeScript applications that a -Prisma Client depends on the [query engine](/concepts/components/prisma-engines/query-engine) that is running as a binary on the same host as your application. +Prisma Client depends on the [query engine](/orm/more/under-the-hood/engines) that is running as a binary on the same host as your application. The query engine is implemented in Rust and is used by Prisma in the form of executable binary files. The binary is downloaded when `prisma generate` is called. diff --git a/content/200-orm/100-prisma-client/600-observability-and-logging/240-metrics.mdx b/content/200-orm/100-prisma-client/600-observability-and-logging/240-metrics.mdx index 707d97c1c1..b487cd2602 100644 --- a/content/200-orm/100-prisma-client/600-observability-and-logging/240-metrics.mdx +++ b/content/200-orm/100-prisma-client/600-observability-and-logging/240-metrics.mdx @@ -12,7 +12,7 @@ Prisma metrics give you a detailed insight into how Prisma Client interacts with -If you want an even more detailed insight into your Prisma Client's performance, at the level of individual operations, see [Tracing](/concepts/components/prisma-client/opentelemetry-tracing). +If you want an even more detailed insight into your Prisma Client's performance, at the level of individual operations, see [Tracing](/orm/prisma-client/observability-and-logging/opentelemetry-tracing). diff --git a/content/200-orm/100-prisma-client/600-observability-and-logging/250-opentelemetry-tracing.mdx b/content/200-orm/100-prisma-client/600-observability-and-logging/250-opentelemetry-tracing.mdx index 74bae31468..0c06f8d2b2 100644 --- a/content/200-orm/100-prisma-client/600-observability-and-logging/250-opentelemetry-tracing.mdx +++ b/content/200-orm/100-prisma-client/600-observability-and-logging/250-opentelemetry-tracing.mdx @@ -12,7 +12,7 @@ Tracing provides a detailed log of the activity that Prisma Client carries out, -Tracing gives you a highly detailed, operation-level insight into your Prisma project. If you want aggregated numerical reporting, such as query counts, connection counts, and total query execution times, see [Metrics](/concepts/components/prisma-client/metrics). +Tracing gives you a highly detailed, operation-level insight into your Prisma project. If you want aggregated numerical reporting, such as query counts, connection counts, and total query execution times, see [Metrics](/orm/prisma-client/observability-and-logging/metrics). @@ -39,7 +39,7 @@ For each trace, Prisma Client outputs a series of spans. The number and type of - `prisma:client:operation`: Represents the entire Prisma operation, from Prisma Client to the database and back. It contains details such as the model and method called by Prisma Client. Depending on the Prisma operation, it contains one or more of the following spans: - `prisma:client:connect`: Represents how long it takes for Prisma Client to connect to the database. - - `prisma:client:serialize`: Represents how long it takes to validate and transform a Prisma operation into a query for the [query engine](/concepts/components/prisma-engines/query-engine). + - `prisma:client:serialize`: Represents how long it takes to validate and transform a Prisma operation into a query for the [query engine](/orm/more/under-the-hood/engines). - `prisma:engine`: Represents how long a query takes in the query engine. - `prisma:engine:connection`: Represents how long it takes for Prisma Client to get a database connection. - `prisma:engine:db_query`: Represents the database query that was executed against the database. It includes the query in the tags, and how long the query took to run. @@ -220,7 +220,7 @@ export function otelSetup() { ### Trace Prisma Client middleware -By default, tracing does not output spans for [Prisma Client middleware](/concepts/components/prisma-client/middleware). To include your middleware in your traces, set `middleware` to `true` in your `registerInstrumentations` statement, as follows: +By default, tracing does not output spans for [Prisma Client middleware](/orm/prisma-client/client-extensions/middleware). To include your middleware in your traces, set `middleware` to `true` in your `registerInstrumentations` statement, as follows: ```ts registerInstrumentations({ @@ -230,14 +230,14 @@ registerInstrumentations({ This will add the following span type to your traces: -- `prisma:client:middleware`: Represents how long the operation spent in your [middleware](/concepts/components/prisma-client/middleware). +- `prisma:client:middleware`: Represents how long the operation spent in your [middleware](/orm/prisma-client/client-extensions/middleware). ### Trace interactive transactions When you perform an interactive transaction, you'll see the following spans in addition to the [standard spans](#trace-output): - `prisma:client:transaction`: A [root span](https://opentelemetry.io/docs/concepts/observability-primer/#distributed-traces) that wraps the `prisma` span. - - `prisma:engine:itx_runner`: Represents how long an interactive transaction takes in the [query engine](/concepts/components/prisma-engines/query-engine). + - `prisma:engine:itx_runner`: Represents how long an interactive transaction takes in the [query engine](/orm/more/under-the-hood/engines). - `prisma:engine:itx_query_builder`: Represents the time it takes to build an interactive transaction. As an example, take the following Prisma schema: diff --git a/content/200-orm/100-prisma-client/700-debugging-and-troubleshooting/230-handling-exceptions-and-errors.mdx b/content/200-orm/100-prisma-client/700-debugging-and-troubleshooting/230-handling-exceptions-and-errors.mdx index e0d2849a4b..e3a376c110 100644 --- a/content/200-orm/100-prisma-client/700-debugging-and-troubleshooting/230-handling-exceptions-and-errors.mdx +++ b/content/200-orm/100-prisma-client/700-debugging-and-troubleshooting/230-handling-exceptions-and-errors.mdx @@ -40,6 +40,6 @@ try { } ``` -See [Errors reference](/reference/api-reference/error-reference) for a detailed breakdown of the different error types and their codes. +See [Errors reference](/orm/reference/error-reference) for a detailed breakdown of the different error types and their codes. diff --git a/content/200-orm/100-prisma-client/index.mdx b/content/200-orm/100-prisma-client/index.mdx index 57727d9708..9f63a69979 100644 --- a/content/200-orm/100-prisma-client/index.mdx +++ b/content/200-orm/100-prisma-client/index.mdx @@ -39,7 +39,7 @@ The setup instructions [below](#set-up) provide a high-level overview of the ste ### 1. Prerequisites -In order to set up Prisma Client, you need a [Prisma schema file](/concepts/components/prisma-schema) with your database connection, the Prisma Client generator, and at least one model: +In order to set up Prisma Client, you need a [Prisma schema file](/orm/prisma-schema) with your database connection, the Prisma Client generator, and at least one model: ```prisma file=schema.prisma datasource db { diff --git a/content/200-orm/200-prisma-migrate/050-getting-started.mdx b/content/200-orm/200-prisma-migrate/050-getting-started.mdx index 82bf859d44..560a2ca8f2 100644 --- a/content/200-orm/200-prisma-migrate/050-getting-started.mdx +++ b/content/200-orm/200-prisma-migrate/050-getting-started.mdx @@ -7,7 +7,7 @@ tocDepth: 3 -This page explains how to get started with migrating your schema in a development environment using Prisma Migrate. See [Developing with Prisma Migrate](/guides/migrate/developing-with-prisma-migrate) for a more in-depth development workflow. +This page explains how to get started with migrating your schema in a development environment using Prisma Migrate. See [Developing with Prisma Migrate](/orm/prisma-migrate) for a more in-depth development workflow. @@ -249,5 +249,5 @@ Commit the following to source control: ## Going further -- Refer to the [Deploying database changes with Prisma Migrate](/guides/deployment/deploy-database-changes-with-prisma-migrate) guide for more on deploying migrations to production. +- Refer to the [Deploying database changes with Prisma Migrate](/orm/prisma-client/deployment/deploy-database-changes-with-prisma-migrate) guide for more on deploying migrations to production. - Refer to the [Production Troubleshooting](/guides/migrate/production-troubleshooting#fixing-failed-migrations-with-migrate-diff-and-db-execute) guide to learn how to debug and resolve failed migrations in production using `prisma migrate diff`, `prisma db execute` and/ or `prisma migrate resolve`. diff --git a/content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/010-mental-model.mdx b/content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/010-mental-model.mdx index 757698b0cd..94f85aaaae 100644 --- a/content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/010-mental-model.mdx +++ b/content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/010-mental-model.mdx @@ -111,7 +111,7 @@ The `prisma migrate dev` command tracks the state of the database using the foll You can customize migrations before you apply them to the database using the `--create-only` flag. For example, you might want to edit a migration if you want to rename columns without incurring any data loss or load database extensions (in PostgreSQL) and database views (currently not supported). -Under the hood, Prisma Migrate uses a [shadow database](/concepts/components/prisma-migrate/shadow-database) to detect a [schema drift](/concepts/components/prisma-migrate/shadow-database#detecting-schema-drift) and generate new migrations. +Under the hood, Prisma Migrate uses a [shadow database](/orm/prisma-migrate/understanding-prisma-migrate/shadow-database) to detect a [schema drift](/concepts/components/prisma-migrate/shadow-database#detecting-schema-drift) and generate new migrations. > **Note**: `prisma migrate dev` is intended to be used only in development with a disposable database. diff --git a/content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/300-limitations-and-known-issues.mdx b/content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/300-limitations-and-known-issues.mdx index 258e99916a..56f4c43327 100644 --- a/content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/300-limitations-and-known-issues.mdx +++ b/content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/300-limitations-and-known-issues.mdx @@ -48,7 +48,7 @@ The `prisma migrate dev` and `prisma migrate reset` commands are designed to be When the database is reset, if Prisma Migrate detects a seed script in `package.json`, it will trigger seeding. -> **Note**: For a simple and integrated way to re-create data when the database is reset, check out our [seeding guide](/guides/migrate/seed-database). +> **Note**: For a simple and integrated way to re-create data when the database is reset, check out our [seeding guide](/orm/prisma-migrate/workflows/seeding). ## Prisma Migrate and PgBouncer diff --git a/content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/600-legacy-migrate.mdx b/content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/600-legacy-migrate.mdx index cfdefac47b..f343c8dc0b 100644 --- a/content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/600-legacy-migrate.mdx +++ b/content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/600-legacy-migrate.mdx @@ -25,7 +25,7 @@ If you want to prototype or iterate on a schema design in a development environm Legacy Prisma Migrate is a _declarative_ migration system, as opposed to SQL which can be considered _imperative_: - **SQL (imperative)**: Provide the individual _steps_ to get from the current schema to the desired schema. -- **legacy Prisma Migrate (declarative)**: Define the desired schema as a [Prisma data model](/concepts/components/prisma-schema/data-model) (legacy Prisma Migrate takes care of generating the necessary _steps_). +- **legacy Prisma Migrate (declarative)**: Define the desired schema as a [Prisma data model](/orm/prisma-schema/data-model/models) (legacy Prisma Migrate takes care of generating the necessary _steps_). Here's a quick comparison. Assume you have the following scenario: @@ -73,7 +73,7 @@ ADD COLUMN published BOOLEAN DEFAULT false; #### legacy Prisma Migrate -With legacy Prisma Migrate, you write the desired database schema in the form of a [Prisma data model](/concepts/components/prisma-schema/data-model) inside your [Prisma schema file](/concepts/components/prisma-schema). To map the data model to your database schema, you then have to run these two commands: +With legacy Prisma Migrate, you write the desired database schema in the form of a [Prisma data model](/orm/prisma-schema/data-model/models) inside your [Prisma schema file](/orm/prisma-schema). To map the data model to your database schema, you then have to run these two commands: ```terminal prisma migrate save --experimental @@ -197,7 +197,7 @@ The following table shows which SQL operations are currently supported by legacy | Create indexes | `CREATE INDEX` | ✔️ | | Cascading deletes | `ON DELETE` | No (workaround: manually add in SQL and introspect) | | Cascading updates | `ON UPDATE` | No | -| Data validation | `CHECK` | No ([workaround](/guides/other/advanced-database-tasks/data-validation/postgresql)) | +| Data validation | `CHECK` | No ([workaround](/orm/more/help-and-troubleshooting/help-articles/check-constraints)) | Note that this table assumes that the operation is also supported by the underlying database. For example, `ENUM` is not supported in SQLite. This means that you also can't use `enum` when using legacy Prisma Migrate. @@ -222,7 +222,7 @@ The `_Migration` table additionally stores information about each migration that With **legacy Prisma Migrate**, the workflow looks slightly different: -1. Manually adjust your [Prisma data model](/concepts/components/prisma-schema/data-model) +1. Manually adjust your [Prisma data model](/orm/prisma-schema/data-model/models) 1. Migrate your database using the `legacy Prisma Migrate` CLI commands 1. (Re-)generate Prisma Client 1. Use Prisma Client in your application code to access your database @@ -259,7 +259,7 @@ Saves a migration that defines the steps necessary to update your current schema #### Prerequisites -Before using the `migrate save` command, you must define a valid [`datasource`](/concepts/components/prisma-schema/data-sources) within your `schema.prisma` file. +Before using the `migrate save` command, you must define a valid [`datasource`](/orm/prisma-schema/overview/data-sources) within your `schema.prisma` file. For example, the following `datasource` defines a SQLite database file within the current directory: @@ -327,7 +327,7 @@ Migrate the database up to a specific state. #### Prerequisites -Before using the `migrate up` command, you must define a valid [`datasource`](/concepts/components/prisma-schema/data-sources) within your `schema.prisma` file. +Before using the `migrate up` command, you must define a valid [`datasource`](/orm/prisma-schema/overview/data-sources) within your `schema.prisma` file. For example, the following `datasource` defines a SQLite database file within the current directory: @@ -404,7 +404,7 @@ Migrate the database down to a specific state. #### Prerequisites -Before using the `migrate down` command, you must define a valid [`datasource`](/concepts/components/prisma-schema/data-sources) within your `schema.prisma` file. +Before using the `migrate down` command, you must define a valid [`datasource`](/orm/prisma-schema/overview/data-sources) within your `schema.prisma` file. For example, the following `datasource` defines a SQLite database file within the current directory: diff --git a/content/200-orm/200-prisma-migrate/300-workflows/100-team-development.mdx b/content/200-orm/200-prisma-migrate/300-workflows/100-team-development.mdx index c03d4a2261..fe5d9763af 100644 --- a/content/200-orm/200-prisma-migrate/300-workflows/100-team-development.mdx +++ b/content/200-orm/200-prisma-migrate/300-workflows/100-team-development.mdx @@ -20,7 +20,7 @@ Migrations are **applied in the same order as they were created**. The creation This guide **does not apply for MongoDB**.
-Instead of `migrate dev`, [`db push`](/concepts/components/prisma-migrate/db-push) is used for [MongoDB](/concepts/database-connectors/mongodb). +Instead of `migrate dev`, [`db push`](/orm/prisma-migrate/workflows/prototyping-your-schema) is used for [MongoDB](/orm/).
diff --git a/content/200-orm/200-prisma-migrate/300-workflows/110-native-database-types.mdx b/content/200-orm/200-prisma-migrate/300-workflows/110-native-database-types.mdx index 95d21284da..7eaf08d7a9 100644 --- a/content/200-orm/200-prisma-migrate/300-workflows/110-native-database-types.mdx +++ b/content/200-orm/200-prisma-migrate/300-workflows/110-native-database-types.mdx @@ -6,16 +6,16 @@ metaDescription: Native database types -Prisma Migrate translates the model defined in your [Prisma schema](/concepts/components/prisma-schema) into features in your database. +Prisma Migrate translates the model defined in your [Prisma schema](/orm/prisma-schema) into features in your database. ![A diagram that shows a Prisma schema on the left (labeled: Prisma schema, models) and a database on the right (labeled: Database, tables). Two parallel arrows connect the schema and the database, showing how '@unique' maps to 'UNIQUE' and '@id' maps to 'PRIMARY KEY'.](migrate-mapping.png) -Every¹ feature in your [data model](/concepts/components/prisma-schema/data-model) maps to a corresponding feature in the underlying database. **If you can define a feature in the Prisma schema, it is supported by Prisma Migrate.** +Every¹ feature in your [data model](/orm/prisma-schema/data-model/models) maps to a corresponding feature in the underlying database. **If you can define a feature in the Prisma schema, it is supported by Prisma Migrate.** For a complete list of Prisma schema features, refer to: -- [Database features matrix](/reference/database-reference/database-features) for a list of database features and what they map to in the Prisma schema. -- [Prisma schema reference](/reference/api-reference/prisma-schema-reference) for a list of all Prisma schema features, including field types, attributes, and functions. +- [Database features matrix](/orm/reference/database-features) for a list of database features and what they map to in the Prisma schema. +- [Prisma schema reference](/orm/reference/prisma-schema-reference) for a list of all Prisma schema features, including field types, attributes, and functions. Prisma Migrate also supports mapping each field to a [specific native type](#mapping-fields-to-a-specific-native-type), and there are ways to [include features without a Prisma schema equivalent in your database](#handling-unsupported-database-features). diff --git a/content/200-orm/200-prisma-migrate/300-workflows/120-native-database-functions.mdx b/content/200-orm/200-prisma-migrate/300-workflows/120-native-database-functions.mdx index 0b35f4c662..f87524d160 100644 --- a/content/200-orm/200-prisma-migrate/300-workflows/120-native-database-functions.mdx +++ b/content/200-orm/200-prisma-migrate/300-workflows/120-native-database-functions.mdx @@ -12,11 +12,11 @@ To use a PostgreSQL extension, you must install it on the file system of your da -Do not activate extensions outside a migration file if you use Prisma Migrate. The [shadow database](/concepts/components/prisma-migrate/shadow-database) requires the same extensions. Prisma Migrate creates and deletes the shadow database automatically, so the only way to activate an extension is to include it in a migration file. +Do not activate extensions outside a migration file if you use Prisma Migrate. The [shadow database](/orm/prisma-migrate/understanding-prisma-migrate/shadow-database) requires the same extensions. Prisma Migrate creates and deletes the shadow database automatically, so the only way to activate an extension is to include it in a migration file. -In Prisma versions 4.5.0 and later, you can activate the extension by declaring it in your Prisma schema with the [`postgresqlExtensions` preview feature](/concepts/components/prisma-schema/postgresql-extensions): +In Prisma versions 4.5.0 and later, you can activate the extension by declaring it in your Prisma schema with the [`postgresqlExtensions` preview feature](/orm/prisma-schema/postgresql-extensions): ```prisma file=schema.prisma highlight=3,9;add generator client { diff --git a/content/200-orm/200-prisma-migrate/300-workflows/20-prototyping-your-schema.mdx b/content/200-orm/200-prisma-migrate/300-workflows/20-prototyping-your-schema.mdx index 0847235dd6..306eb3304f 100644 --- a/content/200-orm/200-prisma-migrate/300-workflows/20-prototyping-your-schema.mdx +++ b/content/200-orm/200-prisma-migrate/300-workflows/20-prototyping-your-schema.mdx @@ -33,7 +33,7 @@ The Prisma CLI has a dedicated command for prototyping schemas: [`db push`](/ref - You are prioritizing reaching a **desired end-state** and not the changes or steps executed to reach that end-state (there is no way to preview changes made by `db push`) - You do not need to control how schema changes impact data. There is no way to orchestrate schema and data migrations—if `db push` anticipates that changes will result in data loss, you can either accept data loss with the `--accept-data-loss` option or stop the process. There is no way to customize the changes. -See [Schema prototyping with `db push`](/guides/migrate/prototyping-schema-db-push) for an example of how to use `db push` in this way. +See [Schema prototyping with `db push`](/orm/prisma-migrate/workflows/prototyping-your-schema) for an example of how to use `db push` in this way. `db push` is **not recommended** if: @@ -44,7 +44,7 @@ See [Schema prototyping with `db push`](/guides/migrate/prototyping-schema-db-pu ## Can I use Prisma Migrate and db push together? -Yes, you can [use `db push` and Prisma Migrate together in your development workflow](/guides/migrate/prototyping-schema-db-push) . For example, you can: +Yes, you can [use `db push` and Prisma Migrate together in your development workflow](/orm/prisma-migrate/workflows/prototyping-your-schema) . For example, you can: - Use `db push` to prototype a schema at the start of a project and initialize a migration history when you are happy with the first draft - Use `db push` to prototype a change to an existing schema, then run `prisma migrate dev` to generate a migration from your changes (you will be asked to reset) diff --git a/content/200-orm/200-prisma-migrate/300-workflows/200-troubleshooting.mdx b/content/200-orm/200-prisma-migrate/300-workflows/200-troubleshooting.mdx index 30ca1dcc75..3a68089e2c 100644 --- a/content/200-orm/200-prisma-migrate/300-workflows/200-troubleshooting.mdx +++ b/content/200-orm/200-prisma-migrate/300-workflows/200-troubleshooting.mdx @@ -8,13 +8,13 @@ metaDescription: Troubleshooting issues with Prisma Migrate in a development env This guide describes how to resolve issues with Prisma Migrate in a development environment, which often involves resetting your database. For production-focused troubleshooting, see: -- [Production troubleshooting](/guides/migrate/production-troubleshooting) -- [Patching / hotfixing production databases](/guides/migrate/patching-production) +- [Production troubleshooting](/orm/prisma-migrate/workflows/patching-and-hotfixing) +- [Patching / hotfixing production databases](/orm/prisma-migrate/workflows/patching-and-hotfixing) This guide **does not apply for MongoDB**.
-Instead of `migrate dev`, [`db push`](/concepts/components/prisma-migrate/db-push) is used for [MongoDB](/concepts/database-connectors/mongodb). +Instead of `migrate dev`, [`db push`](/orm/prisma-migrate/workflows/prototyping-your-schema) is used for [MongoDB](/orm/).
@@ -47,7 +47,7 @@ Schema drift can occur if: - The database schema was changed _without_ using migrations - for example, by using [`prisma db push`](/reference/api-reference/command-reference#db-push) or manually changing the database schema. -> **Note**: The [shadow database](/concepts/components/prisma-migrate/shadow-database) is required to detect schema drift, and can therefore only be done in a development environment. +> **Note**: The [shadow database](/orm/prisma-migrate/understanding-prisma-migrate/shadow-database) is required to detect schema drift, and can therefore only be done in a development environment. #### Fixing schema drift in a development environment diff --git a/content/200-orm/200-prisma-migrate/300-workflows/30-baselining.mdx b/content/200-orm/200-prisma-migrate/300-workflows/30-baselining.mdx index 6009eb8cec..7ac9fb6c56 100644 --- a/content/200-orm/200-prisma-migrate/300-workflows/30-baselining.mdx +++ b/content/200-orm/200-prisma-migrate/300-workflows/30-baselining.mdx @@ -19,7 +19,7 @@ Baselining is part of [adding Prisma Migrate to a project with an existing datab This guide **does not apply for MongoDB**.
-Instead of `migrate deploy`, [`db push`](/concepts/components/prisma-migrate/db-push) is used for [MongoDB](/concepts/database-connectors/mongodb). +Instead of `migrate deploy`, [`db push`](/orm/prisma-migrate/workflows/prototyping-your-schema) is used for [MongoDB](/orm/).
diff --git a/content/200-orm/200-prisma-migrate/300-workflows/40-customizing-migrations.mdx b/content/200-orm/200-prisma-migrate/300-workflows/40-customizing-migrations.mdx index d593a81acf..d8a7bd5f81 100644 --- a/content/200-orm/200-prisma-migrate/300-workflows/40-customizing-migrations.mdx +++ b/content/200-orm/200-prisma-migrate/300-workflows/40-customizing-migrations.mdx @@ -10,7 +10,7 @@ tocDepth: 3 This guide **does not apply for MongoDB**.
-Instead of `migrate dev`, [`db push`](/concepts/components/prisma-migrate/db-push) is used for [MongoDB](/concepts/database-connectors/mongodb). +Instead of `migrate dev`, [`db push`](/orm/prisma-migrate/workflows/prototyping-your-schema) is used for [MongoDB](/orm/).
diff --git a/content/200-orm/200-prisma-migrate/300-workflows/50-squashing-migrations.mdx b/content/200-orm/200-prisma-migrate/300-workflows/50-squashing-migrations.mdx index 0c61adb1d9..ae97dbefd4 100644 --- a/content/200-orm/200-prisma-migrate/300-workflows/50-squashing-migrations.mdx +++ b/content/200-orm/200-prisma-migrate/300-workflows/50-squashing-migrations.mdx @@ -6,7 +6,7 @@ metaDescription: How to squash multiple migration files into a single migration -This guide describes how to squash multiple [migration files](/concepts/components/prisma-migrate/migration-histories) into a single migration. +This guide describes how to squash multiple [migration files](/orm/prisma-migrate/understanding-prisma-migrate/migration-histories) into a single migration. diff --git a/content/200-orm/200-prisma-migrate/300-workflows/60-generating-down-migrations.mdx b/content/200-orm/200-prisma-migrate/300-workflows/60-generating-down-migrations.mdx index 93e072a8ec..cad08bfb35 100644 --- a/content/200-orm/200-prisma-migrate/300-workflows/60-generating-down-migrations.mdx +++ b/content/200-orm/200-prisma-migrate/300-workflows/60-generating-down-migrations.mdx @@ -7,7 +7,7 @@ tocDepth: 3 -This guide describes how to generate a down migration SQL file that reverses a given [migration file](/concepts/components/prisma-migrate/migration-histories). +This guide describes how to generate a down migration SQL file that reverses a given [migration file](/orm/prisma-migrate/understanding-prisma-migrate/migration-histories). @@ -102,7 +102,7 @@ You will need to create the down migration first, before creating the correspond There are two potential options for specifying the 'to' state: - - Using `--to-migrations`: this makes a comparison to the state of the migrations given in the migrations directory. This is the preferred option, as it is more robust, but it requires a [shadow database](/concepts/components/prisma-migrate/shadow-database). To use this option, run: + - Using `--to-migrations`: this makes a comparison to the state of the migrations given in the migrations directory. This is the preferred option, as it is more robust, but it requires a [shadow database](/orm/prisma-migrate/understanding-prisma-migrate/shadow-database). To use this option, run: ```terminal wrap npx prisma migrate diff \ diff --git a/content/200-orm/200-prisma-migrate/300-workflows/70-patching-and-hotfixing.mdx b/content/200-orm/200-prisma-migrate/300-workflows/70-patching-and-hotfixing.mdx index 932eafcdb9..e5813185bf 100644 --- a/content/200-orm/200-prisma-migrate/300-workflows/70-patching-and-hotfixing.mdx +++ b/content/200-orm/200-prisma-migrate/300-workflows/70-patching-and-hotfixing.mdx @@ -13,7 +13,7 @@ Patching the production database directly results in **schema drift**: your data This guide **does not apply for MongoDB**.
-Instead of `migrate dev`, [`db push`](/concepts/components/prisma-migrate/db-push) is used for [MongoDB](/concepts/database-connectors/mongodb). +Instead of `migrate dev`, [`db push`](/orm/prisma-migrate/workflows/prototyping-your-schema) is used for [MongoDB](/orm/).
@@ -73,7 +73,7 @@ To reconcile your migration history and database schema in production: A migration might fail if: -- You [modify a migration before running it](/guides/migrate/developing-with-prisma-migrate/customizing-migrations) and introduce a syntax error +- You [modify a migration before running it](/orm/prisma-migrate/workflows/customizing-migrations) and introduce a syntax error - You add a mandatory (`NOT NULL`) column to a table that already has data - The migration process stopped unexpectedly - The database shut down in the middle of the migration process @@ -196,7 +196,7 @@ In this case, you need to create a migration that takes your production database ``` This will create a SQL script file containing all changes necessary to take your production environment from its current failed state to the target state defined by your migrations history. - Note that because we're using `--to-migrations`, the command requires a [shadow database](/concepts/components/prisma-migrate/shadow-database). + Note that because we're using `--to-migrations`, the command requires a [shadow database](/orm/prisma-migrate/understanding-prisma-migrate/shadow-database). - Run the following `prisma db execute` command: diff --git a/content/200-orm/200-prisma-migrate/300-workflows/80-unsupported-database-features.mdx b/content/200-orm/200-prisma-migrate/300-workflows/80-unsupported-database-features.mdx index a9b83ad6fc..f770b3b55a 100644 --- a/content/200-orm/200-prisma-migrate/300-workflows/80-unsupported-database-features.mdx +++ b/content/200-orm/200-prisma-migrate/300-workflows/80-unsupported-database-features.mdx @@ -6,7 +6,7 @@ metaDescription: How to include unsupported database features for projects that -Prisma Migrate uses the Prisma schema to determine what features to create in the database. However, some database features [cannot be represented in the Prisma schema](/concepts/components/prisma-schema/features-without-psl-equivalent) , including but not limited to: +Prisma Migrate uses the Prisma schema to determine what features to create in the database. However, some database features [cannot be represented in the Prisma schema](/orm/prisma-schema/data-model/unsupported-database-features) , including but not limited to: - Stored procedures - Triggers @@ -24,7 +24,7 @@ The Prisma schema is able to represent [unsupported field types](/concepts/compo This guide **does not apply for MongoDB**.
-Instead of `migrate dev`, [`db push`](/concepts/components/prisma-migrate/db-push) is used for [MongoDB](/concepts/database-connectors/mongodb). +Instead of `migrate dev`, [`db push`](/orm/prisma-migrate/workflows/prototyping-your-schema) is used for [MongoDB](/orm/).
diff --git a/content/200-orm/200-prisma-migrate/300-workflows/90-development-and-production.mdx b/content/200-orm/200-prisma-migrate/300-workflows/90-development-and-production.mdx index 344e343b76..11e6f6d029 100644 --- a/content/200-orm/200-prisma-migrate/300-workflows/90-development-and-production.mdx +++ b/content/200-orm/200-prisma-migrate/300-workflows/90-development-and-production.mdx @@ -63,7 +63,7 @@ This command: ¹ For MySQL and MongoDB this refers to the database, for PostgreSQL and SQL Server to the schema, and for SQLite to the database file. -> **Note**: For a simple and integrated way to re-create data in your development database as often as needed, check out our [seeding guide](/guides/migrate/seed-database). +> **Note**: For a simple and integrated way to re-create data in your development database as often as needed, check out our [seeding guide](/orm/prisma-migrate/workflows/seeding). ### Customizing migrations @@ -82,11 +82,11 @@ npx prisma migrate dev --create-only To apply the edited migration, run `prisma migrate dev` again. -Refer to [Customizing migrations](/guides/migrate/developing-with-prisma-migrate/customizing-migrations) for examples. +Refer to [Customizing migrations](/orm/prisma-migrate/workflows/customizing-migrations) for examples. ### Team development -See: [Team development with Prisma Migrate](/guides/migrate/developing-with-prisma-migrate/team-development) . +See: [Team development with Prisma Migrate](/orm/prisma-migrate/workflows/team-development) . ## Production and testing environments @@ -118,8 +118,8 @@ The `migrate deploy` command: See also: -- [Prisma Migrate in deployment](/guides/deployment/deploy-database-changes-with-prisma-migrate) -- [Production troubleshooting](/guides/migrate/production-troubleshooting) +- [Prisma Migrate in deployment](/orm/prisma-client/deployment/deploy-database-changes-with-prisma-migrate) +- [Production troubleshooting](/orm/prisma-migrate/workflows/patching-and-hotfixing) ### Advisory locking diff --git a/content/200-orm/200-prisma-migrate/index.mdx b/content/200-orm/200-prisma-migrate/index.mdx index 592a1645fe..af82e63885 100644 --- a/content/200-orm/200-prisma-migrate/index.mdx +++ b/content/200-orm/200-prisma-migrate/index.mdx @@ -10,25 +10,25 @@ toc: false -**Does not apply for MongoDB**
Instead of `migrate dev` and related commands, use [`db push`](/concepts/components/prisma-migrate/db-push) for [MongoDB](/concepts/database-connectors/mongodb). +**Does not apply for MongoDB**
Instead of `migrate dev` and related commands, use [`db push`](/orm/prisma-migrate/workflows/prototyping-your-schema) for [MongoDB](/orm/).
Prisma Migrate enables you to: -- Keep your database schema in sync with your [Prisma schema](/concepts/components/prisma-schema) as it evolves _and_ +- Keep your database schema in sync with your [Prisma schema](/orm/prisma-schema) as it evolves _and_ - Maintain existing data in your database -Prisma Migrate generates [a history of `.sql` migration files](/concepts/components/prisma-migrate/migration-histories), and plays a role in both [development and production](/concepts/components/prisma-migrate/migrate-development-production). +Prisma Migrate generates [a history of `.sql` migration files](/orm/prisma-migrate/understanding-prisma-migrate/migration-histories), and plays a role in both [development and production](/orm/prisma-migrate/workflows/development-and-production). Prisma Migrate can be considered a _hybrid_ database schema migration tool, meaning it has both of _declarative_ and _imperative_ elements: -- Declarative: The data model is described in a declarative way in the [Prisma schema](/concepts/components/prisma-schema). Prisma Migrate generates SQL migration files from that data model. +- Declarative: The data model is described in a declarative way in the [Prisma schema](/orm/prisma-schema). Prisma Migrate generates SQL migration files from that data model. - Imperative: All generated SQL migration files are fully customizable. Prisma Migrate hence provides the flexibility of an imperative migration tool by enabling you to modify what and how migrations are executed (and allows you to run custom SQL to e.g. make use of native database feature, perform data migrations, ...). -If you are prototyping, consider using the [`db push` command](db-push) - see [Schema prototyping with `db push`](/guides/migrate/prototyping-schema-db-push) for examples. +If you are prototyping, consider using the [`db push` command](db-push) - see [Schema prototyping with `db push`](/orm/prisma-migrate/workflows/prototyping-your-schema) for examples. diff --git a/content/200-orm/300-prisma-schema/10-overview/03-generators.mdx b/content/200-orm/300-prisma-schema/10-overview/03-generators.mdx index fb369390f9..226c9db592 100644 --- a/content/200-orm/300-prisma-schema/10-overview/03-generators.mdx +++ b/content/200-orm/300-prisma-schema/10-overview/03-generators.mdx @@ -23,7 +23,7 @@ A generator determines which assets are created when you run the `prisma generat The generator for Prisma's JavaScript Client accepts multiple additional properties: -- `previewFeatures`: [Preview features](/concepts/components/preview-features) to include +- `previewFeatures`: [Preview features](/orm/reference/preview-features) to include - `binaryTargets`: Engine binary targets for `prisma-client-js` (for example, `debian-openssl-1.1.x` if you are deploying to Ubuntu 18+, or `native` if you are working locally) ```prisma @@ -38,7 +38,7 @@ generator client { Prisma Client JS (`prisma-client-js`) uses several [engines](https://github.com/prisma/prisma-engines). Engines are implemented in Rust and are used by Prisma in the form of executable, platform dependent engine files. Depending on which platform you are executing your code on, you need the correct file. "Binary targets" are used to define which files should be present for the target platform(s). -The correct file is particularly important when [deploying](/guides/deployment/deploy-prisma) your application to production, which often differs from your local development environment. +The correct file is particularly important when [deploying](/orm/prisma-client/deployment/deploy-prisma) your application to production, which often differs from your local development environment. #### The `native` binary target diff --git a/content/200-orm/300-prisma-schema/20-data-model/10-models.mdx b/content/200-orm/300-prisma-schema/20-data-model/10-models.mdx index 19ca03db87..d7cb9aa17f 100644 --- a/content/200-orm/300-prisma-schema/20-data-model/10-models.mdx +++ b/content/200-orm/300-prisma-schema/20-data-model/10-models.mdx @@ -11,8 +11,8 @@ The data model definition part of the [Prisma schema](./) defines your applicati - Represent the **entities** of your application domain - Map to the **tables** (relational databases like PostgreSQL) or **collections** (MongoDB) in your database -- Form the foundation of the **queries** available in the generated [Prisma Client API](/concepts/components/prisma-client) -- When used with TypeScript, Prisma Client provides generated **type definitions** for your models and any [variations](/concepts/components/prisma-client/advanced-type-safety/operating-against-partial-structures-of-model-types) of them to make database access entirely type safe. +- Form the foundation of the **queries** available in the generated [Prisma Client API](/orm/prisma-client) +- When used with TypeScript, Prisma Client provides generated **type definitions** for your models and any [variations](/orm/prisma-client/type-safety/operating-against-partial-structures-of-model-types) of them to make database access entirely type safe. The following schema describes a blogging platform - the data model definition is highlighted: @@ -252,8 +252,8 @@ Your data model reflects _your_ application domain. For example: There are two ways to define a data model: -- **Write the data model manually and use Prisma Migrate**: You can write your data model manually and map it to your database using [Prisma Migrate](/concepts/components/prisma-migrate). In this case, the data model is the single source of truth for the models of your application. -- **Generate the data model via introspection**: When you have an existing database or prefer migrating your database schema with SQL, you generate the data model by [introspecting](/concepts/components/introspection) your database. In this case, the database schema is the single source of truth for the models of your application. +- **Write the data model manually and use Prisma Migrate**: You can write your data model manually and map it to your database using [Prisma Migrate](/orm/prisma-migrate). In this case, the data model is the single source of truth for the models of your application. +- **Generate the data model via introspection**: When you have an existing database or prefer migrating your database schema with SQL, you generate the data model by [introspecting](/orm/prisma-schema/introspection) your database. In this case, the database schema is the single source of truth for the models of your application. ## Defining models @@ -441,13 +441,13 @@ Type attributes are: - Written in PascalCase (for example, `VarChar` or `Text`) - Prefixed by `@db`, where `db` is the name of the `datasource` block in your schema -Furthermore, during [Introspection](/concepts/components/introspection) type attributes are _only_ added to the schema if the underlying native type is **not the default type**. For example, if you are using the PostgreSQL provider, `String` fields where the underlying native type is `text` will not have a type attribute. +Furthermore, during [Introspection](/orm/prisma-schema/introspection) type attributes are _only_ added to the schema if the underlying native type is **not the default type**. For example, if you are using the PostgreSQL provider, `String` fields where the underlying native type is `text` will not have a type attribute. See [complete list of native database type attributes per scalar type and provider](/reference/api-reference/prisma-schema-reference#model-field-scalar-types) . #### Benefits and workflows -- Control **the exact native type** that [Prisma Migrate](/concepts/components/prisma-migrate) creates in the database - for example, a `String` can be `@db.VarChar(200)` or `@db.Char(50)` +- Control **the exact native type** that [Prisma Migrate](/orm/prisma-migrate) creates in the database - for example, a `String` can be `@db.VarChar(200)` or `@db.Char(50)` - See an **enriched schema** when you introspect ### Type modifiers @@ -546,7 +546,7 @@ location Unsupported("POLYGON")? The `Unsupported` type allows you to define fields in the Prisma schema for database types that are not yet supported by Prisma. For example, MySQL's `POLYGON` type is not currently supported by Prisma, but can now be added to the Prisma schema using the `Unsupported("POLYGON")` type. -Fields of type `Unsupported` are not available in the generated Prisma Client API, but you can still use Prisma's [raw database access](/concepts/components/prisma-client/raw-database-access) feature to query these fields. +Fields of type `Unsupported` are not available in the generated Prisma Client API, but you can still use Prisma's [raw database access](/orm/prisma-client/queries/raw-database-access/raw-queries) feature to query these fields. > **Note**: If a model has **mandatory `Unsupported` fields**, the generated client will not include `create` or `update` methods for that model. @@ -657,7 +657,7 @@ The `firstName_lastName` field will now be named `fullName` instead. -Refer to the documentation on [working with composite IDs](/concepts/components/prisma-client/working-with-fields/working-with-composite-ids-and-constraints) to learn how to interact with a composite ID in Prisma Client. +Refer to the documentation on [working with composite IDs](/orm/prisma-client/special-fields-and-types/working-with-composite-ids-and-constraints) to learn how to interact with a composite ID in Prisma Client. @@ -759,7 +759,7 @@ model Post { `@default` attributes either: - Represent `DEFAULT` values in the underlying database (relational databases only) _or_ -- Use a Prisma-level function. For example, `cuid()` and `uuid()` are provided by Prisma's [query engine](/concepts/components/prisma-engines/query-engine) for all connectors. +- Use a Prisma-level function. For example, `cuid()` and `uuid()` are provided by Prisma's [query engine](/orm/more/under-the-hood/engines) for all connectors. Default values can be: @@ -872,7 +872,7 @@ The `authorId_title` field will now be named `authorTitle` instead. -Refer to the documentation on [working with composite unique identifiers](/concepts/components/prisma-client/working-with-fields/working-with-composite-ids-and-constraints) to learn how to interact with a composite unique constraints in Prisma Client. +Refer to the documentation on [working with composite unique identifiers](/orm/prisma-client/special-fields-and-types/working-with-composite-ids-and-constraints) to learn how to interact with a composite unique constraints in Prisma Client. @@ -983,7 +983,7 @@ model User { You can define enums in your data model [if enums are supported for your database connector](/reference/database-reference/database-features#misc), either natively or at Prisma level. -Enums are considered [scalar](#scalar-fields) types in the Prisma data model. They're therefore [by default](/concepts/components/prisma-client/select-fields#return-the-default-selection-set) included as return values in [Prisma Client queries](/concepts/components/prisma-client/crud). +Enums are considered [scalar](#scalar-fields) types in the Prisma data model. They're therefore [by default](/concepts/components/prisma-client/select-fields#return-the-default-selection-set) included as return values in [Prisma Client queries](/orm/prisma-client/queries/crud). Enums are defined via the [`enum`](/reference/api-reference/prisma-schema-reference#enum) block. For example, a `User` has a `Role`: @@ -1107,7 +1107,7 @@ model Post { -[`cuid()`](/reference/api-reference/prisma-schema-reference#cuid) and [`uuid()`](/reference/api-reference/prisma-schema-reference#uuid) are implemented by Prisma and therefore are not "visible" in the underlying database schema. You can still use them when using [introspection](/concepts/components/introspection) by [manually changing your Prisma schema](/concepts/components/prisma-client/working-with-prismaclient/use-custom-model-and-field-names) and [generating Prisma Client](/concepts/components/prisma-client/working-with-prismaclient/generating-prisma-client), in that case the values will be generated by Prisma's [query engine](/concepts/components/prisma-engines/query-engine) +[`cuid()`](/reference/api-reference/prisma-schema-reference#cuid) and [`uuid()`](/reference/api-reference/prisma-schema-reference#uuid) are implemented by Prisma and therefore are not "visible" in the underlying database schema. You can still use them when using [introspection](/orm/prisma-schema/introspection) by [manually changing your Prisma schema](/orm/prisma-client/setup-and-configuration/custom-model-and-field-names) and [generating Prisma Client](/orm/prisma-client/setup-and-configuration/generating-prisma-client), in that case the values will be generated by Prisma's [query engine](/orm/more/under-the-hood/engines) Support for [`autoincrement()`](/reference/api-reference/prisma-schema-reference#autoincrement) , [`now()`](/reference/api-reference/prisma-schema-reference#now) and [`dbgenerated()`](/reference/api-reference/prisma-schema-reference#dbgenerated) differ between databases. @@ -1121,7 +1121,7 @@ Refer to the [relations documentation](relations) for more examples and informat ### Queries (CRUD) -Every model in the data model definition will result in a number of CRUD queries in the generated [Prisma Client API](/concepts/components/prisma-client): +Every model in the data model definition will result in a number of CRUD queries in the generated [Prisma Client API](/orm/prisma-client): - [`findMany`](/reference/api-reference/prisma-client-reference#findmany) - [`findFirst`](/reference/api-reference/prisma-client-reference#findfirst) @@ -1170,7 +1170,7 @@ export type User = { } ``` -Note that the relation fields `posts` and `profile` are not included in the type definition by default. However, if you need variations of the `User` type you can still define them using some of [Prisma Client's generated helper types](/concepts/components/prisma-client/working-with-prismaclient/generating-prisma-client) (in this case, these helper types would be called `UserGetIncludePayload` and `UserGetSelectPayload`). +Note that the relation fields `posts` and `profile` are not included in the type definition by default. However, if you need variations of the `User` type you can still define them using some of [Prisma Client's generated helper types](/orm/prisma-client/setup-and-configuration/generating-prisma-client) (in this case, these helper types would be called `UserGetIncludePayload` and `UserGetSelectPayload`). ## Limitations diff --git a/content/200-orm/300-prisma-schema/20-data-model/20-relations/300-many-to-many-relations.mdx b/content/200-orm/300-prisma-schema/20-data-model/20-relations/300-many-to-many-relations.mdx index 362c31b8b4..aa8a310d47 100644 --- a/content/200-orm/300-prisma-schema/20-data-model/20-relations/300-many-to-many-relations.mdx +++ b/content/200-orm/300-prisma-schema/20-data-model/20-relations/300-many-to-many-relations.mdx @@ -84,7 +84,7 @@ ALTER TABLE "CategoriesOnPosts" ADD CONSTRAINT "CategoriesOnPosts_categoryId_fke Note that the same rules as for [1-n relations](one-to-many-relations) apply (because `Post`↔ `CategoriesOnPosts` and `Category` ↔ `CategoriesOnPosts` are both in fact 1-n relations), which means one side of the relation needs to be annotated with the `@relation` attribute. -When you don't need to attach additional information to the relation, you can model m-n-relations as [implicit m-n-relations](#implicit-many-to-many-relations). If you're not using Prisma Migrate but obtain your data model from [introspection](/concepts/components/introspection), you can still make use of implicit m-n-relations by following Prisma's [conventions for relation tables](#conventions-for-relation-tables-in-implicit-m-n-relations). +When you don't need to attach additional information to the relation, you can model m-n-relations as [implicit m-n-relations](#implicit-many-to-many-relations). If you're not using Prisma Migrate but obtain your data model from [introspection](/orm/prisma-schema/introspection), you can still make use of implicit m-n-relations by following Prisma's [conventions for relation tables](#conventions-for-relation-tables-in-implicit-m-n-relations). #### Querying an explicit many-to-many @@ -240,7 +240,7 @@ const getAssignments = await prisma.categoriesOnPosts.findMany({ Implicit m-n relations define relation fields as lists on both sides of the relation. Although the relation table exists in the underlying database, **it is managed by Prisma and does not manifest in the Prisma schema**. Implicit relation tables follow a [specific convention](#conventions-for-relation-tables-in-implicit-m-n-relations). -Implicit m-n-relations makes the [Prisma Client API](/concepts/components/prisma-client) for m-n-relations a bit simpler (since you have one fewer level of nesting inside of [nested writes](/concepts/components/prisma-client/relation-queries#nested-writes)). +Implicit m-n-relations makes the [Prisma Client API](/orm/prisma-client) for m-n-relations a bit simpler (since you have one fewer level of nesting inside of [nested writes](/concepts/components/prisma-client/relation-queries#nested-writes)). In the example below, there's one _implicit_ m-n-relation between `Post` and `Category`: @@ -348,7 +348,7 @@ Implicit m-n relations: #### Conventions for relation tables in implicit m-n relations -If you obtain your data model from [introspection](/concepts/components/introspection), you can still use implicit m-n-relations by following Prisma's [conventions for relation tables](#conventions-for-relation-tables-in-implicit-m-n-relations). The following example assumes you want to create a relation table to get an implicit m-n-relation for two models called `Post` and `Category`. +If you obtain your data model from [introspection](/orm/prisma-schema/introspection), you can still use implicit m-n-relations by following Prisma's [conventions for relation tables](#conventions-for-relation-tables-in-implicit-m-n-relations). The following example assumes you want to create a relation table to get an implicit m-n-relation for two models called `Post` and `Category`. ##### Relation table @@ -509,7 +509,7 @@ Prisma validates m-n-relations in MongoDB with the following rules: - The `fields` argument must have only one scalar field defined, which must be of a list type - The `references` argument must have only one scalar field defined. This scalar field must exist on the referenced model and must be of the same type as the scalar field in the `fields` argument, but singular (no list) - The scalar field to which `references` points must have the `@id` attribute -- No [referential actions](/concepts/components/prisma-schema/relations/referential-actions) are allowed in `@relation` +- No [referential actions](/orm/prisma-schema/data-model/relations/referential-actions) are allowed in `@relation` The implicit m-n-relations [used in relational databases](/concepts/components/prisma-schema/relations/many-to-many-relations#implicit-many-to-many-relations) are not supported on MongoDB. diff --git a/content/200-orm/300-prisma-schema/20-data-model/20-relations/410-referential-actions/100-special-rules-for-referential-actions.mdx b/content/200-orm/300-prisma-schema/20-data-model/20-relations/410-referential-actions/100-special-rules-for-referential-actions.mdx index 447fb5cec0..fac239b64d 100644 --- a/content/200-orm/300-prisma-schema/20-data-model/20-relations/410-referential-actions/100-special-rules-for-referential-actions.mdx +++ b/content/200-orm/300-prisma-schema/20-data-model/20-relations/410-referential-actions/100-special-rules-for-referential-actions.mdx @@ -11,7 +11,7 @@ Some databases have specific requirements that you should consider if you are us - Microsoft SQL Server doesn't allow cascading [referential actions](./) on a foreign key, if the relation chain causes a cycle or multiple cascade paths. If the referential actions on the foreign key are set to something other than `NO ACTION` (or `NoAction` if Prisma is managing referential integrity), the server will check for cycles or multiple cascade paths and return an error when executing the SQL. -- With MongoDB, using referential actions in Prisma requires that for any data model with self-referential relations or cycles between three models, you must set the referential action of `NoAction` to prevent the referential action emulations from looping infinitely. Be aware that by default, the `relationMode = "prisma"` mode is used for MongoDB, which means that Prisma manages [referential integrity](/concepts/components/prisma-schema/relations/relation-mode). +- With MongoDB, using referential actions in Prisma requires that for any data model with self-referential relations or cycles between three models, you must set the referential action of `NoAction` to prevent the referential action emulations from looping infinitely. Be aware that by default, the `relationMode = "prisma"` mode is used for MongoDB, which means that Prisma manages [referential integrity](/orm/prisma-schema/data-model/relations/relation-mode). Given the SQL: diff --git a/content/200-orm/300-prisma-schema/20-data-model/20-relations/410-referential-actions/index.mdx b/content/200-orm/300-prisma-schema/20-data-model/20-relations/410-referential-actions/index.mdx index 6e0d8bac7d..3c8fa0e2db 100644 --- a/content/200-orm/300-prisma-schema/20-data-model/20-relations/410-referential-actions/index.mdx +++ b/content/200-orm/300-prisma-schema/20-data-model/20-relations/410-referential-actions/index.mdx @@ -44,7 +44,7 @@ If you do not specify a referential action, Prisma [uses a default](#referential If you upgrade from a version earlier than 2.26.0: -It is extremely important that you check the [upgrade paths for referential actions](/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-3/referential-actions) section. Prisma support of referential actions **removes the safety net in Prisma Client that prevents cascading deletes at runtime**. If you use the feature _without upgrading your database_, the [old default action](/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-3/referential-actions#prisma-2x-default-referential-actions) - `ON DELETE CASCADE` - becomes active. This might result in cascading deletes that you did not expect. +It is extremely important that you check the [upgrade paths for referential actions](/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-3/referential-actions) section. Prisma support of referential actions **removes the safety net in Prisma Client that prevents cascading deletes at runtime**. If you use the feature _without upgrading your database_, the [old default action](/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-3/referential-actions#prisma-2x-default-referential-actions) - `ON DELETE CASCADE` - becomes active. This might result in cascading deletes that you did not expect. @@ -253,7 +253,7 @@ model User { -The `Restrict` action is **not** available on [Microsoft SQL Server](/concepts/database-connectors/sql-server) and triggers a schema validation error. Instead, you can use [`NoAction`](#noaction), which produces the same result and is compatible with SQL Server. +The `Restrict` action is **not** available on [Microsoft SQL Server](/orm/overview/introduction/databases/sql-server) and triggers a schema validation error. Instead, you can use [`NoAction`](#noaction), which produces the same result and is compatible with SQL Server. diff --git a/content/200-orm/300-prisma-schema/20-data-model/20-relations/420-relation-mode.mdx b/content/200-orm/300-prisma-schema/20-data-model/20-relations/420-relation-mode.mdx index e0cb298df6..f046309c2f 100644 --- a/content/200-orm/300-prisma-schema/20-data-model/20-relations/420-relation-mode.mdx +++ b/content/200-orm/300-prisma-schema/20-data-model/20-relations/420-relation-mode.mdx @@ -28,7 +28,7 @@ Prisma has two _relation modes_, `foreignKeys` and `prisma`, that specify how re If you use Prisma with a relational database, then by default Prisma uses the [`foreignKeys` relation mode](#handle-relations-in-your-relational-database-with-the-foreignkeys-relation-mode), which enforces relations between records at the database level with foreign keys. A foreign key is a column or group of columns in one table that take values based on the primary key in another table. Foreign keys allow you to: - set constraints that prevent you from making changes that break references -- set [referential actions](/concepts/components/prisma-schema/relations/referential-actions) that define how changes to records are handled +- set [referential actions](/orm/prisma-schema/data-model/relations/referential-actions) that define how changes to records are handled Together these constraints and referential actions guarantee the _referential integrity_ of the data. @@ -120,7 +120,7 @@ When you _create_ or _update_ a record with a relation to another record, the re When you _update_ or _delete_ a record with a relation to another record, referential actions are triggered in the database. To maintain referential integrity in related records, referential actions prevent changes that would break referential integrity, cascade changes through to related records, or set the value of fields that reference the updated or deleted records to a `null` or default value. -For more information, see the [referential actions](/concepts/components/prisma-schema/relations/referential-actions) page. +For more information, see the [referential actions](/orm/prisma-schema/data-model/relations/referential-actions) page. ### Introspection @@ -238,7 +238,7 @@ model Post { } ``` -If you use the [Prisma VS Code extension](https://marketplace.visualstudio.com/items?itemName=Prisma.prisma) (or our [language server in another editor](/guides/development-environment/editor-setup)), the warning is augmented with a Quick Fix that adds the required index for you: +If you use the [Prisma VS Code extension](https://marketplace.visualstudio.com/items?itemName=Prisma.prisma) (or our [language server in another editor](/orm/more/development-environment/editor-setup)), the warning is augmented with a Quick Fix that adds the required index for you: ![The Quick Fix pop-up for adding an index on a relation scalar field in VS Code](quick-fix-index.png) diff --git a/content/200-orm/300-prisma-schema/20-data-model/20-relations/index.mdx b/content/200-orm/300-prisma-schema/20-data-model/20-relations/index.mdx index 04fa24f9a8..e5f24558b3 100644 --- a/content/200-orm/300-prisma-schema/20-data-model/20-relations/index.mdx +++ b/content/200-orm/300-prisma-schema/20-data-model/20-relations/index.mdx @@ -286,7 +286,7 @@ model Category { -This schema is the same as the [example data model](/concepts/components/prisma-schema/data-model) but has all [scalar fields](/concepts/components/prisma-schema/data-model#scalar-fields) removed (except for the required [relation scalars](/concepts/components/prisma-schema/relations#relation-scalar-fields)) so you can focus on the [relation fields](#relation-fields). +This schema is the same as the [example data model](/orm/prisma-schema/data-model/models) but has all [scalar fields](/concepts/components/prisma-schema/data-model#scalar-fields) removed (except for the required [relation scalars](/concepts/components/prisma-schema/relations#relation-scalar-fields)) so you can focus on the [relation fields](#relation-fields). @@ -320,9 +320,9 @@ To use either of these features, you must set up an explicit many-to-many instea The implicit many-to-many relation still manifests in a relation table in the underlying database. However, Prisma manages this relation table. -If you use an implicit many-to-many relation instead of an explicit one, it makes the [Prisma Client API](/concepts/components/prisma-client) simpler (because, for example, you have one fewer level of nesting inside of [nested writes](/concepts/components/prisma-client/relation-queries#nested-writes)). +If you use an implicit many-to-many relation instead of an explicit one, it makes the [Prisma Client API](/orm/prisma-client) simpler (because, for example, you have one fewer level of nesting inside of [nested writes](/concepts/components/prisma-client/relation-queries#nested-writes)). -If you're not using Prisma Migrate but obtain your data model from [introspection](/concepts/components/introspection), you can still make use of implicit many-to-many relations by following Prisma's [conventions for relation tables](many-to-many-relations#conventions-for-relation-tables-in-implicit-m-n-relations). +If you're not using Prisma Migrate but obtain your data model from [introspection](/orm/prisma-schema/introspection), you can still make use of implicit many-to-many relations by following Prisma's [conventions for relation tables](many-to-many-relations#conventions-for-relation-tables-in-implicit-m-n-relations). ## Relation fields @@ -445,7 +445,7 @@ A scalar field _becomes_ a relation scalar field when it's used in the `fields` -Relation scalar fields are read-only in the generated [Prisma Client API](/concepts/components/prisma-client). If you want to update a relation in your code, you can do so using [nested writes](/concepts/components/prisma-client/relation-queries#nested-writes). +Relation scalar fields are read-only in the generated [Prisma Client API](/orm/prisma-client). If you want to update a relation in your code, you can do so using [nested writes](/concepts/components/prisma-client/relation-queries#nested-writes). @@ -597,7 +597,7 @@ For **implicit m-n-relations**, both relation fields are virtual since neither o Prisma always requires both sides of a relation to be present, this means that one virtual relation field always needs to be added per relation. When [formatting the Prisma schema](/reference/api-reference/command-reference#format), the formatter automatically inserts any missing virtual relation fields for you to save some typing work. -Virtual relation fields are also present in the generated [Prisma CLI](/concepts/components/prisma-client) which makes working with relations more convenient as you can traverse relationships in your code in both directions, for example: +Virtual relation fields are also present in the generated [Prisma CLI](/orm/prisma-client) which makes working with relations more convenient as you can traverse relationships in your code in both directions, for example: ```js // Traverse relation from `Post` to `User` via fluent API diff --git a/content/200-orm/300-prisma-schema/20-data-model/40-views.mdx b/content/200-orm/300-prisma-schema/20-data-model/40-views.mdx index 6e7b418277..632c18565b 100644 --- a/content/200-orm/300-prisma-schema/20-data-model/40-views.mdx +++ b/content/200-orm/300-prisma-schema/20-data-model/40-views.mdx @@ -232,7 +232,7 @@ Each _field_ of a `view` block represents a column in the query results of the v Currently only available for PostgreSQL, MySQL, SQL Server and CockroachDB. -If you have an existing view or views defined in your database, [introspection](/concepts/components/introspection) will automatically generate `view` blocks in your Prisma schema that represent those views. +If you have an existing view or views defined in your database, [introspection](/orm/prisma-schema/introspection) will automatically generate `view` blocks in your Prisma schema that represent those views. Assuming the example `UserInfo` view exists in your underlying database, running the following command will generate a `view` block in your Prisma schema representing that view: diff --git a/content/200-orm/300-prisma-schema/20-data-model/50-database-mapping.mdx b/content/200-orm/300-prisma-schema/20-data-model/50-database-mapping.mdx index 00d582512f..65551a9ba6 100644 --- a/content/200-orm/300-prisma-schema/20-data-model/50-database-mapping.mdx +++ b/content/200-orm/300-prisma-schema/20-data-model/50-database-mapping.mdx @@ -26,7 +26,7 @@ A common approach for naming tables/collections in databases for example is to u ### Map collection / table names -As an example, when you [introspect](/concepts/components/introspection) a database with a table named `comments`, the resulting Prisma model will look like this: +As an example, when you [introspect](/orm/prisma-schema/introspection) a database with a table named `comments`, the resulting Prisma model will look like this: ```prisma model comments { diff --git a/content/200-orm/300-prisma-schema/20-data-model/70-unsupported-database-features.mdx b/content/200-orm/300-prisma-schema/20-data-model/70-unsupported-database-features.mdx index ae0576756d..b184d5ebcb 100644 --- a/content/200-orm/300-prisma-schema/20-data-model/70-unsupported-database-features.mdx +++ b/content/200-orm/300-prisma-schema/20-data-model/70-unsupported-database-features.mdx @@ -6,7 +6,7 @@ tocDepth: 2 -Not all database functions and features of all of Prisma's supported databases have a Prisma Schema Language equivalent. Refer to the [database features matrix](/reference/database-reference/database-features) for a complete list of supported features. +Not all database functions and features of all of Prisma's supported databases have a Prisma Schema Language equivalent. Refer to the [database features matrix](/orm/reference/database-features) for a complete list of supported features. @@ -51,7 +51,7 @@ In PostgreSQL, some native database functions are part of an extension. For exam To use a PostgreSQL extension, you must first install it on the file system of your database server. -In Prisma versions 4.5.0 and later, you can then activate the extension by declaring it in your Prisma schema with the [`postgresqlExtensions` preview feature](/concepts/components/prisma-schema/postgresql-extensions): +In Prisma versions 4.5.0 and later, you can then activate the extension by declaring it in your Prisma schema with the [`postgresqlExtensions` preview feature](/orm/prisma-schema/postgresql-extensions): ```prisma file=schema.prisma highlight=3,9;add generator client { @@ -72,7 +72,7 @@ In earlier versions of Prisma, you must instead run a SQL command to activate th CREATE EXTENSION IF NOT EXISTS pgcrypto; ``` -If your project uses [Prisma Migrate](/concepts/components/prisma-migrate), you must [install the extension as part of a migration](/guides/migrate/developing-with-prisma-migrate/enable-native-database-functions) . Do not install the extension manually, because it is also required by the shadow database. +If your project uses [Prisma Migrate](/orm/prisma-migrate), you must [install the extension as part of a migration](/orm/prisma-migrate/workflows/native-database-functions) . Do not install the extension manually, because it is also required by the shadow database. Prisma Migrate returns the following error if the extension is not available: @@ -96,4 +96,4 @@ The `prisma migrate dev` and `prisma db push` command will both create a `positi ## Unsupported database features -Some features, like SQL views or partial indexes, cannot be represented in the Prisma schema. If your project uses [Prisma Migrate](/concepts/components/prisma-migrate), you must [include unsupported features as part of a migration](/guides/migrate/developing-with-prisma-migrate/include-unsupported-database-features) . +Some features, like SQL views or partial indexes, cannot be represented in the Prisma schema. If your project uses [Prisma Migrate](/orm/prisma-migrate), you must [include unsupported features as part of a migration](/orm/prisma-migrate/workflows/unsupported-database-features) . diff --git a/content/200-orm/300-prisma-schema/50-introspection.mdx b/content/200-orm/300-prisma-schema/50-introspection.mdx index c53e53f513..80c5361b41 100644 --- a/content/200-orm/300-prisma-schema/50-introspection.mdx +++ b/content/200-orm/300-prisma-schema/50-introspection.mdx @@ -10,7 +10,7 @@ You can introspect your database using the Prisma CLI in order to generate the [ Introspection is often used to generate an _initial_ version of the data model when [adding Prisma to an existing project](/getting-started/setup-prisma/add-to-existing-project/relational-databases-typescript-postgresql). -However, it can also be [used _repeatedly_ in an application](#introspection-with-an-existing-schema). This is most commonly the case when you're _not_ using [Prisma Migrate](prisma-migrate) but perform schema migrations using plain SQL or another migration tool. In that case, you also need to re-introspect your database and subsequently re-generate Prisma Client to reflect the schema changes in your [Prisma Client API](/concepts/components/prisma-client). +However, it can also be [used _repeatedly_ in an application](#introspection-with-an-existing-schema). This is most commonly the case when you're _not_ using [Prisma Migrate](prisma-migrate) but perform schema migrations using plain SQL or another migration tool. In that case, you also need to re-introspect your database and subsequently re-generate Prisma Client to reflect the schema changes in your [Prisma Client API](/orm/prisma-client).
@@ -42,11 +42,11 @@ You can learn more about how Prisma maps types from the database to the types av ## The `prisma db pull` command -You can introspect your database using the `prisma db pull` command of the [Prisma CLI](/reference/api-reference/command-reference#installation). Note that using this command requires your [connection URL](/reference/database-reference/connection-urls) to be set in your [Prisma schema `datasource`](prisma-schema/data-sources). +You can introspect your database using the `prisma db pull` command of the [Prisma CLI](/reference/api-reference/command-reference#installation). Note that using this command requires your [connection URL](/orm/reference/connection-urls) to be set in your [Prisma schema `datasource`](prisma-schema/data-sources). Here's a high-level overview of the steps that `prisma db pull` performs internally: -1. Read the [connection URL](/reference/database-reference/connection-urls) from the `datasource` configuration in the Prisma schema +1. Read the [connection URL](/orm/reference/connection-urls) from the `datasource` configuration in the Prisma schema 1. Open a connection to the database 1. Introspect database schema (i.e. read tables, columns and other structures ...) 1. Transform database schema into Prisma data model @@ -192,11 +192,11 @@ Introspection adds attributes in the following order (this order is mirrored by ### Relations -Prisma translates foreign keys that are defined on your database tables into [relations](/concepts/components/prisma-schema/relations). +Prisma translates foreign keys that are defined on your database tables into [relations](/orm/prisma-schema/data-model/relations). #### One-to-one relations -Prisma adds a [one-to-one](/concepts/components/prisma-schema/relations/one-to-one-relations) relation to your data model when the foreign key on a table has a `UNIQUE` constraint, e.g.: +Prisma adds a [one-to-one](/orm/prisma-schema/data-model/relations/one-to-one-relations) relation to your data model when the foreign key on a table has a `UNIQUE` constraint, e.g.: ```sql CREATE TABLE "User" ( @@ -226,7 +226,7 @@ model Profile { #### One-to-many relations -By default, Prisma adds a [one-to-many](/concepts/components/prisma-schema/relations/one-to-many-relations) relation to your data model for a foreign key it finds in your database schema: +By default, Prisma adds a [one-to-many](/orm/prisma-schema/data-model/relations/one-to-many-relations) relation to your data model for a foreign key it finds in your database schema: ```sql CREATE TABLE "User" ( @@ -256,7 +256,7 @@ model Post { #### Many-to-many relations -[Many-to-many](/concepts/components/prisma-schema/relations/many-to-many-relations) relations are commonly represented as [relation tables](prisma-schema/relations/many-to-many-relations#relation-tables) in relational databases. +[Many-to-many](/orm/prisma-schema/data-model/relations/many-to-many-relations) relations are commonly represented as [relation tables](prisma-schema/relations/many-to-many-relations#relation-tables) in relational databases. Prisma supports two ways for defining many-to-many relations in the Prisma schema: @@ -361,7 +361,7 @@ If your goal is to exclude certain models from the [Prisma Client generation](pr ## Introspection warnings for unsupported features -The Prisma Schema Language (PSL) can express a majority of the database features of the [target databases](/reference/database-reference/supported-databases) Prisma supports. However, there are features and functionality the Prisma Schema Language still needs to express. +The Prisma Schema Language (PSL) can express a majority of the database features of the [target databases](/orm/reference/supported-databases) Prisma supports. However, there are features and functionality the Prisma Schema Language still needs to express. For these features, the Prisma CLI will surface detect usage of the feature in your database and return a warning. The Prisma CLI will also add a comment in the models and fields the features are in use in the Prisma schema. The warnings will also contain a workaround suggestion. diff --git a/content/200-orm/300-prisma-schema/80-postgresql-extensions.mdx b/content/200-orm/300-prisma-schema/80-postgresql-extensions.mdx index 3dd529de8a..60ecce7455 100644 --- a/content/200-orm/300-prisma-schema/80-postgresql-extensions.mdx +++ b/content/200-orm/300-prisma-schema/80-postgresql-extensions.mdx @@ -80,7 +80,7 @@ datasource db { ## How to introspect PostgreSQL extensions -To [introspect](/concepts/components/introspection) PostgreSQL extensions currently activated in your database and add relevant extensions to your Prisma schema, run `npx prisma db pull`. +To [introspect](/orm/prisma-schema/introspection) PostgreSQL extensions currently activated in your database and add relevant extensions to your Prisma schema, run `npx prisma db pull`. Many PostgreSQL extensions are not relevant to the Prisma schema. For example, some extensions are intended for database administration tasks that do not change the schema. If all these extensions were included, the list of extensions would be very long. To avoid this, Prisma maintains an allowlist of known relevant extensions. The current allowlist is the following: @@ -107,7 +107,7 @@ The `version` argument will not be added to the Prisma schema when you introspec ## How to migrate PostgreSQL extensions -You can update your list of PostgreSQL extensions in your Prisma schema and apply the changes to your database with [Prisma Migrate](/concepts/components/prisma-migrate). +You can update your list of PostgreSQL extensions in your Prisma schema and apply the changes to your database with [Prisma Migrate](/orm/prisma-migrate). This works in a similar way to migration of other elements of your Prisma schema, such as models or fields. However, there are the following differences: diff --git a/content/200-orm/400-tools/05-prisma-cli.mdx b/content/200-orm/400-tools/05-prisma-cli.mdx index 3ab712f00b..9f46a62e08 100644 --- a/content/200-orm/400-tools/05-prisma-cli.mdx +++ b/content/200-orm/400-tools/05-prisma-cli.mdx @@ -13,7 +13,7 @@ The Prisma command line interface (CLI) is the primary way to interact with your ## Command reference -See [Prisma CLI command reference](/reference/api-reference/command-reference) for a complete list of commands. +See [Prisma CLI command reference](/orm/reference/prisma-cli-reference) for a complete list of commands. ## Installation diff --git a/content/200-orm/500-reference/050-prisma-client-reference.mdx b/content/200-orm/500-reference/050-prisma-client-reference.mdx index 51361cd3c5..9203d0b68f 100644 --- a/content/200-orm/500-reference/050-prisma-client-reference.mdx +++ b/content/200-orm/500-reference/050-prisma-client-reference.mdx @@ -63,7 +63,7 @@ This section describes the `PrismaClient` constructor and its parameters. ### datasources -Programmatically overrides properties of the `datasource` block in the `schema.prisma` file - for example, as part of an integration test. See also: [Data sources](/concepts/components/prisma-schema/data-sources) +Programmatically overrides properties of the `datasource` block in the `schema.prisma` file - for example, as part of an integration test. See also: [Data sources](/orm/prisma-schema/overview/data-sources) From version 5.2.0 and upwards, you can also use the [`datasourceUrl`](#datasourceUrl) property to programmatically override the database connection string. @@ -71,7 +71,7 @@ From version 5.2.0 and upwards, you can also use the [`datasourceUrl`](#datasour | Example property | Example value | Description | | ---------------- | ----------------------------- | ----------------------------------------------------------------------------- | -| `db` | `{ url: 'file:./dev_qa.db' }` | The database [connection URL](/reference/database-reference/connection-urls). | +| `db` | `{ url: 'file:./dev_qa.db' }` | The database [connection URL](/orm/reference/connection-urls). | #### Remarks @@ -111,7 +111,7 @@ Programmatically overrides the [`datasource`](#datasources) block in the `schema | Option | Example value | Description | | -------------------------- | -------------------- | ----------------------------------------------------------------------------- | -| Database connection string | `'file:./dev_qa.db'` | The database [connection URL](/reference/database-reference/connection-urls). | +| Database connection string | `'file:./dev_qa.db'` | The database [connection URL](/orm/reference/connection-urls). | #### Examples @@ -125,7 +125,7 @@ const prisma = new PrismaClient({ ### log -Determines the type and level of logging. See also: [Logging](/concepts/components/prisma-client/working-with-prismaclient/logging) +Determines the type and level of logging. See also: [Logging](/orm/prisma-client/setup-and-configuration/logging) #### Options @@ -378,7 +378,7 @@ const prisma = new PrismaClient({ ### adapter -Defines an instance of a [driver adapter](/concepts/components/database-drivers#driver-adapters). See also [Database drivers](/concepts/components/database-drivers) . +Defines an instance of a [driver adapter](/concepts/components/database-drivers#driver-adapters). See also [Database drivers](/orm/overview/introduction/databases/database-drivers) . @@ -468,7 +468,7 @@ const prisma = new PrismaClient({ ## Model queries -Use model queries to perform CRUD operations on your models. See also: [CRUD](/concepts/components/prisma-client/crud) +Use model queries to perform CRUD operations on your models. See also: [CRUD](/orm/prisma-client/queries/crud) ### findUnique() @@ -490,8 +490,8 @@ Use model queries to perform CRUD operations on your models. See also: [CRUD](/c | Name | Example type (`User`) | Required | Description | | ------------------------------- | ------------------------ | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `where` | `UserWhereUniqueInput` | **Yes** | Wraps all _unique_ fields of a model so that individual records can be selected.

From version 4.5.0, this type wraps all fields of a model. [Learn more](#filter-on-non-unique-fields-with-userwhereuniqueinput) | -| `select` | `XOR` | No | [Specifies which properties to include](/concepts/components/prisma-client/select-fields) on the returned object. | -| `include` | `XOR` | No | [Specifies which relations should be eagerly loaded](/concepts/components/prisma-client/relation-queries) on the returned object. | +| `select` | `XOR` | No | [Specifies which properties to include](/orm/prisma-client/queries/select-fields) on the returned object. | +| `include` | `XOR` | No | [Specifies which relations should be eagerly loaded](/orm/prisma-client/queries/relation-queries) on the returned object. | | `rejectOnNotFound` (deprecated) | `RejectOnNotFound` | No | If true, throw a `NotFoundError: No User found error`. You can also [configure `rejectOnNotFound` globally](#rejectonnotfound).

**Note:** `rejectOnNotFound`is deprecated in v4.0.0. From v4.0.0, use [`findUniqueOrThrow`](#finduniqueorthrow) instead. | #### Return type @@ -612,8 +612,8 @@ We introduced `findUniqueOrThrow` in v4.0.0. It replaces the [`rejectOnNotFound` | Name | Example type (`User`) | Required | Description | | ------------------------------- | ------------------------------------------------------------ | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- | -| `select` | `XOR` | No | [Specifies which properties to include](/concepts/components/prisma-client/select-fields) on the returned object. | -| `include` | `XOR` | No | [Specifies which relations should be eagerly loaded](/concepts/components/prisma-client/relation-queries) on the returned object. | +| `select` | `XOR` | No | [Specifies which properties to include](/orm/prisma-client/queries/select-fields) on the returned object. | +| `include` | `XOR` | No | [Specifies which relations should be eagerly loaded](/orm/prisma-client/queries/relation-queries) on the returned object. | | `where` | `UserWhereInput` | No | Wraps _all_ model fields in a type so that the list can be filtered by any property. | | `orderBy` | `XOR`OrderByInput>,UserOrderByInput>` | No | Lets you order the returned list by any property. | | `cursor` | `UserWhereUniqueInput` | No | Specifies the position for the list (the value typically specifies an `id` or another unique value). | @@ -718,8 +718,8 @@ We introduced `findFirstOrThrow` in v4.0.0. It replaces the [`rejectOnNotFound`] | Name | Type | Required | Description | | ---------- | ------------------------------------------------------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `select` | `XOR` | No | [Specifies which properties to include](/concepts/components/prisma-client/select-fields) on the returned object. | -| `include` | `XOR` | No | [Specifies which relations should be eagerly loaded](/concepts/components/prisma-client/relation-queries) on the returned object. | +| `select` | `XOR` | No | [Specifies which properties to include](/orm/prisma-client/queries/select-fields) on the returned object. | +| `include` | `XOR` | No | [Specifies which relations should be eagerly loaded](/orm/prisma-client/queries/relation-queries) on the returned object. | | `where` | `UserWhereInput` | No | Wraps _all_ model fields in a type so that the list can be filtered by any property. | | `orderBy` | `XOR`ByInput>, PostOrderByInput>` | No | Lets you order the returned list by any property. | | `cursor` | `UserWhereUniqueInput` | No | Specifies the position for the list (the value typically specifies an `id` or another unique value). | @@ -756,8 +756,8 @@ const user = await prisma.user.findMany({ | Name | Type | Required | Description | | --------------------- | -------------------------------------------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `data` | `XOR`UserUncheckedCreateInput>` | **Yes** | Wraps all the model fields in a type so that they can be provided when creating new records. It also includes relation fields which lets you perform (transactional) nested inserts. Fields that are marked as optional or have default values in the datamodel are optional. | -| [`select`](#select) | `XOR` | No | [Specifies which properties to include](/concepts/components/prisma-client/select-fields) on the returned object. | -| [`include`](#include) | `XOR` | No | [Specifies which relations should be eagerly loaded](/concepts/components/prisma-client/relation-queries) on the returned object. | +| [`select`](#select) | `XOR` | No | [Specifies which properties to include](/orm/prisma-client/queries/select-fields) on the returned object. | +| [`include`](#include) | `XOR` | No | [Specifies which relations should be eagerly loaded](/orm/prisma-client/queries/relation-queries) on the returned object. | #### Return type @@ -861,8 +861,8 @@ prisma:query COMMIT | --------------------- | ------------------------------------------------------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `data` | `XOR`UserUncheckedUpdateInput>` | **Yes** | Wraps all the fields of the model so that they can be provided when updating an existing record. Fields that are marked as optional or have default values in the datamodel are optional. | | `where` | `UserWhereUniqueInput` | **Yes** | Wraps all _unique_ fields of a model so that individual records can be selected.

From version 4.5.0, this type wraps all fields of a model. [Learn more](#filter-on-non-unique-fields-with-userwhereuniqueinput) | -| [`select`](#select) | `XOR` | No | [Specifies which properties to include](/concepts/components/prisma-client/select-fields) on the returned object. | -| [`include`](#include) | `XOR` | No | [Specifies which relations should be eagerly loaded](/concepts/components/prisma-client/relation-queries) on the returned object. | +| [`select`](#select) | `XOR` | No | [Specifies which properties to include](/orm/prisma-client/queries/select-fields) on the returned object. | +| [`include`](#include) | `XOR` | No | [Specifies which relations should be eagerly loaded](/orm/prisma-client/queries/relation-queries) on the returned object. | #### Return type @@ -902,8 +902,8 @@ const user = await prisma.user.update({ | `create` | `XOR`UserUncheckedCreateInput>` | **Yes** | Wraps all the fields of the model so that they can be provided when creating new records. It also includes relation fields which lets you perform (transactional) nested inserts. Fields that are marked as optional or have default values in the datamodel are optional. | | `update` | `XOR`UserUncheckedUpdateInput>` | **Yes** | Wraps all the fields of the model so that they can be provided when updating an existing record. Fields that are marked as optional or have default values in the datamodel are optional. | | `where` | `UserWhereUniqueInput` | **Yes** | Wraps all _unique_ fields of a model so that individual records can be selected.

From version 4.5.0, this type wraps all fields of a model. [Learn more](#filter-on-non-unique-fields-with-userwhereuniqueinput) | -| [`select`](#select) | `XOR` | No | [Specifies which properties to include](/concepts/components/prisma-client/select-fields) on the returned object. | -| [`include`](#include) | `XOR` | No | [Specifies which relations should be eagerly loaded](/concepts/components/prisma-client/relation-queries) on the returned object. | +| [`select`](#select) | `XOR` | No | [Specifies which properties to include](/orm/prisma-client/queries/select-fields) on the returned object. | +| [`include`](#include) | `XOR` | No | [Specifies which relations should be eagerly loaded](/orm/prisma-client/queries/relation-queries) on the returned object. | #### Return type @@ -1106,8 +1106,8 @@ To delete records that match a certain criteria, use [`deleteMany`](#deletemany) | Name | Type | Required | Description | | --------------------- | ------------------------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `where` | `UserWhereUniqueInput` | **Yes** | Wraps all _unique_ fields of a model so that individual records can be selected.

From version 4.5.0, this type wraps all fields of a model. [Learn more](#filter-on-non-unique-fields-with-userwhereuniqueinput) | -| [`select`](#select) | `XOR` | No | [Specifies which properties to include](/concepts/components/prisma-client/select-fields) on the returned object. | -| [`include`](#include) | `XOR` | No | [Specifies which relations should be eagerly loaded](/concepts/components/prisma-client/relation-queries) on the returned object. | +| [`select`](#select) | `XOR` | No | [Specifies which properties to include](/orm/prisma-client/queries/select-fields) on the returned object. | +| [`include`](#include) | `XOR` | No | [Specifies which relations should be eagerly loaded](/orm/prisma-client/queries/relation-queries) on the returned object. | #### Return type @@ -1521,7 +1521,7 @@ const groupUsers = await prisma.user.groupBy({ ### select -`select` defines which fields are included in the object that Prisma Client returns. See: [Select fields and include relations](/concepts/components/prisma-client/select-fields) . +`select` defines which fields are included in the object that Prisma Client returns. See: [Select fields and include relations](/orm/prisma-client/queries/select-fields) . #### Remarks @@ -1728,7 +1728,7 @@ const result = await prisma.user.findMany({ #### Generated types for `select` -The following examples demonstrate how to use the [`validator`](/concepts/components/prisma-client/advanced-type-safety/prisma-validator) with `select`: +The following examples demonstrate how to use the [`validator`](/orm/prisma-client/type-safety/prisma-validator) with `select`: - `SelectAndInclude` - `UserSelect` @@ -1754,7 +1754,7 @@ const selectNameEmailNotPosts = Prisma.validator()({ ### include -`include` defines which relations are included in the result that Prisma Client returns. See: [Select fields and include relations](/concepts/components/prisma-client/select-fields) . +`include` defines which relations are included in the result that Prisma Client returns. See: [Select fields and include relations](/orm/prisma-client/queries/select-fields) . #### Remarks @@ -1792,7 +1792,7 @@ const user = await prisma.user.create({ #### Generated types for `include` -The following examples demonstrate how to use the [`validator`](/concepts/components/prisma-client/advanced-type-safety/prisma-validator) with `include`: +The following examples demonstrate how to use the [`validator`](/orm/prisma-client/type-safety/prisma-validator) with `include`: - `SelectAndInclude` - `UserInclude` @@ -1858,7 +1858,7 @@ const results = await prisma.user.findMany({ #### Generated types for `where` -The following examples demonstrate how to use the [`validator`](/concepts/components/prisma-client/advanced-type-safety/prisma-validator) with `where`: +The following examples demonstrate how to use the [`validator`](/orm/prisma-client/type-safety/prisma-validator) with `where`: - `UserWhereInput` @@ -1954,7 +1954,7 @@ const whereEmailIsUnique = Prisma.validator()({ ### orderBy -Sorts a list of records. See also: [Sorting](/concepts/components/prisma-client/filtering-and-sorting) +Sorts a list of records. See also: [Sorting](/orm/prisma-client/queries/filtering-and-sorting) #### Remarks @@ -2443,7 +2443,7 @@ const sort = await prisma.user.findMany({ #### Generated types for `orderBy` -The following examples demonstrate how to use the [`validator`](/concepts/components/prisma-client/advanced-type-safety/prisma-validator) with `orderBy`: +The following examples demonstrate how to use the [`validator`](/orm/prisma-client/type-safety/prisma-validator) with `orderBy`: - `UserOrderByInput` ```ts @@ -2569,7 +2569,7 @@ const distinctCitiesAndCountries = await prisma.user.findMany({ ### create -A nested `create` query adds a new related record or set of records to a parent record. See: [Working with relations](/concepts/components/prisma-client/relation-queries) . +A nested `create` query adds a new related record or set of records to a parent record. See: [Working with relations](/orm/prisma-client/queries/relation-queries) . #### Remarks @@ -2670,7 +2670,7 @@ const user = await prisma.user.update({ ### createMany -A nested `createMany` query adds a new set of records to a parent record. See: [Working with relations](/concepts/components/prisma-client/relation-queries) . +A nested `createMany` query adds a new set of records to a parent record. See: [Working with relations](/orm/prisma-client/queries/relation-queries) . #### Remarks @@ -2704,7 +2704,7 @@ const user = await prisma.user.update({ ### set -`set` overwrites the value of a relation - for example, replacing a list of `Post` records with a different list. See: [Working with relations](/concepts/components/prisma-client/relation-queries) +`set` overwrites the value of a relation - for example, replacing a list of `Post` records with a different list. See: [Working with relations](/orm/prisma-client/queries/relation-queries) #### Examples @@ -2725,7 +2725,7 @@ const user = await prisma.user.update({ -A nested `connect` query connects a record to an existing related record by specifying an ID or unique identifier. See: [Working with relations](/concepts/components/prisma-client/relation-queries) +A nested `connect` query connects a record to an existing related record by specifying an ID or unique identifier. See: [Working with relations](/orm/prisma-client/queries/relation-queries) #### Remarks @@ -2818,7 +2818,7 @@ const user = await prisma.user.update({ -`connectOrCreate` _either_ connects a record to an existing related record by ID or unique identifier _or_ creates a new related record if the record does not exist. See: [Working with relations](/concepts/components/prisma-client/relation-queries) +`connectOrCreate` _either_ connects a record to an existing related record by ID or unique identifier _or_ creates a new related record if the record does not exist. See: [Working with relations](/orm/prisma-client/queries/relation-queries) #### Remarks @@ -2986,7 +2986,7 @@ const user = await prisma.user.update({ -A nested `disconnect` query breaks the connection between a parent record and a related record, but does not delete either record. See: [Working with relations](/concepts/components/prisma-client/relation-queries) +A nested `disconnect` query breaks the connection between a parent record and a related record, but does not delete either record. See: [Working with relations](/orm/prisma-client/queries/relation-queries) #### Remarks @@ -3231,7 +3231,7 @@ const result = await prisma.user.update({ - From version 4.3.0, you can also use these operators to compare _fields_ in the same model [with the `.fields` property](#compare-columns-in-the-same-table). -- In versions before 4.3.0, you can compare fields in the same model [with raw queries](/guides/other/troubleshooting-orm/help-articles/comparing-columns-through-raw-queries). +- In versions before 4.3.0, you can compare fields in the same model [with raw queries](/orm/more/help-and-troubleshooting/help-articles/comparing-columns-through-raw-queries). @@ -3490,7 +3490,7 @@ const result = await prisma.post.count({ ### search -Use [Full-Text Search](/concepts/components/prisma-client/full-text-search) to search within a `String` field. +Use [Full-Text Search](/orm/prisma-client/queries/full-text-search) to search within a `String` field. Full-Text Search is currently in **Preview** and only available for **PostgreSQL** and **MySQL**. To use `search`, you'll need to enable the `fullTextSearch` preview feature. @@ -4215,7 +4215,7 @@ Available for MongoDB only in Prisma `3.10.0` and later.
-Composite type methods allow you to create, update and delete [composite types](/concepts/components/prisma-client/composite-types). +Composite type methods allow you to create, update and delete [composite types](/orm/prisma-client/special-fields-and-types/composite-types). ### set @@ -4384,7 +4384,7 @@ Available for MongoDB only in Prisma `3.11.0` and later. -Composite type filters allow you to filter the contents of [composite types](/concepts/components/prisma-client/composite-types). +Composite type filters allow you to filter the contents of [composite types](/orm/prisma-client/special-fields-and-types/composite-types). ### equals @@ -4631,11 +4631,11 @@ const updatePosts = await prisma.post.updateMany({ ## Json filters -For use cases and advanced examples, see: [Working with `Json` fields](/concepts/components/prisma-client/working-with-fields/working-with-json-fields). +For use cases and advanced examples, see: [Working with `Json` fields](/orm/prisma-client/special-fields-and-types/working-with-json-fields). -Supported by [PostgreSQL](/concepts/database-connectors/postgresql) and [MySQL](/concepts/database-connectors/mysql) with different syntaxes for the `path` option. PostgreSQL does not support filtering on object key values in arrays. +Supported by [PostgreSQL](/orm/overview/introduction/databases/postgresql) and [MySQL](/orm/overview/introduction/databases/mysql) with different syntaxes for the `path` option. PostgreSQL does not support filtering on object key values in arrays. @@ -4663,7 +4663,7 @@ The examples in this section assumes that the value of the `pet` field is: ### Remarks -- The implementation of `Json` filtering [differs between database connectors](/concepts/components/prisma-client/working-with-fields/working-with-json-fields) +- The implementation of `Json` filtering [differs between database connectors](/orm/prisma-client/special-fields-and-types/working-with-json-fields) - Filtering is case sensitive in PostgreSQL and does not yet support `mode` ### path @@ -5029,15 +5029,15 @@ const getUsers = await prisma.user.findMany({ -In [extended clients](/concepts/components/prisma-client/client-extensions), Client methods do not necessarily exist. If you are extending your client, make sure to check for existence before using Client methods like `$transaction` or `$connect`. +In [extended clients](/orm/prisma-client/client-extensions), Client methods do not necessarily exist. If you are extending your client, make sure to check for existence before using Client methods like `$transaction` or `$connect`. -In addition, if you are using `$on` or `$use`, you will need to use these client methods before extending your client as these methods do not exist on extended clients. For `$use` specifically we recommend transitioning [to use query extensions](/concepts/components/prisma-client/client-extensions/query). +In addition, if you are using `$on` or `$use`, you will need to use these client methods before extending your client as these methods do not exist on extended clients. For `$use` specifically we recommend transitioning [to use query extensions](/orm/prisma-client/client-extensions/query). ### $disconnect() -The `$disconnect()` method closes the database connections that were established when `$connect` was called and stops the process that was running Prisma's query engine. See [Connection management](/concepts/components/prisma-client/working-with-prismaclient/connection-management) for an overview of `$connect()` and `$disconnect()`. +The `$disconnect()` method closes the database connections that were established when `$connect` was called and stops the process that was running Prisma's query engine. See [Connection management](/orm/prisma-client/setup-and-configuration/databases-connections/connection-management) for an overview of `$connect()` and `$disconnect()`. #### Remarks @@ -5045,7 +5045,7 @@ The `$disconnect()` method closes the database connections that were established ### $connect() -The `$connect()` method establishes a physical connection to the database via Prisma's query engine. See [Connection management](/concepts/components/prisma-client/working-with-prismaclient/connection-management) for an overview of `$connect()` and `$disconnect()`. +The `$connect()` method establishes a physical connection to the database via Prisma's query engine. See [Connection management](/orm/prisma-client/setup-and-configuration/databases-connections/connection-management) for an overview of `$connect()` and `$disconnect()`. #### Remarks @@ -5055,7 +5055,7 @@ The `$connect()` method establishes a physical connection to the database via Pr -`$on` is not available in [extended clients](/concepts/components/prisma-client/client-extensions). Please either migrate to client extensions or use the `$on` method prior to extending your client. +`$on` is not available in [extended clients](/orm/prisma-client/client-extensions). Please either migrate to client extensions or use the `$on` method prior to extending your client. @@ -5065,11 +5065,11 @@ The `$on()` method allows you to subscribe to [logging events](#log) or the [exi -`$use` is not available in [extended clients](/concepts/components/prisma-client/client-extensions). Please [either migrate to query extensions](/concepts/components/prisma-client/client-extensions/query) or use the `$use` method prior to extending your client. +`$use` is not available in [extended clients](/orm/prisma-client/client-extensions). Please [either migrate to query extensions](/orm/prisma-client/client-extensions/query) or use the `$use` method prior to extending your client. -The `$use()` method adds [middleware](/concepts/components/prisma-client/middleware) : +The `$use()` method adds [middleware](/orm/prisma-client/client-extensions/middleware) : ```ts prisma.$use(async (params, next) => { @@ -5132,11 +5132,11 @@ See: [Raw database access (`$runCommandRaw()`)](/concepts/components/prisma-clie ### $transaction() -See: [Transactions](/concepts/components/prisma-client/transactions). +See: [Transactions](/orm/prisma-client/queries/transactions). ### $metrics -Prisma metrics give you a detailed insight into how Prisma Client interacts with your database. You can use this insight to help diagnose performance issues with your application. Learn more: [Metrics](/concepts/components/prisma-client/metrics). +Prisma metrics give you a detailed insight into how Prisma Client interacts with your database. You can use this insight to help diagnose performance issues with your application. Learn more: [Metrics](/orm/prisma-client/observability-and-logging/metrics). Prisma metrics has the following methods: @@ -5152,7 +5152,7 @@ With `$extends`, you can create and use Prisma Client extensions to add function - `query`: create custom Prisma Client queries - `result`: add custom fields to your query results -Learn more: [Prisma Client extensions](/concepts/components/prisma-client/client-extensions). +Learn more: [Prisma Client extensions](/orm/prisma-client/client-extensions). ## Utility types @@ -5160,7 +5160,7 @@ Utility types are helper functions and types that live on the Prisma namespace. ### Prisma.validator -The `validator` helps you create re-usable query parameters based on your schema models while making sure that the objects you create are valid. See also: [Using `Prisma.validator`](/concepts/components/prisma-client/advanced-type-safety/prisma-validator) +The `validator` helps you create re-usable query parameters based on your schema models while making sure that the objects you create are valid. See also: [Using `Prisma.validator`](/orm/prisma-client/type-safety/prisma-validator) There are two ways you can use the `validator`: @@ -5176,7 +5176,7 @@ Prisma.validator({ args }) When using the selector pattern, you use an existing Prisma Client instance to create a validator. This pattern allows you to select the model, operation, and query option to validate against. -You can also use an instance of Prisma Client that has been extended using a [Prisma Client extension](/concepts/components/prisma-client/client-extensions). +You can also use an instance of Prisma Client that has been extended using a [Prisma Client extension](/orm/prisma-client/client-extensions). ```ts Prisma.validator( @@ -5239,12 +5239,12 @@ This feature was moved to general availability in version 5.0.0 and was availabl -In the following situations, you must [use raw queries to compare columns in the same table](/guides/other/troubleshooting-orm/help-articles/comparing-columns-through-raw-queries): +In the following situations, you must [use raw queries to compare columns in the same table](/orm/more/help-and-troubleshooting/help-articles/comparing-columns-through-raw-queries): - If you use a version earlier than 4.3.0 - If you want to use a unique filter, such as [`findUnique`](#findunique) or [`findUniqueOrThrow`](#finduniqueorthrow) - If you want to compare a field with a [unique constraint](/concepts/components/prisma-schema/data-model#defining-a-unique-field) -- If you want to use one of the following operators to compare a [JSON field](/concepts/components/prisma-client/working-with-fields/working-with-json-fields) in MySQL or MariaDB with another field: [`gt`](#gt), [`gte`](#gte), [`lt`](#lt), or [`lte`](#lte). Note that you can use these operators to compare the JSON field with a scalar value. This limitation applies only if you try to compare a JSON field with another field. +- If you want to use one of the following operators to compare a [JSON field](/orm/prisma-client/special-fields-and-types/working-with-json-fields) in MySQL or MariaDB with another field: [`gt`](#gt), [`gte`](#gte), [`lt`](#lt), or [`lte`](#lte). Note that you can use these operators to compare the JSON field with a scalar value. This limitation applies only if you try to compare a JSON field with another field. @@ -5439,7 +5439,7 @@ await prisma.user.update({ #### One-to-one relations -From version 4.5.0, you can filter on non-unique fields in the following operations on [one-to-one relations](/concepts/components/prisma-schema/relations/one-to-one-relations): +From version 4.5.0, you can filter on non-unique fields in the following operations on [one-to-one relations](/orm/prisma-schema/data-model/relations/one-to-one-relations): - Nested update - Nested upsert diff --git a/content/200-orm/500-reference/100-prisma-schema-reference.mdx b/content/200-orm/500-reference/100-prisma-schema-reference.mdx index 84a5e9d79c..3aedaf3ad0 100644 --- a/content/200-orm/500-reference/100-prisma-schema-reference.mdx +++ b/content/200-orm/500-reference/100-prisma-schema-reference.mdx @@ -8,7 +8,7 @@ toc: true ## datasource -Defines a [data source](/concepts/components/prisma-schema/data-sources) in the Prisma schema. +Defines a [data source](/orm/prisma-schema/overview/data-sources) in the Prisma schema. ### Fields @@ -20,17 +20,17 @@ A `datasource` block accepts the following fields: | `url` | **Yes** | String (URL) | Connection URL including authentication info. Most connectors use [the syntax provided by the database](/reference/database-reference/connection-urls#format). | | `shadowDatabaseUrl` | No | String (URL) | Connection URL to the shadow database used by Prisma Migrate. Allows you to use a cloud-hosted database as the shadow database. | | `directUrl` | No | String (URL) | Connection URL for [direct connection to the database](/data-platform/classic-projects/data-proxy/prisma-cli-with-data-proxy#set-a-direct-database-connection-url-in-your-prisma-schema).

If you use a connection pooler URL in the `url` argument (for example, if you use the Data Proxy or pgBouncer), Prisma CLI commands [that require a direct connection to the database](/data-platform/classic-projects/data-proxy/prisma-cli-with-data-proxy#prisma-cli-commands-that-require-a-direct-database-connection) use the URL in the `directUrl` argument.

The `directUrl` property is supported by Prisma Studio from version 5.1.0 upwards. | -| `relationMode` | No | String (`foreignKeys`, `prisma`) | Sets whether [referential integrity](/concepts/components/prisma-schema/relations/relation-mode) is enforced by foreign keys in the database or emulated in the Prisma Client.

In preview in versions 3.1.1 and later. The field is named `relationMode` in versions 4.5.0 and later, and was previously named `referentialIntegrity`. | +| `relationMode` | No | String (`foreignKeys`, `prisma`) | Sets whether [referential integrity](/orm/prisma-schema/data-model/relations/relation-mode) is enforced by foreign keys in the database or emulated in the Prisma Client.

In preview in versions 3.1.1 and later. The field is named `relationMode` in versions 4.5.0 and later, and was previously named `referentialIntegrity`. | | `extensions` | No | List of strings (PostgreSQL extension names) | Allows you to [represent PostgreSQL extensions in your schema](/concepts/components/prisma-schema/postgresql-extensions#how-to-represent-postgresql-extensions-in-your-prisma-schema). Available in preview for PostgreSQL only in Prisma versions 4.5.0 and later. | The following providers are available: -- [`sqlite`](/concepts/database-connectors/sqlite) -- [`postgresql`](/concepts/database-connectors/postgresql) -- [`mysql`](/concepts/database-connectors/mysql) -- [`sqlserver`](/concepts/database-connectors/sql-server) -- [`mongodb`](/concepts/database-connectors/mongodb) -- [`cockroachdb`](/concepts/database-connectors/cockroachdb) +- [`sqlite`](/orm/overview/introduction/databases/sqlite) +- [`postgresql`](/orm/overview/introduction/databases/postgresql) +- [`mysql`](/orm/overview/introduction/databases/mysql) +- [`sqlserver`](/orm/overview/introduction/databases/sql-server) +- [`mongodb`](/orm/) +- [`cockroachdb`](/orm/overview/introduction/databases/cockroachdb) ### Remarks @@ -57,7 +57,7 @@ datasource db { } ``` -Learn more about PostgreSQL connection strings [here](/concepts/database-connectors/postgresql). +Learn more about PostgreSQL connection strings [here](/orm/overview/introduction/databases/postgresql). #### Specify a PostgreSQL data source via an environment variable @@ -102,7 +102,7 @@ datasource db { } ``` -Learn more about MySQL connection strings [here](/concepts/database-connectors/mysql). +Learn more about MySQL connection strings [here](/orm/overview/introduction/databases/mysql). #### Specify a MongoDB data source @@ -119,7 +119,7 @@ datasource db { } ``` -Learn more about MongoDB connection strings [here](/concepts/database-connectors/mongodb). +Learn more about MongoDB connection strings [here](/orm/). #### Specify a SQLite data source @@ -132,7 +132,7 @@ datasource db { } ``` -Learn more about SQLite connection strings [here](/concepts/database-connectors/sqlite). +Learn more about SQLite connection strings [here](/orm/overview/introduction/databases/sqlite). #### Specify a CockroachDB data source @@ -152,13 +152,13 @@ datasource db { } ``` -The format for connection strings is the same as for PostgreSQL. Learn more about PostgreSQL connection strings [here](/concepts/database-connectors/postgresql). +The format for connection strings is the same as for PostgreSQL. Learn more about PostgreSQL connection strings [here](/orm/overview/introduction/databases/postgresql). ## generator -Defines a [generator](/concepts/components/prisma-schema/generators) in the Prisma schema. +Defines a [generator](/orm/prisma-schema/overview/generators) in the Prisma schema. ### Fields @@ -166,11 +166,11 @@ A `generator` block accepts the following fields: | Name | Required | Type | Description | | ----------------- | -------- | ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- | -| `provider` | **Yes** | String (file path) or Enum (`prisma-client-js`) | Describes which [generator](/concepts/components/prisma-schema/generators) to use. This can point to a file that implements a generator or specify a built-in generator directly. | +| `provider` | **Yes** | String (file path) or Enum (`prisma-client-js`) | Describes which [generator](/orm/prisma-schema/overview/generators) to use. This can point to a file that implements a generator or specify a built-in generator directly. | | `output` | No | String (file path) | Determines the location for the generated client, [learn more](/concepts/components/prisma-client/working-with-prismaclient/generating-prisma-client#using-a-custom-output-path). **Default**: `node_modules/.prisma/client` | | `previewFeatures` | No | List of Enums | Use intellisense to see list of currently available Preview features (`Ctrl+Space` in Visual Studio Code) **Default**: none | | -| `engineType` | No | Enum (`library` or `binary`) | Defines the [query engine](/concepts/components/prisma-engines/query-engine) type to download and use. **Default**: `library` | -| `binaryTargets` | No | List of Enums (see below) | Specify the OS on which the Prisma Client will run to ensure compatibility of the [query engine](/concepts/components/prisma-engines/query-engine). **Default**: `native` | +| `engineType` | No | Enum (`library` or `binary`) | Defines the [query engine](/orm/more/under-the-hood/engines) type to download and use. **Default**: `library` | +| `binaryTargets` | No | List of Enums (see below) | Specify the OS on which the Prisma Client will run to ensure compatibility of the [query engine](/orm/more/under-the-hood/engines). **Default**: `native` | #### binaryTargets options @@ -392,13 +392,13 @@ model User { - Typically spelled in camelCase - Must adhere to the following regular expression: `[A-Za-z][A-Za-z0-9_]*` -> **Note**: You can use the [`@map` attribute](#map) to [map a field name to a column](/concepts/components/prisma-client/working-with-prismaclient/use-custom-model-and-field-names) with a different name that does not match field naming conventions: e.g. `myField @map("my_field")`. +> **Note**: You can use the [`@map` attribute](#map) to [map a field name to a column](/orm/prisma-client/setup-and-configuration/custom-model-and-field-names) with a different name that does not match field naming conventions: e.g. `myField @map("my_field")`. ## model field scalar types The _data source connector_ determines what _native database type_ each of Prisma scalar type maps to. Similarly, the _generator_ determines what _type in the target programming language_ each of these types map to. -Prisma models also have [model field types](/concepts/components/prisma-schema/relations) that define relations between models. +Prisma models also have [model field types](/orm/prisma-schema/data-model/relations) that define relations between models. ### String @@ -1010,7 +1010,7 @@ Not supported **Not supported by MongoDB**
-The [MongoDB connector](/concepts/database-connectors/mongodb) does not support the `Unsupported` type. +The [MongoDB connector](/orm/) does not support the `Unsupported` type.
@@ -1463,7 +1463,7 @@ const profileWithUser = await prisma.profile.create({ **Not supported by MongoDB**
-The [MongoDB connector](/concepts/database-connectors/mongodb) does not support composite IDs. +The [MongoDB connector](/orm/) does not support composite IDs.
@@ -1683,9 +1683,9 @@ Defines a [default value for a field](/concepts/components/prisma-schema/data-mo - [`uuid()`](#uuid) - [`now()`](#now) -- Default values that cannot yet be represented in the Prisma schema are represented by the `dbgenerated()` function when you use [introspection](/concepts/components/introspection). +- Default values that cannot yet be represented in the Prisma schema are represented by the `dbgenerated()` function when you use [introspection](/orm/prisma-schema/introspection). - Default values are not allowed on relation fields in the Prisma schema. Note however that you can still define default values on the fields backing a relation (the ones listed in the `fields` argument in the `@relation` attribute). A default value on the field backing a relation will mean that relation is populated automatically for you. -- Default values can be used with [scalar lists](/concepts/components/prisma-client/working-with-fields/working-with-scalar-lists-arrays) in databases that natively support them. +- Default values can be used with [scalar lists](/orm/prisma-client/special-fields-and-types/working-with-scalar-lists-arrays) in databases that natively support them. ##### MongoDB @@ -1697,7 +1697,7 @@ Defines a [default value for a field](/concepts/components/prisma-schema/data-mo - [`now()`](#now) - Default values are currently not allowed on relation fields in the Prisma schema. -- Default values can be used with [scalar lists](/concepts/components/prisma-client/working-with-fields/working-with-scalar-lists-arrays) in databases that natively support them. +- Default values can be used with [scalar lists](/orm/prisma-client/special-fields-and-types/working-with-scalar-lists-arrays) in databases that natively support them. #### Arguments @@ -2627,8 +2627,8 @@ Defines meta information about the relation. [Learn more](/concepts/components/p | `fields` | `FieldReference[]` | On [annotated](/concepts/components/prisma-schema/relations#relation-fields) relation fields | A list of [fields](/concepts/components/prisma-schema/data-model#defining-fields) of the _current_ model | `["authorId"]`, `["authorFirstName, authorLastName"]` | | `references` | `FieldReference[]` | On [annotated](/concepts/components/prisma-schema/relations#relation-fields) relation fields | A list of [fields](/concepts/components/prisma-schema/data-model#defining-fields) of the model on _the other side of the relation_ | `["id"]`, `["firstName, lastName"]` | | `map` | `String` | No | Defines a [custom name](/concepts/components/prisma-schema/names-in-underlying-database#constraint-and-index-names) for the foreign key in the database. | `["id"]`, `["firstName, lastName"]` | -| `onUpdate` | Enum. See [Types of referential actions](/concepts/components/prisma-schema/relations/referential-actions#types-of-referential-actions) for values. | No | Defines the [referential action](/concepts/components/prisma-schema/relations/referential-actions) to perform when a referenced entry in the referenced model is being updated. | `Cascade`, `NoAction` | -| `onDelete` | Enum. See [Types of referential actions](/concepts/components/prisma-schema/relations/referential-actions#types-of-referential-actions) for values. | No | Defines the [referential action](/concepts/components/prisma-schema/relations/referential-actions) to perform when a referenced entry in the referenced model is being deleted. | `Cascade`, `NoAction` | +| `onUpdate` | Enum. See [Types of referential actions](/concepts/components/prisma-schema/relations/referential-actions#types-of-referential-actions) for values. | No | Defines the [referential action](/orm/prisma-schema/data-model/relations/referential-actions) to perform when a referenced entry in the referenced model is being updated. | `Cascade`, `NoAction` | +| `onDelete` | Enum. See [Types of referential actions](/concepts/components/prisma-schema/relations/referential-actions#types-of-referential-actions) for values. | No | Defines the [referential action](/orm/prisma-schema/data-model/relations/referential-actions) to perform when a referenced entry in the referenced model is being deleted. | `Cascade`, `NoAction` | The name of the `name` argument on the `@relation` attribute can be omitted (`references` is required): @@ -2670,7 +2670,7 @@ See: [The `@relation` attribute](/concepts/components/prisma-schema/relations#th Maps a field name or enum value from the Prisma schema to a column or document field with a different name in the database. If you do not use `@map`, the Prisma field name matches the column name or document field name exactly. -> See [Using custom model and field names](/concepts/components/prisma-client/working-with-prismaclient/use-custom-model-and-field-names) to see how `@map` and `@@map` changes the generated Prisma Client. +> See [Using custom model and field names](/orm/prisma-client/setup-and-configuration/custom-model-and-field-names) to see how `@map` and `@@map` changes the generated Prisma Client. #### Remarks @@ -2758,7 +2758,7 @@ enum Role { Maps the Prisma schema model name to a table (relational databases) or collection (MongoDB) with a different name, or an enum name to a different underlying enum in the database. If you do not use `@@map`, the model name matches the table (relational databases) or collection (MongoDB) name exactly. -> See [Using custom model and field names](/concepts/components/prisma-client/working-with-prismaclient/use-custom-model-and-field-names) to see how `@map` and `@@map` changes the generated Prisma Client. +> See [Using custom model and field names](/orm/prisma-client/setup-and-configuration/custom-model-and-field-names) to see how `@map` and `@@map` changes the generated Prisma Client. #### Arguments @@ -3051,7 +3051,7 @@ model User { **Not supported by MongoDB**
-The [MongoDB connector](/concepts/database-connectors/mongodb) does not support the `autoincrement()` function. +The [MongoDB connector](/orm/) does not support the `autoincrement()` function.
@@ -3093,7 +3093,7 @@ model User { **Only supported by CockroachDB**
-The sequence function is only supported by [CockroachDB connector](/concepts/database-connectors/cockroachdb). +The sequence function is only supported by [CockroachDB connector](/orm/overview/introduction/databases/cockroachdb).
@@ -3136,7 +3136,7 @@ Generate a globally unique identifier based on the [`cuid`](https://github.com/e #### Remarks - Compatible with `String` -- Implemented by Prisma and therefore not "visible" in the underlying database schema. You can still use `cuid()` when using [introspection](/concepts/components/introspection) by [manually changing your Prisma schema](/concepts/components/prisma-client/working-with-prismaclient/use-custom-model-and-field-names) and [generating Prisma Client](/concepts/components/prisma-client/working-with-prismaclient/generating-prisma-client), in that case the values will be generated by Prisma's [query engine](/concepts/components/prisma-engines/query-engine). +- Implemented by Prisma and therefore not "visible" in the underlying database schema. You can still use `cuid()` when using [introspection](/orm/prisma-schema/introspection) by [manually changing your Prisma schema](/orm/prisma-client/setup-and-configuration/custom-model-and-field-names) and [generating Prisma Client](/orm/prisma-client/setup-and-configuration/generating-prisma-client), in that case the values will be generated by Prisma's [query engine](/orm/more/under-the-hood/engines). - Since the length of `cuid()` output is undefined per the cuid creator, a safe field size is 30 characters, in order to allow for enough characters for very large values. If you set the field size as less than 30, and then a larger value is generated by `cuid()`, you might see Prisma errors such as `Error: The provided value for the column is too long for the column's type.` ##### MongoDB @@ -3177,7 +3177,7 @@ Generate a globally unique identifier based on the [UUID](https://en.wikipedia.o #### Remarks - Compatible with `String` -- Implemented by Prisma and therefore not "visible" in the underlying database schema. You can still use `uuid()` when using [introspection](/concepts/components/introspection) by [manually changing your Prisma schema](/concepts/components/prisma-client/working-with-prismaclient/use-custom-model-and-field-names) and [generating Prisma Client](/concepts/components/prisma-client/working-with-prismaclient/generating-prisma-client), in that case the values will be generated by Prisma's [query engine](/concepts/components/prisma-engines/query-engine). +- Implemented by Prisma and therefore not "visible" in the underlying database schema. You can still use `uuid()` when using [introspection](/orm/prisma-schema/introspection) by [manually changing your Prisma schema](/orm/prisma-client/setup-and-configuration/custom-model-and-field-names) and [generating Prisma Client](/orm/prisma-client/setup-and-configuration/generating-prisma-client), in that case the values will be generated by Prisma's [query engine](/orm/more/under-the-hood/engines). @@ -3323,7 +3323,7 @@ model User { -**Note**: [`gen_random_uuid()` is a PostgreSQL function](https://www.postgresql.org/docs/13/functions-uuid.html). To use it in PostgreSQL versions 12.13 and earlier, you must enable the `pgcrypto` extension.

In Prisma versions 4.5.0 and later, you can declare the `pgcrypto` extension in your Prisma schema with the [`postgresqlExtensions` preview feature](/concepts/components/prisma-schema/postgresql-extensions). +**Note**: [`gen_random_uuid()` is a PostgreSQL function](https://www.postgresql.org/docs/13/functions-uuid.html). To use it in PostgreSQL versions 12.13 and earlier, you must enable the `pgcrypto` extension.

In Prisma versions 4.5.0 and later, you can declare the `pgcrypto` extension in your Prisma schema with the [`postgresqlExtensions` preview feature](/orm/prisma-schema/postgresql-extensions).
@@ -3346,7 +3346,7 @@ An expression that can be evaluated by Prisma: `42.0`, `""`, `Bob`, `now()`, `cu **Not supported by SQLite and Microsoft SQL Server**
-The [SQLite connector](/concepts/database-connectors/sqlite) and the The [Microsoft SQL Server connector](/concepts/database-connectors/sql-server) do not support the `enum` type. +The [SQLite connector](/orm/overview/introduction/databases/sqlite) and the The [Microsoft SQL Server connector](/orm/overview/introduction/databases/sql-server) do not support the `enum` type.
diff --git a/content/200-orm/500-reference/200-prisma-cli-reference.mdx b/content/200-orm/500-reference/200-prisma-cli-reference.mdx index 07595be13d..106ab74125 100644 --- a/content/200-orm/500-reference/200-prisma-cli-reference.mdx +++ b/content/200-orm/500-reference/200-prisma-cli-reference.mdx @@ -132,7 +132,7 @@ The `init` command does not interpret any existing files. Instead, it creates a | `--datasource-provider` | No | Specifies the value for the `provider` field in the `datasource` block. Options are `sqlite`, `postgresql`, `mysql`, `sqlserver`, `mongodb` and `cockroachdb`. | `postgresql` | | `--url` | No | Define a custom datasource url. | | | `--generator-provider` | No | Define the generator provider to use. | `prisma-client-js` | -| `--preview-feature` | No | Define the [Preview features](/concepts/components/preview-features) to use. To define multiple Preview features, you have to provide the flag multiple times for each Preview feature. [See example](#run-prisma-init---preview-feature) | | +| `--preview-feature` | No | Define the [Preview features](/orm/reference/preview-features) to use. To define multiple Preview features, you have to provide the flag multiple times for each Preview feature. [See example](#run-prisma-init---preview-feature) | | | `--output` | No | Specifies the [output location for the generated client](/concepts/components/prisma-client/working-with-prismaclient/generating-prisma-client#using-a-custom-output-path). | `node_modules/.prisma/client` | #### Examples @@ -313,7 +313,7 @@ DATABASE_URL="mysql://user:password@localhost:3306/mydb" ### generate -The `generate` command generates assets like Prisma Client based on the [`generator`](/concepts/components/prisma-schema/generators) and [`data model`](/concepts/components/prisma-schema/data-model) blocks defined in your `prisma/schema.prisma` file. +The `generate` command generates assets like Prisma Client based on the [`generator`](/orm/prisma-schema/overview/generators) and [`data model`](/orm/prisma-schema/data-model/models) blocks defined in your `prisma/schema.prisma` file. The `generate` command is most often used to generate Prisma Client with the `prisma-client-js` generator. This does three things: @@ -335,9 +335,9 @@ generator client { | Option | Required | Description | Default | | -------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | -| `--data-proxy` | No | The `generate` command will generate Prisma Client for use with the [Data Proxy](/data-platform/classic-projects/data-proxy). Mutually exclusive with `--accelerate` and `--no-engine`. | -| `--accelerate` | No | The `generate` command will generate Prisma Client for use with [Accelerate](/data-platform/accelerate). Mutually exclusive with `--data-proxy` and `--no-engine`. Available in Prisma 5.1.0 and later. | -| `--no-engine` | No | The `generate` command will generate Prisma Client without an accompanied engine for use with [Data Proxy](/data-platform/classic-projects/data-proxy) or [Accelerate](/data-platform/accelerate). Mutually exclusive with `--data-proxy` and `--accelerate`. Available in Prisma 5.2.0 and later. | +| `--data-proxy` | No | The `generate` command will generate Prisma Client for use with the [Data Proxy](/platform/classic-projects/data-proxy). Mutually exclusive with `--accelerate` and `--no-engine`. | +| `--accelerate` | No | The `generate` command will generate Prisma Client for use with [Accelerate](/accelerate). Mutually exclusive with `--data-proxy` and `--no-engine`. Available in Prisma 5.1.0 and later. | +| `--no-engine` | No | The `generate` command will generate Prisma Client without an accompanied engine for use with [Data Proxy](/platform/classic-projects/data-proxy) or [Accelerate](/accelerate). Mutually exclusive with `--data-proxy` and `--accelerate`. Available in Prisma 5.2.0 and later. | | `--watch` | No | The `generate` command will continue to watch the `schema.prisma` file and re-generate Prisma Client on file changes. | @@ -445,7 +445,7 @@ From Prisma 3.0.0 onwards, the `prisma introspect` command is deprecated and rep ### validate -Validates the [Prisma Schema Language](/concepts/components/prisma-schema) of the Prisma schema file. +Validates the [Prisma Schema Language](/orm/prisma-schema) of the Prisma schema file. #### Arguments @@ -712,13 +712,13 @@ The `db pull` command connects to your database and adds Prisma models to your P -Introspection with the `db pull` command on the [MongoDB connector](/concepts/database-connectors/mongodb) samples the data instead of reading a schema. +Introspection with the `db pull` command on the [MongoDB connector](/orm/) samples the data instead of reading a schema. #### Prerequisites -Before using the `db pull` command, you must define a valid [`datasource`](/concepts/components/prisma-schema/data-sources) within your `schema.prisma` file. +Before using the `db pull` command, you must define a valid [`datasource`](/orm/prisma-schema/overview/data-sources) within your `schema.prisma` file. For example, the following `datasource` defines a SQLite database file within the current directory: @@ -856,12 +856,12 @@ This command is a good choice when you do not need to version schema changes, su See also: -- [Conceptual overview of `db push` and when to use it over Prisma Migrate](/concepts/components/prisma-migrate/db-push) -- [Schema prototyping with `db push`](/guides/migrate/prototyping-schema-db-push) +- [Conceptual overview of `db push` and when to use it over Prisma Migrate](/orm/prisma-migrate/workflows/prototyping-your-schema) +- [Schema prototyping with `db push`](/orm/prisma-migrate/workflows/prototyping-your-schema) #### Prerequisites -Before using the `db push` command, you must define a valid [datasource](/concepts/components/prisma-schema/data-sources) within your `schema.prisma` file. +Before using the `db push` command, you must define a valid [datasource](/orm/prisma-schema/overview/data-sources) within your `schema.prisma` file. For example, the following `datasource` defines a SQLite database file within the current directory: @@ -911,7 +911,7 @@ prisma db push --schema=/tmp/schema.prisma `db seed` changed from Preview to Generally Available (GA) in 3.0.1. -See [Seeding your database](/guides/migrate/seed-database) +See [Seeding your database](/orm/prisma-migrate/workflows/seeding) #### Options @@ -938,7 +938,7 @@ The `db execute` command is Generally Available in versions 3.13.0 and later. If -This command is currently not supported on [MongoDB](/concepts/database-connectors/mongodb). +This command is currently not supported on [MongoDB](/orm/). @@ -955,7 +955,7 @@ See also: #### Prerequisites -Before using the `db execute` command, if you do not use the `--url` option you must define a valid [`datasource`](/concepts/components/prisma-schema/data-sources) within your `schema.prisma` file. +Before using the `db execute` command, if you do not use the `--url` option you must define a valid [`datasource`](/orm/prisma-schema/overview/data-sources) within your `schema.prisma` file. For example, the following `datasource` defines a SQLite database file within the current directory: @@ -1009,7 +1009,7 @@ Prisma Migrate changed from Preview to Generally Available (GA) in 2.19.0. **Does not apply for MongoDB**
-Instead of `migrate dev` and related commands, [`db push`](/concepts/components/prisma-migrate/db-push) is used for [MongoDB](/concepts/database-connectors/mongodb). +Instead of `migrate dev` and related commands, [`db push`](/orm/prisma-migrate/workflows/prototyping-your-schema) is used for [MongoDB](/orm/).
@@ -1019,7 +1019,7 @@ Instead of `migrate dev` and related commands, [`db push`](/concepts/components/ The `migrate dev` command: -1. Reruns the existing migration history in the [shadow database](/concepts/components/prisma-migrate/shadow-database) in order to detect schema drift (edited or deleted migration file, or a manual changes to the database schema) +1. Reruns the existing migration history in the [shadow database](/orm/prisma-migrate/understanding-prisma-migrate/shadow-database) in order to detect schema drift (edited or deleted migration file, or a manual changes to the database schema) 1. Applies pending migrations to the shadow database (for example, new migrations created by colleagues) 1. Generates a new migration from any changes you made to the Prisma schema before running `migrate dev` 1. Applies all unapplied migrations to the development database and updates the `_prisma_migrations` table @@ -1027,14 +1027,14 @@ The `migrate dev` command: -This command is not supported on [MongoDB](/concepts/database-connectors/mongodb). Use [`db push`](/concepts/components/prisma-migrate/db-push) instead. +This command is not supported on [MongoDB](/orm/). Use [`db push`](/orm/prisma-migrate/workflows/prototyping-your-schema) instead. See also: -- [Conceptual overview of Prisma Migrate](/concepts/components/prisma-migrate) -- [Developing with Prisma Migrate](/guides/migrate/developing-with-prisma-migrate) +- [Conceptual overview of Prisma Migrate](/orm/prisma-migrate) +- [Developing with Prisma Migrate](/orm/prisma-migrate) #### Options @@ -1086,7 +1086,7 @@ This command: -This command is not supported on [MongoDB](/concepts/database-connectors/mongodb). Use [`db push`](/concepts/components/prisma-migrate/db-push) instead. +This command is not supported on [MongoDB](/orm/). Use [`db push`](/orm/prisma-migrate/workflows/prototyping-your-schema) instead. @@ -1121,7 +1121,7 @@ The `migrate deploy` command applies all pending migrations, and creates the dat -This command is not supported on [MongoDB](/concepts/database-connectors/mongodb). Use [`db push`](/concepts/components/prisma-migrate/db-push) instead. +This command is not supported on [MongoDB](/orm/). Use [`db push`](/orm/prisma-migrate/workflows/prototyping-your-schema) instead. @@ -1151,7 +1151,7 @@ Note that this command can only be used with a failed migration. If you try to u -This command is not supported on [MongoDB](/concepts/database-connectors/mongodb). Use [`db push`](/concepts/components/prisma-migrate/db-push) instead. +This command is not supported on [MongoDB](/orm/). Use [`db push`](/orm/prisma-migrate/workflows/prototyping-your-schema) instead. @@ -1187,7 +1187,7 @@ The `prisma migrate status` command looks up the migrations in `./prisma/migrati -This command is not supported on [MongoDB](/concepts/database-connectors/mongodb). Use [`db push`](/concepts/components/prisma-migrate/db-push) instead. +This command is not supported on [MongoDB](/orm/). Use [`db push`](/orm/prisma-migrate/workflows/prototyping-your-schema) instead. @@ -1244,7 +1244,7 @@ The `migrate diff` command is Generally Available in versions 3.13.0 and later. -This command is only partially supported for [MongoDB](/concepts/database-connectors/mongodb). See the command options below for details. +This command is only partially supported for [MongoDB](/orm/). See the command options below for details. @@ -1254,7 +1254,7 @@ The output can be given either as a human-readable summary (the default) or an e -The `migrate diff` command can only compare database features that are [supported by Prisma](/reference/database-reference/database-features). If two databases differ only in unsupported features, such as views or triggers, then `migrate diff` will not show any difference between them. +The `migrate diff` command can only compare database features that are [supported by Prisma](/orm/reference/database-features). If two databases differ only in unsupported features, such as views or triggers, then `migrate diff` will not show any difference between them. @@ -1279,7 +1279,7 @@ See also: #### Prerequisites -Before using the `migrate diff` command, if you are using the `--from-schema-datasource` or `--to-schema-datasource` you must define a valid [`datasource`](/concepts/components/prisma-schema/data-sources) within your `schema.prisma` file. +Before using the `migrate diff` command, if you are using the `--from-schema-datasource` or `--to-schema-datasource` you must define a valid [`datasource`](/orm/prisma-schema/overview/data-sources) within your `schema.prisma` file. For example, the following `datasource` defines a SQLite database file within the current directory: @@ -1349,7 +1349,7 @@ The `studio` command allows you to interact with and manage your data interactiv #### Prerequisites -Before using the `studio` command, you must define a valid [`datasource`](/concepts/components/prisma-schema/data-sources) within your `schema.prisma` file. +Before using the `studio` command, you must define a valid [`datasource`](/orm/prisma-schema/overview/data-sources) within your `schema.prisma` file. For example, the following `datasource` defines a SQLite database file within the current directory: @@ -1424,7 +1424,7 @@ This is available from version 2.7.0 and later. The command used to populate the datasource is specified in the `prisma.seed` entry in the `package.json` file. It is used when `prisma db seed` is invoked or triggered. -See [Seeding your database](/guides/migrate/seed-database) +See [Seeding your database](/orm/prisma-migrate/workflows/seeding) ```json file="package.json" { diff --git a/content/200-orm/500-reference/250-error-reference.mdx b/content/200-orm/500-reference/250-error-reference.mdx index e045ac4c24..820b735dec 100644 --- a/content/200-orm/500-reference/250-error-reference.mdx +++ b/content/200-orm/500-reference/250-error-reference.mdx @@ -7,7 +7,7 @@ tocDepth: 3 -For more information about how to work with exceptions and error codes, see [Handling exceptions and errors](/concepts/components/prisma-client/handling-exceptions-and-errors). +For more information about how to work with exceptions and error codes, see [Handling exceptions and errors](/orm/prisma-client/debugging-and-troubleshooting/handling-exceptions-and-errors). diff --git a/content/200-orm/500-reference/300-environment-variables-reference.mdx b/content/200-orm/500-reference/300-environment-variables-reference.mdx index dfb2ab8e39..11155040f4 100644 --- a/content/200-orm/500-reference/300-environment-variables-reference.mdx +++ b/content/200-orm/500-reference/300-environment-variables-reference.mdx @@ -24,7 +24,7 @@ Example setting Prisma Client level debugging output: export DEBUG="prisma:client" ``` -See [Debugging](/concepts/components/prisma-client/debugging) for more information. +See [Debugging](/orm/prisma-client/debugging-and-troubleshooting/debugging) for more information. ### NO_COLOR @@ -80,7 +80,7 @@ Disables all CLI warnings generated by `logger.warn`.
-To configure `prisma generate` to [generate a Prisma Client for Data Proxy](/data-platform/classic-projects/data-proxy) on any execution, even when `--data-proxy` is not explicitly set for the CLI command, set the value of this environment value to a truthy value (e.g. `PRISMA_GENERATE_DATAPROXY=true`). +To configure `prisma generate` to [generate a Prisma Client for Data Proxy](/platform/classic-projects/data-proxy) on any execution, even when `--data-proxy` is not explicitly set for the CLI command, set the value of this environment value to a truthy value (e.g. `PRISMA_GENERATE_DATAPROXY=true`). ### PRISMA_GENERATE_NO_ENGINE @@ -90,7 +90,7 @@ This environment variable is available since version `5.2.0`
-`PRISMA_GENERATE_NO_ENGINE` can be set to a truthy value to generate a Prisma Client without an included [query engine](/concepts/components/prisma-engines/query-engine) in order to reduce deployed application size when paired with [Prisma Data Proxy](/data-platform/classic-projects/data-proxy) or [Prisma Accelerate](/data-platform/accelerate/). +`PRISMA_GENERATE_NO_ENGINE` can be set to a truthy value to generate a Prisma Client without an included [query engine](/orm/more/under-the-hood/engines) in order to reduce deployed application size when paired with [Prisma Data Proxy](/platform/classic-projects/data-proxy) or [Prisma Accelerate](/data-platform/accelerate/). ### PRISMA_SCHEMA_DISABLE_ADVISORY_LOCK diff --git a/content/200-orm/500-reference/350-database-features.mdx b/content/200-orm/500-reference/350-database-features.mdx index 50253ced84..1f7d3980f1 100644 --- a/content/200-orm/500-reference/350-database-features.mdx +++ b/content/200-orm/500-reference/350-database-features.mdx @@ -16,7 +16,7 @@ This page gives an overview of the features which are provided by the databases ## Relational database features -This section describes which database features exist on the relational databases that are currently supported by Prisma. The **Prisma schema** column indicates how a certain feature can be represented in the [Prisma schema](/concepts/components/prisma-schema) and links to its documentation. Note that database features can be used in **Prisma Client** even though they might not yet be representable in the Prisma schema. +This section describes which database features exist on the relational databases that are currently supported by Prisma. The **Prisma schema** column indicates how a certain feature can be represented in the [Prisma schema](/orm/prisma-schema) and links to its documentation. Note that database features can be used in **Prisma Client** even though they might not yet be representable in the Prisma schema. ### Constraints @@ -42,7 +42,7 @@ This section describes which database features exist on the relational databases | `SET DEFAULT` | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | **✔️**† | ✔️ | **✔️**† | | `SET NULL` | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | **✔️**† | ✔️ | **✔️**† | -- † In [2.26.0](https://github.com/prisma/prisma/releases/tag/2.26.0) and later you can define [referential actions](/concepts/components/prisma-schema/relations/referential-actions) on your relation fields. Referential actions determine what should happen to a record when a related record is deleted or updated. +- † In [2.26.0](https://github.com/prisma/prisma/releases/tag/2.26.0) and later you can define [referential actions](/orm/prisma-schema/data-model/relations/referential-actions) on your relation fields. Referential actions determine what should happen to a record when a related record is deleted or updated. ### Indexes @@ -108,7 +108,7 @@ Lock option (MySQL): - \* Only available if natively supported by database. - † Only supports JSON through SQL functions, but doesn't have a JSON column type. Therefore client JSON operations are not supported. -- ‡ JSON arrays are not yet supported: see the [CockroachDB connector page](/concepts/database-connectors/cockroachdb) for details +- ‡ JSON arrays are not yet supported: see the [CockroachDB connector page](/orm/overview/introduction/databases/cockroachdb) for details diff --git a/content/200-orm/500-reference/375-supported-databases.mdx b/content/200-orm/500-reference/375-supported-databases.mdx index d1344ffbee..43fdfe1b5e 100644 --- a/content/200-orm/500-reference/375-supported-databases.mdx +++ b/content/200-orm/500-reference/375-supported-databases.mdx @@ -8,7 +8,7 @@ metaDescription: 'This page lists all the databases and their versions that are Prisma currently supports the following databases. -> See also: [System requirements](/reference/system-requirements). +> See also: [System requirements](/orm/reference/system-requirements).
diff --git a/content/200-orm/500-reference/380-connection-urls.mdx b/content/200-orm/500-reference/380-connection-urls.mdx index bc52615245..6a7abfcdee 100644 --- a/content/200-orm/500-reference/380-connection-urls.mdx +++ b/content/200-orm/500-reference/380-connection-urls.mdx @@ -7,7 +7,7 @@ tocDepth: 3 -Prisma needs a connection URL to be able to connect to your database, e.g. when sending queries with [Prisma Client](/concepts/components/prisma-client) or when changing the database schema with [Prisma Migrate](/concepts/components/prisma-migrate). +Prisma needs a connection URL to be able to connect to your database, e.g. when sending queries with [Prisma Client](/orm/prisma-client) or when changing the database schema with [Prisma Migrate](/orm/prisma-migrate). The connection URL is provided via the `url` field of a `datasource` block in your Prisma schema. It generally consists of the following components (except for SQLite): @@ -25,12 +25,12 @@ Make sure you have this information at hand when getting started with Prisma. If The format of the connection URL depends on the _database connector_ you're using. Prisma generally supports the standard formats for each database. You can find out more about the connection URL of your database on the dedicated docs page: -- [PostgreSQL](/concepts/database-connectors/postgresql) -- [MySQL](/concepts/database-connectors/mysql) -- [SQLite](/concepts/database-connectors/sqlite) -- [MongoDB](/concepts/database-connectors/mongodb) -- [Microsoft SQL Server](/concepts/database-connectors/sql-server) -- [CockroachDB](/concepts/database-connectors/cockroachdb) +- [PostgreSQL](/orm/overview/introduction/databases/postgresql) +- [MySQL](/orm/overview/introduction/databases/mysql) +- [SQLite](/orm/overview/introduction/databases/sqlite) +- [MongoDB](/orm/) +- [Microsoft SQL Server](/orm/overview/introduction/databases/sql-server) +- [CockroachDB](/orm/overview/introduction/databases/cockroachdb) ### Special characters diff --git a/content/200-orm/500-reference/500-preview-features/050-client-preview-features.mdx b/content/200-orm/500-reference/500-preview-features/050-client-preview-features.mdx index e6919230a2..75076408f2 100644 --- a/content/200-orm/500-reference/500-preview-features/050-client-preview-features.mdx +++ b/content/200-orm/500-reference/500-preview-features/050-client-preview-features.mdx @@ -8,7 +8,7 @@ metaDescription: 'Prisma Client and Prisma schema features that are currently in When we release a new Prisma Client or Prisma schema feature, it often starts in Preview so that you can test it and submit your feedback. After we improve the feature with your feedback and are satisfied with the internal test results, we promote the feature to general availability. -For more information, see [ORM releases and maturity levels](/about/prisma/releases). +For more information, see [ORM releases and maturity levels](/orm/more/releases). @@ -18,14 +18,14 @@ The following [Preview](/about/prisma/releases#preview) feature flags are availa | Feature | Released into Preview | Feedback issue | | ------------------------------------------------------------------------------------------------- | :------------------------------------------------------------- | :--------------------------------------------------------------: | -| [`fullTextSearch`](/concepts/components/prisma-client/full-text-search) | [2.30.0](https://github.com/prisma/prisma/releases/tag/2.30.0) | [Submit feedback](https://github.com/prisma/prisma/issues/8877) | +| [`fullTextSearch`](/orm/prisma-client/queries/full-text-search) | [2.30.0](https://github.com/prisma/prisma/releases/tag/2.30.0) | [Submit feedback](https://github.com/prisma/prisma/issues/8877) | | [`fullTextIndex`](/concepts/components/prisma-schema/indexes#full-text-indexes-mysql-and-mongodb) | [3.6.0](https://github.com/prisma/prisma/releases/tag/3.6.0) | [Submit feedback](https://github.com/prisma/prisma/issues/10539) | -| [`metrics`](/concepts/components/prisma-client/metrics) | [3.15.0](https://github.com/prisma/prisma/releases/tag/3.15.0) | [Submit feedback](https://github.com/prisma/prisma/issues/13579) | -| [`tracing`](/concepts/components/prisma-client/opentelemetry-tracing) | [4.2.0](https://github.com/prisma/prisma/releases/tag/4.2.0) | [Submit feedback](https://github.com/prisma/prisma/issues/14640) | +| [`metrics`](/orm/prisma-client/observability-and-logging/metrics) | [3.15.0](https://github.com/prisma/prisma/releases/tag/3.15.0) | [Submit feedback](https://github.com/prisma/prisma/issues/13579) | +| [`tracing`](/orm/prisma-client/observability-and-logging/opentelemetry-tracing) | [4.2.0](https://github.com/prisma/prisma/releases/tag/4.2.0) | [Submit feedback](https://github.com/prisma/prisma/issues/14640) | | [`multiSchema`](https://github.com/prisma/prisma/issues/1122#issuecomment-1231773471) | [4.3.0](https://github.com/prisma/prisma/releases/tag/4.3.0) | [Submit feedback](https://github.com/prisma/prisma/issues/15077) | -| [`postgresqlExtensions`](/concepts/components/prisma-schema/postgresql-extensions) | [4.5.0](https://github.com/prisma/prisma/releases/tag/4.5.0) | [Submit feedback](https://github.com/prisma/prisma/issues/15835) | -| [`deno`](/guides/deployment/edge/deploy-to-deno-deploy) | [4.5.0](https://github.com/prisma/prisma/releases/tag/4.5.0) | [Submit feedback](https://github.com/prisma/prisma/issues/15844) | -| [`views`](/concepts/components/prisma-schema/views) | [4.9.0](https://github.com/prisma/prisma/releases/tag/4.9.0) | [Submit feedback](https://github.com/prisma/prisma/issues/17335) | +| [`postgresqlExtensions`](/orm/prisma-schema/postgresql-extensions) | [4.5.0](https://github.com/prisma/prisma/releases/tag/4.5.0) | [Submit feedback](https://github.com/prisma/prisma/issues/15835) | +| [`deno`](/orm/prisma-client/deployment/edge/deploy-to-deno-deploy) | [4.5.0](https://github.com/prisma/prisma/releases/tag/4.5.0) | [Submit feedback](https://github.com/prisma/prisma/issues/15844) | +| [`views`](/orm/prisma-schema/data-model/views) | [4.9.0](https://github.com/prisma/prisma/releases/tag/4.9.0) | [Submit feedback](https://github.com/prisma/prisma/issues/17335) | | `driverAdapters` | [5.4.0](https://github.com/prisma/prisma/releases/tag/5.4.0) | [Submit feedback](https://github.com/prisma/prisma/issues/3108) | To enable a Preview feature, [add the feature flag to the `generator` block](#enabling-a-prisma-client-preview-feature) in your `schema.prisma` file. [Share your feedback on all Preview features on GitHub](https://github.com/prisma/prisma/issues/3108). @@ -60,19 +60,19 @@ In the list below, you can find a history of Prisma Client and Prisma schema fea | `jsonProtocol` | [4.11.0](https://github.com/prisma/prisma/releases/tag/4.11.0) | [5.0.0](https://github.com/prisma/prisma/releases/tag/5.0.0) | | [`extendedWhereUnique`](/reference/api-reference/prisma-client-reference#filter-on-non-unique-fields-with-userwhereuniqueinput) | [4.5.0](https://github.com/prisma/prisma/releases/tag/4.5.0) | [5.0.0](https://github.com/prisma/prisma/releases/tag/5.0.0) | | [`fieldReference`](/reference/api-reference/prisma-client-reference#compare-columns-in-the-same-table) | [4.3.0](https://github.com/prisma/prisma/releases/tag/4.3.0) | [5.0.0](https://github.com/prisma/prisma/releases/tag/5.0.0) | -| [`clientExtensions`](/concepts/components/prisma-client/client-extensions) | [4.7.0](https://github.com/prisma/prisma/releases/tag/4.7.0) | [4.16.0](https://github.com/prisma/prisma/releases/tag/4.16.0) | +| [`clientExtensions`](/orm/prisma-client/client-extensions) | [4.7.0](https://github.com/prisma/prisma/releases/tag/4.7.0) | [4.16.0](https://github.com/prisma/prisma/releases/tag/4.16.0) | | [`filteredRelationCount`](/concepts/components/prisma-client/aggregation-grouping-summarizing#filter-the-relation-count) | [4.3.0](https://github.com/prisma/prisma/releases/tag/4.3.0) | [4.16.0](https://github.com/prisma/prisma/releases/tag/4.16.0) | | [`orderByNulls`](/concepts/components/prisma-client/filtering-and-sorting#sort-with-null-records-first-or-last) | [4.1.0](https://github.com/prisma/prisma/releases/tag/4.1.0) | [4.16.0](https://github.com/prisma/prisma/releases/tag/4.16.0) | -| [`referentialIntegrity`](/concepts/components/prisma-schema/relations/relation-mode) | [3.1.1](https://github.com/prisma/prisma/releases/tag/3.1.1) | [4.7.0](https://github.com/prisma/prisma/releases/tag/4.7.0) | +| [`referentialIntegrity`](/orm/prisma-schema/data-model/relations/relation-mode) | [3.1.1](https://github.com/prisma/prisma/releases/tag/3.1.1) | [4.7.0](https://github.com/prisma/prisma/releases/tag/4.7.0) | | [`interactiveTransactions`](/concepts/components/prisma-client/transactions#interactive-transactions) |
  • [2.29.0](https://github.com/prisma/prisma/releases/tag/2.29.0)
  • with Data Proxy [4.6.0](https://github.com/prisma/prisma/releases/tag/4.6.0)
| [4.7.0](https://github.com/prisma/prisma/releases/tag/4.7.0) | -| [`extendedIndexes`](/concepts/components/prisma-schema/indexes) | [3.5.0](https://github.com/prisma/prisma/releases/tag/3.5.0) | [4.0.0](https://github.com/prisma/prisma/releases/tag/4.0.0) | +| [`extendedIndexes`](/orm/prisma-schema/data-model/indexes) | [3.5.0](https://github.com/prisma/prisma/releases/tag/3.5.0) | [4.0.0](https://github.com/prisma/prisma/releases/tag/4.0.0) | | [`filterJson`](/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filter-on-a-json-field) | [2.23.0](https://github.com/prisma/prisma/releases/tag/2.23.0) | [4.0.0](https://github.com/prisma/prisma/releases/tag/4.0.0) | | [`improvedQueryRaw`](/concepts/components/prisma-client/raw-database-access#raw-query-type-mapping) | [3.14.0](https://github.com/prisma/prisma/releases/tag/3.14.0) | [4.0.0](https://github.com/prisma/prisma/releases/tag/4.0.0) | -| [`cockroachdb`](/concepts/database-connectors/cockroachdb) |
  • [3.9.0](https://github.com/prisma/prisma/releases/tag/3.9.0)
  • migrations in CockroachDB in [3.11.0](https://github.com/prisma/prisma/releases/tag/3.11.0)
| [3.14.0](https://github.com/prisma/prisma/releases/tag/3.14.0) | -| [`mongodb`](/concepts/database-connectors/mongodb) |
  • [2.27.0](https://github.com/prisma/prisma/releases/tag/2.27.0)
  • introspection of MongoDB in [3.2.0](https://github.com/prisma/prisma/releases/tag/3.2.0)
  • introspection of embedded documents in [3.4.0](https://github.com/prisma/prisma/releases/tag/3.4.0)
  • MongoDB embedded documents in [3.10.0](https://github.com/prisma/prisma/releases/tag/3.10.0)
  • introspection of embedded documents in [3.10.0](https://github.com/prisma/prisma/releases/tag/3.10.0)
  • raw query support for MongoDB in [3.9.0](https://github.com/prisma/prisma/releases/tag/3.9.0)
  • filters in embedded documents as an Experimental Feature in [3.11.0](https://github.com/prisma/prisma/releases/tag/3.11.0)
  • order by embedded documents in [3.11.0](https://github.com/prisma/prisma/releases/tag/3.11.0)
| [3.12.0](https://github.com/prisma/prisma/releases/tag/3.12.0) | -| [`microsoftSqlServer`](/concepts/database-connectors/sql-server) | [2.10.0](https://github.com/prisma/prisma/releases/tag/2.10.0) | [3.0.1](https://github.com/prisma/prisma/releases/tag/3.0.1) | +| [`cockroachdb`](/orm/overview/introduction/databases/cockroachdb) |
  • [3.9.0](https://github.com/prisma/prisma/releases/tag/3.9.0)
  • migrations in CockroachDB in [3.11.0](https://github.com/prisma/prisma/releases/tag/3.11.0)
| [3.14.0](https://github.com/prisma/prisma/releases/tag/3.14.0) | +| [`mongodb`](/orm/) |
  • [2.27.0](https://github.com/prisma/prisma/releases/tag/2.27.0)
  • introspection of MongoDB in [3.2.0](https://github.com/prisma/prisma/releases/tag/3.2.0)
  • introspection of embedded documents in [3.4.0](https://github.com/prisma/prisma/releases/tag/3.4.0)
  • MongoDB embedded documents in [3.10.0](https://github.com/prisma/prisma/releases/tag/3.10.0)
  • introspection of embedded documents in [3.10.0](https://github.com/prisma/prisma/releases/tag/3.10.0)
  • raw query support for MongoDB in [3.9.0](https://github.com/prisma/prisma/releases/tag/3.9.0)
  • filters in embedded documents as an Experimental Feature in [3.11.0](https://github.com/prisma/prisma/releases/tag/3.11.0)
  • order by embedded documents in [3.11.0](https://github.com/prisma/prisma/releases/tag/3.11.0)
| [3.12.0](https://github.com/prisma/prisma/releases/tag/3.12.0) | +| [`microsoftSqlServer`](/orm/overview/introduction/databases/sql-server) | [2.10.0](https://github.com/prisma/prisma/releases/tag/2.10.0) | [3.0.1](https://github.com/prisma/prisma/releases/tag/3.0.1) | | [`namedConstraints`](/concepts/components/prisma-schema/names-in-underlying-database#constraint-and-index-names) | [2.29.0](https://github.com/prisma/prisma/releases/tag/2.29.0) | [3.0.1](https://github.com/prisma/prisma/releases/tag/3.0.1) | -| [`referentialActions`](/concepts/components/prisma-schema/relations/referential-actions) | [2.26.0](https://github.com/prisma/prisma/releases/tag/2.26.0) | [3.0.1](https://github.com/prisma/prisma/releases/tag/3.0.1) | +| [`referentialActions`](/orm/prisma-schema/data-model/relations/referential-actions) | [2.26.0](https://github.com/prisma/prisma/releases/tag/2.26.0) | [3.0.1](https://github.com/prisma/prisma/releases/tag/3.0.1) | | [`orderByAggregateGroup`](/concepts/components/prisma-client/aggregation-grouping-summarizing#order-by-aggregate-group) | [2.21.0](https://github.com/prisma/prisma/releases/tag/2.21.0) | [3.0.1](https://github.com/prisma/prisma/releases/tag/3.0.1) | | [`orderByRelation`](/concepts/components/prisma-client/filtering-and-sorting#sort-by-relation) |
  • [2.16.0](https://github.com/prisma/prisma/releases/tag/2.16.0)
  • order by aggregates of relations in [2.19.0](https://github.com/prisma/prisma/releases/tag/2.19.0)
| [3.0.1](https://github.com/prisma/prisma/releases/tag/3.0.1) | | [`selectRelationCount`](/concepts/components/prisma-client/aggregation-grouping-summarizing#count-relations) | [2.20.0](https://github.com/prisma/prisma/releases/tag/2.20.0) | [3.0.1](https://github.com/prisma/prisma/releases/tag/3.0.1) | @@ -85,6 +85,6 @@ In the list below, you can find a history of Prisma Client and Prisma schema fea | [`connectOrCreate`](/reference/api-reference/prisma-client-reference#connectorcreate) | [2.1.0](https://github.com/prisma/prisma/releases/tag/2.1.0) | [2.11.0](https://github.com/prisma/prisma/releases/tag/2.11.0) | | [`atomicNumberOperations`](/reference/api-reference/prisma-client-reference#atomic-number-operations) | [2.6.0](https://github.com/prisma/prisma/releases/tag/2.6.0) | [2.10.0](https://github.com/prisma/prisma/releases/tag/2.10.0) | | [`insensitiveFilters` (PostgreSQL)](/concepts/components/prisma-client/filtering-and-sorting#case-insensitive-filtering) | [2.5.0](https://github.com/prisma/prisma/releases/tag/2.5.0) | [2.8.0](https://github.com/prisma/prisma/releases/tag/2.8.0) | -| [`middlewares`](/concepts/components/prisma-client/middleware) | [2.3.0](https://github.com/prisma/prisma/releases/tag/2.3.0) | [2.5.0](https://github.com/prisma/prisma/releases/tag/2.5.0) | +| [`middlewares`](/orm/prisma-client/client-extensions/middleware) | [2.3.0](https://github.com/prisma/prisma/releases/tag/2.3.0) | [2.5.0](https://github.com/prisma/prisma/releases/tag/2.5.0) | | [`aggregateApi`](/concepts/components/prisma-client/aggregation-grouping-summarizing#aggregate) | [2.2.0](https://github.com/prisma/prisma/releases/tag/2.2.0) | [2.5.0](https://github.com/prisma/prisma/releases/tag/2.5.0) | | [`distinct`](/reference/api-reference/prisma-client-reference#distinct) | [2.3.0](https://github.com/prisma/prisma/releases/tag/2.3.0) | [2.5.0](https://github.com/prisma/prisma/releases/tag/2.5.0) | diff --git a/content/200-orm/500-reference/500-preview-features/080-cli-preview-features.mdx b/content/200-orm/500-reference/500-preview-features/080-cli-preview-features.mdx index 7ff860cc8d..756f941c63 100644 --- a/content/200-orm/500-reference/500-preview-features/080-cli-preview-features.mdx +++ b/content/200-orm/500-reference/500-preview-features/080-cli-preview-features.mdx @@ -9,7 +9,7 @@ tocDepth: 3 When we release a new Prisma CLI feature, it often starts in Preview so that you can test it and submit your feedback. After we improve the feature with your feedback and are satisfied with the internal test results, we promote the feature to general availability. -For more information, see [ORM releases and maturity levels](/about/prisma/releases). +For more information, see [ORM releases and maturity levels](/orm/more/releases).
@@ -39,5 +39,5 @@ In the list below, you can find a history of Prisma CLI features that were in Pr | ----------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | | [`prisma migrate diff`](/guides/migrate/production-troubleshooting#fixing-failed-migrations-with-migrate-diff-and-db-execute) | [3.9.0](https://github.com/prisma/prisma/releases/tag/3.9.0) | [3.13.0](https://github.com/prisma/prisma/releases/tag/3.13.0) | | [`prisma db execute`](/guides/migrate/production-troubleshooting#fixing-failed-migrations-with-migrate-diff-and-db-execute) | [3.9.0](https://github.com/prisma/prisma/releases/tag/3.9.0) | [3.13.0](https://github.com/prisma/prisma/releases/tag/3.13.0) | -| [`prisma db push`](/guides/migrate/prototyping-schema-db-push) | [2.10.0](https://github.com/prisma/prisma/releases/tag/2.10.0) | [2.22.0](https://github.com/prisma/prisma/releases/tag/2.22.0) | -| [`prisma migrate`](/concepts/components/prisma-migrate) | [2.13.0](https://github.com/prisma/prisma/releases/tag/2.13.0) | [2.19.0](https://github.com/prisma/prisma/releases/tag/2.19.0) | +| [`prisma db push`](/orm/prisma-migrate/workflows/prototyping-your-schema) | [2.10.0](https://github.com/prisma/prisma/releases/tag/2.10.0) | [2.22.0](https://github.com/prisma/prisma/releases/tag/2.22.0) | +| [`prisma migrate`](/orm/prisma-migrate) | [2.13.0](https://github.com/prisma/prisma/releases/tag/2.13.0) | [2.19.0](https://github.com/prisma/prisma/releases/tag/2.19.0) | diff --git a/content/200-orm/500-reference/500-preview-features/index.mdx b/content/200-orm/500-reference/500-preview-features/index.mdx index 3d45dcd1ed..0ef842f39e 100644 --- a/content/200-orm/500-reference/500-preview-features/index.mdx +++ b/content/200-orm/500-reference/500-preview-features/index.mdx @@ -12,6 +12,6 @@ Some Prisma features are released as [Previews](/about/prisma/releases#preview). - [Prisma Client and Prisma schema preview features](client-preview-features) - [Prisma CLI preview features](cli-preview-features) -For information regarding upgrading Prisma and enabling Preview features see [Upgrading to use Preview features](/guides/upgrade-guides/upgrading-to-use-preview-features). +For information regarding upgrading Prisma and enabling Preview features see [Upgrading to use Preview features](/orm/more/upgrade-guides/upgrading-to-use-preview-features).
diff --git a/content/200-orm/800-more/100-under-the-hood/100-engines.mdx b/content/200-orm/800-more/100-under-the-hood/100-engines.mdx index 70c4edcefc..a39f19d3a5 100644 --- a/content/200-orm/800-more/100-under-the-hood/100-engines.mdx +++ b/content/200-orm/800-more/100-under-the-hood/100-engines.mdx @@ -24,13 +24,13 @@ At the core of each module, there typically is a [Prisma engine](https://github. A Prisma engine is the **direct interface to the database**, any higher-level interfaces always communicate with the database _through_ the engine-layer. -As an example, Prisma Client connects to the [query engine](/concepts/components/prisma-engines/query-engine) in order to read and write data in a database: +As an example, Prisma Client connects to the [query engine](/orm/more/under-the-hood/engines) in order to read and write data in a database: ![Prisma engine](typical-flow-query-engine-at-runtime.png) ### Using custom engine libraries or binaries -By default, all engine files are automatically downloaded into the `node_modules/@prisma/engines` folder when you install or update `prisma`, the Prisma CLI package. The [query engine](/concepts/components/prisma-engines/query-engine) is also copied to the generated Prisma Client when you call `prisma generate`. +By default, all engine files are automatically downloaded into the `node_modules/@prisma/engines` folder when you install or update `prisma`, the Prisma CLI package. The [query engine](/orm/more/under-the-hood/engines) is also copied to the generated Prisma Client when you call `prisma generate`. You might want to use a [custom library or binary](https://github.com/prisma/prisma-engines) file if: - Automated download of engine files is not possible. @@ -81,7 +81,7 @@ PRISMA_QUERY_ENGINE_BINARY=c:\custom\path\my-query-engine-binary.exe -> **Note**: It is possible to [use an `.env` file in a location outside the `prisma` folder](/guides/development-environment/environment-variables/managing-env-files-and-setting-variables). +> **Note**: It is possible to [use an `.env` file in a location outside the `prisma` folder](/orm/more/development-environment/environment-variables/managing-env-files-and-setting-variables). ##### b) Global environment variable @@ -172,9 +172,9 @@ The Node-API library approach is recommended since it reduces the communication ![Diagram showing the query engine and Node.js at runtime](query-engine-node-js-at-runtime.png) -The query engine is started when the first Prisma Client query is invoked or when the [`$connect()`](/concepts/components/prisma-client/working-with-prismaclient/connection-management) method is called on your `PrismaClient` instance. Once the query engine is started, it creates a [connection pool](/concepts/components/prisma-client/working-with-prismaclient/connection-pool) and manages the physical connections to the database. From that point onwards, Prisma Client is ready to send [queries](/concepts/components/prisma-client/crud) to the database (e.g. `findUnique`, `findMany`, `create`, ...). +The query engine is started when the first Prisma Client query is invoked or when the [`$connect()`](/orm/prisma-client/setup-and-configuration/databases-connections/connection-management) method is called on your `PrismaClient` instance. Once the query engine is started, it creates a [connection pool](/orm/prisma-client/setup-and-configuration/databases-connections/connection-pool) and manages the physical connections to the database. From that point onwards, Prisma Client is ready to send [queries](/orm/prisma-client/queries/crud) to the database (e.g. `findUnique`, `findMany`, `create`, ...). -The query engine is stopped and the database connections are closed when [`$disconnect()`](/concepts/components/prisma-client/working-with-prismaclient/connection-management) is invoked. +The query engine is stopped and the database connections are closed when [`$disconnect()`](/orm/prisma-client/setup-and-configuration/databases-connections/connection-management) is invoked. The following diagram depicts a "typical flow": @@ -204,7 +204,7 @@ The query engine has the following responsibilities in an application that uses ## Debugging the query engine -You can access the logs of the query engine by setting the [`DEBUG`](/concepts/components/prisma-client/debugging) environment variable to `engine`: +You can access the logs of the query engine by setting the [`DEBUG`](/orm/prisma-client/debugging-and-troubleshooting/debugging) environment variable to `engine`: ```terminal export DEBUG="engine" @@ -218,7 +218,7 @@ const prisma = new PrismaClient({ }) ``` -Learn more about [Debugging](/concepts/components/prisma-client/debugging) and [Logging](/concepts/components/prisma-client/working-with-prismaclient/logging). +Learn more about [Debugging](/orm/prisma-client/debugging-and-troubleshooting/debugging) and [Logging](/orm/prisma-client/setup-and-configuration/logging). ## Configuring the query engine diff --git a/content/200-orm/800-more/100-under-the-hood/index.mdx b/content/200-orm/800-more/100-under-the-hood/index.mdx index eadaf3c0c5..cd5b14eba0 100644 --- a/content/200-orm/800-more/100-under-the-hood/index.mdx +++ b/content/200-orm/800-more/100-under-the-hood/index.mdx @@ -10,6 +10,6 @@ This page gives an overview of the Prisma internals and how it works "under the Note that **this page does not contain any practical information that is relevant for _using_ Prisma**. It rather aims at providing a _mental model_ for what the Prisma toolkit _actually_ is and how the different tools that are available to developers are structured. -If you're new to Prisma, be sure to check out the [Quickstart](/getting-started/quickstart) and [Introduction](/concepts/overview/what-is-prisma) pages first. +If you're new to Prisma, be sure to check out the [Quickstart](/getting-started/quickstart) and [Introduction](/orm/overview/introduction/what-is-prisma) pages first. diff --git a/content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/600-upgrading-to-prisma-5/001-rejectonnotfound-changes.mdx b/content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/600-upgrading-to-prisma-5/001-rejectonnotfound-changes.mdx index c20b30a1cf..384649c21c 100644 --- a/content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/600-upgrading-to-prisma-5/001-rejectonnotfound-changes.mdx +++ b/content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/600-upgrading-to-prisma-5/001-rejectonnotfound-changes.mdx @@ -136,7 +136,7 @@ const prisma = new PrismaClient({ }) ``` -You will need to update your method usage to `...OrThrow` and then use a [Client Extension](/concepts/components/prisma-client/client-extensions) in order to get the same behavior. +You will need to update your method usage to `...OrThrow` and then use a [Client Extension](/orm/prisma-client/client-extensions) in order to get the same behavior. As an example, the following extension would give the same behavior in Prisma 5 that `Example 5` gave in Prisma 4 and lower. diff --git a/content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/600-upgrading-to-prisma-5/101-jsonprotocol-changes.mdx b/content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/600-upgrading-to-prisma-5/101-jsonprotocol-changes.mdx index 9dcd1a0d39..dbc5fdd121 100644 --- a/content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/600-upgrading-to-prisma-5/101-jsonprotocol-changes.mdx +++ b/content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/600-upgrading-to-prisma-5/101-jsonprotocol-changes.mdx @@ -257,7 +257,7 @@ prisma.post.findMany({ #### Composite lists -Operations on lists of [Composite types](/concepts/components/prisma-schema/data-model#defining-composite-types) (for [MongoDB](/concepts/database-connectors/mongodb)) now only accept array values. +Operations on lists of [Composite types](/concepts/components/prisma-schema/data-model#defining-composite-types) (for [MongoDB](/orm/)) now only accept array values. With the following schema: diff --git a/content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/600-upgrading-to-prisma-5/index.mdx b/content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/600-upgrading-to-prisma-5/index.mdx index 66f98d3824..e7ba094e5d 100644 --- a/content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/600-upgrading-to-prisma-5/index.mdx +++ b/content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/600-upgrading-to-prisma-5/index.mdx @@ -56,7 +56,7 @@ Before you upgrade, check each breaking change below to see how the upgrade migh ## Version changes Prisma 5 includes some minimum version changes for Node.js, TypeScript, and PostgreSQL. To use Prisma version 5.0.0 and up, you will need to have at least the minimum versions below: -See our [system requirements](/reference/system-requirements) for all minimum version requirements. +See our [system requirements](/orm/reference/system-requirements) for all minimum version requirements. ### Node.js minimum version change diff --git a/content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/700-upgrading-to-prisma-4.mdx b/content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/700-upgrading-to-prisma-4.mdx index 34eedea6ee..07c35a6817 100644 --- a/content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/700-upgrading-to-prisma-4.mdx +++ b/content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/700-upgrading-to-prisma-4.mdx @@ -53,7 +53,7 @@ This section includes changes that affect both the Prisma Schema and Prisma Clie From Prisma version 4.0.0, the minimum version of Node.js that we support is 14.17.x. If you use an earlier version of Node.js, you will need to update it. -See our [system requirements](/reference/system-requirements) for all minimum version requirements. +See our [system requirements](/orm/reference/system-requirements) for all minimum version requirements. ### Schema changes diff --git a/content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/800-upgrading-to-prisma-3/100-named-constraints.mdx b/content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/800-upgrading-to-prisma-3/100-named-constraints.mdx index e8458dee20..65513fedb4 100644 --- a/content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/800-upgrading-to-prisma-3/100-named-constraints.mdx +++ b/content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/800-upgrading-to-prisma-3/100-named-constraints.mdx @@ -104,7 +104,7 @@ Afterwards, do not forget to `prisma migrate deploy` against your production env This migration renames any constraints that do not currently follow Prisma's naming convention. -1. Run the [`prisma migrate deploy`](/guides/deployment/deploy-database-changes-with-prisma-migrate) command to apply the migration to your production environment: +1. Run the [`prisma migrate deploy`](/orm/prisma-client/deployment/deploy-database-changes-with-prisma-migrate) command to apply the migration to your production environment: ```terminal npx prisma migrate deploy diff --git a/content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/800-upgrading-to-prisma-3/150-referential-actions.mdx b/content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/800-upgrading-to-prisma-3/150-referential-actions.mdx index f91b7600c3..622b70fae5 100644 --- a/content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/800-upgrading-to-prisma-3/150-referential-actions.mdx +++ b/content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/800-upgrading-to-prisma-3/150-referential-actions.mdx @@ -22,7 +22,7 @@ When invoking the [`delete()`](/concepts/components/prisma-client/crud#delete-a- The behavior in Prisma 2, without upgrading, does not allow setting referential actions at all. [See Prisma 2.x default referential actions](#prisma-2x-default-referential-actions) -If you need to actually use the cascade behavior configured in the database, you _can_ use [`raw`](/concepts/components/prisma-client/raw-database-access) SQL queries to [delete multiple referenced records](/concepts/components/prisma-client/crud#deleting-all-data-with-raw-sql--truncate). This is because Prisma Client will **not** perform runtime checks on raw queries. +If you need to actually use the cascade behavior configured in the database, you _can_ use [`raw`](/orm/prisma-client/queries/raw-database-access/raw-queries) SQL queries to [delete multiple referenced records](/concepts/components/prisma-client/crud#deleting-all-data-with-raw-sql--truncate). This is because Prisma Client will **not** perform runtime checks on raw queries. ### Prisma 2.x default referential actions @@ -50,7 +50,7 @@ You can also decide to skip checking the defaults and run a migration to update ### Using Introspection -If you [Introspect](/concepts/components/introspection) your database, the referential actions configured at the database level will be reflected in your Prisma Schema. If you have been using Prisma Migrate or `prisma db push` to manage the database schema, these are likely to be the [<=2.25.0 default values](#prisma-2x-default-referential-actions). +If you [Introspect](/orm/prisma-schema/introspection) your database, the referential actions configured at the database level will be reflected in your Prisma Schema. If you have been using Prisma Migrate or `prisma db push` to manage the database schema, these are likely to be the [<=2.25.0 default values](#prisma-2x-default-referential-actions). When you run an Introspection, Prisma compares all the foreign keys in the database with the schema, if the SQL statements `ON DELETE` and `ON UPDATE` do **not** match the default values, they will be explicitly set in the schema file. @@ -87,7 +87,7 @@ model User { ### Using Migration -When running a [Migration](/concepts/components/prisma-migrate) (or the [`prisma db push`](/concepts/components/prisma-migrate/db-push) command) the [new defaults](/concepts/components/prisma-schema/relations/referential-actions#referential-action-defaults) will be applied to your database. +When running a [Migration](/orm/prisma-migrate) (or the [`prisma db push`](/orm/prisma-migrate/workflows/prototyping-your-schema) command) the [new defaults](/concepts/components/prisma-schema/relations/referential-actions#referential-action-defaults) will be applied to your database. diff --git a/content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/800-upgrading-to-prisma-3/index.mdx b/content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/800-upgrading-to-prisma-3/index.mdx index 343fe58e27..95e6a7d31e 100644 --- a/content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/800-upgrading-to-prisma-3/index.mdx +++ b/content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/800-upgrading-to-prisma-3/index.mdx @@ -16,7 +16,7 @@ Below you will find a list of the breaking changes and how to handle them. ## Breaking changes -### [Referential actions](/concepts/components/prisma-schema/relations/referential-actions) +### [Referential actions](/orm/prisma-schema/data-model/relations/referential-actions) The introduction of referential actions in version 3.x removes the safety net in Prisma Client that had previously prevented cascading deletes at runtime. @@ -24,7 +24,7 @@ As a result, depending on which workflow you are using to work on your applicati See [Referential action upgrade path](./referential-actions) to understand how to proceed. -### [Named constraints](/concepts/components/prisma-schema/names-in-underlying-database) +### [Named constraints](/orm/prisma-schema/data-model/database-mapping) We changed the convention followed by Prisma to name constraints and indexes. We also introduced a clear distinction between the `map` attribute (database-level name) and `name` attribute (Prisma Client API name) in the PSL to explicitly control how constraints are defined in the Prisma schema. @@ -32,13 +32,13 @@ This means that you will notice an impact when running Prisma `migrate` or `db p You can check out the [Named constraints upgrade path](./named-constraints) for more information on how to proceed. -### [$queryRaw](/concepts/components/prisma-client/raw-database-access) +### [$queryRaw](/orm/prisma-client/queries/raw-database-access/raw-queries) From version 3.x onwards, the `$queryRaw` method now only supports a template literal. This means that if your application relied on `$queryRaw` calls using _strings_, those calls will **not** work anymore. We advise you to use template literals wherever possible for security reasons or resort to `$queryRawUnsafe` otherwise, after carefully escaping queries to prevent SQL injections. -You can learn more about the new `$queryRaw` and `$queryRawUnsafe` methods in the [Raw database access](/concepts/components/prisma-client/raw-database-access) section of the docs. +You can learn more about the new `$queryRaw` and `$queryRawUnsafe` methods in the [Raw database access](/orm/prisma-client/queries/raw-database-access/raw-queries) section of the docs. ### [Json Null Equality](/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-by-null-values) diff --git a/content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/index.mdx b/content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/index.mdx index d4e57a9072..f8ef2b3358 100644 --- a/content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/index.mdx +++ b/content/200-orm/800-more/300-upgrade-guides/200-upgrading-versions/index.mdx @@ -28,13 +28,13 @@ To upgrade to the latest version of Prisma: ### Prisma 2 and onwards -- [Upgrade to Prisma 5](/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-5) -- [Upgrade to Prisma 4](/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-4) -- [Upgrade to Prisma 3](/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-3) +- [Upgrade to Prisma 5](/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-5) +- [Upgrade to Prisma 4](/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-4) +- [Upgrade to Prisma 3](/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-3) ### Prisma 1 -- [Upgrade from Prisma 1](/guides/upgrade-guides/upgrade-from-prisma-1) +- [Upgrade from Prisma 1](/orm/more/upgrade-guides/upgrade-from-prisma-1) ## Testing new features, without upgrading diff --git a/content/200-orm/800-more/300-upgrade-guides/250-upgrading-to-use-preview-features.mdx b/content/200-orm/800-more/300-upgrade-guides/250-upgrading-to-use-preview-features.mdx index 3706470344..793f39ca0b 100644 --- a/content/200-orm/800-more/300-upgrade-guides/250-upgrading-to-use-preview-features.mdx +++ b/content/200-orm/800-more/300-upgrade-guides/250-upgrading-to-use-preview-features.mdx @@ -15,8 +15,8 @@ Preview features are new features that can only be used by opting in using a cor Some releases include Preview features that are not considered production-ready, and must be enabled before you can use them. For more information about enabling Preview features, refer to the following documentation: -- [Enable Prisma Client and schema preview features](/concepts/components/preview-features/client-preview-features) -- [Enable Prisma CLI preview features](/concepts/components/preview-features/cli-preview-features) +- [Enable Prisma Client and schema preview features](/orm/reference/preview-features/client-preview-features) +- [Enable Prisma CLI preview features](/orm/reference/preview-features/cli-preview-features) diff --git a/content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/01-how-to-upgrade.mdx b/content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/01-how-to-upgrade.mdx index 01be856df7..d0dfd1187d 100644 --- a/content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/01-how-to-upgrade.mdx +++ b/content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/01-how-to-upgrade.mdx @@ -36,7 +36,7 @@ Prisma 2._x_ and later versions: - make the features of Prisma 1 more modular and splits them into dedicated tools: - Prisma Client: An improved version of Prisma Client 1.0 - Prisma Migrate: Data modeling and migrations (formerly `prisma deploy`). -- use the [Prisma schema](/concepts/components/prisma-schema), a merge of Prisma 1 datamodel and `prisma.yml`. +- use the [Prisma schema](/orm/prisma-schema), a merge of Prisma 1 datamodel and `prisma.yml`. - use its own [modeling language](https://github.com/prisma/specs/tree/master/schema) instead of being based on GraphQL SDL. - don't expose ["a GraphQL API for your database"](https://www.prisma.io/blog/prisma-and-graphql-mfl5y2r7t49c) anymore, but only allows for _programmatic access_ via the Prisma Client API. - [don't support Prisma binding](/about/prisma/faq#does-prisma-client-support-graphql-schema-delegation-and-graphql-binding) any more. diff --git a/content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/03-upgrading-the-prisma-layer.mdx b/content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/03-upgrading-the-prisma-layer.mdx index 0a1cf1424a..3787a2a961 100644 --- a/content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/03-upgrading-the-prisma-layer.mdx +++ b/content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/03-upgrading-the-prisma-layer.mdx @@ -104,7 +104,7 @@ npx prisma ## 2. Create your Prisma 2 schema -For this guide, you'll first create a new Prisma schema using the `prisma init` command and then "fill" it with a data model using [introspection](/concepts/components/introspection). +For this guide, you'll first create a new Prisma schema using the `prisma init` command and then "fill" it with a data model using [introspection](/orm/prisma-schema/introspection). Run the following command to create your Prisma schema (note that this throws an error if you already have a folder called `prisma`): @@ -149,8 +149,8 @@ https://pris.ly/d/getting-started The command created a new folder called `prisma`, and two files: -- `prisma/schema.prisma`: Your Prisma schema file that specifies the [data source](/concepts/components/prisma-schema/data-sources), [generator](/concepts/components/prisma-schema/generators) and [data model](/concepts/components/prisma-schema/data-model) (note that the data model doesn't exist yet, it will be generated via introspection). -- `.env`: A [dotenv](https://github.com/motdotla/dotenv#readme) file to configure your database [connection URL](/reference/database-reference/connection-urls). +- `prisma/schema.prisma`: Your Prisma schema file that specifies the [data source](/orm/prisma-schema/overview/data-sources), [generator](/orm/prisma-schema/overview/generators) and [data model](/orm/prisma-schema/data-model/models) (note that the data model doesn't exist yet, it will be generated via introspection). +- `.env`: A [dotenv](https://github.com/motdotla/dotenv#readme) file to configure your database [connection URL](/orm/reference/connection-urls). Your initial Prisma schema looks as follows: @@ -176,7 +176,7 @@ With Prisma 1, you specify which language variant of Prisma Client you wanted to With Prisma 1, the database connection is configured in the Docker Compose file that's used to launch the Prisma server. The Prisma server then exposes a GraphQL endpoint (via HTTP) that proxies all database requests from the Prisma Client application code. That HTTP endpoint is specified in your `prisma.yml`. -With Prisma 2, the HTTP layer isn't exposed any more and Prisma Client 2.0 is configured to run requests "directly" against the database (that is, requests are proxied by Prisma's [query engine](/concepts/components/prisma-engines/query-engine), but there isn't an extra server any more). +With Prisma 2, the HTTP layer isn't exposed any more and Prisma Client 2.0 is configured to run requests "directly" against the database (that is, requests are proxied by Prisma's [query engine](/orm/more/under-the-hood/engines), but there isn't an extra server any more). So, as a next step you'll need to tell Prisma 2 _what_ kind of database you use (MySQL or PostgreSQL) and _where_ it is located. @@ -293,7 +293,7 @@ DATABASE_URL="mysql://root:randompassword@localhost:3306/default@default" -Learn more on the [Connection URLs](/reference/database-reference/connection-urls) page. +Learn more on the [Connection URLs](/orm/reference/connection-urls) page. ## 4. Introspect your database @@ -392,7 +392,7 @@ CREATE INDEX "_CategoryToPost_B" ON"_CategoryToPost"("B" text_ops); -Note that this data model has three [relations](/concepts/components/prisma-schema/relations): +Note that this data model has three [relations](/orm/prisma-schema/data-model/relations): - 1-1: `User` ↔ `Profile` - 1-n: `User` ↔ `Post` (maintained via the `_PostToUser` relation table) @@ -1335,7 +1335,7 @@ Congratulations, you have now upgraded your Prisma layer to Prisma 2! From here ## Bonus: Prisma Client API comparison -This section contains a high-level and side-by-side comparison of the Prisma Client APIs of Prisma 1 and Prisma 2. For more details about the new Prisma Client API, you can explore the [Prisma Client](/concepts/components/prisma-client) docs. +This section contains a high-level and side-by-side comparison of the Prisma Client APIs of Prisma 1 and Prisma 2. For more details about the new Prisma Client API, you can explore the [Prisma Client](/orm/prisma-client) docs. ### Reading single records @@ -1441,7 +1441,7 @@ await prisma.user.findMany({ -> **Note**: You can learn more about the new pagination API in the respective [release notes](https://github.com/prisma/prisma/releases/tag/2.0.0-beta.7) or the [Pagination](/concepts/components/prisma-client/pagination) page in the docs. +> **Note**: You can learn more about the new pagination API in the respective [release notes](https://github.com/prisma/prisma/releases/tag/2.0.0-beta.7) or the [Pagination](/orm/prisma-client/queries/pagination) page in the docs. ### Sorting lists diff --git a/content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/07-upgrading-a-rest-api.mdx b/content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/07-upgrading-a-rest-api.mdx index 661f254e38..4fb05e11df 100644 --- a/content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/07-upgrading-a-rest-api.mdx +++ b/content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/07-upgrading-a-rest-api.mdx @@ -124,7 +124,7 @@ app.listen(3000, () => ) ``` -Consider each occurrence of the Prisma Client instance `prisma` and replacing with the respective usage of Prisma Client 2. You can learn more in the [API Reference](/concepts/components/prisma-client). +Consider each occurrence of the Prisma Client instance `prisma` and replacing with the respective usage of Prisma Client 2. You can learn more in the [API Reference](/orm/prisma-client). ### 1.1. Adjusting the import diff --git a/content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/08-upgrade-from-mongodb-beta.mdx b/content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/08-upgrade-from-mongodb-beta.mdx index adee6ee7d8..f022c0ecc8 100644 --- a/content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/08-upgrade-from-mongodb-beta.mdx +++ b/content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/08-upgrade-from-mongodb-beta.mdx @@ -20,8 +20,8 @@ We unfortunately can't cover all possible scenarios or changes required, but thi ## Requirements - Must be running MongoDB 4.2+ as a replica set (MongoDB Atlas does this for you automatically) -- Node.js: see [system requirements](/reference/system-requirements) -- TypeScript: see [system requirements](/reference/system-requirements) +- Node.js: see [system requirements](/orm/reference/system-requirements) +- TypeScript: see [system requirements](/orm/reference/system-requirements) ## Installing Prisma 3.12.0 or later diff --git a/content/200-orm/800-more/400-comparisons/01-prisma-and-typeorm.mdx b/content/200-orm/800-more/400-comparisons/01-prisma-and-typeorm.mdx index 8ba807fa38..42170f5db9 100644 --- a/content/200-orm/800-more/400-comparisons/01-prisma-and-typeorm.mdx +++ b/content/200-orm/800-more/400-comparisons/01-prisma-and-typeorm.mdx @@ -6,7 +6,7 @@ metaDescription: 'Learn how Prisma compares to TypeORM.' -This page compares Prisma and [TypeORM](https://typeorm.io/#/). If you want to learn how to migrate from TypeORM to Prisma, check out this [guide](/guides/migrate-to-prisma/migrate-from-typeorm). +This page compares Prisma and [TypeORM](https://typeorm.io/#/). If you want to learn how to migrate from TypeORM to Prisma, check out this [guide](/orm/more/migrating-to-prisma/migrate-from-typeorm). @@ -18,13 +18,13 @@ While Prisma and TypeORM solve similar problems, they work in very different way **Prisma** is a new kind of ORM that mitigates many problems of traditional ORMs, such as bloated model instances, mixing business with storage logic, lack of type-safety or unpredictable queries caused e.g. by lazy loading. -It uses the [Prisma schema](/concepts/components/prisma-schema) to define application models in a declarative way. Prisma Migrate then allows to generate SQL migrations from the Prisma schema and executes them against the database. CRUD queries are provided by Prisma Client, a lightweight and entirely type-safe database client for Node.js and TypeScript. +It uses the [Prisma schema](/orm/prisma-schema) to define application models in a declarative way. Prisma Migrate then allows to generate SQL migrations from the Prisma schema and executes them against the database. CRUD queries are provided by Prisma Client, a lightweight and entirely type-safe database client for Node.js and TypeScript. ## API design & Level of abstraction TypeORM and Prisma operate on different levels of abstraction. TypeORM is closer to mirroring SQL in its API while Prisma Client provides a higher-level abstraction that was carefully designed with the common tasks of application developers in mind. Prisma's API design heavily leans on the idea of [making the right thing easy](https://www.jason.af/right-thing-easy-thing/). -While Prisma Client operates on a higher-level of abstraction, it strives to expose the full power of the underlying database and lets you drop down to [raw SQL](/concepts/components/prisma-client/raw-database-access) at any time if your use case requires it. +While Prisma Client operates on a higher-level of abstraction, it strives to expose the full power of the underlying database and lets you drop down to [raw SQL](/orm/prisma-client/queries/raw-database-access/raw-queries) at any time if your use case requires it. The following sections examine a few examples for how Prisma's and TypeORM's APIs differ in certain scenarios and what the rationale of Prisma's API design is in these cases. @@ -148,7 +148,7 @@ const posts = await postRepository.find({ ### Pagination -TypeORM only offers limit-offset pagination while Prisma conveniently provides dedicated APIs for both limit-offset but also cursor-based. You can learn more about both approaches in the [Pagination](/concepts/components/prisma-client/pagination) section of the docs or in the API comparison [below](#pagination-1). +TypeORM only offers limit-offset pagination while Prisma conveniently provides dedicated APIs for both limit-offset but also cursor-based. You can learn more about both approaches in the [Pagination](/orm/prisma-client/queries/pagination) section of the docs or in the API comparison [below](#pagination-1). ### Relations @@ -158,13 +158,13 @@ Working with records that are connected via foreign keys can become very complex - nested writes that enable updating/creating connected records ([docs](/concepts/components/prisma-client/relation-queries#nested-writes)) - applying filters on related records ([docs](/concepts/components/prisma-client/relation-queries#relation-filters)) - easy and type-safe querying of nested data without worrying about JOINs ([docs](/concepts/components/prisma-client/relation-queries#nested-reads)) -- creating nested TypeScript typings based on models and their relations ([docs](/concepts/components/prisma-client/advanced-type-safety)) -- intuitive modeling of relations in the data model via relation fields ([docs](/concepts/components/prisma-schema/relations)) +- creating nested TypeScript typings based on models and their relations ([docs](/orm/prisma-client/type-safety)) +- intuitive modeling of relations in the data model via relation fields ([docs](/orm/prisma-schema/data-model/relations)) - implicit handling of relation tables (also sometimes called JOIN, link, pivot or junction tables) ([docs](/concepts/components/prisma-schema/relations/many-to-many-relations#implicit-many-to-many-relations)) ### Data modeling and migrations -Prisma models are defined in the [Prisma schema](/concepts/components/prisma-schema) while TypeORM uses classes and experimental TypeScript decorators for model definitions. With the Active Record ORM pattern, TypeORM's approach often leads to complex model instances that are becoming hard to maintain as an application grows. +Prisma models are defined in the [Prisma schema](/orm/prisma-schema) while TypeORM uses classes and experimental TypeScript decorators for model definitions. With the Active Record ORM pattern, TypeORM's approach often leads to complex model instances that are becoming hard to maintain as an application grows. Prisma on the other hand generates a lightweight database client that exposes a tailored and fully type-safe API to read and write data for the models that are defined in the Prisma schema, following the DataMapper ORM pattern rather than Active Record. @@ -957,7 +957,7 @@ const users = await userRepository.find({ **Prisma** -Prisma generates many [additional filters](/concepts/components/prisma-client/filtering-and-sorting) that are commonly used in modern application development. +Prisma generates many [additional filters](/orm/prisma-client/queries/filtering-and-sorting) that are commonly used in modern application development. **TypeORM** diff --git a/content/200-orm/800-more/400-comparisons/02-prisma-and-sequelize.mdx b/content/200-orm/800-more/400-comparisons/02-prisma-and-sequelize.mdx index 009282a756..93436111f6 100644 --- a/content/200-orm/800-more/400-comparisons/02-prisma-and-sequelize.mdx +++ b/content/200-orm/800-more/400-comparisons/02-prisma-and-sequelize.mdx @@ -18,7 +18,7 @@ While Prisma and Sequelize solve similar problems, they work in very different w **Prisma** is a new kind of ORM that mitigates many problems of traditional ORMs, such as bloated model instances, mixing business with storage logic, lack of type-safety or unpredictable queries caused e.g. by lazy loading. -It uses the [Prisma schema](/concepts/components/prisma-schema) to define application models in a declarative way. Prisma Migrate then allows to generate SQL migrations from the Prisma schema and executes them against the database. CRUD queries are provided by Prisma Client, a lightweight and entirely type-safe database client for Node.js and TypeScript. +It uses the [Prisma schema](/orm/prisma-schema) to define application models in a declarative way. Prisma Migrate then allows to generate SQL migrations from the Prisma schema and executes them against the database. CRUD queries are provided by Prisma Client, a lightweight and entirely type-safe database client for Node.js and TypeScript. ## API comparison @@ -147,7 +147,7 @@ const post = await Post.findAll({ **Prisma** -Prisma generates many [additional filters](/concepts/components/prisma-client/filtering-and-sorting) that are commonly used in modern application development. +Prisma generates many [additional filters](/orm/prisma-client/queries/filtering-and-sorting) that are commonly used in modern application development. **Sequelize** diff --git a/content/200-orm/800-more/400-comparisons/03-prisma-and-mongoose.mdx b/content/200-orm/800-more/400-comparisons/03-prisma-and-mongoose.mdx index 74d65cdc13..8e447267f2 100644 --- a/content/200-orm/800-more/400-comparisons/03-prisma-and-mongoose.mdx +++ b/content/200-orm/800-more/400-comparisons/03-prisma-and-mongoose.mdx @@ -6,7 +6,7 @@ metaDescription: 'Learn how Prisma compares to Mongoose.' -This page compares the Prisma and [Mongoose](https://mongoosejs.com/docs/guide.html) APIs. If you want to learn how to migrate from Mongoose to Prisma, check out this [guide](/guides/migrate-to-prisma/migrate-from-mongoose). +This page compares the Prisma and [Mongoose](https://mongoosejs.com/docs/guide.html) APIs. If you want to learn how to migrate from Mongoose to Prisma, check out this [guide](/orm/more/migrating-to-prisma/migrate-from-mongoose). @@ -110,7 +110,7 @@ const posts = await Post.find({ **Prisma** -Prisma generates many [additional filters](/concepts/components/prisma-client/filtering-and-sorting) that are commonly used in modern application development. +Prisma generates many [additional filters](/orm/prisma-client/queries/filtering-and-sorting) that are commonly used in modern application development. **Mongoose** diff --git a/content/200-orm/800-more/450-migrating-to-prisma/01-migrate-from-typeorm.mdx b/content/200-orm/800-more/450-migrating-to-prisma/01-migrate-from-typeorm.mdx index b7b6acc37c..e8707db278 100644 --- a/content/200-orm/800-more/450-migrating-to-prisma/01-migrate-from-typeorm.mdx +++ b/content/200-orm/800-more/450-migrating-to-prisma/01-migrate-from-typeorm.mdx @@ -8,9 +8,9 @@ metaDescription: 'Learn how to migrate from TypeORM to Prisma' This guide describes how to migrate from TypeORM to Prisma. It uses an extended version of the [TypeORM Express example](https://github.com/typeorm/typescript-express-example/) as a [sample project](https://github.com/prisma/migrate-from-typeorm-to-prisma) to demonstrate the migration steps. You can find the example used for this guide on [GitHub](https://github.com/prisma/migrate-from-typeorm-to-prisma). -This migration guide uses PostgreSQL as the example database, but it equally applies to any other relational database that's [supported by Prisma](/reference/database-reference/supported-databases). +This migration guide uses PostgreSQL as the example database, but it equally applies to any other relational database that's [supported by Prisma](/orm/reference/supported-databases). -You can learn how Prisma compares to TypeORM on the [Prisma vs TypeORM](/concepts/more/comparisons/prisma-and-typeorm) page. +You can learn how Prisma compares to TypeORM on the [Prisma vs TypeORM](/orm/more/comparisons/prisma-and-typeorm) page. @@ -250,7 +250,7 @@ npm install prisma --save-dev ### 2.1. Set up Prisma -Before you can introspect your database, you need to set up your [Prisma schema](/concepts/components/prisma-schema) and connect Prisma to your database. Run the following command in your terminal to create a basic Prisma schema file: +Before you can introspect your database, you need to set up your [Prisma schema](/orm/prisma-schema) and connect Prisma to your database. Run the following command in your terminal to create a basic Prisma schema file: ```terminal copy npx prisma init @@ -335,7 +335,7 @@ datasource db { -Once that's done, you can configure your [database connection URL](/reference/database-reference/connection-urls) in the `.env` file. Here's how the database connection from TypeORM maps to the connection URL format used by Prisma: +Once that's done, you can configure your [database connection URL](/orm/reference/connection-urls) in the `.env` file. Here's how the database connection from TypeORM maps to the connection URL format used by Prisma: , , , ]}> @@ -439,7 +439,7 @@ DATABASE_URL="file:./blog-typeorm.db" ### 2.3. Introspect your database using Prisma -With your connection URL in place, you can [introspect](/concepts/components/introspection) your database to generate your Prisma models: +With your connection URL in place, you can [introspect](/orm/prisma-schema/introspection) your database to generate your Prisma models: ```terminal copy npx prisma db pull @@ -503,7 +503,7 @@ The generated Prisma models represent your database tables and are the foundatio ### 2.4. Create a baseline migration -To continue using Prisma Migrate to evolve your database schema, you will need to [baseline your database](/guides/migrate/developing-with-prisma-migrate/add-prisma-migrate-to-a-project). +To continue using Prisma Migrate to evolve your database schema, you will need to [baseline your database](/orm/prisma-migrate/getting-started). First, create a `migrations` directory and add a directory inside with your preferred name for the migration. In this example, we will use `0_init` as the migration name: diff --git a/content/200-orm/800-more/450-migrating-to-prisma/02-migrate-from-sequelize.mdx b/content/200-orm/800-more/450-migrating-to-prisma/02-migrate-from-sequelize.mdx index 00dfe9ee80..c3c6d2d423 100644 --- a/content/200-orm/800-more/450-migrating-to-prisma/02-migrate-from-sequelize.mdx +++ b/content/200-orm/800-more/450-migrating-to-prisma/02-migrate-from-sequelize.mdx @@ -8,9 +8,9 @@ metaDescription: 'Learn how to migrate from Sequelize to Prisma' This guide describes how to migrate from Sequelize to Prisma. It uses an extended version of the [Sequelize Express example](https://github.com/sequelize/express-example) as a [sample project](https://github.com/prisma/migrate-from-sequelize-to-prisma) to demonstrate the migration steps. You can find the example used for this guide on [GitHub](https://github.com/prisma/migrate-from-sequelize-to-prisma). -This migration guide uses PostgreSQL as the example database, but it equally applies to any other relational database that's [supported by Prisma](/reference/database-reference/supported-databases). +This migration guide uses PostgreSQL as the example database, but it equally applies to any other relational database that's [supported by Prisma](/orm/reference/supported-databases). -You can learn how Prisma compares to Sequelize on the [Prisma vs Sequelize](/concepts/more/comparisons/prisma-and-sequelize) page. +You can learn how Prisma compares to Sequelize on the [Prisma vs Sequelize](/orm/more/comparisons/prisma-and-sequelize) page. @@ -182,7 +182,7 @@ npm install prisma --save-dev ### 2.1. Set up Prisma -Before you can introspect your database, you need to set up your [Prisma schema](/concepts/components/prisma-schema) and connect Prisma to your database. Run the following command in your terminal to create a basic Prisma schema file: +Before you can introspect your database, you need to set up your [Prisma schema](/orm/prisma-schema) and connect Prisma to your database. Run the following command in your terminal to create a basic Prisma schema file: ```terminal copy npx prisma init @@ -267,7 +267,7 @@ datasource db { -Once that's done, you can configure your [database connection URL](/reference/database-reference/connection-urls) in the `.env` file. Here's how the database connection from Sequelize maps to the connection URL format used by Prisma: +Once that's done, you can configure your [database connection URL](/orm/reference/connection-urls) in the `.env` file. Here's how the database connection from Sequelize maps to the connection URL format used by Prisma: , , , ]}> @@ -359,7 +359,7 @@ DATABASE_URL="file:./blog-sequelize.db" ### 2.3. Introspect your database using Prisma -With your connection URL in place, you can [introspect](/concepts/components/introspection) your database to generate your Prisma models: +With your connection URL in place, you can [introspect](/orm/prisma-schema/introspection) your database to generate your Prisma models: ```terminal copy npx prisma db pull @@ -425,7 +425,7 @@ model Users { ### 2.4. Create a baseline migration -To continue using Prisma Migrate to evolve your database schema, you will need to [baseline your database](/guides/migrate/developing-with-prisma-migrate/add-prisma-migrate-to-a-project). +To continue using Prisma Migrate to evolve your database schema, you will need to [baseline your database](/orm/prisma-migrate/getting-started). First, create a `migrations` directory and add a directory inside with your preferred name for the migration. In this example, we will use `0_init` as the migration name: @@ -1068,7 +1068,7 @@ module.exports = (sequelize, DataTypes) => { ### Table name inference Sequelize infers table names from the model name. When the name of a table isn't provided Sequelize automatically pluralizes the model name and uses that as the table name using a library called [inflection](https://www.npmjs.com/package/inflection). -Prisma on the other hand maps the model name to the table name in your database [modelling your data](/concepts/components/prisma-schema/data-model). +Prisma on the other hand maps the model name to the table name in your database [modelling your data](/orm/prisma-schema/data-model/models). If you wish to change this default behaviour in Sequelize, you can either enforce the table name to be equal to the model name or provide the table name directly: ```js diff --git a/content/200-orm/800-more/450-migrating-to-prisma/03-migrate-from-mongoose.mdx b/content/200-orm/800-more/450-migrating-to-prisma/03-migrate-from-mongoose.mdx index e42486ee2c..bde39372c5 100644 --- a/content/200-orm/800-more/450-migrating-to-prisma/03-migrate-from-mongoose.mdx +++ b/content/200-orm/800-more/450-migrating-to-prisma/03-migrate-from-mongoose.mdx @@ -8,7 +8,7 @@ metaDescription: 'Learn how to migrate from Mongoose to Prisma' This guide describes how to migrate from Mongoose to Prisma. It uses an extended version of the [Mongoose Express example](https://github.com/Automattic/mongoose/tree/master/examples/express) as a [sample project](https://github.com/prisma/migrate-from-mongoose-to-prisma) to demonstrate the migration steps. You can find the example used for this guide on [GitHub](https://github.com/prisma/migrate-from-mongoose-to-prisma). -You can learn how Prisma compares to Mongoose on the [Prisma vs Mongoose](/concepts/more/comparisons/prisma-and-mongoose) page. +You can learn how Prisma compares to Mongoose on the [Prisma vs Mongoose](/orm/more/comparisons/prisma-and-mongoose) page. @@ -17,7 +17,7 @@ You can learn how Prisma compares to Mongoose on the [Prisma vs Mongoose](/conce Note that the steps for migrating from Mongoose to Prisma are always the same, no matter what kind of application or API layer you're building: 1. [Install the Prisma CLI](/reference/api-reference/command-reference#installation) -1. [Introspect your database](/concepts/components/introspection) +1. [Introspect your database](/orm/prisma-schema/introspection) 1. [Install Prisma Client](/concepts/components/prisma-client#2-installation) 1. Gradually replace your Mongoose queries with Prisma Client @@ -155,11 +155,11 @@ npm install prisma --save-dev ## Step 2. Introspect your database -Introspection is a process of inspecting the structure of a database, used in Prisma to generate a [data model](/concepts/components/prisma-schema/data-model) in your [Prisma schema](/concepts/components/prisma-schema). +Introspection is a process of inspecting the structure of a database, used in Prisma to generate a [data model](/orm/prisma-schema/data-model/models) in your [Prisma schema](/orm/prisma-schema). ### 2.1. Set up Prisma -Before you can introspect your database, you need to set up your [Prisma schema](/concepts/components/prisma-schema) and connect Prisma to your database. Run the following command in your terminal to create a basic Prisma schema file: +Before you can introspect your database, you need to set up your [Prisma schema](/orm/prisma-schema) and connect Prisma to your database. Run the following command in your terminal to create a basic Prisma schema file: ```terminal copy npx prisma init --datasource-provider mongodb @@ -188,7 +188,7 @@ generator client { -For an optimal development experience when working with Prisma, refer to [editor setup](/guides/development-environment/editor-setup) to learn about syntax highlighting, formatting, auto-completion, and many more cool features. +For an optimal development experience when working with Prisma, refer to [editor setup](/orm/more/development-environment/editor-setup) to learn about syntax highlighting, formatting, auto-completion, and many more cool features. @@ -206,7 +206,7 @@ Refer to the [MongoDB connection URL specification](https://www.mongodb.com/docs ### 2.3. Run Prisma's introspection -With your connection URL in place, you can [introspect](/concepts/components/introspection) your database to generate your Prisma models: +With your connection URL in place, you can [introspect](/orm/prisma-schema/introspection) your database to generate your Prisma models: > **Note**: MongoDB is a _schemaless_ database. To incrementally adopt Prisma in your project, ensure your database is populated with sample data. Prisma introspects a MongoDB schema by sampling data stored and inferring the schema from the data in the database. @@ -528,7 +528,7 @@ npm install @prisma/client ## Step 4. Replace your Mongoose queries with Prisma Client -In this section, we'll show a few sample queries that are being migrated from Mongoose to Prisma Client, based on the example routes from the sample REST API project. For a comprehensive overview of how the Prisma Client API differs from Mongoose, check out the [Mongoose and Prisma API comparison](/concepts/more/comparisons/prisma-and-mongoose) page. +In this section, we'll show a few sample queries that are being migrated from Mongoose to Prisma Client, based on the example routes from the sample REST API project. For a comprehensive overview of how the Prisma Client API differs from Mongoose, check out the [Mongoose and Prisma API comparison](/orm/more/comparisons/prisma-and-mongoose) page. First, to set up the `PrismaClient` instance that you'll use to send database queries from the various route handlers, create a new file named `prisma.js` in the `src` directory: @@ -1039,7 +1039,7 @@ When migrating to Prisma, mark the `versionKey` field as optional ( **?** ) in y Mongoose infers the collection names by automatically converting the model names to lowercase and plural form. -On the other hand, Prisma maps the model name to the table name in your database [modeling your data](/concepts/components/prisma-schema/data-model). +On the other hand, Prisma maps the model name to the table name in your database [modeling your data](/orm/prisma-schema/data-model/models). You can enforce the collection name in Mongoose to have the same name as the model by setting the [](https://mongoosejs.com/docs/guide.html#collection) option while creating your schema diff --git a/content/200-orm/800-more/500-development-environment/050-environment-variables/100-managing-env-files-and-setting-variables.mdx b/content/200-orm/800-more/500-development-environment/050-environment-variables/100-managing-env-files-and-setting-variables.mdx index 4826760c7d..a91480aff4 100644 --- a/content/200-orm/800-more/500-development-environment/050-environment-variables/100-managing-env-files-and-setting-variables.mdx +++ b/content/200-orm/800-more/500-development-environment/050-environment-variables/100-managing-env-files-and-setting-variables.mdx @@ -11,7 +11,7 @@ tocDepth: 3 - Do not use `.env` files and let Prisma use the system environment variables directly - Use `.env` files from a location that the Prisma CLI does not check [by default](/guides/development-environment/environment-variables#using-env-files) -- [Use multiple `.env` file](/guides/development-environment/environment-variables/using-multiple-env-files) +- [Use multiple `.env` file](/orm/more/development-environment/environment-variables/using-multiple-env-files) @@ -107,7 +107,7 @@ The [`dotenv-cli`](https://www.npmjs.com/package/dotenv-cli) and [`dotenv`](http They allow you to: -- [Use multiple `.env` files](/guides/development-environment/environment-variables/using-multiple-env-files) +- [Use multiple `.env` files](/orm/more/development-environment/environment-variables/using-multiple-env-files) - Use `.env` files from a location that the Prisma CLI does not check [by default](/guides/development-environment/environment-variables#using-env-files) ### Using dotenv-cli via command line diff --git a/content/200-orm/800-more/500-development-environment/050-environment-variables/index.mdx b/content/200-orm/800-more/500-development-environment/050-environment-variables/index.mdx index f622c24bcd..0f10e111aa 100644 --- a/content/200-orm/800-more/500-development-environment/050-environment-variables/index.mdx +++ b/content/200-orm/800-more/500-development-environment/050-environment-variables/index.mdx @@ -7,7 +7,7 @@ tocDepth: 3 -An environment variable is a key value pair of string data that is stored on your machine's local environment. Refer to our [Environment variables reference documentation](/reference/api-reference/environment-variables-reference) for specific details. +An environment variable is a key value pair of string data that is stored on your machine's local environment. Refer to our [Environment variables reference documentation](/orm/reference/environment-variables-reference) for specific details. Typically the name of the variable is uppercase, this is then followed by an equals sign then the value of the variable: @@ -27,7 +27,7 @@ Any program can read and create these environment variables. They are a cheap an Prisma always reads environment variables from the system's environment. -When you initialize Prisma in your project with `prisma init`, it creates a convenience `.env` file for you to set your [`connection url`](/reference/database-reference/connection-urls) as an environment variable. When you use Prisma CLI or Prisma Client, the `.env` file content and the variables defined in it are added to the [`process.env` object](https://nodejs.org/api/process.html#processenv), where Prisma can read it and use it. +When you initialize Prisma in your project with `prisma init`, it creates a convenience `.env` file for you to set your [`connection url`](/orm/reference/connection-urls) as an environment variable. When you use Prisma CLI or Prisma Client, the `.env` file content and the variables defined in it are added to the [`process.env` object](https://nodejs.org/api/process.html#processenv), where Prisma can read it and use it. diff --git a/content/200-orm/800-more/600-help-and-troubleshooting/050-creating-bug-reports.mdx b/content/200-orm/800-more/600-help-and-troubleshooting/050-creating-bug-reports.mdx index 4e09ee1be6..534c7aadf0 100644 --- a/content/200-orm/800-more/600-help-and-troubleshooting/050-creating-bug-reports.mdx +++ b/content/200-orm/800-more/600-help-and-troubleshooting/050-creating-bug-reports.mdx @@ -28,7 +28,7 @@ If you don't have the time to create a full reproduction of the issue, please in ### Include logging and debugging output -Please make sure to include _any_ [logging](/concepts/components/prisma-client/working-with-prismaclient/logging) and [debugging](/concepts/components/prisma-client/debugging) output in the issue that may help to identify the problem. +Please make sure to include _any_ [logging](/orm/prisma-client/setup-and-configuration/logging) and [debugging](/orm/prisma-client/debugging-and-troubleshooting/debugging) output in the issue that may help to identify the problem. **Setting the `DEBUG` env var** @@ -138,7 +138,7 @@ Default Engines Hash : 60cc71d884972ab4e897f0277c4b84383dddaf6c Studio : 0.379.0 ``` -Additionally, you can use the [`prisma debug`](/reference/api-reference/command-reference#debug) command to retrieve debugging information. The `prisma debug` command provides debugging information that compliments the output of the `prisma -v` command. The information includes [environment variables](/reference/api-reference/environment-variables-reference) used for Prisma Client, Prisma Migrate, Prisma CLI, and Prisma Studio. +Additionally, you can use the [`prisma debug`](/reference/api-reference/command-reference#debug) command to retrieve debugging information. The `prisma debug` command provides debugging information that compliments the output of the `prisma -v` command. The information includes [environment variables](/orm/reference/environment-variables-reference) used for Prisma Client, Prisma Migrate, Prisma CLI, and Prisma Studio. diff --git a/content/200-orm/800-more/600-help-and-troubleshooting/100-help-articles/200-working-with-many-to-many-relations.mdx b/content/200-orm/800-more/600-help-and-troubleshooting/100-help-articles/200-working-with-many-to-many-relations.mdx index 685f2c1572..49f5d29eb7 100644 --- a/content/200-orm/800-more/600-help-and-troubleshooting/100-help-articles/200-working-with-many-to-many-relations.mdx +++ b/content/200-orm/800-more/600-help-and-troubleshooting/100-help-articles/200-working-with-many-to-many-relations.mdx @@ -83,7 +83,7 @@ await prisma.post.update({ ### Explicit relations -Explicit relations mostly need to be created in cases where you need to store extra fields in the relation table or if you're [introspecting](/concepts/components/introspection) an existing database that already has many-to-many relations setup. This is the same schema used above but with an explicit relation table: +Explicit relations mostly need to be created in cases where you need to store extra fields in the relation table or if you're [introspecting](/orm/prisma-schema/introspection) an existing database that already has many-to-many relations setup. This is the same schema used above but with an explicit relation table: ```prisma model Post { diff --git a/content/200-orm/800-more/600-help-and-troubleshooting/100-help-articles/500-comparing-columns-through-raw-queries.mdx b/content/200-orm/800-more/600-help-and-troubleshooting/100-help-articles/500-comparing-columns-through-raw-queries.mdx index db009e82d6..4ea67ce18f 100644 --- a/content/200-orm/800-more/600-help-and-troubleshooting/100-help-articles/500-comparing-columns-through-raw-queries.mdx +++ b/content/200-orm/800-more/600-help-and-troubleshooting/100-help-articles/500-comparing-columns-through-raw-queries.mdx @@ -16,7 +16,7 @@ From version 4.3.0, you do not need to use raw queries to compare columns in the ## Workaround -Comparing values from two columns in the same table can be achieved by using [raw queries](/concepts/components/prisma-client/raw-database-access). +Comparing values from two columns in the same table can be achieved by using [raw queries](/orm/prisma-client/queries/raw-database-access/raw-queries). ### Comparing numeric values diff --git a/content/200-orm/800-more/700-releases.mdx b/content/200-orm/800-more/700-releases.mdx index 2168ae1714..80a8505de7 100644 --- a/content/200-orm/800-more/700-releases.mdx +++ b/content/200-orm/800-more/700-releases.mdx @@ -41,11 +41,11 @@ If a feature or product is a **Preview**: - There are no significant known issues, although minor bugs may exist. - We welcome feedback on these to make the solution stable as quickly as possible. -Previews are typically available behind a feature flag or require some form of opt-in (for example, by providing a `--preview-feature` flag in the CLI or [adding them to a `previewFeatures` property in the `generator` block](/concepts/components/preview-features/cli-preview-features) for Prisma Client in your Prisma schema). +Previews are typically available behind a feature flag or require some form of opt-in (for example, by providing a `--preview-feature` flag in the CLI or [adding them to a `previewFeatures` property in the `generator` block](/orm/reference/preview-features/cli-preview-features) for Prisma Client in your Prisma schema). We don't recommend using Preview features or products in production. -See also: [All currently available Preview features](/concepts/components/preview-features). +See also: [All currently available Preview features](/orm/reference/preview-features). ### Generally Available (GA) diff --git a/content/300-accelerate/200-getting-started.mdx b/content/300-accelerate/200-getting-started.mdx index ea0ac0823c..396ed5bd5d 100644 --- a/content/300-accelerate/200-getting-started.mdx +++ b/content/300-accelerate/200-getting-started.mdx @@ -15,7 +15,7 @@ toc: true To get started with Accelerate, you will need the following: - A GitHub account. -- A project that uses [Prisma Client](/concepts/components/prisma-client) `4.16.1` or higher. If your project is using interactive transactions, you need to use `5.1.1` or higher. (We always recommend using the latest version of Prisma.) +- A project that uses [Prisma Client](/orm/prisma-client) `4.16.1` or higher. If your project is using interactive transactions, you need to use `5.1.1` or higher. (We always recommend using the latest version of Prisma.) - A hosted PostgreSQL, MySQL, PlanetScale, CockroachDB, or MongoDB database. ## 1. Enable Accelerate in a Cloud Project @@ -153,7 +153,7 @@ If VS Code does not recognize the `$extends` method, refer to [this section](/da -If you are using [Prisma Middleware](/concepts/components/prisma-client/middleware) in your application, make sure they are added before any Prisma Client extensions (like Accelerate). For example: +If you are using [Prisma Middleware](/orm/prisma-client/client-extensions/middleware) in your application, make sure they are added before any Prisma Client extensions (like Accelerate). For example: ```ts const prisma = new PrismaClient().$use(middleware).$extends(withAccelerate()) diff --git a/content/300-accelerate/300-concepts.mdx b/content/300-accelerate/300-concepts.mdx index 4aeb251add..3244e71de4 100644 --- a/content/300-accelerate/300-concepts.mdx +++ b/content/300-accelerate/300-concepts.mdx @@ -107,7 +107,7 @@ Accelerate provides built-in connection pooling by default. By simply using Acce -For more information about connection pooling in Prisma, see the documentation [here](/concepts/components/prisma-client/working-with-prismaclient/connection-pool). +For more information about connection pooling in Prisma, see the documentation [here](/orm/prisma-client/setup-and-configuration/databases-connections/connection-pool). diff --git a/content/300-accelerate/500-limitations.mdx b/content/300-accelerate/500-limitations.mdx index 31818fda81..a66fac012f 100644 --- a/content/300-accelerate/500-limitations.mdx +++ b/content/300-accelerate/500-limitations.mdx @@ -26,7 +26,7 @@ Accelerate has a global response size limit of `5MB`. Reach out to [support@pris ## Cannot cache raw queries -At the moment, it is not possible to cache the responses of [raw queries](/concepts/components/prisma-client/raw-database-access). +At the moment, it is not possible to cache the responses of [raw queries](/orm/prisma-client/queries/raw-database-access/raw-queries). ## Not compatible with the fluent API diff --git a/content/400-pulse/100-what-is-pulse.mdx b/content/400-pulse/100-what-is-pulse.mdx index 5851ec864b..78d26d3030 100644 --- a/content/400-pulse/100-what-is-pulse.mdx +++ b/content/400-pulse/100-what-is-pulse.mdx @@ -8,7 +8,7 @@ toc: true -[Pulse](https://www.prisma.io/data-platform/pulse) is a managed [change data capture (CDC)](https://en.wikipedia.org/wiki/Change_data_capture) service that captures change events from your database and delivers them instantly to your applications. With Pulse, you can quickly build real-time applications in a type-safe manner using [Prisma Client](/concepts/components/prisma-client). +[Pulse](https://www.prisma.io/data-platform/pulse) is a managed [change data capture (CDC)](https://en.wikipedia.org/wiki/Change_data_capture) service that captures change events from your database and delivers them instantly to your applications. With Pulse, you can quickly build real-time applications in a type-safe manner using [Prisma Client](/orm/prisma-client). ![Pulse usage diagram.](../../doc-images/data-platform/platform/pulse/diagram.png) diff --git a/content/400-pulse/200-getting-started.mdx b/content/400-pulse/200-getting-started.mdx index 09be42f80f..be370773a0 100644 --- a/content/400-pulse/200-getting-started.mdx +++ b/content/400-pulse/200-getting-started.mdx @@ -13,7 +13,7 @@ toc: true To participate in Pulse's Early Access program, you need to meet the following prerequisites: - A GitHub account. -- A project that uses [Prisma Client](/concepts/components/prisma-client) `4.16.1` or higher. +- A project that uses [Prisma Client](/orm/prisma-client) `4.16.1` or higher. - A publicly accessible PostgreSQL database. - Ability to use the superuser account of the database instance. In the future, we will support the ability to connect to your database from Pulse with a limited access, non-superuser account. - An invitation to [Pulse's Early Access program](https://prisma-data.typeform.com/to/K3fQej6J). @@ -130,7 +130,7 @@ The following will show how you can utilize Pulse in an existing application. We ### 3.1. Install the Pulse Prisma Client extension -In a project using [Prisma Client](/concepts/components/prisma-client), run the following command to install the Pulse extension: +In a project using [Prisma Client](/orm/prisma-client), run the following command to install the Pulse extension: ```terminal npm install @prisma/extension-pulse @@ -195,6 +195,6 @@ main() -Refer to the [API Reference](/data-platform/pulse/api-reference) section for more detail on the filtering options available to the `subscribe()` method. +Refer to the [API Reference](/pulse/api-reference) section for more detail on the filtering options available to the `subscribe()` method. diff --git a/content/400-pulse/600-faq.mdx b/content/400-pulse/600-faq.mdx index 5a76e8da4e..01b73e0442 100644 --- a/content/400-pulse/600-faq.mdx +++ b/content/400-pulse/600-faq.mdx @@ -22,7 +22,7 @@ Please reach out to us on the [#pulse-feedback](https://prisma.slack.com/archive ## How does Pulse handle schema changes in the database? -Pulse is designed to work seamlessly with schema changes in your database by utilizing [Change data capture (CDC)](https://en.wikipedia.org/wiki/Change_data_capture) techniques, leveraging technologies like [Debezium](https://debezium.io/), and combining that with the power of schema-driven data access using [Prisma Client](/concepts/components/prisma-client). When your Prisma schema is updated, Pulse automatically adapts to the changes, ensuring that your real-time data synchronization remains consistent and reliable. +Pulse is designed to work seamlessly with schema changes in your database by utilizing [Change data capture (CDC)](https://en.wikipedia.org/wiki/Change_data_capture) techniques, leveraging technologies like [Debezium](https://debezium.io/), and combining that with the power of schema-driven data access using [Prisma Client](/orm/prisma-client). When your Prisma schema is updated, Pulse automatically adapts to the changes, ensuring that your real-time data synchronization remains consistent and reliable. Pulse leverages the type information generated by Prisma to create type-safe database subscriptions, allowing you to catch potential issues at compile time and maintain the integrity of your data throughout the development process. This approach allows Pulse to efficiently capture and propagate data changes while maintaining compatibility with evolving database structures. diff --git a/content/500-platform/300-platform-console/10-about.mdx b/content/500-platform/300-platform-console/10-about.mdx index 79ae6f73c2..430005b288 100644 --- a/content/500-platform/300-platform-console/10-about.mdx +++ b/content/500-platform/300-platform-console/10-about.mdx @@ -8,8 +8,8 @@ metaDescription: '' Platform Console enables you to integrate the latest Prisma Data Platform products into your application -- [Accelerate](/data-platform/accelerate/what-is-accelerate): Global database cache with scalable connection pooling -- [Pulse](/data-platform/pulse/what-is-pulse): A managed Change Data Capture (CDC) service that enables real-time database subscriptions +- [Accelerate](/accelerate/what-is-accelerate): Global database cache with scalable connection pooling +- [Pulse](/pulse/what-is-pulse): A managed Change Data Capture (CDC) service that enables real-time database subscriptions [Launch Platform Console](https://console.prisma.io) diff --git a/content/500-platform/300-platform-console/30-maturity-levels.mdx b/content/500-platform/300-platform-console/30-maturity-levels.mdx index 15ef573938..e878bf221a 100644 --- a/content/500-platform/300-platform-console/30-maturity-levels.mdx +++ b/content/500-platform/300-platform-console/30-maturity-levels.mdx @@ -8,7 +8,7 @@ metaDescription: '' Prisma releases updates to Prisma Data Platform multiple times per week, as opposed to the Prisma ORM that we release on a set schedule every few weeks. This is why we consider the lifecycle and process for maturing features in Prisma Data Platform differently. -You can [check out the releases and maturity process for the Prisma ORM](/about/prisma/releases) for further details. +You can [check out the releases and maturity process for the Prisma ORM](/orm/more/releases) for further details. diff --git a/content/500-platform/600-classic-projects/050-data-proxy/100-use-data-proxy.mdx b/content/500-platform/600-classic-projects/050-data-proxy/100-use-data-proxy.mdx index a323c983cb..d3497bddc8 100644 --- a/content/500-platform/600-classic-projects/050-data-proxy/100-use-data-proxy.mdx +++ b/content/500-platform/600-classic-projects/050-data-proxy/100-use-data-proxy.mdx @@ -160,11 +160,11 @@ You can generate and use Prisma Client for the Data Proxy in the following envir npx prisma generate --data-proxy ``` - The generated Prisma Client is a lightweight version because it excludes the local [query engine](/concepts/components/prisma-engines/query-engine) files. The Data Proxy handles the query engine logic. + The generated Prisma Client is a lightweight version because it excludes the local [query engine](/orm/more/under-the-hood/engines) files. The Data Proxy handles the query engine logic. 1. Instantiate Prisma Client in your application code. - - To use the Data Proxy with Node.js, instantiate `@prisma/client`. [Learn more](/concepts/components/prisma-client/working-with-prismaclient/generating-prisma-client). + - To use the Data Proxy with Node.js, instantiate `@prisma/client`. [Learn more](/orm/prisma-client/setup-and-configuration/generating-prisma-client). , ]}> @@ -196,7 +196,7 @@ You can generate and use Prisma Client for the Data Proxy in the following envir **Note**

- You can use `@prisma/client/edge` only with the Data Proxy. In such cases, make sure to use the `--data-proxy` flag or the `PRISMA_GENERATE_DATAPROXY=true` environment variable when you [generate Prisma Client](/concepts/components/prisma-client/working-with-prismaclient/generating-prisma-client). + You can use `@prisma/client/edge` only with the Data Proxy. In such cases, make sure to use the `--data-proxy` flag or the `PRISMA_GENERATE_DATAPROXY=true` environment variable when you [generate Prisma Client](/orm/prisma-client/setup-and-configuration/generating-prisma-client).
diff --git a/content/500-platform/600-classic-projects/050-data-proxy/500-deploy.mdx b/content/500-platform/600-classic-projects/050-data-proxy/500-deploy.mdx index a978ac78c6..99cb717daa 100644 --- a/content/500-platform/600-classic-projects/050-data-proxy/500-deploy.mdx +++ b/content/500-platform/600-classic-projects/050-data-proxy/500-deploy.mdx @@ -18,4 +18,4 @@ If you want to adapt your project manually: ## Deploy to Cloudflare Workers -You can use the Data Proxy to deploy Prisma projects to Cloudflare Workers. To learn more, see [Deploy to Cloudflare Workers guide](/guides/deployment/edge/deploy-to-cloudflare-workers). +You can use the Data Proxy to deploy Prisma projects to Cloudflare Workers. To learn more, see [Deploy to Cloudflare Workers guide](/orm/prisma-client/deployment/edge/deploy-to-cloudflare-workers). diff --git a/content/500-platform/600-classic-projects/050-data-proxy/700-prisma-cli-with-data-proxy.mdx b/content/500-platform/600-classic-projects/050-data-proxy/700-prisma-cli-with-data-proxy.mdx index 673642283f..03b623cbfb 100644 --- a/content/500-platform/600-classic-projects/050-data-proxy/700-prisma-cli-with-data-proxy.mdx +++ b/content/500-platform/600-classic-projects/050-data-proxy/700-prisma-cli-with-data-proxy.mdx @@ -7,19 +7,19 @@ tocDepth: 4 -Currently, you can only use [Prisma Client](/concepts/components/prisma-client) with the Data Proxy to _query_ your database. +Currently, you can only use [Prisma Client](/orm/prisma-client) with the Data Proxy to _query_ your database. -When using Prisma CLI, you need a direct (non-Data Proxy) database connection if you apply schema changes to your database with [Prisma Migrate](/concepts/components/prisma-migrate/get-started) or [`db push`](/concepts/components/prisma-migrate/db-push), or if you [introspect](/concepts/components/introspection) your database. See [Prisma CLI commands that require a direct database connection](#prisma-cli-commands-that-require-a-direct-database-connection). +When using Prisma CLI, you need a direct (non-Data Proxy) database connection if you apply schema changes to your database with [Prisma Migrate](/orm/prisma-migrate/getting-started) or [`db push`](/orm/prisma-migrate/workflows/prototyping-your-schema), or if you [introspect](/orm/prisma-schema/introspection) your database. See [Prisma CLI commands that require a direct database connection](#prisma-cli-commands-that-require-a-direct-database-connection). In Prisma versions 4.10.0 and later, you can [set a direct database connection URL in your Prisma schema](#set-a-direct-database-connection-url-in-your-prisma-schema). -In earlier versions, you must add an [environment variable](/guides/development-environment/environment-variables) with the direct database connection URL and overwrite the [`DATABASE_URL` environment variable](/guides/development-environment/environment-variables#example-set-the-database_url-environment-variable-in-an-env-file) when you need a direct connection. +In earlier versions, you must add an [environment variable](/orm/more/development-environment/environment-variables) with the direct database connection URL and overwrite the [`DATABASE_URL` environment variable](/guides/development-environment/environment-variables#example-set-the-database_url-environment-variable-in-an-env-file) when you need a direct connection. ## Prisma CLI commands that require a direct database connection -The following [Prisma CLI commands](/reference/api-reference/command-reference) require a direct connection: +The following [Prisma CLI commands](/orm/reference/prisma-cli-reference) require a direct connection: - `prisma db pull` - `prisma migrate deploy` diff --git a/content/500-platform/600-classic-projects/050-data-proxy/900-considerations-limitations.mdx b/content/500-platform/600-classic-projects/050-data-proxy/900-considerations-limitations.mdx index ec1d371bfe..da2a04802e 100644 --- a/content/500-platform/600-classic-projects/050-data-proxy/900-considerations-limitations.mdx +++ b/content/500-platform/600-classic-projects/050-data-proxy/900-considerations-limitations.mdx @@ -33,7 +33,7 @@ In each of the supported locations, the Data Proxy architecture includes multipl You cannot use specific Prisma CLI commands, such as `prisma migrate` and `prisma db pull` with a Data Proxy connection string. -To work around this issue, [specify a direct database connection string for each Prisma CLI command](/data-platform/classic-projects/data-proxy/prisma-cli-with-data-proxy) that you need. +To work around this issue, [specify a direct database connection string for each Prisma CLI command](/platform/classic-projects/data-proxy/prisma-cli-with-data-proxy) that you need. ### Data Proxy concurrency limits @@ -53,7 +53,7 @@ If you see `429` HTTP errors in your logs, this probably means that you hit the #### Metrics preview feature not supported -Data Proxy does not yet support Prisma Client's [Metrics](/concepts/components/prisma-client/metrics) preview feature. +Data Proxy does not yet support Prisma Client's [Metrics](/orm/prisma-client/observability-and-logging/metrics) preview feature. To use the Data Proxy, you must first remove `metrics` from the `previewFeatures` section of your `schema.prisma` file. diff --git a/content/500-platform/600-classic-projects/050-data-proxy/index.mdx b/content/500-platform/600-classic-projects/050-data-proxy/index.mdx index 8c8f35fe2c..d9795aebca 100644 --- a/content/500-platform/600-classic-projects/050-data-proxy/index.mdx +++ b/content/500-platform/600-classic-projects/050-data-proxy/index.mdx @@ -34,13 +34,13 @@ If you want us to make the Data Proxy available in a new region, you can submit In each region, the Data Proxy infrastructure has multiple clusters that enable the load balancing, high availability, and failover of database connection pooling and management. -You can use Data Proxy with [all databases that Prisma ORM supports](/reference/database-reference/supported-databases). +You can use Data Proxy with [all databases that Prisma ORM supports](/orm/reference/supported-databases). ## Connection pooling and connection management Data Proxy provides connection pooling so that your application can reuse active connections and never exhaust the maximum number of connections that your database allows. -Connection pooling with the Data Proxy utilizes orchestrated Prisma [query engine](/concepts/components/prisma-engines/query-engine) technology to open, maintain, and close connection pools. It helps applications load-balance and scale database requests based on demand. +Connection pooling with the Data Proxy utilizes orchestrated Prisma [query engine](/orm/more/under-the-hood/engines) technology to open, maintain, and close connection pools. It helps applications load-balance and scale database requests based on demand. A Data Proxy connection pool maintains active database connections and ensures that an application reuses them when new requests come in. diff --git a/content/500-platform/600-classic-projects/100-platform/200-projects/100-create.mdx b/content/500-platform/600-classic-projects/100-platform/200-projects/100-create.mdx index bd67c8cd31..eeb88f10de 100644 --- a/content/500-platform/600-classic-projects/100-platform/200-projects/100-create.mdx +++ b/content/500-platform/600-classic-projects/100-platform/200-projects/100-create.mdx @@ -7,7 +7,7 @@ tocDepth: 2 -In the Prisma Data Platform, you can create new projects with just a connection string for an available database. If your database sits behind a firewall or only allows connections from specific IPs, you can enable the use of [static IPs of the platform](../static-ips) and add them to your database allowlist. You can also select the [Data Proxy](/data-platform/classic-projects/data-proxy) region to prepare your project for connection pooling and load balancing in serverless environments. +In the Prisma Data Platform, you can create new projects with just a connection string for an available database. If your database sits behind a firewall or only allows connections from specific IPs, you can enable the use of [static IPs of the platform](../static-ips) and add them to your database allowlist. You can also select the [Data Proxy](/platform/classic-projects/data-proxy) region to prepare your project for connection pooling and load balancing in serverless environments. After you create your project, you can optionally link your Prisma schema (if you push it to a GitHub repository) so that we can keep your project in sync with its latest version. @@ -41,7 +41,7 @@ Copy the database connection string for your project. The platform uses the conn Check that the connection string meets the requirements listed below. -- Use a [Prisma ORM-supported database](/reference/database-reference/supported-databases). +- Use a [Prisma ORM-supported database](/orm/reference/supported-databases). - The connection string must include `user` and `password` - Use the connection string format below. ```code no-copy @@ -248,7 +248,7 @@ With your project created in the Prisma Data Platform, you can explore your proj - [Test and run queries with Query Console](../query-console) - [Manage schema updates with Schema Viewer](../schema-viewer) -Next, you can [develop your Prisma schema and your database models](/concepts/components/prisma-schema/data-model) further and [migrate any schema changes to your database](/concepts/components/prisma-migrate) with [`prisma migrate dev`](/reference/api-reference/command-reference#migrate-dev). +Next, you can [develop your Prisma schema and your database models](/orm/prisma-schema/data-model/models) further and [migrate any schema changes to your database](/orm/prisma-migrate) with [`prisma migrate dev`](/reference/api-reference/command-reference#migrate-dev). You can also change your project settings or add new environments if you want to isolate development activities with test databases and test branches, and select a different Data Proxy region for an environment. diff --git a/content/500-platform/600-classic-projects/100-platform/200-projects/index.mdx b/content/500-platform/600-classic-projects/100-platform/200-projects/index.mdx index ac83a4f22e..0929aa7ca3 100644 --- a/content/500-platform/600-classic-projects/100-platform/200-projects/index.mdx +++ b/content/500-platform/600-classic-projects/100-platform/200-projects/index.mdx @@ -17,7 +17,7 @@ You use projects to manage: - [members](../members) - [paid plan and billing](../billing/plans-and-quotas) -In the Prisma Data Platform, to [create projects](./create), you only need to provide the connection string for your database. You can also select a Data Proxy region for the project, and if necessary, you can configure database access from the supported [static IPs](/data-platform/classic-projects/platform/static-ips) of the platform. +In the Prisma Data Platform, to [create projects](./create), you only need to provide the connection string for your database. You can also select a Data Proxy region for the project, and if necessary, you can configure database access from the supported [static IPs](/platform/classic-projects/platform/static-ips) of the platform. For each project, you can edit the project name and URL handle, and when you no longer need a project, you can delete it. diff --git a/content/500-platform/600-classic-projects/100-platform/250-environments/100-view-all.mdx b/content/500-platform/600-classic-projects/100-platform/250-environments/100-view-all.mdx index c7121edf72..f03c1de035 100644 --- a/content/500-platform/600-classic-projects/100-platform/250-environments/100-view-all.mdx +++ b/content/500-platform/600-classic-projects/100-platform/250-environments/100-view-all.mdx @@ -7,7 +7,7 @@ tocDepth: 4 -With a project currently open, you can view all [environments](/data-platform/classic-projects/platform/environments) in the project from the **Environments** drop-down (to the right of the **Projects** drop-down in the upper left). +With a project currently open, you can view all [environments](/platform/classic-projects/platform/environments) in the project from the **Environments** drop-down (to the right of the **Projects** drop-down in the upper left). @@ -33,7 +33,7 @@ The **Environments** tab for the project shows the list of environments with the ## What's next -- [Create an environment](/data-platform/classic-projects/platform/environments/create) -- [Change the default environment](/data-platform/classic-projects/platform/environments/edit-settings/change-default-environment) -- [Edit environment settings](/data-platform/classic-projects/platform/environments/edit-settings) -- [Delete an environment](/data-platform/classic-projects/platform/environments/delete) +- [Create an environment](/platform/classic-projects/platform/environments/create) +- [Change the default environment](/platform/classic-projects/platform/environments/edit-settings/change-default-environment) +- [Edit environment settings](/platform/classic-projects/platform/environments/edit-settings) +- [Delete an environment](/platform/classic-projects/platform/environments/delete) diff --git a/content/500-platform/600-classic-projects/100-platform/250-environments/200-create.mdx b/content/500-platform/600-classic-projects/100-platform/250-environments/200-create.mdx index ff65c66939..bb9b4dcb76 100644 --- a/content/500-platform/600-classic-projects/100-platform/250-environments/200-create.mdx +++ b/content/500-platform/600-classic-projects/100-platform/250-environments/200-create.mdx @@ -78,7 +78,7 @@ If you already have schema synchronization enabled for the default Production en **Note**

- For more information, see [Static egress IP address](/data-platform/classic-projects/platform/static-ips). + For more information, see [Static egress IP address](/platform/classic-projects/platform/static-ips).
@@ -127,7 +127,7 @@ You can switch between the environments of a project from the **Environments** d /> - After you switch to a different environment, **Data Browser** and **Query Console** use the database and Data Proxy location configured for that environment. -- What **Schema Viewer** shows differs depending on whether your database is empty or contains some models. For more information, see [Manage schema updates with Schema Viewer](/data-platform/classic-projects/platform/schema-viewer). +- What **Schema Viewer** shows differs depending on whether your database is empty or contains some models. For more information, see [Manage schema updates with Schema Viewer](/platform/classic-projects/platform/schema-viewer). ## Projects with an introspected schema or with no schema diff --git a/content/500-platform/600-classic-projects/100-platform/250-environments/300-edit-settings/300-change-default-environment.mdx b/content/500-platform/600-classic-projects/100-platform/250-environments/300-edit-settings/300-change-default-environment.mdx index 96fb177634..9aac7b152f 100644 --- a/content/500-platform/600-classic-projects/100-platform/250-environments/300-edit-settings/300-change-default-environment.mdx +++ b/content/500-platform/600-classic-projects/100-platform/250-environments/300-edit-settings/300-change-default-environment.mdx @@ -7,13 +7,13 @@ tocDepth: 4 -Every Prisma Data Platform project has a default [environment](/data-platform/classic-projects/platform/environments). This default environment determines which database, Data Proxy location, and GitHub repository a person uses when they open Data Browser, Query Console, or Schema Viewer in that project. You can set any environment in a project to be the default environment. +Every Prisma Data Platform project has a default [environment](/platform/classic-projects/platform/environments). This default environment determines which database, Data Proxy location, and GitHub repository a person uses when they open Data Browser, Query Console, or Schema Viewer in that project. You can set any environment in a project to be the default environment. ## Prerequisites -You are the [Project owner](/data-platform/classic-projects/platform/members/roles-permissions) or [Admin](/data-platform/classic-projects/platform/members/roles-permissions) role for the project to change the default environment. +You are the [Project owner](/platform/classic-projects/platform/members/roles-permissions) or [Admin](/platform/classic-projects/platform/members/roles-permissions) role for the project to change the default environment. ## Steps diff --git a/content/500-platform/600-classic-projects/100-platform/250-environments/300-edit-settings/index.mdx b/content/500-platform/600-classic-projects/100-platform/250-environments/300-edit-settings/index.mdx index 405b8251ea..5d9dd7f09a 100644 --- a/content/500-platform/600-classic-projects/100-platform/250-environments/300-edit-settings/index.mdx +++ b/content/500-platform/600-classic-projects/100-platform/250-environments/300-edit-settings/index.mdx @@ -7,7 +7,7 @@ tocDepth: 4 -You can edit the following settings for any [environment](/data-platform/classic-projects/platform/environments) in a project: +You can edit the following settings for any [environment](/platform/classic-projects/platform/environments) in a project: - environment name - environment URL handle diff --git a/content/500-platform/600-classic-projects/100-platform/250-environments/400-delete.mdx b/content/500-platform/600-classic-projects/100-platform/250-environments/400-delete.mdx index 1e04dbd4db..ddc1d3555a 100644 --- a/content/500-platform/600-classic-projects/100-platform/250-environments/400-delete.mdx +++ b/content/500-platform/600-classic-projects/100-platform/250-environments/400-delete.mdx @@ -7,13 +7,13 @@ tocDepth: 4 -If you no longer need an [environment](/data-platform/classic-projects/platform/environments) in your project or want to reduce the number of environments to the quota in the Scale plan, you can delete one of the project environments. +If you no longer need an [environment](/platform/classic-projects/platform/environments) in your project or want to reduce the number of environments to the quota in the Scale plan, you can delete one of the project environments. **Important**

-You cannot delete the default environment. To delete the current default environment, you must first [make one of the other environments the default](/data-platform/classic-projects/platform/environments/edit-settings/change-default-environment). +You cannot delete the default environment. To delete the current default environment, you must first [make one of the other environments the default](/platform/classic-projects/platform/environments/edit-settings/change-default-environment).
@@ -21,7 +21,7 @@ You cannot delete the default environment. To delete the current default environ ## Prerequisites -- You must have the [Project owner](/data-platform/classic-projects/platform/members/roles-permissions) or [Admin](/data-platform/classic-projects/platform/members/roles-permissions) role for the project to delete one of its environments. +- You must have the [Project owner](/platform/classic-projects/platform/members/roles-permissions) or [Admin](/platform/classic-projects/platform/members/roles-permissions) role for the project to delete one of its environments. ## Steps diff --git a/content/500-platform/600-classic-projects/100-platform/250-environments/index.mdx b/content/500-platform/600-classic-projects/100-platform/250-environments/index.mdx index 3adf0b595b..f050cd5de7 100644 --- a/content/500-platform/600-classic-projects/100-platform/250-environments/index.mdx +++ b/content/500-platform/600-classic-projects/100-platform/250-environments/index.mdx @@ -15,7 +15,7 @@ For any project in the Prisma Data Platform, you can create multiple environment You can dedicate each environment to a different stage of your database application life-cycle, such as production, staging, development, or any others that make sense for your project. -For each new environment in a [project](/data-platform/classic-projects), you define: +For each new environment in a [project](/platform/classic-projects), you define: - A database connection string - A Data Proxy region diff --git a/content/500-platform/600-classic-projects/100-platform/400-members/100-add.mdx b/content/500-platform/600-classic-projects/100-platform/400-members/100-add.mdx index bc38ca433b..260b90b50a 100644 --- a/content/500-platform/600-classic-projects/100-platform/400-members/100-add.mdx +++ b/content/500-platform/600-classic-projects/100-platform/400-members/100-add.mdx @@ -12,8 +12,8 @@ In Prisma Data Platform, you invite team members to a project. To invite a team ## Prerequisites -- You are the [Project owner](/data-platform/classic-projects/platform/members/roles-permissions) or have the [Admin](/data-platform/classic-projects/platform/members/roles-permissions) role. -- You are the [Project owner](/data-platform/classic-projects/platform/members/roles-permissions) or have the [Admin](/data-platform/classic-projects/platform/members/roles-permissions) role. +- You are the [Project owner](/platform/classic-projects/platform/members/roles-permissions) or have the [Admin](/platform/classic-projects/platform/members/roles-permissions) role. +- You are the [Project owner](/platform/classic-projects/platform/members/roles-permissions) or have the [Admin](/platform/classic-projects/platform/members/roles-permissions) role. - The new team member must have logged in to the platform with a GitHub account. - You know the GitHub username of the new team member. - Your [project plan](/data-platform/classic-projects/platform/billing/plans-and-quotas) has available quota to add new team members. @@ -24,14 +24,14 @@ In Prisma Data Platform, you invite team members to a project. To invite a team 2. From the **Projects** drop-down in the upper-left, select **Project settings**. 3. Click **Team members**. 4. Enter the GitHub username in the box and click **Invite team member**. -5. From the **Role** drop-down menu, select a [role](/data-platform/classic-projects/platform/members/roles-permissions) for the new team member. +5. From the **Role** drop-down menu, select a [role](/platform/classic-projects/platform/members/roles-permissions) for the new team member. **Note**

- On the [Free plan](/data-platform/classic-projects/platform/billing/plans-and-quotas#strongfreestrong-plan), you can only assign the [Admin](/data-platform/classic-projects/platform/members/roles-permissions) role.

- On the [Scale plan](/data-platform/classic-projects/platform/billing/plans-and-quotas#strongscalestrong-plan), you can assign any of the [available roles](/data-platform/classic-projects/platform/members/roles-permissions). + On the [Free plan](/data-platform/classic-projects/platform/billing/plans-and-quotas#strongfreestrong-plan), you can only assign the [Admin](/platform/classic-projects/platform/members/roles-permissions) role.

+ On the [Scale plan](/data-platform/classic-projects/platform/billing/plans-and-quotas#strongscalestrong-plan), you can assign any of the [available roles](/platform/classic-projects/platform/members/roles-permissions).
@@ -45,4 +45,4 @@ In Prisma Data Platform, you invite team members to a project. To invite a team ## Result -The new team member can now see the project from the [Projects](https://cloud.prisma.io/projects) page. The team member can see and perform actions based on the granted [role](/data-platform/classic-projects/platform/members/roles-permissions). +The new team member can now see the project from the [Projects](https://cloud.prisma.io/projects) page. The team member can see and perform actions based on the granted [role](/platform/classic-projects/platform/members/roles-permissions). diff --git a/content/500-platform/600-classic-projects/100-platform/400-members/400-remove.mdx b/content/500-platform/600-classic-projects/100-platform/400-members/400-remove.mdx index cc76b7edc2..4cf003c978 100644 --- a/content/500-platform/600-classic-projects/100-platform/400-members/400-remove.mdx +++ b/content/500-platform/600-classic-projects/100-platform/400-members/400-remove.mdx @@ -12,7 +12,7 @@ You can remove a team member from a project when, for example, they leave the te ## Prerequisites -You are the [Project owner](/data-platform/classic-projects/platform/members/roles-permissions) or have the [Admin](/data-platform/classic-projects/platform/members/roles-permissions) role. +You are the [Project owner](/platform/classic-projects/platform/members/roles-permissions) or have the [Admin](/platform/classic-projects/platform/members/roles-permissions) role. ## Steps diff --git a/content/500-platform/600-classic-projects/100-platform/700-schema-viewer.mdx b/content/500-platform/600-classic-projects/100-platform/700-schema-viewer.mdx index 45be6b3396..54a3e94d0e 100644 --- a/content/500-platform/600-classic-projects/100-platform/700-schema-viewer.mdx +++ b/content/500-platform/600-classic-projects/100-platform/700-schema-viewer.mdx @@ -39,7 +39,7 @@ You can view information about: alt="Schema Viewer - overview of Prisma schema" /> -When you push a new version of Prisma schema to the relevant GitHub repository and branch, the platform detects the change and updates the schema. This keeps the contents in **Schema Viewer** up-to-date and updates the models in [**Data Browser**](/data-platform/classic-projects/platform/data-browser) and [**Query Console**](/data-platform/classic-projects/platform/query-console) so that you and your team always work with the latest models and attributes in your database. +When you push a new version of Prisma schema to the relevant GitHub repository and branch, the platform detects the change and updates the schema. This keeps the contents in **Schema Viewer** up-to-date and updates the models in [**Data Browser**](/platform/classic-projects/platform/data-browser) and [**Query Console**](/platform/classic-projects/platform/query-console) so that you and your team always work with the latest models and attributes in your database. ## Projects with an introspected schema @@ -53,7 +53,7 @@ If you do not plan to enable schema synchronization from a GitHub repository for **Important**

-You can use the **Refresh Schema** option only if you are the [Project owner](/data-platform/classic-projects/platform/members/roles-permissions) or an [Admin](/data-platform/classic-projects/platform/members/roles-permissions) on the project. +You can use the **Refresh Schema** option only if you are the [Project owner](/platform/classic-projects/platform/members/roles-permissions) or an [Admin](/platform/classic-projects/platform/members/roles-permissions) on the project.
@@ -100,7 +100,7 @@ For such projects, **Schema Viewer** does not show a schema and provides the opt alt="Schema Viewer - Projects with no models and no Prisma schema" /> -The [**Data Browser**](/data-platform/classic-projects/platform/data-browser) and [**Query Console**](/data-platform/classic-projects/platform/query-console) remain disabled until you enable schema synchronization or manually re-trigger a new introspection. +The [**Data Browser**](/platform/classic-projects/platform/data-browser) and [**Query Console**](/platform/classic-projects/platform/query-console) remain disabled until you enable schema synchronization or manually re-trigger a new introspection. ## Enable schema synchronization @@ -108,7 +108,7 @@ For projects [without a schema](#projects-without-a-schema) or [with an introspe ### Prerequisites -To enable schema synchronization from GitHub, you must be the [Project owner](/data-platform/classic-projects/platform/members/roles-permissions) or have the [Admin](/data-platform/classic-projects/platform/members/roles-permissions) role. +To enable schema synchronization from GitHub, you must be the [Project owner](/platform/classic-projects/platform/members/roles-permissions) or have the [Admin](/platform/classic-projects/platform/members/roles-permissions) role. ### Steps @@ -129,4 +129,4 @@ To enable schema synchronization from GitHub, you must be the [Project owner](/d Your Prisma schema is now linked to your current project environment. -[**Data Browser**](/data-platform/classic-projects/platform/data-browser) and [**Query Console**](/data-platform/classic-projects/platform/query-console) are now active and you and your team members can now use them. +[**Data Browser**](/platform/classic-projects/platform/data-browser) and [**Query Console**](/platform/classic-projects/platform/query-console) are now active and you and your team members can now use them. diff --git a/content/500-platform/600-classic-projects/100-platform/800-account.mdx b/content/500-platform/600-classic-projects/100-platform/800-account.mdx index 77679dfc08..57a7178fdb 100644 --- a/content/500-platform/600-classic-projects/100-platform/800-account.mdx +++ b/content/500-platform/600-classic-projects/100-platform/800-account.mdx @@ -15,7 +15,7 @@ To start using the Prisma Data Platform, you need to sign up with your GitHub ac When you first go to the [Prisma Data Platform](https://cloud.prisma.io), use **Sign in with GitHub** to sign up. -If your sign up is successful, you can start by [creating your first project](/data-platform/classic-projects/platform/projects/create). +If your sign up is successful, you can start by [creating your first project](/platform/classic-projects/platform/projects/create). -For more information, see [Relation queries](/concepts/components/prisma-client/relation-queries). +For more information, see [Relation queries](/orm/prisma-client/queries/relation-queries). -For more information, see [Relation Queries](/concepts/components/prisma-client/relation-queries). +For more information, see [Relation Queries](/orm/prisma-client/queries/relation-queries). ``` When it is obvious what the link destination is (for example if you've explained the concept in the preceding sentence), then a very concise (and maintainable) way to provide a link to further information is as follows: ```md -[Learn more](/concepts/components/prisma-client/relation-queries) +[Learn more](/orm/prisma-client/queries/relation-queries) ``` ## Specific terms @@ -248,7 +248,7 @@ Use the long form in these circumstances: It is OK to use the short form in the following circumstances. This can help with brevity and readability in the docs. -- When you discuss a `prisma` command, for example in reference material. Example: ["`db push` uses the same engine as Prisma Migrate..."](/concepts/components/prisma-migrate/db-push) +- When you discuss a `prisma` command, for example in reference material. Example: ["`db push` uses the same engine as Prisma Migrate..."](/orm/prisma-migrate/workflows/prototyping-your-schema) - When you mention a `prisma` command in a heading. [Example](/reference/api-reference/command-reference#init) ### Possessive s diff --git a/content/600-about/200-prisma-docs/20-style-guide/03-spelling-punctuation-formatting.mdx b/content/600-about/200-prisma-docs/20-style-guide/03-spelling-punctuation-formatting.mdx index 6b5e7d6aad..954c8662db 100644 --- a/content/600-about/200-prisma-docs/20-style-guide/03-spelling-punctuation-formatting.mdx +++ b/content/600-about/200-prisma-docs/20-style-guide/03-spelling-punctuation-formatting.mdx @@ -295,7 +295,7 @@ Always use `npm` commands instead of `yarn`. ### Error message reference -The [error message reference](/reference/api-reference/error-reference) is a semi-generated doc. Do not edit the list of error codes manually. Use the script to generate the error codes. +The [error message reference](/orm/reference/error-reference) is a semi-generated doc. Do not edit the list of error codes manually. Use the script to generate the error codes. When you bring the error messages into the page, remove any double quotes around them. diff --git a/content/600-about/200-prisma-docs/30-docs-components/01-mdx-examples.mdx b/content/600-about/200-prisma-docs/30-docs-components/01-mdx-examples.mdx index db0b4d4a7b..5fe47e2dd1 100644 --- a/content/600-about/200-prisma-docs/30-docs-components/01-mdx-examples.mdx +++ b/content/600-about/200-prisma-docs/30-docs-components/01-mdx-examples.mdx @@ -307,7 +307,7 @@ async function main() { Example: -Every¹ feature in your [data model](/concepts/components/prisma-schema/data-model) maps to a corresponding feature in the underlying database. +Every¹ feature in your [data model](/orm/prisma-schema/data-model/models) maps to a corresponding feature in the underlying database. @@ -713,7 +713,7 @@ Example: -To find out if Prisma is the right fit for your project, head on over to [What is Prisma](/concepts/overview/what-is-prisma) and read all about what makes Prisma, Prisma! +To find out if Prisma is the right fit for your project, head on over to [What is Prisma](/orm/overview/introduction/what-is-prisma) and read all about what makes Prisma, Prisma! @@ -722,7 +722,7 @@ Code: ``` - To find out if Prisma is the right fit for your project, head on over to [What is Prisma](/concepts/overview/what-is-prisma) and read all about what makes Prisma, Prisma! + To find out if Prisma is the right fit for your project, head on over to [What is Prisma](/orm/overview/introduction/what-is-prisma) and read all about what makes Prisma, Prisma! ``` diff --git a/content/600-about/200-prisma-docs/30-docs-components/03-frontmatter.mdx b/content/600-about/200-prisma-docs/30-docs-components/03-frontmatter.mdx index e8c15cd8da..a85ee90ca2 100644 --- a/content/600-about/200-prisma-docs/30-docs-components/03-frontmatter.mdx +++ b/content/600-about/200-prisma-docs/30-docs-components/03-frontmatter.mdx @@ -55,7 +55,7 @@ Front matter that configured the navigation. Accepts `true` or `false` (defaults to `false`). -If `true`, this option turns the page into a heading in the left-hand navigation. This heading cannot be clicked by the docs user. For example on [this page](/concepts/overview). +If `true`, this option turns the page into a heading in the left-hand navigation. This heading cannot be clicked by the docs user. For example on [this page](/orm/overview). > **Note**: The page still exists, but docs users can only navigate to it with the breadcrumb trail. We recommend that you add a [subsections](/about/prisma-docs/docs-components/mdx-examples#subsections) MDX component to the page, so that it contains useful content when a user navigates to it with the breadcrumb trail. From 8a69e49059723d69c03a739d96edc25f3dab54b3 Mon Sep 17 00:00:00 2001 From: Jan Piotrowski Date: Thu, 30 Nov 2023 14:55:12 +0100 Subject: [PATCH 020/100] hack to be able to test redirects (#5512) Co-authored-by: Nikolas Burk --- .../300-prisma-in-your-stack/01-rest.md | 2 +- .../04-is-prisma-an-orm.mdx | 4 +- .../drivers/qe-query-engine-adapter.png | Bin .../drivers/qe-query-execution-flow.png | Bin ...ing-with-composite-ids-and-constraints.mdx | 4 +- .../150-type-utilities.mdx | 2 +- ...oy-migrations-from-a-local-environment.mdx | 2 +- .../010-mental-model.mdx | 2 +- .../20-data-model/10-models.mdx | 54 +- .../03-upgrading-the-prisma-layer.mdx | 2 +- content/400-pulse/100-what-is-pulse.mdx | 2 +- content/400-pulse/300-concepts.mdx | 2 +- vercel.json | 3558 +++++++++-------- 13 files changed, 1821 insertions(+), 1813 deletions(-) rename content/200-orm/{400-tools => 050-overview/500-databases}/images/drivers/qe-query-engine-adapter.png (100%) rename content/200-orm/{400-tools => 050-overview/500-databases}/images/drivers/qe-query-execution-flow.png (100%) diff --git a/content/200-orm/050-overview/300-prisma-in-your-stack/01-rest.md b/content/200-orm/050-overview/300-prisma-in-your-stack/01-rest.md index 7872523333..d0f0341f3f 100644 --- a/content/200-orm/050-overview/300-prisma-in-your-stack/01-rest.md +++ b/content/200-orm/050-overview/300-prisma-in-your-stack/01-rest.md @@ -8,7 +8,7 @@ metaDescription: 'This page gives an overview of the most important things when When building REST APIs, Prisma Client can be used inside your _route controllers_ to send databases queries. -![REST APIs with Prisma Client](../prisma-rest-apis.png) +![REST APIs with Prisma Client](../100-introduction/prisma-rest-apis.png)
diff --git a/content/200-orm/050-overview/300-prisma-in-your-stack/04-is-prisma-an-orm.mdx b/content/200-orm/050-overview/300-prisma-in-your-stack/04-is-prisma-an-orm.mdx index 07f0063572..4680e9114e 100644 --- a/content/200-orm/050-overview/300-prisma-in-your-stack/04-is-prisma-an-orm.mdx +++ b/content/200-orm/050-overview/300-prisma-in-your-stack/04-is-prisma-an-orm.mdx @@ -61,7 +61,7 @@ In reality, not all Data Mapper ORMs adhere to this pattern strictly. For exampl Given the following `User` table in the database: -![user-table](../user-table.png) +![user-table](../100-introduction/user-table.png) This is what the corresponding entity class would look like: @@ -265,7 +265,7 @@ Here's a break down of the example above: The `User` / `Post` relation can be visualized with the following diagram: -![1-n relation between User and Post](../user-post-relation-1-n.png) +![1-n relation between User and Post](../100-introduction/user-post-relation-1-n.png) At a Prisma level, the `User` / `Post` relation is made up of: diff --git a/content/200-orm/400-tools/images/drivers/qe-query-engine-adapter.png b/content/200-orm/050-overview/500-databases/images/drivers/qe-query-engine-adapter.png similarity index 100% rename from content/200-orm/400-tools/images/drivers/qe-query-engine-adapter.png rename to content/200-orm/050-overview/500-databases/images/drivers/qe-query-engine-adapter.png diff --git a/content/200-orm/400-tools/images/drivers/qe-query-execution-flow.png b/content/200-orm/050-overview/500-databases/images/drivers/qe-query-execution-flow.png similarity index 100% rename from content/200-orm/400-tools/images/drivers/qe-query-execution-flow.png rename to content/200-orm/050-overview/500-databases/images/drivers/qe-query-execution-flow.png diff --git a/content/200-orm/100-prisma-client/200-special-fields-and-types/300-working-with-composite-ids-and-constraints.mdx b/content/200-orm/100-prisma-client/200-special-fields-and-types/300-working-with-composite-ids-and-constraints.mdx index 2ac52d4821..03ccebbbcc 100644 --- a/content/200-orm/100-prisma-client/200-special-fields-and-types/300-working-with-composite-ids-and-constraints.mdx +++ b/content/200-orm/100-prisma-client/200-special-fields-and-types/300-working-with-composite-ids-and-constraints.mdx @@ -7,7 +7,7 @@ tocDepth: 2 -Composite IDs and compound unique constraints can be defined in your Prisma schema using the [`@@id`](/reference/api-reference/prisma-schema-reference#id-1) and [`@@unique`](/reference/api-reference/prisma-schema-reference#unique-1) attributes. +Composite IDs and compound unique constraints can be defined in your Prisma schema using the [`@@id`](/reference/api-reference/prisma-schema-reference#id-1) and [`@@unique`](/reference/api-reference/prisma-schema-reference#unique-1) attributes. @@ -101,7 +101,7 @@ const like = await prisma.like.findUnique({ -Note composite ID and compound unique constraint keys are only available as filter options for _unique_ queries such as `findUnique` and `findUniqueOrThrow`. See the [section](/concepts/components/prisma-client/working-with-fields/working-with-composite-ids/#where-you-can-use-compound-ids-and-unique-identifiers) above for a list of places these fields may be used. +Note composite ID and compound unique constraint keys are only available as filter options for _unique_ queries such as `findUnique` and `findUniqueOrThrow`. See the [section](/concepts/components/prisma-client/working-with-fields/working-with-composite-ids-and-constraints#where-you-can-use-compound-ids-and-unique-identifiers) above for a list of places these fields may be used. diff --git a/content/200-orm/100-prisma-client/300-client-extensions/150-type-utilities.mdx b/content/200-orm/100-prisma-client/300-client-extensions/150-type-utilities.mdx index 61c9e6ef34..ce0f77fa73 100644 --- a/content/200-orm/100-prisma-client/300-client-extensions/150-type-utilities.mdx +++ b/content/200-orm/100-prisma-client/300-client-extensions/150-type-utilities.mdx @@ -12,7 +12,7 @@ Several type utilities exist within Prisma Client that can assist in the creatio ## Type Utilities -[Prisma Client type utilities](/concepts/components/prisma-client/advanced-type-safety/) are utilities available within your application and Prisma Client extensions and provide useful ways of constructing safe and extendable types for your extension. +[Prisma Client type utilities](/concepts/components/prisma-client/advanced-type-safety) are utilities available within your application and Prisma Client extensions and provide useful ways of constructing safe and extendable types for your extension. The type utilities available are: diff --git a/content/200-orm/100-prisma-client/500-deployment/600-deploy-migrations-from-a-local-environment.mdx b/content/200-orm/100-prisma-client/500-deployment/600-deploy-migrations-from-a-local-environment.mdx index 1a3873fc5d..9199e041a9 100644 --- a/content/200-orm/100-prisma-client/500-deployment/600-deploy-migrations-from-a-local-environment.mdx +++ b/content/200-orm/100-prisma-client/500-deployment/600-deploy-migrations-from-a-local-environment.mdx @@ -51,4 +51,4 @@ The pipeline should handle deployment to staging and production environments, an When you add Prisma Migrate to an **existing database**, you must [baseline](/orm/prisma-migrate/workflows/baselining) the production database. Baselining is performed **once**, and can be done from a local instance. -![](../../doc-images/baseline-production-from-local.png) +![](../../../doc-images/baseline-production-from-local.png) diff --git a/content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/010-mental-model.mdx b/content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/010-mental-model.mdx index 94f85aaaae..80ea599c06 100644 --- a/content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/010-mental-model.mdx +++ b/content/200-orm/200-prisma-migrate/200-understanding-prisma-migrate/010-mental-model.mdx @@ -171,7 +171,7 @@ Under the hood, the `migrate deploy` command: 1. Applies pending migrations 1. Updates `_prisma_migrations` table with the new migrations -![](../../../300-guides/025-migrate/100-developing-with-prisma-migrate/deploy-db.png) +![](/orm/prisma-migrate/workflows/deploy-db.png) The command should be run in an automated CI/ CD environment, for example GitHub Actions. diff --git a/content/200-orm/300-prisma-schema/20-data-model/10-models.mdx b/content/200-orm/300-prisma-schema/20-data-model/10-models.mdx index d7cb9aa17f..46bedddc7c 100644 --- a/content/200-orm/300-prisma-schema/20-data-model/10-models.mdx +++ b/content/200-orm/300-prisma-schema/20-data-model/10-models.mdx @@ -126,13 +126,13 @@ enum Role { The data model definition is made up of: -- [Models](#defining-models) ([`model`](/reference/api-reference/prisma-schema-reference#model) primitives) that define a number of fields, including [relations between models](#relation-fields) -- [Enums](#defining-enums) ([`enum`](/reference/api-reference/prisma-schema-reference#enum) primitives) (if your connector supports Enums) +- [Models](#defining-models) ([`model`](/reference/api-reference/prisma-schema-reference#model) primitives) that define a number of fields, including [relations between models](#relation-fields) +- [Enums](#defining-enums) ([`enum`](/reference/api-reference/prisma-schema-reference#enum) primitives) (if your connector supports Enums) - [Attributes](#defining-attributes) and [functions](#using-functions) that change the behavior of fields and models The corresponding database looks like this: -![](prisma-schema/sample-database.png) +![](../prisma-schema/sample-database.png)
A model maps to the underlying structures of the data source. @@ -257,7 +257,7 @@ There are two ways to define a data model: ## Defining models -Models represent the entities of your application domain. Models are represented by [`model`](/reference/api-reference/prisma-schema-reference#model) blocks and define a number of [fields](/reference/api-reference/prisma-schema-reference#model-fields). In the [example data model](data-model), `User`, `Profile`, `Post` and `Category` are models. +Models represent the entities of your application domain. Models are represented by [`model`](/reference/api-reference/prisma-schema-reference#model) blocks and define a number of [fields](/reference/api-reference/prisma-schema-reference#model-fields). In the [example data model](data-model), `User`, `Profile`, `Post` and `Category` are models. A blogging platform can be extended with the following models: @@ -273,7 +273,7 @@ model Tag { ### Mapping model names to tables or collections -Prisma model [naming conventions (singular form, PascalCase)](/reference/api-reference/prisma-schema-reference#naming-conventions) do not always match table names in the database. A common approach for naming tables/collections in databases is to use plural form and [snake_case](https://en.wikipedia.org/wiki/Snake_case) notation - for example: `comments`. When you introspect a database with a table named `comments`, the result Prisma model will look like this: +Prisma model [naming conventions (singular form, PascalCase)](/reference/api-reference/prisma-schema-reference#naming-conventions) do not always match table names in the database. A common approach for naming tables/collections in databases is to use plural form and [snake_case](https://en.wikipedia.org/wiki/Snake_case) notation - for example: `comments`. When you introspect a database with a table named `comments`, the result Prisma model will look like this: ```prisma model comments { @@ -281,7 +281,7 @@ model comments { } ``` -However, you can still adhere to the naming convention without renaming the underlying `comments` table in the database by using the [`@@map`](/reference/api-reference/prisma-schema-reference#map-1) attribute: +However, you can still adhere to the naming convention without renaming the underlying `comments` table in the database by using the [`@@map`](/reference/api-reference/prisma-schema-reference#map-1) attribute: ```prisma model Comment { @@ -293,7 +293,7 @@ model Comment { With this model definition, Prisma automatically maps the `Comment` model to the `comments` table in the underlying database. -> **Note**: You can also [`@map`](/reference/api-reference/prisma-schema-reference#map) a column name or enum value, and `@@map` an enum name. +> **Note**: You can also [`@map`](/reference/api-reference/prisma-schema-reference#map) a column name or enum value, and `@@map` an enum name. `@map` and `@@map` allow you to [tune the shape of your Prisma Client API](/concepts/components/prisma-client/working-with-prismaclient/use-custom-model-and-field-names#using-map-and-map-to-rename-fields-and-models-in-the-prisma-client-api) by decoupling model and field names from table and column names in the underlying database. @@ -314,14 +314,14 @@ With this model definition, Prisma automatically maps the `Comment` model to the The properties of a model are called _fields_, which consist of: -- A **[field name](/reference/api-reference/prisma-schema-reference#model-fields)** -- A **[field type](/reference/api-reference/prisma-schema-reference#model-fields)** +- A **[field name](/reference/api-reference/prisma-schema-reference#model-fields)** +- A **[field type](/reference/api-reference/prisma-schema-reference#model-fields)** - Optional **[type modifiers](#type-modifiers)** - Optional **[attributes](#defining-attributes)**, including [native database type attributes](#native-types-mapping) A field's type determines its _structure_, and fits into one of two categories: -- [Scalar types](data-model#scalar-fields) (includes [enums](data-model#defining-enums)) that map to columns (relational databases) or document fields (MongoDB) in the database - for example, [`String`](/reference/api-reference/prisma-schema-reference#string) or [`Int`](/reference/api-reference/prisma-schema-reference#int) +- [Scalar types](data-model#scalar-fields) (includes [enums](data-model#defining-enums)) that map to columns (relational databases) or document fields (MongoDB) in the database - for example, [`String`](/reference/api-reference/prisma-schema-reference#string) or [`Int`](/reference/api-reference/prisma-schema-reference#int) - Model types (the field is then called [relation field](relations#relation-fields)) - for example `Post` or `Comment[]`. The following table describes `User` model's fields from the sample schema: @@ -454,8 +454,8 @@ See [complete list of native database type attributes per scalar type and provid The type of a field can be modified by appending either of two modifiers: -- [`[]`](/reference/api-reference/prisma-schema-reference#-modifier) Make a field a list -- [`?`](/reference/api-reference/prisma-schema-reference#-modifier-1) Make a field optional +- [`[]`](/reference/api-reference/prisma-schema-reference#-modifier) Make a field a list +- [`?`](/reference/api-reference/prisma-schema-reference#-modifier-1) Make a field optional > **Note**: You **cannot** combine type modifiers - optional lists are not supported. @@ -589,13 +589,13 @@ model User { -Some attributes accept [arguments](/reference/api-reference/prisma-schema-reference#attribute-argument-types) - for example, `@default` accepts `true` or `false`: +Some attributes accept [arguments](/reference/api-reference/prisma-schema-reference#attribute-argument-types) - for example, `@default` accepts `true` or `false`: ```prisma isAdmin Boolean @default(false) // short form of @default(value: false) ``` -See [complete list of field and block attributes](/reference/api-reference/prisma-schema-reference#attributes) +See [complete list of field and block attributes](/reference/api-reference/prisma-schema-reference#attributes) ### Defining an ID field @@ -606,7 +606,7 @@ An ID uniquely identifies individual records of a model. A model can only have _ #### Defining IDs in relational databases -In relational databases, an ID can be defined by a single field using the [`@id`](/reference/api-reference/prisma-schema-reference#id) attribute, or multiple fields using the [`@@id`](/reference/api-reference/prisma-schema-reference#id-1) attribute. +In relational databases, an ID can be defined by a single field using the [`@id`](/reference/api-reference/prisma-schema-reference#id) attribute, or multiple fields using the [`@@id`](/reference/api-reference/prisma-schema-reference#id-1) attribute. ##### Single field IDs @@ -640,7 +640,7 @@ model User { By default, the name of this field in Prisma Client queries will be `firstName_lastName`. -You can also provide your own name for the composite ID using the [`@@id`](/reference/api-reference/prisma-schema-reference#id-1) attribute's `name` field: +You can also provide your own name for the composite ID using the [`@@id`](/reference/api-reference/prisma-schema-reference#id-1) attribute's `name` field: ```prisma highlight=7;normal model User { @@ -684,7 +684,7 @@ You can optionally define a [custom primary key constraint name](/concepts/compo #### Defining IDs in MongoDB -The MongoDB connector has [specific rules for defining an ID field](/reference/api-reference/prisma-schema-reference#mongodb) that differs from relational databases. An ID must be defined by a single field using the [`@id`](/reference/api-reference/prisma-schema-reference#id) attribute and must include `@map("_id")`. +The MongoDB connector has [specific rules for defining an ID field](/reference/api-reference/prisma-schema-reference#mongodb) that differs from relational databases. An ID must be defined by a single field using the [`@id`](/reference/api-reference/prisma-schema-reference#id) attribute and must include `@map("_id")`. In the following example, the `User` ID is represented by the `id` string field that accepts an auto-generated `ObjectId`: @@ -721,7 +721,7 @@ MongoDB does not support composite IDs, which means you cannot identify a model ### Defining a default value -You can define default values for scalar fields of your models using the [`@default`](/reference/api-reference/prisma-schema-reference#default) attribute: +You can define default values for scalar fields of your models using the [`@default`](/reference/api-reference/prisma-schema-reference#default) attribute: , ]}> @@ -764,18 +764,18 @@ model Post { Default values can be: - Static values that correspond to the field type, such as `5` (`Int`), `Hello` (`String`), or `false` (`Boolean`) -- [Lists](/reference/api-reference/prisma-schema-reference#-modifier) of static values, such as `[5, 6, 8]` (`Int[]`) or `["Hello", "Goodbye"]` (`String`[]). These are available in versions `4.0.0` and later, when using databases where Prisma supports them (PostgreSQL, CockroachDB and MongoDB) +- [Lists](/reference/api-reference/prisma-schema-reference#-modifier) of static values, such as `[5, 6, 8]` (`Int[]`) or `["Hello", "Goodbye"]` (`String`[]). These are available in versions `4.0.0` and later, when using databases where Prisma supports them (PostgreSQL, CockroachDB and MongoDB) - [Functions](#using-functions), such as [`now()`](/reference/api-reference/prisma-schema-reference#now) or [`uuid()`](/reference/api-reference/prisma-schema-reference#uuid) -Refer to the [attribute function reference documentation](/reference/api-reference/prisma-schema-reference#attribute-functions) for information about connector support for functions. +Refer to the [attribute function reference documentation](/reference/api-reference/prisma-schema-reference#attribute-functions) for information about connector support for functions. ### Defining a unique field -You can add unique attributes to your models to be able to uniquely identify individual records of that model. Unique attributes can be defined on a single field using [`@unique`](/reference/api-reference/prisma-schema-reference#unique) attribute, or on multiple fields (also called composite or compound unique constraints) using the [`@@unique`](/reference/api-reference/prisma-schema-reference#unique-1) attribute. +You can add unique attributes to your models to be able to uniquely identify individual records of that model. Unique attributes can be defined on a single field using [`@unique`](/reference/api-reference/prisma-schema-reference#unique) attribute, or on multiple fields (also called composite or compound unique constraints) using the [`@@unique`](/reference/api-reference/prisma-schema-reference#unique-1) attribute. In the following example, the value of the `email` field must be unique: @@ -852,7 +852,7 @@ You can optionally define a [custom unique constraint name](/concepts/components By default, the name of this field in Prisma Client queries will be `authorId_title`. -You can also provide your own name for the composite unique constraint using the [`@@unique`](/concepts/components/prisma-schema/names-in-underlying-database#constraint-and-index-names) attribute's `name` field: +You can also provide your own name for the composite unique constraint using the [`@@unique`](/concepts/components/prisma-schema/names-in-underlying-database#constraint-and-index-names) attribute's `name` field: ```prisma highlight=10;normal model Post { @@ -919,7 +919,7 @@ model User { ### Defining an index -You can define indexes on one or multiple fields of your models via the [`@@index`](/reference/api-reference/prisma-schema-reference#index) on a model. The following example defines a multi-column index based on the `title` and `content` field: +You can define indexes on one or multiple fields of your models via the [`@@index`](/reference/api-reference/prisma-schema-reference#index) on a model. The following example defines a multi-column index based on the `title` and `content` field: ```prisma model Post { @@ -985,7 +985,7 @@ You can define enums in your data model [if enums are supported for your databas Enums are considered [scalar](#scalar-fields) types in the Prisma data model. They're therefore [by default](/concepts/components/prisma-client/select-fields#return-the-default-selection-set) included as return values in [Prisma Client queries](/orm/prisma-client/queries/crud). -Enums are defined via the [`enum`](/reference/api-reference/prisma-schema-reference#enum) block. For example, a `User` has a `Role`: +Enums are defined via the [`enum`](/reference/api-reference/prisma-schema-reference#enum) block. For example, a `User` has a `Role`: , ]}> @@ -1107,9 +1107,9 @@ model Post { -[`cuid()`](/reference/api-reference/prisma-schema-reference#cuid) and [`uuid()`](/reference/api-reference/prisma-schema-reference#uuid) are implemented by Prisma and therefore are not "visible" in the underlying database schema. You can still use them when using [introspection](/orm/prisma-schema/introspection) by [manually changing your Prisma schema](/orm/prisma-client/setup-and-configuration/custom-model-and-field-names) and [generating Prisma Client](/orm/prisma-client/setup-and-configuration/generating-prisma-client), in that case the values will be generated by Prisma's [query engine](/orm/more/under-the-hood/engines) +[`cuid()`](/reference/api-reference/prisma-schema-reference#cuid) and [`uuid()`](/reference/api-reference/prisma-schema-reference#uuid) are implemented by Prisma and therefore are not "visible" in the underlying database schema. You can still use them when using [introspection](/orm/prisma-schema/introspection) by [manually changing your Prisma schema](/orm/prisma-client/setup-and-configuration/custom-model-and-field-names) and [generating Prisma Client](/orm/prisma-client/setup-and-configuration/generating-prisma-client), in that case the values will be generated by Prisma's [query engine](/orm/more/under-the-hood/engines) -Support for [`autoincrement()`](/reference/api-reference/prisma-schema-reference#autoincrement) , [`now()`](/reference/api-reference/prisma-schema-reference#now) and [`dbgenerated()`](/reference/api-reference/prisma-schema-reference#dbgenerated) differ between databases. +Support for [`autoincrement()`](/reference/api-reference/prisma-schema-reference#autoincrement) , [`now()`](/reference/api-reference/prisma-schema-reference#now) and [`dbgenerated()`](/reference/api-reference/prisma-schema-reference#dbgenerated) differ between databases. **Relational database connectors** implement `autoincrement()`, `dbgenerated()`, and `now()` at database level. The **MongoDB connector** does not support `autoincrement()` or `dbgenerated()`, and `now()` is implemented at Prisma level. The [`auto()`](/reference/api-reference/prisma-schema-reference#auto) function is used to generate an `ObjectId`. @@ -1153,7 +1153,7 @@ const allUsers = await prisma.user.findMany() Prisma Client also generates **type definitions** that reflect your model structures. These are part of the generated [`@prisma/client`](/concepts/components/prisma-client/working-with-prismaclient/generating-prisma-client#the-prismaclient-npm-package) node module. -When using TypeScript, these type definitions ensure that all your database queries are entirely type safe and validated at compile-time (even partial queries using [`select`](/reference/api-reference/prisma-client-reference#select) or [`include`](/reference/api-reference/prisma-client-reference#include) ). +When using TypeScript, these type definitions ensure that all your database queries are entirely type safe and validated at compile-time (even partial queries using [`select`](/reference/api-reference/prisma-client-reference#select) or [`include`](/reference/api-reference/prisma-client-reference#include) ). Even when using plain JavaScript, the type definitions are still included in the `@prisma/client` node module, enabling features like [IntelliSense](https://code.visualstudio.com/docs/editor/intellisense)/autocompletion in your editor. diff --git a/content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/03-upgrading-the-prisma-layer.mdx b/content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/03-upgrading-the-prisma-layer.mdx index 3787a2a961..fec03acfac 100644 --- a/content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/03-upgrading-the-prisma-layer.mdx +++ b/content/200-orm/800-more/300-upgrade-guides/800-upgrade-from-prisma-1/03-upgrading-the-prisma-layer.mdx @@ -406,7 +406,7 @@ npx prisma db pull Here's a graphical illustration for what happens when `db pull` is invoked: -![Introspect your database with Prisma](../../../doc-images/prisma-db-pull-generate-schema.png) +![Introspect your database with Prisma](../../../../doc-images/prisma-db-pull-generate-schema.png) For the above Prisma 1 datamodel, this results in the following Prisma 2 schema (note that the models have been reordered to match the initial order of the Prisma 1 datamodel): diff --git a/content/400-pulse/100-what-is-pulse.mdx b/content/400-pulse/100-what-is-pulse.mdx index 78d26d3030..97a42eb471 100644 --- a/content/400-pulse/100-what-is-pulse.mdx +++ b/content/400-pulse/100-what-is-pulse.mdx @@ -10,7 +10,7 @@ toc: true [Pulse](https://www.prisma.io/data-platform/pulse) is a managed [change data capture (CDC)](https://en.wikipedia.org/wiki/Change_data_capture) service that captures change events from your database and delivers them instantly to your applications. With Pulse, you can quickly build real-time applications in a type-safe manner using [Prisma Client](/orm/prisma-client). -![Pulse usage diagram.](../../doc-images/data-platform/platform/pulse/diagram.png) +![Pulse usage diagram.](../doc-images/data-platform/platform/pulse//diagram.png) diff --git a/content/400-pulse/300-concepts.mdx b/content/400-pulse/300-concepts.mdx index 5cefe71efd..e25a1c4843 100644 --- a/content/400-pulse/300-concepts.mdx +++ b/content/400-pulse/300-concepts.mdx @@ -12,7 +12,7 @@ toc: true [Change data capture (CDC)](https://en.wikipedia.org/wiki/Change_data_capture) is a technique used to track and capture changes in a database enabling real-time updates. It allows applications to be informed about the modifications in the database, ensuring data consistency between multiple applications. -![Pulse diagram.](../../doc-images/data-platform/platform/pulse/diagram.png) +![Pulse usage diagram.](../doc-images/data-platform/platform/pulse//diagram.png) ## Logical replication diff --git a/vercel.json b/vercel.json index 3fec0cf7d0..0b734820d3 100644 --- a/vercel.json +++ b/vercel.json @@ -40,3772 +40,3780 @@ ], "redirects": [ { - "source": "/docs/page-data/docs/:any*", - "destination": "/docs/page-data/index/:any*" + "source": "/page-data/docs/:any*", + "destination": "/page-data/index/:any*" }, { - "source": "/docs/faq/:any*", + "source": "/faq/:any*", "destination": "https://v1.prisma.io/docs/1.34/faq/:any*" }, { - "source": "/docs/-a002", + "source": "/-a002", "destination": "https://v1.prisma.io/docs/1.34/get-started/" }, { - "source": "/docs/-t002", + "source": "/-t002", "destination": "https://v1.prisma.io/docs/1.34/get-started/" }, { - "source": "/docs/-t002/", + "source": "/-t002/", "destination": "https://v1.prisma.io/docs/1.34/get-started/" }, { - "source": "/docs/prisma-admin/", + "source": "/prisma-admin/", "destination": "https://v1.prisma.io/docs/1.34/prisma-admin/" }, { - "source": "/docs/prisma-cli-and-configuration/", + "source": "/prisma-cli-and-configuration/", "destination": "https://v1.prisma.io/docs/1.34/prisma-cli-and-configuration/" }, { - "source": "/docs/prisma-client/", + "source": "/prisma-client/", "destination": "https://v1.prisma.io/docs/1.34/prisma-client/" }, { - "source": "/docs/prisma-server/", + "source": "/prisma-server/", "destination": "https://v1.prisma.io/docs/1.34/prisma-server/" }, { - "source": "/docs/quickstart/", + "source": "/quickstart/", "destination": "https://v1.prisma.io/docs/1.34/get-started/" }, { - "source": "/docs/releases-and-maintenance/", + "source": "/releases-and-maintenance/", "destination": "https://v1.prisma.io/docs/1.34/releases-and-maintenance/" }, { - "source": "/docs/datamodel-and-migrations/", + "source": "/datamodel-and-migrations/", "destination": "https://v1.prisma.io/docs/1.34/datamodel-and-migrations" }, { - "source": "/docs/get-started/01-setting-up-prisma-new-database-GO-g002/", + "source": "/get-started/01-setting-up-prisma-new-database-GO-g002/", "destination": "https://v1.prisma.io/docs/1.34/get-started" }, { - "source": "/docs/get-started/01-setting-up-prisma-new-database-JAVASCRIPT-a002/", + "source": "/get-started/01-setting-up-prisma-new-database-JAVASCRIPT-a002/", "destination": "https://v1.prisma.io/docs/1.34/get-started" }, { - "source": "/docs/get-started/01-setting-up-prisma-demo-server-a001/", + "source": "/get-started/01-setting-up-prisma-demo-server-a001/", "destination": "https://v1.prisma.io/docs/1.34/get-started/01-setting-up-prisma-demo-server-JAVASCRIPT-a001/" }, { - "source": "/docs/get-started/01-setting-up-prisma-existing-database-a003/", + "source": "/get-started/01-setting-up-prisma-existing-database-a003/", "destination": "https://v1.prisma.io/docs/1.34/get-started/01-setting-up-prisma-demo-server-JAVASCRIPT-a001/" }, { - "source": "/docs/get-started/01-setting-up-prisma-new-database-a002/", + "source": "/get-started/01-setting-up-prisma-new-database-a002/", "destination": "https://v1.prisma.io/docs/1.34/get-started/01-setting-up-prisma-new-database-JAVASCRIPT-a002/" }, { - "source": "/docs/datamodel-and-migrations/datamodel-MYSQL-knul/", + "source": "/datamodel-and-migrations/datamodel-MYSQL-knul/", "destination": "https://v1.prisma.io/docs/1.34/datamodel-and-migrations" }, { - "source": "/docs/data-model-and-migrations/introspection-mapping-to-existing-db-soi1/", + "source": "/data-model-and-migrations/introspection-mapping-to-existing-db-soi1/", "destination": "https://v1.prisma.io/docs/1.34/data-model-and-migrations/introspection-mapping-to-existing-db-soi1/" }, { - "source": "/docs/understand-prisma/how-prisma-works-under-the-hood-j8ff/", + "source": "/understand-prisma/how-prisma-works-under-the-hood-j8ff/", "destination": "https://v1.prisma.io/docs/1.34/understand-prisma/how-prisma-works-under-the-hood-j8ff/" }, { - "source": "/docs/understand-prisma/prisma-basics-datamodel-client-and-server-fgz4/", + "source": "/understand-prisma/prisma-basics-datamodel-client-and-server-fgz4/", "destination": "https://v1.prisma.io/docs/1.34/understand-prisma/prisma-basics-datamodel-client-and-server-fgz4/" }, { - "source": "/docs/understand-prisma/prisma-introduction-what-why-how-j9ff/", + "source": "/understand-prisma/prisma-introduction-what-why-how-j9ff/", "destination": "https://v1.prisma.io/docs/1.34/understand-prisma/prisma-introduction-what-why-how-j9ff/" }, { - "source": "/docs/understand-prisma/prisma-vs-traditional-orms/prisma-vs-mongoose-ys8c/", + "source": "/understand-prisma/prisma-vs-traditional-orms/prisma-vs-mongoose-ys8c/", "destination": "https://v1.prisma.io/docs/1.34/understand-prisma/prisma-vs-traditional-orms/prisma-vs-mongoose-ys8c/" }, { - "source": "/docs/understand-prisma/prisma-vs-traditional-orms/prisma-vs-sequelize-c4fk/", + "source": "/understand-prisma/prisma-vs-traditional-orms/prisma-vs-sequelize-c4fk/", "destination": "https://v1.prisma.io/docs/1.34/understand-prisma/prisma-vs-traditional-orms/prisma-vs-sequelize-c4fk/" }, { - "source": "/docs/understand-prisma/prisma-vs-traditional-orms/prisma-vs-typeorm-k9fh/", + "source": "/understand-prisma/prisma-vs-traditional-orms/prisma-vs-typeorm-k9fh/", "destination": "https://v1.prisma.io/docs/1.34/understand-prisma/prisma-vs-traditional-orms/prisma-vs-typeorm-k9fh/" }, { - "source": "/docs/prisma-client/basic-data-access/reading-data-GO-go05/", + "source": "/prisma-client/basic-data-access/reading-data-GO-go05/", "destination": "https://v1.prisma.io/docs/1.34/prisma-client/basic-data-access/reading-data-GO-go05/" }, { - "source": "/docs/prisma-client/basic-data-access/reading-data-JAVASCRIPT-rsc2/", + "source": "/prisma-client/basic-data-access/reading-data-JAVASCRIPT-rsc2/", "destination": "https://v1.prisma.io/docs/1.34/prisma-client/basic-data-access/reading-data-JAVASCRIPT-rsc2/" }, { - "source": "/docs/prisma-client/basic-data-access/reading-data-TYPESCRIPT-rsc3/", + "source": "/prisma-client/basic-data-access/reading-data-TYPESCRIPT-rsc3/", "destination": "https://v1.prisma.io/docs/1.34/prisma-client/basic-data-access/reading-data-TYPESCRIPT-rsc3/" }, { - "source": "/docs/prisma-client/basic-data-access/writing-data-GO-go08/", + "source": "/prisma-client/basic-data-access/writing-data-GO-go08/", "destination": "https://v1.prisma.io/docs/1.34/prisma-client/basic-data-access/writing-data-GO-go08/" }, { - "source": "/docs/prisma-client/basic-data-access/writing-data-JAVASCRIPT-rsc6/", + "source": "/prisma-client/basic-data-access/writing-data-JAVASCRIPT-rsc6/", "destination": "https://v1.prisma.io/docs/1.34/prisma-client/basic-data-access/writing-data-JAVASCRIPT-rsc6/" }, { - "source": "/docs/prisma-client/basic-data-access/writing-data-TYPESCRIPT-rsc7/", + "source": "/prisma-client/basic-data-access/writing-data-TYPESCRIPT-rsc7/", "destination": "https://v1.prisma.io/docs/1.34/prisma-client/basic-data-access/writing-data-TYPESCRIPT-rsc7/" }, { - "source": "/docs/prisma-client/features/check-existence-GO-go01/", + "source": "/prisma-client/features/check-existence-GO-go01/", "destination": "https://v1.prisma.io/docs/1.34/prisma-client/features/check-existence-GO-go01/" }, { - "source": "/docs/prisma-client/features/check-existence-JAVASCRIPT-pyl1/", + "source": "/prisma-client/features/check-existence-JAVASCRIPT-pyl1/", "destination": "https://v1.prisma.io/docs/1.34/prisma-client/features/check-existence-JAVASCRIPT-pyl1/" }, { - "source": "/docs/prisma-client/features/check-existence-TYPESCRIPT-pyl2/", + "source": "/prisma-client/features/check-existence-TYPESCRIPT-pyl2/", "destination": "https://v1.prisma.io/docs/1.34/prisma-client/features/check-existence-TYPESCRIPT-pyl2/" }, { - "source": "/docs/prisma-client/features/realtime-GO-go06/", + "source": "/prisma-client/features/realtime-GO-go06/", "destination": "https://v1.prisma.io/docs/1.34/prisma-client/features/realtime-GO-go06/" }, { - "source": "/docs/prisma-client/features/realtime-JAVASCRIPT-rsc8/", + "source": "/prisma-client/features/realtime-JAVASCRIPT-rsc8/", "destination": "https://v1.prisma.io/docs/1.34/prisma-client/features/realtime-JAVASCRIPT-rsc8/" }, { - "source": "/docs/prisma-client/features/realtime-TYPESCRIPT-rsc9/", + "source": "/prisma-client/features/realtime-TYPESCRIPT-rsc9/", "destination": "https://v1.prisma.io/docs/1.34/prisma-client/features/realtime-TYPESCRIPT-rsc9/" }, { - "source": "/docs/prisma-client/setup/constructor-GO-go02/", + "source": "/prisma-client/setup/constructor-GO-go02/", "destination": "https://v1.prisma.io/docs/1.34/prisma-client/setup/constructor-GO-go02/" }, { - "source": "/docs/prisma-client/setup/constructor-JAVASCRIPT-rsc4/", + "source": "/prisma-client/setup/constructor-JAVASCRIPT-rsc4/", "destination": "https://v1.prisma.io/docs/1.34/prisma-client/setup/constructor-JAVASCRIPT-rsc4/" }, { - "source": "/docs/prisma-client/setup/constructor-TYPESCRIPT-rsc5/", + "source": "/prisma-client/setup/constructor-TYPESCRIPT-rsc5/", "destination": "https://v1.prisma.io/docs/1.34/prisma-client/setup/constructor-TYPESCRIPT-rsc5/" }, { - "source": "/docs/prisma-client/setup/generating-the-client-GO-r3c3/", + "source": "/prisma-client/setup/generating-the-client-GO-r3c3/", "destination": "https://v1.prisma.io/docs/1.34/prisma-client/setup/generating-the-client-GO-r3c3/" }, { - "source": "/docs/prisma-client/setup/generating-the-client-JAVASCRIPT-rsc1/", + "source": "/prisma-client/setup/generating-the-client-JAVASCRIPT-rsc1/", "destination": "https://v1.prisma.io/docs/1.34/prisma-client/setup/generating-the-client-JAVASCRIPT-rsc1/" }, { - "source": "/docs/prisma-client/setup/generating-the-client-TYPESCRIPT-r3c2/", + "source": "/prisma-client/setup/generating-the-client-TYPESCRIPT-r3c2/", "destination": "https://v1.prisma.io/docs/1.34/prisma-client/setup/generating-the-client-TYPESCRIPT-r3c2/" }, { - "source": "/docs/run-prisma-server/database-connector-MYSQL-jgfs/", + "source": "/run-prisma-server/database-connector-MYSQL-jgfs/", "destination": "https://v1.prisma.io/docs/1.34/prisma-server/database-connector-MYSQL-jgfs/" }, { - "source": "/docs/guides/database-workflows/setting-up-a-database/postgresql", + "source": "/guides/database-workflows/setting-up-a-database/postgresql", "destination": "/dataguide/postgresql/setting-up-a-local-postgresql-database" }, { - "source": "/docs/guides/database-workflows/setting-up-a-database/mysql", + "source": "/guides/database-workflows/setting-up-a-database/mysql", "destination": "/dataguide/mysql/setting-up-a-local-mysql-database" }, { - "source": "/docs/guides/database-workflows/setting-up-a-database/sqlite", + "source": "/guides/database-workflows/setting-up-a-database/sqlite", "destination": "/dataguide/sqlite/setting-up-a-local-sqlite-database" }, { - "source": "/docs/guides/database-workflows/import-and-export-data/postgresql", + "source": "/guides/database-workflows/import-and-export-data/postgresql", "destination": "/dataguide/postgresql/inserting-and-modifying-data/importing-and-exporting-data-in-postgresql" }, { - "source": "/docs/guides/database-workflows/import-and-export-data/mysql", + "source": "/guides/database-workflows/import-and-export-data/mysql", "destination": "/dataguide/mysql/importing-and-exporting-data-in-mysql" }, { - "source": "/docs/guides/database-workflows/import-and-export-data/sqlite", + "source": "/guides/database-workflows/import-and-export-data/sqlite", "destination": "/dataguide/sqlite/importing-and-exporting-data-in-sqlite" }, { - "source": "/docs/guides/database-workflows/:any*", - "destination": "/docs/guides/general-guides/database-workflows/:any*" + "source": "/guides/database-workflows/:any*", + "destination": "/guides/general-guides/database-workflows/:any*" }, { - "source": "/docs/guides/troubleshooting", - "destination": "/docs/support/help-articles" + "source": "/guides/troubleshooting", + "destination": "/support/help-articles" }, { - "source": "/docs/guides/troubleshooting/autocompletion-in-graphql-resolvers-with-js", - "destination": "/docs/support/help-articles/autocompletion-in-graphql-resolvers-with-js" + "source": "/guides/troubleshooting/autocompletion-in-graphql-resolvers-with-js", + "destination": "/support/help-articles/autocompletion-in-graphql-resolvers-with-js" }, { - "source": "/docs/getting-started/quickstart-typescript", - "destination": "/docs/getting-started/quickstart" + "source": "/getting-started/quickstart-typescript", + "destination": "/getting-started/quickstart" }, { - "source": "/docs/getting-started/quickstart-javascript", - "destination": "/docs/getting-started/quickstart" + "source": "/getting-started/quickstart-javascript", + "destination": "/getting-started/quickstart" }, { - "source": "/docs/getting-started/quickstart-node", - "destination": "/docs/getting-started/quickstart" + "source": "/getting-started/quickstart-node", + "destination": "/getting-started/quickstart" }, { - "source": "/docs/reference/tools-and-interfaces/prisma-schema/prisma-schema-file", - "destination": "/docs/reference/tools-and-interfaces/prisma-schema" + "source": "/reference/tools-and-interfaces/prisma-schema/prisma-schema-file", + "destination": "/reference/tools-and-interfaces/prisma-schema" }, { - "source": "/docs/reference/tools-and-interfaces/prisma-client/api", - "destination": "/docs/reference/tools-and-interfaces/prisma-client" + "source": "/reference/tools-and-interfaces/prisma-client/api", + "destination": "/reference/tools-and-interfaces/prisma-client" }, { - "source": "/docs/reference/tools-and-interfaces/prisma-client/api", - "destination": "/docs/reference/tools-and-interfaces/prisma-client" + "source": "/reference/tools-and-interfaces/prisma-client/api", + "destination": "/reference/tools-and-interfaces/prisma-client" }, { - "source": "/docs/guides/upgrade-from-prisma-1/should-you-upgrade", - "destination": "/docs/guides/upgrade-from-prisma-1/how-to-upgrade" + "source": "/guides/upgrade-from-prisma-1/should-you-upgrade", + "destination": "/guides/upgrade-from-prisma-1/how-to-upgrade" }, { - "source": "/docs/reference/tools-and-interfaces/prisma-schema/models", - "destination": "/docs/reference/tools-and-interfaces/prisma-schema/data-model" + "source": "/reference/tools-and-interfaces/prisma-schema/models", + "destination": "/reference/tools-and-interfaces/prisma-schema/data-model" }, { - "source": "/docs/concepts/overview/api-comparisons/prisma-and-typeorm", - "destination": "/docs/concepts/more/comparisons/prisma-and-typeorm" + "source": "/concepts/overview/api-comparisons/prisma-and-typeorm", + "destination": "/concepts/more/comparisons/prisma-and-typeorm" }, { - "source": "/docs/concepts/overview/api-comparisons/prisma-and-sequelize", - "destination": "/docs/concepts/more/comparisons/prisma-and-sequelize" + "source": "/concepts/overview/api-comparisons/prisma-and-sequelize", + "destination": "/concepts/more/comparisons/prisma-and-sequelize" }, { - "source": "/docs/concepts/overview/api-comparisons/prisma-and-mongoose", - "destination": "/docs/concepts/more/comparisons/prisma-and-mongoose" + "source": "/concepts/overview/api-comparisons/prisma-and-mongoose", + "destination": "/concepts/more/comparisons/prisma-and-mongoose" }, { - "source": "/docs/concepts/overview/why-prisma/api-comparisons/prisma-and-typeorm", - "destination": "/docs/concepts/more/comparisons/prisma-and-typeorm" + "source": "/concepts/overview/why-prisma/api-comparisons/prisma-and-typeorm", + "destination": "/concepts/more/comparisons/prisma-and-typeorm" }, { - "source": "/docs/concepts/overview/why-prisma/api-comparisons/prisma-and-sequelize", - "destination": "/docs/concepts/more/comparisons/prisma-and-sequelize" + "source": "/concepts/overview/why-prisma/api-comparisons/prisma-and-sequelize", + "destination": "/concepts/more/comparisons/prisma-and-sequelize" }, { - "source": "/docs/concepts/overview/why-prisma/api-comparisons/prisma-and-mongoose", - "destination": "/docs/concepts/more/comparisons/prisma-and-mongoose" + "source": "/concepts/overview/why-prisma/api-comparisons/prisma-and-mongoose", + "destination": "/concepts/more/comparisons/prisma-and-mongoose" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch-sql-typescript-postgres", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-postgresql" + "source": "/getting-started/setup-prisma/start-from-scratch-sql-typescript-postgres", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch-sql-node-postgres", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases-node-postgresql" + "source": "/getting-started/setup-prisma/start-from-scratch-sql-node-postgres", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases-node-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch-sql-typescript-mysql", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-mysql" + "source": "/getting-started/setup-prisma/start-from-scratch-sql-typescript-mysql", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-mysql" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch-sql-node-mysql", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases-node-mysql" + "source": "/getting-started/setup-prisma/start-from-scratch-sql-node-mysql", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases-node-mysql" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch-prisma-migrate-typescript-postgres", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-postgresql" + "source": "/getting-started/setup-prisma/start-from-scratch-prisma-migrate-typescript-postgres", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch-prisma-migrate-node-postgres", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases-node-postgresql" + "source": "/getting-started/setup-prisma/start-from-scratch-prisma-migrate-node-postgres", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases-node-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch-prisma-migrate-typescript-mysql", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-mysql" + "source": "/getting-started/setup-prisma/start-from-scratch-prisma-migrate-typescript-mysql", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-mysql" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch-prisma-migrate-node-mysql", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases-node-mysql" + "source": "/getting-started/setup-prisma/start-from-scratch-prisma-migrate-node-mysql", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases-node-mysql" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch-typescript-postgres", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-postgresql" + "source": "/getting-started/setup-prisma/start-from-scratch-typescript-postgres", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch-node-postgres", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases-node-postgresql" + "source": "/getting-started/setup-prisma/start-from-scratch-node-postgres", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases-node-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch-typescript-mysql", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-mysql" + "source": "/getting-started/setup-prisma/start-from-scratch-typescript-mysql", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-mysql" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch-node-mysql", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases-node-mysql" + "source": "/getting-started/setup-prisma/start-from-scratch-node-mysql", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases-node-mysql" }, { - "source": "/docs/reference/tools-and-interfaces/prisma-schema/prisma-schema-file", - "destination": "/docs/reference/tools-and-interfaces/prisma-schema" + "source": "/reference/tools-and-interfaces/prisma-schema/prisma-schema-file", + "destination": "/reference/tools-and-interfaces/prisma-schema" }, { - "source": "/docs/reference/tools-and-interfaces/prisma-client/api", - "destination": "/docs/reference/tools-and-interfaces/prisma-client" + "source": "/reference/tools-and-interfaces/prisma-client/api", + "destination": "/reference/tools-and-interfaces/prisma-client" }, { - "source": "/docs/guides/upgrade-from-prisma-1/should-you-upgrade", - "destination": "/docs/guides/upgrade-from-prisma-1/how-to-upgrade" + "source": "/guides/upgrade-from-prisma-1/should-you-upgrade", + "destination": "/guides/upgrade-from-prisma-1/how-to-upgrade" }, { - "source": "/docs/reference/tools-and-interfaces/prisma-schema/models", - "destination": "/docs/reference/tools-and-interfaces/prisma-schema/data-model" + "source": "/reference/tools-and-interfaces/prisma-schema/models", + "destination": "/reference/tools-and-interfaces/prisma-schema/data-model" }, { - "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-the-prisma-layer", - "destination": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-the-prisma-layer-postgresql" + "source": "/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-the-prisma-layer", + "destination": "/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-the-prisma-layer-postgresql" }, { - "source": "/docs/concepts/components/preview-features/sql-server/sql-server-start-from-scratch", - "destination": "/docs/concepts/components/preview-features/sql-server/sql-server-start-from-scratch-typescript" + "source": "/concepts/components/preview-features/sql-server/sql-server-start-from-scratch", + "destination": "/concepts/components/preview-features/sql-server/sql-server-start-from-scratch-typescript" }, { - "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/schema-incompatibilities", - "destination": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/schema-incompatibilities-postgresql" + "source": "/guides/upgrade-guides/upgrade-from-prisma-1/schema-incompatibilities", + "destination": "/guides/upgrade-guides/upgrade-from-prisma-1/schema-incompatibilities-postgresql" }, { - "source": "/docs/guides/upgrade-from-prisma-1/how-to-upgrade", - "destination": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/how-to-upgrade" + "source": "/guides/upgrade-from-prisma-1/how-to-upgrade", + "destination": "/guides/upgrade-guides/upgrade-from-prisma-1/how-to-upgrade" }, { - "source": "/docs/guides/upgrade-from-prisma-1/schema-incompatibilities", - "destination": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/schema-incompatibilities-postgresql" + "source": "/guides/upgrade-from-prisma-1/schema-incompatibilities", + "destination": "/guides/upgrade-guides/upgrade-from-prisma-1/schema-incompatibilities-postgresql" }, { - "source": "/docs/guides/upgrade-from-prisma-1/upgrading-the-prisma-layer-postgres", - "destination": "/docs/guides/upgrade-guides/upgrade-from-prisma-1" + "source": "/guides/upgrade-from-prisma-1/upgrading-the-prisma-layer-postgres", + "destination": "/guides/upgrade-guides/upgrade-from-prisma-1" }, { - "source": "/docs/guides/upgrade-from-prisma-1/upgrading-nexus-prisma-to-nexus", - "destination": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-nexus-prisma-to-nexus" + "source": "/guides/upgrade-from-prisma-1/upgrading-nexus-prisma-to-nexus", + "destination": "/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-nexus-prisma-to-nexus" }, { - "source": "/docs/guides/upgrade-from-prisma-1/upgrading-prisma-binding-to-nexus", - "destination": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-prisma-binding-to-nexus" + "source": "/guides/upgrade-from-prisma-1/upgrading-prisma-binding-to-nexus", + "destination": "/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-prisma-binding-to-nexus" }, { - "source": "/docs/guides/upgrade-from-prisma-1/upgrading-prisma-binding-to-sdl-first", - "destination": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-prisma-binding-to-sdl-first" + "source": "/guides/upgrade-from-prisma-1/upgrading-prisma-binding-to-sdl-first", + "destination": "/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-prisma-binding-to-sdl-first" }, { - "source": "/docs/guides/upgrade-from-prisma-1/upgrading-a-rest-api", - "destination": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-a-rest-api" + "source": "/guides/upgrade-from-prisma-1/upgrading-a-rest-api", + "destination": "/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-a-rest-api" }, { - "source": "/docs/reference/tools-and-interfaces/prisma-schema/prisma-schema-reference", - "destination": "/docs/reference/api-reference/prisma-schema-reference" + "source": "/reference/tools-and-interfaces/prisma-schema/prisma-schema-reference", + "destination": "/reference/api-reference/prisma-schema-reference" }, { - "source": "/docs/reference/tools-and-interfaces/prisma-cli/command-reference", - "destination": "/docs/reference/api-reference/command-reference" + "source": "/reference/tools-and-interfaces/prisma-cli/command-reference", + "destination": "/reference/api-reference/command-reference" }, { - "source": "/docs/reference/database-connectors/database-features", - "destination": "/docs/reference/database-reference/database-features" + "source": "/reference/database-connectors/database-features", + "destination": "/reference/database-reference/database-features" }, { - "source": "/docs/reference/database-connectors/connection-urls", - "destination": "/docs/reference/database-reference/connection-urls" + "source": "/reference/database-connectors/connection-urls", + "destination": "/reference/database-reference/connection-urls" }, { - "source": "/docs/more/supported-databases", - "destination": "/docs/reference/database-reference/supported-databases" + "source": "/more/supported-databases", + "destination": "/reference/database-reference/supported-databases" }, { - "source": "/docs/reference/tools-and-interfaces/:any*", - "destination": "/docs/concepts/components/:any*" + "source": "/reference/tools-and-interfaces/:any*", + "destination": "/concepts/components/:any*" }, { - "source": "/docs/reference/database-connectors/:any*", - "destination": "/docs/concepts/database-connectors/:any*" + "source": "/reference/database-connectors/:any*", + "destination": "/concepts/database-connectors/:any*" }, { - "source": "/docs/reference/more/:any*", - "destination": "/docs/concepts/more/:any*" + "source": "/reference/more/:any*", + "destination": "/concepts/more/:any*" }, { - "source": "/docs/understand-prisma/introduction", - "destination": "/docs/concepts/overview/what-is-prisma" + "source": "/understand-prisma/introduction", + "destination": "/concepts/overview/what-is-prisma" }, { - "source": "/docs/understand-prisma/data-modeling", - "destination": "/docs/concepts/overview/what-is-prisma/data-modeling" + "source": "/understand-prisma/data-modeling", + "destination": "/concepts/overview/what-is-prisma/data-modeling" }, { - "source": "/docs/understand-prisma/:any*", - "destination": "/docs/concepts/overview/:any*" + "source": "/understand-prisma/:any*", + "destination": "/concepts/overview/:any*" }, { - "source": "/docs/understand-prisma/api-comparisons/:any*", - "destination": "/docs/concepts/overview/why-prisma/api-comparisons" + "source": "/understand-prisma/api-comparisons/:any*", + "destination": "/concepts/overview/why-prisma/api-comparisons" }, { - "source": "/docs/more/:any*", - "destination": "/docs/about/:any*" + "source": "/more/:any*", + "destination": "/about/:any*" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch-prisma-migrate", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch-typescript-postgresql" + "source": "/getting-started/setup-prisma/start-from-scratch-prisma-migrate", + "destination": "/getting-started/setup-prisma/start-from-scratch-typescript-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch-sql", - "destination": "/docs/getting-started/setup-prisma" + "source": "/getting-started/setup-prisma/start-from-scratch-sql", + "destination": "/getting-started/setup-prisma" }, { - "source": "/docs/guides/prisma-guides/prisma-migrate-guides", - "destination": "/docs/guides/prisma-guides/add-prisma-migrate-to-a-project" + "source": "/guides/prisma-guides/prisma-migrate-guides", + "destination": "/guides/prisma-guides/add-prisma-migrate-to-a-project" }, { - "source": "/docs/guides/prisma-guides/prisma-migrate-guides/add-prisma-migrate-to-a-project", - "destination": "/docs/guides/prisma-guides/add-prisma-migrate-to-a-project" + "source": "/guides/prisma-guides/prisma-migrate-guides/add-prisma-migrate-to-a-project", + "destination": "/guides/prisma-guides/add-prisma-migrate-to-a-project" }, { - "source": "/docs/concepts/components/prisma-client/distinct", - "destination": "/docs/concepts/components/prisma-client/aggregation-grouping-summarizing#select-distinct" + "source": "/concepts/components/prisma-client/distinct", + "destination": "/concepts/components/prisma-client/aggregation-grouping-summarizing#select-distinct" }, { - "source": "/docs/concepts/components/prisma-client/configuring-the-prisma-client-api", - "destination": "/docs/concepts/components/prisma-client/generating-prisma-client/customizing-the-prisma-client-api" + "source": "/concepts/components/prisma-client/configuring-the-prisma-client-api", + "destination": "/concepts/components/prisma-client/generating-prisma-client/customizing-the-prisma-client-api" }, { - "source": "/docs/concepts/components/prisma-client/constructor", - "destination": "/docs/reference/api-reference/prisma-client-reference#prismaclient" + "source": "/concepts/components/prisma-client/constructor", + "destination": "/reference/api-reference/prisma-client-reference#prismaclient" }, { - "source": "/docs/concepts/components/prisma-client/field-selection", - "destination": "/docs/concepts/components/prisma-client/select-fields" + "source": "/concepts/components/prisma-client/field-selection", + "destination": "/concepts/components/prisma-client/select-fields" }, { - "source": "/docs/concepts/components/prisma-client/error-reference", - "destination": "/docs/reference/api-reference/error-reference" + "source": "/concepts/components/prisma-client/error-reference", + "destination": "/reference/api-reference/error-reference" }, { - "source": "/docs/concepts/components/prisma-client/sorting", - "destination": "/docs/concepts/components/prisma-client/filtering-and-sorting" + "source": "/concepts/components/prisma-client/sorting", + "destination": "/concepts/components/prisma-client/filtering-and-sorting" }, { - "source": "/docs/concepts/components/prisma-client/filtering", - "destination": "/docs/concepts/components/prisma-client/filtering-and-sorting" + "source": "/concepts/components/prisma-client/filtering", + "destination": "/concepts/components/prisma-client/filtering-and-sorting" }, { - "source": "/docs/concepts/components/prisma-client/aggregations", - "destination": "/docs/concepts/components/prisma-client/aggregation-grouping-summarizing" + "source": "/concepts/components/prisma-client/aggregations", + "destination": "/concepts/components/prisma-client/aggregation-grouping-summarizing" }, { - "source": "/docs/concepts/components/prisma-client/working-with-json", - "destination": "/docs/concepts/components/prisma-client/working-with-advanced-types" + "source": "/concepts/components/prisma-client/working-with-json", + "destination": "/concepts/components/prisma-client/working-with-advanced-types" }, { - "source": "/docs/concepts/components/prisma-client/group-by", - "destination": "/docs/concepts/components/prisma-client/aggregation-grouping-summarizing#group-by-preview" + "source": "/concepts/components/prisma-client/group-by", + "destination": "/concepts/components/prisma-client/aggregation-grouping-summarizing#group-by-preview" }, { - "source": "/docs/concepts/components/prisma-client/advanced-usage-of-generated-types", - "destination": "/docs/concepts/components/prisma-client/working-with-generated-types" + "source": "/concepts/components/prisma-client/advanced-usage-of-generated-types", + "destination": "/concepts/components/prisma-client/working-with-generated-types" }, { - "source": "/docs/concepts/components/preview-features/native-types/native-types-mappings", - "destination": "/docs/reference/api-reference/prisma-schema-reference#model-field-scalar-types" + "source": "/concepts/components/preview-features/native-types/native-types-mappings", + "destination": "/reference/api-reference/prisma-schema-reference#model-field-scalar-types" }, { - "source": "/docs/concepts/components/preview-features/native-types", - "destination": "/docs/concepts/components/prisma-schema/data-model#native-types-mapping" + "source": "/concepts/components/preview-features/native-types", + "destination": "/concepts/components/prisma-schema/data-model#native-types-mapping" }, { - "source": "/docs/concepts/components/prisma-client/generating-prisma-client", - "destination": "/docs/concepts/components/prisma-client/working-with-prismaclient/generating-prisma-client" + "source": "/concepts/components/prisma-client/generating-prisma-client", + "destination": "/concepts/components/prisma-client/working-with-prismaclient/generating-prisma-client" }, { - "source": "/docs/concepts/components/prisma-client/generating-prisma-client/customizing-the-prisma-client-api", - "destination": "/docs/concepts/components/prisma-client/working-with-prismaclient/use-custom-model-and-field-names" + "source": "/concepts/components/prisma-client/generating-prisma-client/customizing-the-prisma-client-api", + "destination": "/concepts/components/prisma-client/working-with-prismaclient/use-custom-model-and-field-names" }, { - "source": "/docs/concepts/components/prisma-client/connection-management", - "destination": "/docs/concepts/components/prisma-client/working-with-prismaclient/connection-management" + "source": "/concepts/components/prisma-client/connection-management", + "destination": "/concepts/components/prisma-client/working-with-prismaclient/connection-management" }, { - "source": "/docs/concepts/components/prisma-client/logging", - "destination": "/docs/concepts/components/prisma-client/working-with-prismaclient/logging" + "source": "/concepts/components/prisma-client/logging", + "destination": "/concepts/components/prisma-client/working-with-prismaclient/logging" }, { - "source": "/docs/concepts/components/prisma-client/error-formatting", - "destination": "/docs/concepts/components/prisma-client/working-with-prismaclient/error-formatting" + "source": "/concepts/components/prisma-client/error-formatting", + "destination": "/concepts/components/prisma-client/working-with-prismaclient/error-formatting" }, { - "source": "/docs/concepts/components/prisma-client/deployment", - "destination": "/docs/guides/deployment/deployment" + "source": "/concepts/components/prisma-client/deployment", + "destination": "/guides/deployment/deployment" }, { - "source": "/docs/concepts/components/prisma-migrate/prisma-migrate-flows", - "destination": "/docs/concepts/components/prisma-migrate" + "source": "/concepts/components/prisma-migrate/prisma-migrate-flows", + "destination": "/concepts/components/prisma-migrate" }, { - "source": "/docs/guides/prisma-guides/seed-database", - "destination": "/docs/guides/application-lifecycle/seed-database" + "source": "/guides/prisma-guides/seed-database", + "destination": "/guides/application-lifecycle/seed-database" }, { - "source": "/docs/guides/prisma-guides/add-prisma-migrate-to-a-project", - "destination": "/docs/guides/database/developing-with-prisma-migrate/add-prisma-migrate-to-a-project" + "source": "/guides/prisma-guides/add-prisma-migrate-to-a-project", + "destination": "/guides/database/developing-with-prisma-migrate/add-prisma-migrate-to-a-project" }, { - "source": "/docs/about/creating-bug-reports", - "destination": "/docs/support/creating-bug-reports" + "source": "/about/creating-bug-reports", + "destination": "/support/creating-bug-reports" }, { - "source": "/docs/concepts/components/prisma-client/working-with-generated-types", - "destination": "/docs/concepts/components/prisma-client/advanced-type-safety/operating-against-partial-structures-of-model-types" + "source": "/concepts/components/prisma-client/working-with-generated-types", + "destination": "/concepts/components/prisma-client/advanced-type-safety/operating-against-partial-structures-of-model-types" }, { - "source": "/docs/reference/utility-types-reference", - "destination": "/docs/reference/api-reference/prisma-client-reference#prismavalidator" + "source": "/reference/utility-types-reference", + "destination": "/reference/api-reference/prisma-client-reference#prismavalidator" }, { - "source": "/docs/concepts/components/prisma-client/query-engine", - "destination": "/docs/concepts/components/prisma-engines/query-engine" + "source": "/concepts/components/prisma-client/query-engine", + "destination": "/concepts/components/prisma-engines/query-engine" }, { - "source": "/docs/concepts/overview/under-the-hood", - "destination": "/docs/concepts/components/prisma-engines" + "source": "/concepts/overview/under-the-hood", + "destination": "/concepts/components/prisma-engines" }, { - "source": "/docs/guides/application-lifecycle/add-prisma-migrate-to-a-project", - "destination": "/docs/guides/database/developing-with-prisma-migrate/add-prisma-migrate-to-a-project" + "source": "/guides/application-lifecycle/add-prisma-migrate-to-a-project", + "destination": "/guides/database/developing-with-prisma-migrate/add-prisma-migrate-to-a-project" }, { - "source": "/docs/guides/deployment/patching-production", - "destination": "/docs/guides/database/patching-production" + "source": "/guides/deployment/patching-production", + "destination": "/guides/database/patching-production" }, { - "source": "/docs/guides/deployment/production-troubleshooting", - "destination": "/docs/guides/database/production-troubleshooting" + "source": "/guides/deployment/production-troubleshooting", + "destination": "/guides/database/production-troubleshooting" }, { - "source": "/docs/guides/application-lifecycle/:any*", - "destination": "/docs/guides/database/:any*" + "source": "/guides/application-lifecycle/:any*", + "destination": "/guides/database/:any*" }, { - "source": "/docs/guides/deployment/deploying-to-azure-functions", - "destination": "/docs/guides/deployment/deployment-guides/deploying-to-azure-functions" + "source": "/guides/deployment/deploying-to-azure-functions", + "destination": "/guides/deployment/deployment-guides/deploying-to-azure-functions" }, { - "source": "/docs/guides/deployment/deploying-to-heroku", - "destination": "/docs/guides/deployment/deployment-guides/deploying-to-heroku" + "source": "/guides/deployment/deploying-to-heroku", + "destination": "/guides/deployment/deployment-guides/deploying-to-heroku" }, { - "source": "/docs/guides/deployment/deploying-to-vercel", - "destination": "/docs/guides/deployment/deployment-guides/deploying-to-vercel" + "source": "/guides/deployment/deploying-to-vercel", + "destination": "/guides/deployment/deployment-guides/deploying-to-vercel" }, { - "source": "/docs/guides/deployment/deploying-to-aws-lambda", - "destination": "/docs/guides/deployment/deployment-guides/deploying-to-aws-lambda" + "source": "/guides/deployment/deploying-to-aws-lambda", + "destination": "/guides/deployment/deployment-guides/deploying-to-aws-lambda" }, { - "source": "/docs/guides/deployment/deploying-to-netlify", - "destination": "/docs/guides/deployment/deployment-guides/deploying-to-netlify" + "source": "/guides/deployment/deploying-to-netlify", + "destination": "/guides/deployment/deployment-guides/deploying-to-netlify" }, { - "source": "/docs/guides/general-guides/database-workflows/cascading-deletes/:any*", - "destination": "/docs/concepts/components/prisma-schema/relations/referential-actions" + "source": "/guides/general-guides/database-workflows/cascading-deletes/:any*", + "destination": "/concepts/components/prisma-schema/relations/referential-actions" }, { - "source": "/docs/guides/database/advanced-database-tasks/cascading-deletes/:any*", - "destination": "/docs/concepts/components/prisma-schema/relations/referential-actions" + "source": "/guides/database/advanced-database-tasks/cascading-deletes/:any*", + "destination": "/concepts/components/prisma-schema/relations/referential-actions" }, { - "source": "/docs/guides/general-guides/database-workflows/data-validation/:any*", - "destination": "/docs/guides/database/advanced-database-tasks/data-validation/:any*" + "source": "/guides/general-guides/database-workflows/data-validation/:any*", + "destination": "/guides/database/advanced-database-tasks/data-validation/:any*" }, { - "source": "/docs/guides/general-guides/database-workflows/sql-views", + "source": "/guides/general-guides/database-workflows/sql-views", "destination": "https://github.com/prisma/prisma/issues/678" }, { - "source": "/docs/guides/general-guides/database-workflows/sql-views-postgres", + "source": "/guides/general-guides/database-workflows/sql-views-postgres", "destination": "https://github.com/prisma/prisma/issues/678" }, { - "source": "/docs/guides/database/advanced-database-tasks/sql-views-postgres", + "source": "/guides/database/advanced-database-tasks/sql-views-postgres", "destination": "https://github.com/prisma/prisma/issues/678" }, { - "source": "/docs/guides/general-guides/database-workflows/sql-views-mysql", + "source": "/guides/general-guides/database-workflows/sql-views-mysql", "destination": "https://github.com/prisma/prisma/issues/678" }, { - "source": "/docs/guides/database/advanced-database-tasks/sql-views-mysql", + "source": "/guides/database/advanced-database-tasks/sql-views-mysql", "destination": "https://github.com/prisma/prisma/issues/678" }, { - "source": "/docs/guides/general-guides/database-workflows/unique-constraints-and-indexes", - "destination": "/docs/concepts/components/prisma-schema/data-model#defining-a-unique-field" + "source": "/guides/general-guides/database-workflows/unique-constraints-and-indexes", + "destination": "/concepts/components/prisma-schema/data-model#defining-a-unique-field" }, { - "source": "/docs/guides/general-guides/database-workflows/unique-constraints-and-indexes/mysql", - "destination": "/docs/concepts/components/prisma-schema/data-model#defining-a-unique-field" + "source": "/guides/general-guides/database-workflows/unique-constraints-and-indexes/mysql", + "destination": "/concepts/components/prisma-schema/data-model#defining-a-unique-field" }, { - "source": "/docs/guides/database/advanced-database-tasks/unique-constraints-and-indexes/postgresql", - "destination": "/docs/concepts/components/prisma-schema/data-model#defining-a-unique-field" + "source": "/guides/database/advanced-database-tasks/unique-constraints-and-indexes/postgresql", + "destination": "/concepts/components/prisma-schema/data-model#defining-a-unique-field" }, { - "source": "/docs/guides/general-guides/database-workflows/unique-constraints-and-indexes/sqlite", - "destination": "/docs/concepts/components/prisma-schema/data-model#defining-a-unique-field" + "source": "/guides/general-guides/database-workflows/unique-constraints-and-indexes/sqlite", + "destination": "/concepts/components/prisma-schema/data-model#defining-a-unique-field" }, { - "source": "/docs/guides/general-guides/database-workflows/foreign-keys", - "destination": "/docs/concepts/components/prisma-schema/relations#relational-databases" + "source": "/guides/general-guides/database-workflows/foreign-keys", + "destination": "/concepts/components/prisma-schema/relations#relational-databases" }, { - "source": "/docs/guides/general-guides/database-workflows/foreign-keys/mysql", - "destination": "/docs/concepts/components/prisma-schema/relations#relational-databases" + "source": "/guides/general-guides/database-workflows/foreign-keys/mysql", + "destination": "/concepts/components/prisma-schema/relations#relational-databases" }, { - "source": "/docs/guides/general-guides/database-workflows/foreign-keys/postgresql", - "destination": "/docs/concepts/components/prisma-schema/relations#relational-databases" + "source": "/guides/general-guides/database-workflows/foreign-keys/postgresql", + "destination": "/concepts/components/prisma-schema/relations#relational-databases" }, { - "source": "/docs/guides/general-guides/database-workflows/foreign-keys/sqlite", - "destination": "/docs/concepts/components/prisma-schema/relations#relational-databases" + "source": "/guides/general-guides/database-workflows/foreign-keys/sqlite", + "destination": "/concepts/components/prisma-schema/relations#relational-databases" }, { - "source": "/docs/guides/prisma-guides/:any*", - "destination": "/docs/guides/performance-and-optimization/:any*" + "source": "/guides/prisma-guides/:any*", + "destination": "/guides/performance-and-optimization/:any*" }, { - "source": "/docs/mongodb", - "destination": "/docs/concepts/database-connectors/mongodb" + "source": "/mongodb", + "destination": "/concepts/database-connectors/mongodb" }, { - "source": "/docs/guides/database/developing-with-prisma-migrate/advanced-migrate-scenarios", - "destination": "/docs/guides/database/developing-with-prisma-migrate/customizing-migrations" + "source": "/guides/database/developing-with-prisma-migrate/advanced-migrate-scenarios", + "destination": "/guides/database/developing-with-prisma-migrate/customizing-migrations" }, { - "source": "/docs/concepts/components/prisma-migrate/type-mapping", - "destination": "/docs/concepts/components/prisma-migrate/supported-types-and-db-features" + "source": "/concepts/components/prisma-migrate/type-mapping", + "destination": "/concepts/components/prisma-migrate/supported-types-and-db-features" }, { - "source": "/docs/concepts/components/prisma-client/working-with-advanced-types", - "destination": "/docs/concepts/components/prisma-client/working-with-fields" + "source": "/concepts/components/prisma-client/working-with-advanced-types", + "destination": "/concepts/components/prisma-client/working-with-fields" }, { - "source": "/docs/concepts/more/codemod", - "destination": "/docs/guides/upgrade-guides/upgrading-versions/codemods" + "source": "/concepts/more/codemod", + "destination": "/guides/upgrade-guides/upgrading-versions/codemods" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch-typescript-postgres", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-postgresql" + "source": "/getting-started/setup-prisma/start-from-scratch-typescript-postgres", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/add-to-existing-project-typescript-postgres", - "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases-typescript-postgresql" + "source": "/getting-started/setup-prisma/add-to-existing-project-typescript-postgres", + "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases-typescript-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch/connect-your-database-typescript-postgres", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/connect-your-database-typescript-postgresql" + "source": "/getting-started/setup-prisma/start-from-scratch/connect-your-database-typescript-postgres", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/connect-your-database-typescript-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch/using-prisma-migrate-typescript-postgres", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/using-prisma-migrate-typescript-postgresql" + "source": "/getting-started/setup-prisma/start-from-scratch/using-prisma-migrate-typescript-postgres", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/using-prisma-migrate-typescript-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch/install-prisma-client-typescript-postgres", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/install-prisma-client-typescript-postgresql" + "source": "/getting-started/setup-prisma/start-from-scratch/install-prisma-client-typescript-postgres", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/install-prisma-client-typescript-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch/querying-the-database-typescript-postgres", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/querying-the-database-typescript-postgresql" + "source": "/getting-started/setup-prisma/start-from-scratch/querying-the-database-typescript-postgres", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/querying-the-database-typescript-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch/next-steps-typescript-postgres", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/next-steps-typescript-postgresql" + "source": "/getting-started/setup-prisma/start-from-scratch/next-steps-typescript-postgres", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/next-steps-typescript-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/add-to-existing-project/connect-your-database-typescript-postgres", - "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/connect-your-database-typescript-postgresql" + "source": "/getting-started/setup-prisma/add-to-existing-project/connect-your-database-typescript-postgres", + "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/connect-your-database-typescript-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/add-to-existing-project/introspection-typescript-postgres", - "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/introspection-typescript-postgresql" + "source": "/getting-started/setup-prisma/add-to-existing-project/introspection-typescript-postgres", + "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/introspection-typescript-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/add-to-existing-project/install-prisma-client-typescript-postgres", - "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/install-prisma-client-typescript-postgresql" + "source": "/getting-started/setup-prisma/add-to-existing-project/install-prisma-client-typescript-postgres", + "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/install-prisma-client-typescript-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/add-to-existing-project/querying-the-database-typescript-postgres", - "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/querying-the-database-typescript-postgresql" + "source": "/getting-started/setup-prisma/add-to-existing-project/querying-the-database-typescript-postgres", + "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/querying-the-database-typescript-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/add-to-existing-project/next-steps-typescript-postgres", - "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/next-steps-typescript-postgresql" + "source": "/getting-started/setup-prisma/add-to-existing-project/next-steps-typescript-postgres", + "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/next-steps-typescript-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch/connect-your-database-node-postgres", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/connect-your-database-node-postgresql" + "source": "/getting-started/setup-prisma/start-from-scratch/connect-your-database-node-postgres", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/connect-your-database-node-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch/using-prisma-migrate-node-postgres", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/using-prisma-migrate-node-postgresql" + "source": "/getting-started/setup-prisma/start-from-scratch/using-prisma-migrate-node-postgres", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/using-prisma-migrate-node-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch/install-prisma-client-node-postgres", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/install-prisma-client-node-postgresql" + "source": "/getting-started/setup-prisma/start-from-scratch/install-prisma-client-node-postgres", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/install-prisma-client-node-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch/querying-the-database-node-postgres", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/querying-the-database-node-postgresql" + "source": "/getting-started/setup-prisma/start-from-scratch/querying-the-database-node-postgres", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/querying-the-database-node-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch/next-steps-node-postgres", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/next-steps-node-postgresql" + "source": "/getting-started/setup-prisma/start-from-scratch/next-steps-node-postgres", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/next-steps-node-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/add-to-existing-project/connect-your-database-node-postgres", - "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/connect-your-database-node-postgresql" + "source": "/getting-started/setup-prisma/add-to-existing-project/connect-your-database-node-postgres", + "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/connect-your-database-node-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/add-to-existing-project/introspection-node-postgres", - "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/introspection-node-postgresql" + "source": "/getting-started/setup-prisma/add-to-existing-project/introspection-node-postgres", + "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/introspection-node-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/add-to-existing-project/install-prisma-client-node-postgres", - "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/install-prisma-client-node-postgresql" + "source": "/getting-started/setup-prisma/add-to-existing-project/install-prisma-client-node-postgres", + "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/install-prisma-client-node-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/add-to-existing-project/querying-the-database-node-postgres", - "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/querying-the-database-node-postgresql" + "source": "/getting-started/setup-prisma/add-to-existing-project/querying-the-database-node-postgres", + "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/querying-the-database-node-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/add-to-existing-project/next-steps-node-postgres", - "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/next-steps-node-postgresql" + "source": "/getting-started/setup-prisma/add-to-existing-project/next-steps-node-postgres", + "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/next-steps-node-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch/connect-your-database-typescript-mysql", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/connect-your-database-typescript-mysql" + "source": "/getting-started/setup-prisma/start-from-scratch/connect-your-database-typescript-mysql", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/connect-your-database-typescript-mysql" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch/using-prisma-migrate-typescript-mysql", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/using-prisma-migrate-typescript-mysql" + "source": "/getting-started/setup-prisma/start-from-scratch/using-prisma-migrate-typescript-mysql", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/using-prisma-migrate-typescript-mysql" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch/install-prisma-client-typescript-mysql", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/install-prisma-client-typescript-mysql" + "source": "/getting-started/setup-prisma/start-from-scratch/install-prisma-client-typescript-mysql", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/install-prisma-client-typescript-mysql" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch/querying-the-database-typescript-mysql", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/querying-the-database-typescript-mysql" + "source": "/getting-started/setup-prisma/start-from-scratch/querying-the-database-typescript-mysql", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/querying-the-database-typescript-mysql" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch/next-steps-typescript-mysql", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/next-steps-typescript-mysql" + "source": "/getting-started/setup-prisma/start-from-scratch/next-steps-typescript-mysql", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/next-steps-typescript-mysql" }, { - "source": "/docs/getting-started/setup-prisma/add-to-existing-project/connect-your-database-typescript-mysql", - "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/connect-your-database-typescript-mysql" + "source": "/getting-started/setup-prisma/add-to-existing-project/connect-your-database-typescript-mysql", + "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/connect-your-database-typescript-mysql" }, { - "source": "/docs/getting-started/setup-prisma/add-to-existing-project/introspection-typescript-mysql", - "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/introspection-typescript-mysql" + "source": "/getting-started/setup-prisma/add-to-existing-project/introspection-typescript-mysql", + "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/introspection-typescript-mysql" }, { - "source": "/docs/getting-started/setup-prisma/add-to-existing-project/install-prisma-client-typescript-mysql", - "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/install-prisma-client-typescript-mysql" + "source": "/getting-started/setup-prisma/add-to-existing-project/install-prisma-client-typescript-mysql", + "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/install-prisma-client-typescript-mysql" }, { - "source": "/docs/getting-started/setup-prisma/add-to-existing-project/querying-the-database-typescript-mysql", - "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/querying-the-database-typescript-mysql" + "source": "/getting-started/setup-prisma/add-to-existing-project/querying-the-database-typescript-mysql", + "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/querying-the-database-typescript-mysql" }, { - "source": "/docs/getting-started/setup-prisma/add-to-existing-project/next-steps-typescript-mysql", - "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/next-steps-typescript-mysql" + "source": "/getting-started/setup-prisma/add-to-existing-project/next-steps-typescript-mysql", + "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/next-steps-typescript-mysql" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch/connect-your-database-node-mysql", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/connect-your-database-node-mysql" + "source": "/getting-started/setup-prisma/start-from-scratch/connect-your-database-node-mysql", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/connect-your-database-node-mysql" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch/using-prisma-migrate-node-mysql", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/using-prisma-migrate-node-mysql" + "source": "/getting-started/setup-prisma/start-from-scratch/using-prisma-migrate-node-mysql", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/using-prisma-migrate-node-mysql" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch/install-prisma-client-node-mysql", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/install-prisma-client-node-mysql" + "source": "/getting-started/setup-prisma/start-from-scratch/install-prisma-client-node-mysql", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/install-prisma-client-node-mysql" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch/querying-the-database-node-mysql", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/querying-the-database-node-mysql" + "source": "/getting-started/setup-prisma/start-from-scratch/querying-the-database-node-mysql", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/querying-the-database-node-mysql" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch/next-steps-node-mysql", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/next-steps-node-mysql" + "source": "/getting-started/setup-prisma/start-from-scratch/next-steps-node-mysql", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/next-steps-node-mysql" }, { - "source": "/docs/getting-started/setup-prisma/add-to-existing-project/connect-your-database-node-mysql", - "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/connect-your-database-node-mysql" + "source": "/getting-started/setup-prisma/add-to-existing-project/connect-your-database-node-mysql", + "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/connect-your-database-node-mysql" }, { - "source": "/docs/getting-started/setup-prisma/add-to-existing-project/introspection-node-mysql", - "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/introspection-node-mysql" + "source": "/getting-started/setup-prisma/add-to-existing-project/introspection-node-mysql", + "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/introspection-node-mysql" }, { - "source": "/docs/getting-started/setup-prisma/add-to-existing-project/install-prisma-client-node-mysql", - "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/install-prisma-client-node-mysql" + "source": "/getting-started/setup-prisma/add-to-existing-project/install-prisma-client-node-mysql", + "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/install-prisma-client-node-mysql" }, { - "source": "/docs/getting-started/setup-prisma/add-to-existing-project/querying-the-database-node-mysql", - "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/querying-the-database-node-mysql" + "source": "/getting-started/setup-prisma/add-to-existing-project/querying-the-database-node-mysql", + "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/querying-the-database-node-mysql" }, { - "source": "/docs/getting-started/setup-prisma/add-to-existing-project/next-steps-node-mysql", - "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/next-steps-node-mysql" + "source": "/getting-started/setup-prisma/add-to-existing-project/next-steps-node-mysql", + "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/next-steps-node-mysql" }, { - "source": "/docs/concepts/more/environment-variables", - "destination": "/docs/guides/development-environment/environment-variables" + "source": "/concepts/more/environment-variables", + "destination": "/guides/development-environment/environment-variables" }, { - "source": "/docs/concepts/more/environment-variables/managing-env-files-and-setting-variables", - "destination": "/docs/guides/development-environment/environment-variables/managing-env-files-and-setting-variables" + "source": "/concepts/more/environment-variables/managing-env-files-and-setting-variables", + "destination": "/guides/development-environment/environment-variables/managing-env-files-and-setting-variables" }, { - "source": "/docs/concepts/more/environment-variables/using-multiple-env-files", - "destination": "/docs/guides/development-environment/environment-variables/using-multiple-env-files" + "source": "/concepts/more/environment-variables/using-multiple-env-files", + "destination": "/guides/development-environment/environment-variables/using-multiple-env-files" }, { - "source": "/docs/concepts/more/editor-setup", - "destination": "/docs/guides/development-environment/editor-setup" + "source": "/concepts/more/editor-setup", + "destination": "/guides/development-environment/editor-setup" }, { - "source": "/docs/about/about-the-docs", - "destination": "/docs/about/prisma-docs/about-the-docs" + "source": "/about/about-the-docs", + "destination": "/about/prisma-docs/about-the-docs" }, { - "source": "/docs/about/whats-new-in-prisma-docs", - "destination": "/docs/about/prisma-docs/whats-new-in-prisma-docs" + "source": "/about/whats-new-in-prisma-docs", + "destination": "/about/prisma-docs/whats-new-in-prisma-docs" }, { - "source": "/docs/about/limitations", - "destination": "/docs/about/prisma/limitations" + "source": "/about/limitations", + "destination": "/about/prisma/limitations" }, { - "source": "/docs/about/roadmap", - "destination": "/docs/about/prisma/roadmap" + "source": "/about/roadmap", + "destination": "/about/prisma/roadmap" }, { - "source": "/docs/about/faq", - "destination": "/docs/about/prisma/faq" + "source": "/about/faq", + "destination": "/about/prisma/faq" }, { - "source": "/docs/about/releases", - "destination": "/docs/about/prisma/releases" + "source": "/about/releases", + "destination": "/about/prisma/releases" }, { - "source": "/docs/about/example-projects", - "destination": "/docs/about/prisma/example-projects" + "source": "/about/example-projects", + "destination": "/about/prisma/example-projects" }, { - "source": "/docs/about/style-guide", - "destination": "/docs/about/prisma-docs/style-guide" + "source": "/about/style-guide", + "destination": "/about/prisma-docs/style-guide" }, { - "source": "/docs/about/style-guide/mdx-examples", - "destination": "/docs/about/prisma-docs/style-guide/mdx-examples" + "source": "/about/style-guide/mdx-examples", + "destination": "/about/prisma-docs/style-guide/mdx-examples" }, { - "source": "/docs/about/style-guide/frontmatter", - "destination": "/docs/about/prisma-docs/style-guide/frontmatter" + "source": "/about/style-guide/frontmatter", + "destination": "/about/prisma-docs/style-guide/frontmatter" }, { - "source": "/docs/about/style-guide/template", - "destination": "/docs/about/prisma-docs/style-guide/template" + "source": "/about/style-guide/template", + "destination": "/about/prisma-docs/style-guide/template" }, { - "source": "/docs/concepts/components/preview-features/sql-server/sql-server-start-from-scratch-typescript", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-sqlserver" + "source": "/concepts/components/preview-features/sql-server/sql-server-start-from-scratch-typescript", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-sqlserver" }, { - "source": "/docs/concepts/database-connectors/microsoft-sql-server", - "destination": "/docs/concepts/database-connectors/sql-server" + "source": "/concepts/database-connectors/microsoft-sql-server", + "destination": "/concepts/database-connectors/sql-server" }, { - "source": "/docs/concepts/components/preview-features/sql-server/sql-server-connection-string", - "destination": "/docs/concepts/database-connectors/sql-server" + "source": "/concepts/components/preview-features/sql-server/sql-server-connection-string", + "destination": "/concepts/database-connectors/sql-server" }, { - "source": "/docs/concepts/components/preview-features/sql-server/sql-server-local", - "destination": "/docs/concepts/database-connectors/sql-server/sql-server-local" + "source": "/concepts/components/preview-features/sql-server/sql-server-local", + "destination": "/concepts/database-connectors/sql-server/sql-server-local" }, { - "source": "/docs/concepts/components/preview-features/sql-server/sql-server-docker", - "destination": "/docs/concepts/database-connectors/sql-server/sql-server-docker" + "source": "/concepts/components/preview-features/sql-server/sql-server-docker", + "destination": "/concepts/database-connectors/sql-server/sql-server-docker" }, { - "source": "/docs/concepts/components/preview-features/sql-server", - "destination": "/docs/concepts/database-connectors/sql-server" + "source": "/concepts/components/preview-features/sql-server", + "destination": "/concepts/database-connectors/sql-server" }, { - "source": "/docs/guides/upgrade-guides/upgrading-to-latest", - "destination": "/docs/guides/upgrade-guides/upgrading-versions" + "source": "/guides/upgrade-guides/upgrading-to-latest", + "destination": "/guides/upgrade-guides/upgrading-versions" }, { - "source": "/docs/guides/upgrade-guides/upgrading-to-use-preview-features/enabling-named-constraints", - "destination": "/docs/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-3/named-constraints" + "source": "/guides/upgrade-guides/upgrading-to-use-preview-features/enabling-named-constraints", + "destination": "/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-3/named-constraints" }, { - "source": "/docs/concepts/components/prisma-schema/relations/referential-actions/cyclic-referential-actions", - "destination": "/docs/concepts/components/prisma-schema/relations/referential-actions/special-rules-for-referential-actions" + "source": "/concepts/components/prisma-schema/relations/referential-actions/cyclic-referential-actions", + "destination": "/concepts/components/prisma-schema/relations/referential-actions/special-rules-for-referential-actions" }, { - "source": "/docs/concepts/components/prisma-schema/index-configuration", - "destination": "/docs/concepts/components/prisma-schema/indexes" + "source": "/concepts/components/prisma-schema/index-configuration", + "destination": "/concepts/components/prisma-schema/indexes" }, { - "source": "/docs/concepts/components/prisma-data-platform", - "destination": "/docs/concepts/data-platform" + "source": "/concepts/components/prisma-data-platform", + "destination": "/concepts/data-platform" }, { - "source": "/docs/about/prisma/platform-releases", - "destination": "/docs/concepts/data-platform/about-platform/platform-releases" + "source": "/about/prisma/platform-releases", + "destination": "/concepts/data-platform/about-platform/platform-releases" }, { - "source": "/docs/support", - "destination": "/docs/guides/database/troubleshooting-orm" + "source": "/support", + "destination": "/guides/database/troubleshooting-orm" }, { - "source": "/docs/support/:any*", - "destination": "/docs/guides/database/troubleshooting-orm/:any*" + "source": "/support/:any*", + "destination": "/guides/database/troubleshooting-orm/:any*" }, { - "source": "/docs/concepts/data-platform", - "destination": "/docs/data-platform" + "source": "/concepts/data-platform", + "destination": "/data-platform" }, { - "source": "/docs/concepts/data-platform/:any*", - "destination": "/docs/data-platform/:any*" + "source": "/concepts/data-platform/:any*", + "destination": "/data-platform/:any*" }, { - "source": "/docs/data-platform/about-platform", - "destination": "/docs/data-platform/about" + "source": "/data-platform/about-platform", + "destination": "/data-platform/about" }, { - "source": "/docs/data-platform/about-platform/:any*", - "destination": "/docs/data-platform/about/:any*" + "source": "/data-platform/about-platform/:any*", + "destination": "/data-platform/about/:any*" }, { - "source": "/docs/data-platform/about/platform-limits-and-status", - "destination": "/docs/data-platform/about/limits-and-status" + "source": "/data-platform/about/platform-limits-and-status", + "destination": "/data-platform/about/limits-and-status" }, { - "source": "/docs/data-platform/about/platform-releases", - "destination": "/docs/data-platform/about/releases" + "source": "/data-platform/about/platform-releases", + "destination": "/data-platform/about/releases" }, { - "source": "/docs/data-platform/accounts", - "destination": "/docs/data-platform/account" + "source": "/data-platform/accounts", + "destination": "/data-platform/account" }, { - "source": "/docs/concepts/components/prisma-schema/relations/referential-integrity", - "destination": "/docs/concepts/components/prisma-schema/relations/relation-mode" + "source": "/concepts/components/prisma-schema/relations/referential-integrity", + "destination": "/concepts/components/prisma-schema/relations/relation-mode" }, { - "source": "/docs/data-platform/billing/early-adopter-plan", - "destination": "/docs/data-platform/billing/plans-and-quotas" + "source": "/data-platform/billing/early-adopter-plan", + "destination": "/data-platform/billing/plans-and-quotas" }, { - "source": "/docs/data-platform/projects/add-project(.*)", - "destination": "/docs/data-platform/projects/create" + "source": "/data-platform/projects/add-project(.*)", + "destination": "/data-platform/projects/create" }, { - "source": "/docs/data-platform/members/user-roles", - "destination": "/docs/data-platform/members/roles-permissions" + "source": "/data-platform/members/user-roles", + "destination": "/data-platform/members/roles-permissions" }, { - "source": "/docs/data-platform/members/data-collaborators", - "destination": "/docs/data-platform/members/add" + "source": "/data-platform/members/data-collaborators", + "destination": "/data-platform/members/add" }, { - "source": "/docs/data-platform/environments/edit-settings/change-database-connection-string", - "destination": "/docs/data-platform/troubleshooting/cannot-change-db-of-env" + "source": "/data-platform/environments/edit-settings/change-database-connection-string", + "destination": "/data-platform/troubleshooting/cannot-change-db-of-env" }, { - "source": "/docs/guides/database/developing-with-prisma-migrate/add-prisma-migrate-to-a-project", - "destination": "/docs/guides/migrate/developing-with-prisma-migrate/add-prisma-migrate-to-a-project" + "source": "/guides/database/developing-with-prisma-migrate/add-prisma-migrate-to-a-project", + "destination": "/guides/migrate/developing-with-prisma-migrate/add-prisma-migrate-to-a-project" }, { - "source": "/docs/guides/database/developing-with-prisma-migrate/team-development", - "destination": "/docs/guides/migrate/developing-with-prisma-migrate/team-development" + "source": "/guides/database/developing-with-prisma-migrate/team-development", + "destination": "/guides/migrate/developing-with-prisma-migrate/team-development" }, { - "source": "/docs/guides/database/developing-with-prisma-migrate/baselining", - "destination": "/docs/guides/migrate/developing-with-prisma-migrate/baselining" + "source": "/guides/database/developing-with-prisma-migrate/baselining", + "destination": "/guides/migrate/developing-with-prisma-migrate/baselining" }, { - "source": "/docs/guides/database/developing-with-prisma-migrate/enable-native-database-functions", - "destination": "/docs/guides/migrate/developing-with-prisma-migrate/enable-native-database-functions" + "source": "/guides/database/developing-with-prisma-migrate/enable-native-database-functions", + "destination": "/guides/migrate/developing-with-prisma-migrate/enable-native-database-functions" }, { - "source": "/docs/guides/database/developing-with-prisma-migrate/include-unsupported-database-features", - "destination": "/docs/guides/migrate/developing-with-prisma-migrate/include-unsupported-database-features" + "source": "/guides/database/developing-with-prisma-migrate/include-unsupported-database-features", + "destination": "/guides/migrate/developing-with-prisma-migrate/include-unsupported-database-features" }, { - "source": "/docs/guides/database/developing-with-prisma-migrate/customizing-migrations", - "destination": "/docs/guides/migrate/developing-with-prisma-migrate/customizing-migrations" + "source": "/guides/database/developing-with-prisma-migrate/customizing-migrations", + "destination": "/guides/migrate/developing-with-prisma-migrate/customizing-migrations" }, { - "source": "/docs/guides/database/developing-with-prisma-migrate/squashing-migrations", - "destination": "/docs/guides/migrate/developing-with-prisma-migrate/squashing-migrations" + "source": "/guides/database/developing-with-prisma-migrate/squashing-migrations", + "destination": "/guides/migrate/developing-with-prisma-migrate/squashing-migrations" }, { - "source": "/docs/guides/database/developing-with-prisma-migrate/generating-down-migrations", - "destination": "/docs/guides/migrate/developing-with-prisma-migrate/generating-down-migrations" + "source": "/guides/database/developing-with-prisma-migrate/generating-down-migrations", + "destination": "/guides/migrate/developing-with-prisma-migrate/generating-down-migrations" }, { - "source": "/docs/guides/database/developing-with-prisma-migrate/troubleshooting-development", - "destination": "/docs/guides/migrate/developing-with-prisma-migrate/troubleshooting-development" + "source": "/guides/database/developing-with-prisma-migrate/troubleshooting-development", + "destination": "/guides/migrate/developing-with-prisma-migrate/troubleshooting-development" }, { - "source": "/docs/guides/database/developing-with-prisma-migrate/deploy-db.png", - "destination": "/docs/guides/migrate/developing-with-prisma-migrate/deploy-db.png" + "source": "/guides/database/developing-with-prisma-migrate/deploy-db.png", + "destination": "/guides/migrate/developing-with-prisma-migrate/deploy-db.png" }, { - "source": "/docs/guides/database/developing-with-prisma-migrate/existing-database.png", - "destination": "/docs/guides/migrate/developing-with-prisma-migrate/existing-database.png" + "source": "/guides/database/developing-with-prisma-migrate/existing-database.png", + "destination": "/guides/migrate/developing-with-prisma-migrate/existing-database.png" }, { - "source": "/docs/guides/database/developing-with-prisma-migrate", - "destination": "/docs/guides/migrate/developing-with-prisma-migrate" + "source": "/guides/database/developing-with-prisma-migrate", + "destination": "/guides/migrate/developing-with-prisma-migrate" }, { - "source": "/docs/guides/database/developing-with-prisma-migrate/migrate-team-dev.png", - "destination": "/docs/guides/migrate/developing-with-prisma-migrate/migrate-team-dev.png" + "source": "/guides/database/developing-with-prisma-migrate/migrate-team-dev.png", + "destination": "/guides/migrate/developing-with-prisma-migrate/migrate-team-dev.png" }, { - "source": "/docs/guides/database/developing-with-prisma-migrate/migration-history.png", - "destination": "/docs/guides/migrate/developing-with-prisma-migrate/migration-history.png" + "source": "/guides/database/developing-with-prisma-migrate/migration-history.png", + "destination": "/guides/migrate/developing-with-prisma-migrate/migration-history.png" }, { - "source": "/docs/guides/database/developing-with-prisma-migrate/new-dev-db.png", - "destination": "/docs/guides/migrate/developing-with-prisma-migrate/new-dev-db.png" + "source": "/guides/database/developing-with-prisma-migrate/new-dev-db.png", + "destination": "/guides/migrate/developing-with-prisma-migrate/new-dev-db.png" }, { - "source": "/docs/guides/database/seed-database", - "destination": "/docs/guides/migrate/seed-database" + "source": "/guides/database/seed-database", + "destination": "/guides/migrate/seed-database" }, { - "source": "/docs/guides/database/prototyping-schema-db-push", - "destination": "/docs/guides/migrate/prototyping-schema-db-push" + "source": "/guides/database/prototyping-schema-db-push", + "destination": "/guides/migrate/prototyping-schema-db-push" }, { - "source": "/docs/guides/database/patching-production", - "destination": "/docs/guides/migrate/patching-production" + "source": "/guides/database/patching-production", + "destination": "/guides/migrate/patching-production" }, { - "source": "/docs/guides/database/production-troubleshooting", - "destination": "/docs/guides/migrate/production-troubleshooting" + "source": "/guides/database/production-troubleshooting", + "destination": "/guides/migrate/production-troubleshooting" }, { - "source": "/docs/guides/database/using-prisma-with-planetscale", - "destination": "/docs/guides/database/planetscale" + "source": "/guides/database/using-prisma-with-planetscale", + "destination": "/guides/database/planetscale" }, { - "source": "/docs/guides/database/using-prisma-with-cockroachdb", - "destination": "/docs/guides/database/cockroachdb" + "source": "/guides/database/using-prisma-with-cockroachdb", + "destination": "/guides/database/cockroachdb" }, { - "source": "/docs/guides/database/using-prisma-with-mongodb", - "destination": "/docs/guides/database/mongodb" + "source": "/guides/database/using-prisma-with-mongodb", + "destination": "/guides/database/mongodb" }, { - "source": "/docs/guides/database/multi-schema", - "destination": "/docs/guides/other/multi-schema" + "source": "/guides/database/multi-schema", + "destination": "/guides/other/multi-schema" }, { - "source": "/docs/guides/database/prisma-type-system", - "destination": "/docs/guides/other/prisma-type-system" + "source": "/guides/database/prisma-type-system", + "destination": "/guides/other/prisma-type-system" }, { - "source": "/docs/guides/database/troubleshooting-orm/creating-bug-reports", - "destination": "/docs/guides/other/troubleshooting-orm/creating-bug-reports" + "source": "/guides/database/troubleshooting-orm/creating-bug-reports", + "destination": "/guides/other/troubleshooting-orm/creating-bug-reports" }, { - "source": "/docs/guides/database/troubleshooting-orm/help-articles/autocompletion-in-graphql-resolvers-with-js", - "destination": "/docs/guides/other/troubleshooting-orm/help-articles/autocompletion-in-graphql-resolvers-with-js" + "source": "/guides/database/troubleshooting-orm/help-articles/autocompletion-in-graphql-resolvers-with-js", + "destination": "/guides/other/troubleshooting-orm/help-articles/autocompletion-in-graphql-resolvers-with-js" }, { - "source": "/docs/guides/database/troubleshooting-orm/help-articles/working-with-many-to-many-relations", - "destination": "/docs/guides/other/troubleshooting-orm/help-articles/working-with-many-to-many-relations" + "source": "/guides/database/troubleshooting-orm/help-articles/working-with-many-to-many-relations", + "destination": "/guides/other/troubleshooting-orm/help-articles/working-with-many-to-many-relations" }, { - "source": "/docs/guides/database/troubleshooting-orm/help-articles/finding-entities-based-on-relation", - "destination": "/docs/guides/other/troubleshooting-orm/help-articles/finding-entities-based-on-relation" + "source": "/guides/database/troubleshooting-orm/help-articles/finding-entities-based-on-relation", + "destination": "/guides/other/troubleshooting-orm/help-articles/finding-entities-based-on-relation" }, { - "source": "/docs/guides/database/troubleshooting-orm/help-articles/nextjs-prisma-client-dev-practices", - "destination": "/docs/guides/other/troubleshooting-orm/help-articles/nextjs-prisma-client-dev-practices" + "source": "/guides/database/troubleshooting-orm/help-articles/nextjs-prisma-client-dev-practices", + "destination": "/guides/other/troubleshooting-orm/help-articles/nextjs-prisma-client-dev-practices" }, { - "source": "/docs/guides/database/troubleshooting-orm/help-articles/nextjs-prisma-client-monorepo", - "destination": "/docs/guides/other/troubleshooting-orm/help-articles/nextjs-prisma-client-monorepo" + "source": "/guides/database/troubleshooting-orm/help-articles/nextjs-prisma-client-monorepo", + "destination": "/guides/other/troubleshooting-orm/help-articles/nextjs-prisma-client-monorepo" }, { - "source": "/docs/guides/database/troubleshooting-orm/help-articles/pkg-issue", - "destination": "/docs/guides/other/troubleshooting-orm/help-articles/pkg-issue" + "source": "/guides/database/troubleshooting-orm/help-articles/pkg-issue", + "destination": "/guides/other/troubleshooting-orm/help-articles/pkg-issue" }, { - "source": "/docs/guides/database/troubleshooting-orm/help-articles/comparing-columns-through-raw-queries", - "destination": "/docs/guides/other/troubleshooting-orm/help-articles/comparing-columns-through-raw-queries" + "source": "/guides/database/troubleshooting-orm/help-articles/comparing-columns-through-raw-queries", + "destination": "/guides/other/troubleshooting-orm/help-articles/comparing-columns-through-raw-queries" }, { - "source": "/docs/guides/database/troubleshooting-orm/help-articles", - "destination": "/docs/guides/other/troubleshooting-orm/help-articles" + "source": "/guides/database/troubleshooting-orm/help-articles", + "destination": "/guides/other/troubleshooting-orm/help-articles" }, { - "source": "/docs/guides/database/troubleshooting-orm/help-articles/prisma-autocompletion-in-js.png", - "destination": "/docs/guides/other/troubleshooting-orm/help-articles/prisma-autocompletion-in-js.png" + "source": "/guides/database/troubleshooting-orm/help-articles/prisma-autocompletion-in-js.png", + "destination": "/guides/other/troubleshooting-orm/help-articles/prisma-autocompletion-in-js.png" }, { - "source": "/docs/guides/database/troubleshooting-orm/help-articles/unwanted-autocomplete-values-in-vscode.png", - "destination": "/docs/guides/other/troubleshooting-orm/help-articles/unwanted-autocomplete-values-in-vscode.png" + "source": "/guides/database/troubleshooting-orm/help-articles/unwanted-autocomplete-values-in-vscode.png", + "destination": "/guides/other/troubleshooting-orm/help-articles/unwanted-autocomplete-values-in-vscode.png" }, { - "source": "/docs/guides/database/troubleshooting-orm", - "destination": "/docs/guides/other/troubleshooting-orm" + "source": "/guides/database/troubleshooting-orm", + "destination": "/guides/other/troubleshooting-orm" }, { - "source": "/docs/guides/database/advanced-database-tasks/data-validation/postgresql", - "destination": "/docs/guides/other/advanced-database-tasks/data-validation/postgresql" + "source": "/guides/database/advanced-database-tasks/data-validation/postgresql", + "destination": "/guides/other/advanced-database-tasks/data-validation/postgresql" }, { - "source": "/docs/guides/database/advanced-database-tasks/data-validation", - "destination": "/docs/guides/other/advanced-database-tasks/data-validation" + "source": "/guides/database/advanced-database-tasks/data-validation", + "destination": "/guides/other/advanced-database-tasks/data-validation" }, { - "source": "/docs/guides/database/advanced-database-tasks", - "destination": "/docs/guides/other/advanced-database-tasks" + "source": "/guides/database/advanced-database-tasks", + "destination": "/guides/other/advanced-database-tasks" }, { - "source": "/docs/concepts/components/prisma-cli/installation", - "destination": "/docs/reference/api-reference/command-reference#installation" + "source": "/concepts/components/prisma-cli/installation", + "destination": "/reference/api-reference/command-reference#installation" }, { - "source": "/docs/guides/other/troubleshooting-orm/help-articles/finding-entities-based-on-relation", - "destination": "/docs/concepts/components/prisma-client/relation-queries#filter-on-presence-of-related-records" + "source": "/guides/other/troubleshooting-orm/help-articles/finding-entities-based-on-relation", + "destination": "/concepts/components/prisma-client/relation-queries#filter-on-presence-of-related-records" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/connect-your-database-typescript-postgres", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/connect-your-database-typescript-postgresql" + "source": "/getting-started/setup-prisma/start-from-scratch/relational-databases/connect-your-database-typescript-postgres", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/connect-your-database-typescript-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/connect-your-database-node-postgres", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/connect-your-database-node-postgresql" + "source": "/getting-started/setup-prisma/start-from-scratch/relational-databases/connect-your-database-node-postgres", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/connect-your-database-node-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/using-prisma-migrate-typescript-postgres", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/using-prisma-migrate-typescript-postgresql" + "source": "/getting-started/setup-prisma/start-from-scratch/relational-databases/using-prisma-migrate-typescript-postgres", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/using-prisma-migrate-typescript-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/using-prisma-migrate-node-postgres", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/using-prisma-migrate-node-postgresql" + "source": "/getting-started/setup-prisma/start-from-scratch/relational-databases/using-prisma-migrate-node-postgres", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/using-prisma-migrate-node-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/install-prisma-client-typescript-postgres", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/install-prisma-client-typescript-postgresql" + "source": "/getting-started/setup-prisma/start-from-scratch/relational-databases/install-prisma-client-typescript-postgres", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/install-prisma-client-typescript-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/install-prisma-client-node-postgres", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/install-prisma-client-node-postgresql" + "source": "/getting-started/setup-prisma/start-from-scratch/relational-databases/install-prisma-client-node-postgres", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/install-prisma-client-node-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/querying-the-database-typescript-postgres", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/querying-the-database-typescript-postgresql" + "source": "/getting-started/setup-prisma/start-from-scratch/relational-databases/querying-the-database-typescript-postgres", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/querying-the-database-typescript-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/querying-the-database-node-postgres", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/querying-the-database-node-postgresql" + "source": "/getting-started/setup-prisma/start-from-scratch/relational-databases/querying-the-database-node-postgres", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/querying-the-database-node-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/next-steps-typescript-postgres", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/next-steps-typescript-postgresql" + "source": "/getting-started/setup-prisma/start-from-scratch/relational-databases/next-steps-typescript-postgres", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/next-steps-typescript-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/next-steps-node-postgres", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/next-steps-node-postgresql" + "source": "/getting-started/setup-prisma/start-from-scratch/relational-databases/next-steps-node-postgres", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/next-steps-node-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-postgres", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-postgresql" + "source": "/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-postgres", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases-node-postgres", - "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases-node-postgresql" + "source": "/getting-started/setup-prisma/start-from-scratch/relational-databases-node-postgres", + "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases-node-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/connect-your-database-typescript-postgres", - "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/connect-your-database-typescript-postgresql" + "source": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/connect-your-database-typescript-postgres", + "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/connect-your-database-typescript-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/connect-your-database-node-postgres", - "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/connect-your-database-node-postgresql" + "source": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/connect-your-database-node-postgres", + "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/connect-your-database-node-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/introspection-typescript-postgres", - "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/introspection-typescript-postgresql" + "source": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/introspection-typescript-postgres", + "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/introspection-typescript-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/introspection-node-postgres", - "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/introspection-node-postgresql" + "source": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/introspection-node-postgres", + "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/introspection-node-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/baseline-your-database-typescript-postgres", - "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/baseline-your-database-typescript-postgresql" + "source": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/baseline-your-database-typescript-postgres", + "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/baseline-your-database-typescript-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/baseline-your-database-node-postgres", - "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/baseline-your-database-node-postgresql" + "source": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/baseline-your-database-node-postgres", + "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/baseline-your-database-node-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/install-prisma-client-typescript-postgres", - "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/install-prisma-client-typescript-postgresql" + "source": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/install-prisma-client-typescript-postgres", + "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/install-prisma-client-typescript-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/install-prisma-client-node-postgres", - "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/install-prisma-client-node-postgresql" + "source": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/install-prisma-client-node-postgres", + "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/install-prisma-client-node-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/querying-the-database-typescript-postgres", - "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/querying-the-database-typescript-postgresql" + "source": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/querying-the-database-typescript-postgres", + "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/querying-the-database-typescript-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/querying-the-database-node-postgres", - "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/querying-the-database-node-postgresql" + "source": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/querying-the-database-node-postgres", + "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/querying-the-database-node-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/evolve-your-schema-typescript-postgres", - "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/evolve-your-schema-typescript-postgresql" + "source": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/evolve-your-schema-typescript-postgres", + "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/evolve-your-schema-typescript-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/evolve-your-schema-node-postgres", - "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/evolve-your-schema-node-postgresql" + "source": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/evolve-your-schema-node-postgres", + "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/evolve-your-schema-node-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/next-steps-typescript-postgres", - "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/next-steps-typescript-postgresql" + "source": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/next-steps-typescript-postgres", + "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/next-steps-typescript-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/next-steps-node-postgres", - "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/next-steps-node-postgresql" + "source": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/next-steps-node-postgres", + "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/next-steps-node-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases-typescript-postgres", - "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases-typescript-postgresql" + "source": "/getting-started/setup-prisma/add-to-existing-project/relational-databases-typescript-postgres", + "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases-typescript-postgresql" }, { - "source": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases-node-postgres", - "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases-node-postgresql" + "source": "/getting-started/setup-prisma/add-to-existing-project/relational-databases-node-postgres", + "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases-node-postgresql" }, { - "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/schema-incompatibilities-postgres", - "destination": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/schema-incompatibilities-postgresql" + "source": "/guides/upgrade-guides/upgrade-from-prisma-1/schema-incompatibilities-postgres", + "destination": "/guides/upgrade-guides/upgrade-from-prisma-1/schema-incompatibilities-postgresql" }, { - "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-the-prisma-layer-postgres", - "destination": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-the-prisma-layer-postgresql" + "source": "/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-the-prisma-layer-postgres", + "destination": "/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-the-prisma-layer-postgresql" }, { - "source": "/docs/guides/migrate/deployment/deploy-database-changes-with-prisma-migrate", - "destination": "/docs/guides/deployment/deploy-database-changes-with-prisma-migrate" + "source": "/guides/migrate/deployment/deploy-database-changes-with-prisma-migrate", + "destination": "/guides/deployment/deploy-database-changes-with-prisma-migrate" }, { - "source": "/docs/guides/deployment/deployment", - "destination": "/docs/guides/deployment/deploy-prisma" + "source": "/guides/deployment/deployment", + "destination": "/guides/deployment/deploy-prisma" }, { - "source": "/docs/guides/deployment/deployment-guides/deploying-to-heroku", - "destination": "/docs/guides/deployment/traditional/deploy-to-heroku" + "source": "/guides/deployment/deployment-guides/deploying-to-heroku", + "destination": "/guides/deployment/traditional/deploy-to-heroku" }, { - "source": "/docs/guides/deployment/deployment-guides/deploying-to-koyeb", - "destination": "/docs/guides/deployment/traditional/deploy-to-koyeb" + "source": "/guides/deployment/deployment-guides/deploying-to-koyeb", + "destination": "/guides/deployment/traditional/deploy-to-koyeb" }, { - "source": "/docs/guides/deployment/deployment-guides", - "destination": "/docs/guides/deployment/deploy-prisma" + "source": "/guides/deployment/deployment-guides", + "destination": "/guides/deployment/deploy-prisma" }, { - "source": "/docs/guides/deployment/deployment-guides/deploying-to-azure-functions", - "destination": "/docs/guides/deployment/serverless/deploy-to-azure-functions" + "source": "/guides/deployment/deployment-guides/deploying-to-azure-functions", + "destination": "/guides/deployment/serverless/deploy-to-azure-functions" }, { - "source": "/docs/guides/deployment/deployment-guides/deploying-to-vercel", - "destination": "/docs/guides/deployment/serverless/deploy-to-vercel" + "source": "/guides/deployment/deployment-guides/deploying-to-vercel", + "destination": "/guides/deployment/serverless/deploy-to-vercel" }, { - "source": "/docs/guides/deployment/deployment-guides/deploying-to-aws-lambda", - "destination": "/docs/guides/deployment/serverless/deploy-to-aws-lambda" + "source": "/guides/deployment/deployment-guides/deploying-to-aws-lambda", + "destination": "/guides/deployment/serverless/deploy-to-aws-lambda" }, { - "source": "/docs/guides/deployment/deployment-guides/deploying-to-netlify", - "destination": "/docs/guides/deployment/serverless/deploy-to-netlify" + "source": "/guides/deployment/deployment-guides/deploying-to-netlify", + "destination": "/guides/deployment/serverless/deploy-to-netlify" }, { - "source": "/docs/guides/deployment/deployment-guides/deploying-to-deno-deploy", - "destination": "/docs/guides/deployment/edge/deploy-to-deno-deploy" + "source": "/guides/deployment/deployment-guides/deploying-to-deno-deploy", + "destination": "/guides/deployment/edge/deploy-to-deno-deploy" }, { - "source": "/docs/guides/deployment/deployment-guides/deploying-to-cloudflare-workers", - "destination": "/docs/guides/deployment/edge/deploy-to-cloudflare-workers" + "source": "/guides/deployment/deployment-guides/deploying-to-cloudflare-workers", + "destination": "/guides/deployment/edge/deploy-to-cloudflare-workers" }, { - "source": "/docs/guides/deployment/deployment-guides/deploying-migrations-from-a-local-environment", - "destination": "/docs/guides/deployment/deploy-migrations-from-a-local-environment" + "source": "/guides/deployment/deployment-guides/deploying-migrations-from-a-local-environment", + "destination": "/guides/deployment/deploy-migrations-from-a-local-environment" }, { - "source": "/docs/guides/deployment/deployment-guides/caveats-when-deploying-to-aws-platforms", - "destination": "/docs/guides/deployment/caveats-when-deploying-to-aws-platforms" + "source": "/guides/deployment/deployment-guides/caveats-when-deploying-to-aws-platforms", + "destination": "/guides/deployment/caveats-when-deploying-to-aws-platforms" }, { - "source": "/docs/guides/deployment/deployment-guides/deploying-to-a-different-os", - "destination": "/docs/guides/deployment/deploy-to-a-different-os" + "source": "/guides/deployment/deployment-guides/deploying-to-a-different-os", + "destination": "/guides/deployment/deploy-to-a-different-os" }, { - "source": "/docs/guides/deployment/deployment-guides/use-prisma-with-serverless-framework", - "destination": "/docs/guides/deployment/serverless/deploy-to-aws-lambda" + "source": "/guides/deployment/deployment-guides/use-prisma-with-serverless-framework", + "destination": "/guides/deployment/serverless/deploy-to-aws-lambda" }, { - "source": "/docs/guides/deployment/use-prisma-with-serverless-framework", - "destination": "/docs/guides/deployment/serverless/deploy-to-aws-lambda" + "source": "/guides/deployment/use-prisma-with-serverless-framework", + "destination": "/guides/deployment/serverless/deploy-to-aws-lambda" }, { - "source": "/docs/data-platform/about/releases", - "destination": "/docs/data-platform/platform-console/maturity-levels" + "source": "/data-platform/about/releases", + "destination": "/data-platform/platform-console/maturity-levels" }, { - "source": "/docs/data-platform/about/limits-and-status", - "destination": "/docs/data-platform/classic-projects/about/limits-and-status" + "source": "/data-platform/about/limits-and-status", + "destination": "/data-platform/classic-projects/about/limits-and-status" }, { - "source": "/docs/data-platform/about", - "destination": "/docs/data-platform/classic-projects/about" + "source": "/data-platform/about", + "destination": "/data-platform/classic-projects/about" }, { - "source": "/docs/data-platform/data-proxy/use-data-proxy", - "destination": "/docs/data-platform/classic-projects/data-proxy/use-data-proxy" + "source": "/data-platform/data-proxy/use-data-proxy", + "destination": "/data-platform/classic-projects/data-proxy/use-data-proxy" }, { - "source": "/docs/data-platform/data-proxy/deploy", - "destination": "/docs/data-platform/classic-projects/data-proxy/deploy" + "source": "/data-platform/data-proxy/deploy", + "destination": "/data-platform/classic-projects/data-proxy/deploy" }, { - "source": "/docs/data-platform/data-proxy/prisma-cli-with-data-proxy", - "destination": "/docs/data-platform/classic-projects/data-proxy/prisma-cli-with-data-proxy" + "source": "/data-platform/data-proxy/prisma-cli-with-data-proxy", + "destination": "/data-platform/classic-projects/data-proxy/prisma-cli-with-data-proxy" }, { - "source": "/docs/data-platform/data-proxy/considerations-limitations", - "destination": "/docs/data-platform/classic-projects/data-proxy/considerations-limitations" + "source": "/data-platform/data-proxy/considerations-limitations", + "destination": "/data-platform/classic-projects/data-proxy/considerations-limitations" }, { - "source": "/docs/data-platform/data-proxy", - "destination": "/docs/data-platform/classic-projects/data-proxy" + "source": "/data-platform/data-proxy", + "destination": "/data-platform/classic-projects/data-proxy" }, { - "source": "/docs/data-platform/static-ips", - "destination": "/docs/data-platform/classic-projects/platform/static-ips" + "source": "/data-platform/static-ips", + "destination": "/data-platform/classic-projects/platform/static-ips" }, { - "source": "/docs/data-platform/projects/create", - "destination": "/docs/data-platform/classic-projects/platform/projects/create" + "source": "/data-platform/projects/create", + "destination": "/data-platform/classic-projects/platform/projects/create" }, { - "source": "/docs/data-platform/projects/edit-settings", - "destination": "/docs/data-platform/classic-projects/platform/projects/edit-settings" + "source": "/data-platform/projects/edit-settings", + "destination": "/data-platform/classic-projects/platform/projects/edit-settings" }, { - "source": "/docs/data-platform/projects/delete-project", - "destination": "/docs/data-platform/classic-projects/platform/projects/delete-project" + "source": "/data-platform/projects/delete-project", + "destination": "/data-platform/classic-projects/platform/projects/delete-project" }, { - "source": "/docs/data-platform/projects", - "destination": "/docs/data-platform/classic-projects/platform/projects" + "source": "/data-platform/projects", + "destination": "/data-platform/classic-projects/platform/projects" }, { - "source": "/docs/data-platform/environments/view-all", - "destination": "/docs/data-platform/classic-projects/platform/environments/view-all" + "source": "/data-platform/environments/view-all", + "destination": "/data-platform/classic-projects/platform/environments/view-all" }, { - "source": "/docs/data-platform/environments/create", - "destination": "/docs/data-platform/classic-projects/platform/environments/create" + "source": "/data-platform/environments/create", + "destination": "/data-platform/classic-projects/platform/environments/create" }, { - "source": "/docs/data-platform/environments/edit-settings/edit-name-and-url-handle", - "destination": "/docs/data-platform/classic-projects/platform/environments/edit-settings/edit-name-and-url-handle" + "source": "/data-platform/environments/edit-settings/edit-name-and-url-handle", + "destination": "/data-platform/classic-projects/platform/environments/edit-settings/edit-name-and-url-handle" }, { - "source": "/docs/data-platform/environments/edit-settings/change-default-environment", - "destination": "/docs/data-platform/classic-projects/platform/environments/edit-settings/change-default-environment" + "source": "/data-platform/environments/edit-settings/change-default-environment", + "destination": "/data-platform/classic-projects/platform/environments/edit-settings/change-default-environment" }, { - "source": "/docs/data-platform/environments/edit-settings", - "destination": "/docs/data-platform/classic-projects/platform/environments/edit-settings" + "source": "/data-platform/environments/edit-settings", + "destination": "/data-platform/classic-projects/platform/environments/edit-settings" }, { - "source": "/docs/data-platform/environments/delete", - "destination": "/docs/data-platform/classic-projects/platform/environments/delete" + "source": "/data-platform/environments/delete", + "destination": "/data-platform/classic-projects/platform/environments/delete" }, { - "source": "/docs/data-platform/environments", - "destination": "/docs/data-platform/classic-projects/platform/environments" + "source": "/data-platform/environments", + "destination": "/data-platform/classic-projects/platform/environments" }, { - "source": "/docs/data-platform/members/roles-permissions", - "destination": "/docs/data-platform/classic-projects/platform/members/roles-permissions" + "source": "/data-platform/members/roles-permissions", + "destination": "/data-platform/classic-projects/platform/members/roles-permissions" }, { - "source": "/docs/data-platform/members/add", - "destination": "/docs/data-platform/classic-projects/platform/members/add" + "source": "/data-platform/members/add", + "destination": "/data-platform/classic-projects/platform/members/add" }, { - "source": "/docs/data-platform/members/change-role", - "destination": "/docs/data-platform/classic-projects/platform/members/change-role" + "source": "/data-platform/members/change-role", + "destination": "/data-platform/classic-projects/platform/members/change-role" }, { - "source": "/docs/data-platform/members/remove", - "destination": "/docs/data-platform/classic-projects/platform/members/remove" + "source": "/data-platform/members/remove", + "destination": "/data-platform/classic-projects/platform/members/remove" }, { - "source": "/docs/data-platform/members", - "destination": "/docs/data-platform/classic-projects/platform/members" + "source": "/data-platform/members", + "destination": "/data-platform/classic-projects/platform/members" }, { - "source": "/docs/data-platform/data-browser", - "destination": "/docs/data-platform/classic-projects/platform/data-browser" + "source": "/data-platform/data-browser", + "destination": "/data-platform/classic-projects/platform/data-browser" }, { - "source": "/docs/data-platform/query-console", - "destination": "/docs/data-platform/classic-projects/platform/query-console" + "source": "/data-platform/query-console", + "destination": "/data-platform/classic-projects/platform/query-console" }, { - "source": "/docs/data-platform/schema-viewer", - "destination": "/docs/data-platform/classic-projects/platform/schema-viewer" + "source": "/data-platform/schema-viewer", + "destination": "/data-platform/classic-projects/platform/schema-viewer" }, { - "source": "/docs/data-platform/account", - "destination": "/docs/data-platform/classic-projects/platform/account" + "source": "/data-platform/account", + "destination": "/data-platform/classic-projects/platform/account" }, { - "source": "/docs/data-platform/github-integration", - "destination": "/docs/data-platform/classic-projects/platform/github-integration" + "source": "/data-platform/github-integration", + "destination": "/data-platform/classic-projects/platform/github-integration" }, { - "source": "/docs/data-platform/billing/plans-and-quotas", - "destination": "/docs/data-platform/classic-projects/platform/billing/plans-and-quotas" + "source": "/data-platform/billing/plans-and-quotas", + "destination": "/data-platform/classic-projects/platform/billing/plans-and-quotas" }, { - "source": "/docs/data-platform/billing/manage-plans", - "destination": "/docs/data-platform/classic-projects/platform/billing/manage-plans" + "source": "/data-platform/billing/manage-plans", + "destination": "/data-platform/classic-projects/platform/billing/manage-plans" }, { - "source": "/docs/data-platform/billing/invoices", - "destination": "/docs/data-platform/classic-projects/platform/billing/invoices" + "source": "/data-platform/billing/invoices", + "destination": "/data-platform/classic-projects/platform/billing/invoices" }, { - "source": "/docs/data-platform/billing/data-proxy-usage", - "destination": "/docs/data-platform/classic-projects/platform/billing/data-proxy-usage" + "source": "/data-platform/billing/data-proxy-usage", + "destination": "/data-platform/classic-projects/platform/billing/data-proxy-usage" }, { - "source": "/docs/data-platform/billing/payment-method-and-billing-information", - "destination": "/docs/data-platform/classic-projects/platform/billing/payment-method-and-billing-information" + "source": "/data-platform/billing/payment-method-and-billing-information", + "destination": "/data-platform/classic-projects/platform/billing/payment-method-and-billing-information" }, { - "source": "/docs/data-platform/billing", - "destination": "/docs/data-platform/classic-projects/platform/billing" + "source": "/data-platform/billing", + "destination": "/data-platform/classic-projects/platform/billing" }, { - "source": "/docs/data-platform/troubleshooting/connection-to-db-timed-out", - "destination": "/docs/data-platform/classic-projects/platform/troubleshooting/connection-to-db-timed-out" + "source": "/data-platform/troubleshooting/connection-to-db-timed-out", + "destination": "/data-platform/classic-projects/platform/troubleshooting/connection-to-db-timed-out" }, { - "source": "/docs/data-platform/troubleshooting/cannot-change-db-of-env", - "destination": "/docs/data-platform/classic-projects/platform/troubleshooting/cannot-change-db-of-env" + "source": "/data-platform/troubleshooting/cannot-change-db-of-env", + "destination": "/data-platform/classic-projects/platform/troubleshooting/cannot-change-db-of-env" }, { - "source": "/docs/data-platform/troubleshooting/cannot-edit-schema-file", - "destination": "/docs/data-platform/classic-projects/platform/troubleshooting/cannot-edit-schema-file" + "source": "/data-platform/troubleshooting/cannot-edit-schema-file", + "destination": "/data-platform/classic-projects/platform/troubleshooting/cannot-edit-schema-file" }, { - "source": "/docs/data-platform/troubleshooting/schema-file-does-not-update", - "destination": "/docs/data-platform/classic-projects/platform/troubleshooting/schema-file-does-not-update" + "source": "/data-platform/troubleshooting/schema-file-does-not-update", + "destination": "/data-platform/classic-projects/platform/troubleshooting/schema-file-does-not-update" }, { - "source": "/docs/data-platform/troubleshooting", - "destination": "/docs/data-platform/platform-console/support" + "source": "/data-platform/troubleshooting", + "destination": "/data-platform/platform-console/support" }, { - "source": "/docs/data-platform/contact-support", - "destination": "/docs/data-platform/platform-console/support" + "source": "/data-platform/contact-support", + "destination": "/data-platform/platform-console/support" }, { - "source": "/docs/data-platform/cloud-projects/platform/account", - "destination": "/docs/data-platform/platform-console/concepts" + "source": "/data-platform/cloud-projects/platform/account", + "destination": "/data-platform/platform-console/concepts" }, { - "source": "/docs/data-platform/cloud-projects/platform/projects", - "destination": "/docs/data-platform/platform-console/concepts/projects" + "source": "/data-platform/cloud-projects/platform/projects", + "destination": "/data-platform/platform-console/concepts/projects" }, { - "source": "/docs/data-platform/cloud-projects/platform/organizations", - "destination": "/docs/data-platform/platform-console/concepts/workspaces" + "source": "/data-platform/cloud-projects/platform/organizations", + "destination": "/data-platform/platform-console/concepts/workspaces" }, { - "source": "/docs/data-platform/cloud-projects/platform/billing", - "destination": "/docs/data-platform/platform-console/concepts/workspaces" + "source": "/data-platform/cloud-projects/platform/billing", + "destination": "/data-platform/platform-console/concepts/workspaces" }, { - "source": "/docs/data-platform/cloud-projects/platform", - "destination": "/docs/data-platform/platform-console" + "source": "/data-platform/cloud-projects/platform", + "destination": "/data-platform/platform-console" }, { - "source": "/docs/data-platform/cloud-projects/faq", - "destination": "/docs/data-platform/platform-console/limits" + "source": "/data-platform/cloud-projects/faq", + "destination": "/data-platform/platform-console/limits" }, { - "source": "/docs/data-platform/cloud-projects/support", - "destination": "/docs/data-platform/platform-console/support" + "source": "/data-platform/cloud-projects/support", + "destination": "/data-platform/platform-console/support" }, { - "source": "/docs/data-platform/cloud-projects/about-cloud-projects", - "destination": "/docs/data-platform/platform-console/about" + "source": "/data-platform/cloud-projects/about-cloud-projects", + "destination": "/data-platform/platform-console/about" }, { - "source": "/docs/data-platform/cloud-projects", - "destination": "/docs/data-platform/platform-console" + "source": "/data-platform/cloud-projects", + "destination": "/data-platform/platform-console" }, { - "source": "/docs/data-platform/classic-projects/about/releases", - "destination": "/docs/data-platform/platform-console/maturity-levels" + "source": "/data-platform/classic-projects/about/releases", + "destination": "/data-platform/platform-console/maturity-levels" }, { - "source": "/docs/data-platform/classic-projects/about/limits-and-status", - "destination": "/docs/data-platform/platform-console/limits" + "source": "/data-platform/classic-projects/about/limits-and-status", + "destination": "/data-platform/platform-console/limits" }, { - "source": "/docs/data-platform/classic-projects/about", - "destination": "/docs/data-platform/platform-console/about" + "source": "/data-platform/classic-projects/about", + "destination": "/data-platform/platform-console/about" }, { - "source": "/docs/data-platform/classic-projects/contact-support", - "destination": "/docs/data-platform/platform-console/support" + "source": "/data-platform/classic-projects/contact-support", + "destination": "/data-platform/platform-console/support" }, { - "source": "/docs/guides/performance-and-optimization/connection-management/configure-pg-bouncer", - "destination": "/docs/guides/performance-and-optimization/connection-management/configure-for-external-connection-pooler" + "source": "/guides/performance-and-optimization/connection-management/configure-pg-bouncer", + "destination": "/guides/performance-and-optimization/connection-management/configure-for-external-connection-pooler" }, { - "source": "/docs/data-platform/classic-projects/platform/billing", + "source": "/data-platform/classic-projects/platform/billing", "destination": "https://www.prisma.io/pricing" }, { - "source": "/docs/data-platform/accelerate/testing", - "destination": "/docs/data-platform/accelerate/evaluating" + "source": "/data-platform/accelerate/testing", + "destination": "/data-platform/accelerate/evaluating" }, { - "source": "/docs/data-platform/classic-projects/platform/billing/plans-and-quotas", + "source": "/data-platform/classic-projects/platform/billing/plans-and-quotas", "destination": "https://www.prisma.io/pricing" }, { - "source": "/docs/data-platform/classic-projects/platform/billing/manage-plans", + "source": "/data-platform/classic-projects/platform/billing/manage-plans", "destination": "https://www.prisma.io/pricing" }, { - "source": "/docs/concepts/components/prisma-schema", - "destination": "/docs/orm/prisma-schema" + "source": "/concepts/components/prisma-schema", + "destination": "/orm/prisma-schema" }, { - "source": "/docs/concepts/components/prisma-client/working-with-prismaclient", - "destination": "/docs/orm/prisma-client" + "source": "/concepts/components/prisma-client/working-with-prismaclient", + "destination": "/orm/prisma-client" }, { - "source": "/docs/concepts/components/prisma-client/transactions", - "destination": "/docs/orm/prisma-client/queries/transactions" + "source": "/concepts/components/prisma-client/transactions", + "destination": "/orm/prisma-client/queries/transactions" }, { - "source": "/docs/concepts/components/prisma-migrate/get-started", - "destination": "/docs/orm/prisma-migrate/getting-started" + "source": "/concepts/components/prisma-migrate/get-started", + "destination": "/orm/prisma-migrate/getting-started" }, { - "source": "/docs/concepts/components/prisma-migrate/db-push", - "destination": "/docs/orm/prisma-migrate/workflows/prototyping-your-schema" + "source": "/concepts/components/prisma-migrate/db-push", + "destination": "/orm/prisma-migrate/workflows/prototyping-your-schema" }, { - "source": "/docs/concepts/components/prisma-cli", - "destination": "/docs/orm/tools/prisma-cli" + "source": "/concepts/components/prisma-cli", + "destination": "/orm/tools/prisma-cli" }, { - "source": "/docs/concepts/components/prisma-engines", - "destination": "/docs/orm/more/under-the-hood/engines" + "source": "/concepts/components/prisma-engines", + "destination": "/orm/more/under-the-hood/engines" }, { - "source": "/docs/concepts/database-connectors/mongodb", - "destination": "/docs/orm/" + "source": "/concepts/database-connectors/mongodb", + "destination": "/orm/" }, { - "source": "/docs/concepts/database-connectors", - "destination": "/docs/orm/overview" + "source": "/concepts/database-connectors", + "destination": "/orm/overview" }, { - "source": "/docs/concepts/more/telemetry", - "destination": "/docs/orm/tools/prisma-cli#telemetry" + "source": "/concepts/more/telemetry", + "destination": "/orm/tools/prisma-cli#telemetry" }, { - "source": "/docs/concepts/more", - "destination": "/docs/orm/more" + "source": "/concepts/more", + "destination": "/orm/more" }, { - "source": "/docs/concepts", - "destination": "/docs/orm" + "source": "/concepts", + "destination": "/orm" }, { - "source": "/docs/concepts/overview/why-prisma", - "destination": "/docs/orm/overview/introduction/why-prisma" + "source": "/concepts/overview/why-prisma", + "destination": "/orm/overview/introduction/why-prisma" }, { - "source": "/docs/concepts/overview/should-you-use-prisma", - "destination": "/docs/orm/overview/introduction/should-you-use-prisma" + "source": "/concepts/overview/should-you-use-prisma", + "destination": "/orm/overview/introduction/should-you-use-prisma" }, { - "source": "/docs/concepts/overview/what-is-prisma/data-modeling", - "destination": "/docs/orm/overview/introduction/data-modeling" + "source": "/concepts/overview/what-is-prisma/data-modeling", + "destination": "/orm/overview/introduction/data-modeling" }, { - "source": "/docs/concepts/overview/what-is-prisma", - "destination": "/docs/orm/overview/introduction/what-is-prisma" + "source": "/concepts/overview/what-is-prisma", + "destination": "/orm/overview/introduction/what-is-prisma" }, { - "source": "/docs/concepts/components/database-drivers", - "destination": "/docs/orm/overview/introduction/databases/database-drivers" + "source": "/concepts/components/database-drivers", + "destination": "/orm/overview/introduction/databases/database-drivers" }, { - "source": "/docs/concepts/database-connectors/postgresql", - "destination": "/docs/orm/overview/introduction/databases/postgresql" + "source": "/concepts/database-connectors/postgresql", + "destination": "/orm/overview/introduction/databases/postgresql" }, { - "source": "/docs/concepts/database-connectors/mysql", - "destination": "/docs/orm/overview/introduction/databases/mysql" + "source": "/concepts/database-connectors/mysql", + "destination": "/orm/overview/introduction/databases/mysql" }, { - "source": "/docs/concepts/database-connectors/sqlite", - "destination": "/docs/orm/overview/introduction/databases/sqlite" + "source": "/concepts/database-connectors/sqlite", + "destination": "/orm/overview/introduction/databases/sqlite" }, { - "source": "/docs/guides/database/mongodb", - "destination": "/docs/orm/overview/introduction/databases/mongodb" + "source": "/guides/database/mongodb", + "destination": "/orm/overview/introduction/databases/mongodb" }, { - "source": "/docs/concepts/database-connectors/cockroachdb", - "destination": "/docs/orm/overview/introduction/databases/cockroachdb" + "source": "/concepts/database-connectors/cockroachdb", + "destination": "/orm/overview/introduction/databases/cockroachdb" }, { - "source": "/docs/concepts/database-connectors/sql-server/sql-server-local", - "destination": "/docs/orm/overview/introduction/databases/sql-server/sql-server-local" + "source": "/concepts/database-connectors/sql-server/sql-server-local", + "destination": "/orm/overview/introduction/databases/sql-server/sql-server-local" }, { - "source": "/docs/concepts/database-connectors/sql-server/sql-server-docker", - "destination": "/docs/orm/overview/introduction/databases/sql-server/sql-server-docker" + "source": "/concepts/database-connectors/sql-server/sql-server-docker", + "destination": "/orm/overview/introduction/databases/sql-server/sql-server-docker" }, { - "source": "/docs/concepts/database-connectors/sql-server", - "destination": "/docs/orm/overview/introduction/databases/sql-server" + "source": "/concepts/database-connectors/sql-server", + "destination": "/orm/overview/introduction/databases/sql-server" }, { - "source": "/docs/guides/database/planetscale", - "destination": "/docs/orm/overview/introduction/databases/planetscale" + "source": "/guides/database/planetscale", + "destination": "/orm/overview/introduction/databases/planetscale" }, { - "source": "/docs/guides/database/cockroachdb", - "destination": "/docs/orm/overview/introduction/databases/cockroachdb" + "source": "/guides/database/cockroachdb", + "destination": "/orm/overview/introduction/databases/cockroachdb" }, { - "source": "/docs/guides/database/supabase", - "destination": "/docs/orm/overview/introduction/databases/supabase" + "source": "/guides/database/supabase", + "destination": "/orm/overview/introduction/databases/supabase" }, { - "source": "/docs/guides/database/neon", - "destination": "/docs/orm/overview/introduction/databases/neon" + "source": "/guides/database/neon", + "destination": "/orm/overview/introduction/databases/neon" }, { - "source": "/docs/guides/database/turso", - "destination": "/docs/orm/overview/introduction/databases/turso" + "source": "/guides/database/turso", + "destination": "/orm/overview/introduction/databases/turso" }, { - "source": "/docs/guides/database/images/embedded-replica-create-replica.png", - "destination": "/docs/orm/overview/introduction/databases/images/embedded-replica-create-replica.png" + "source": "/guides/database/images/embedded-replica-create-replica.png", + "destination": "/orm/overview/introduction/databases/images/embedded-replica-create-replica.png" }, { - "source": "/docs/guides/database/images/embedded-replica-read.png", - "destination": "/docs/orm/overview/introduction/databases/images/embedded-replica-read.png" + "source": "/guides/database/images/embedded-replica-read.png", + "destination": "/orm/overview/introduction/databases/images/embedded-replica-read.png" }, { - "source": "/docs/guides/database/images/embedded-replica-remote-read.png", - "destination": "/docs/orm/overview/introduction/databases/images/embedded-replica-remote-read.png" + "source": "/guides/database/images/embedded-replica-remote-read.png", + "destination": "/orm/overview/introduction/databases/images/embedded-replica-remote-read.png" }, { - "source": "/docs/guides/database/images/embedded-replica-write-propagation.png", - "destination": "/docs/orm/overview/introduction/databases/images/embedded-replica-write-propagation.png" + "source": "/guides/database/images/embedded-replica-write-propagation.png", + "destination": "/orm/overview/introduction/databases/images/embedded-replica-write-propagation.png" }, { - "source": "/docs/concepts/database-connectors/mongodb.png", - "destination": "/docs/orm/overview/introduction/databases/mongodb.png" + "source": "/concepts/database-connectors/mongodb.png", + "destination": "/orm/overview/introduction/databases/mongodb.png" }, { - "source": "/docs/concepts/database-connectors/mysql-connection-string.png", - "destination": "/docs/orm/overview/introduction/databases/mysql-connection-string.png" + "source": "/concepts/database-connectors/mysql-connection-string.png", + "destination": "/orm/overview/introduction/databases/mysql-connection-string.png" }, { - "source": "/docs/concepts/database-connectors/postgresql-connection-string.png", - "destination": "/docs/orm/overview/introduction/databases/postgresql-connection-string.png" + "source": "/concepts/database-connectors/postgresql-connection-string.png", + "destination": "/orm/overview/introduction/databases/postgresql-connection-string.png" }, { - "source": "/docs/concepts/overview/node-js-db-tools-tradeoffs.png", - "destination": "/docs/orm/overview/introduction/node-js-db-tools-tradeoffs.png" + "source": "/concepts/overview/node-js-db-tools-tradeoffs.png", + "destination": "/orm/overview/introduction/node-js-db-tools-tradeoffs.png" }, { - "source": "/docs/concepts/overview/prisma-makes-devs-productive.png", - "destination": "/docs/orm/overview/introduction/prisma-makes-devs-productive.png" + "source": "/concepts/overview/prisma-makes-devs-productive.png", + "destination": "/orm/overview/introduction/prisma-makes-devs-productive.png" }, { - "source": "/docs/concepts/overview/prisma-rest-apis.png", - "destination": "/docs/orm/overview/introduction/prisma-rest-apis.png" + "source": "/concepts/overview/prisma-rest-apis.png", + "destination": "/orm/overview/introduction/prisma-rest-apis.png" }, { - "source": "/docs/concepts/overview/user-post-relation-1-n.png", - "destination": "/docs/orm/overview/introduction/user-post-relation-1-n.png" + "source": "/concepts/overview/user-post-relation-1-n.png", + "destination": "/orm/overview/introduction/user-post-relation-1-n.png" }, { - "source": "/docs/concepts/overview/user-table.png", - "destination": "/docs/orm/overview/introduction/user-table.png" + "source": "/concepts/overview/user-table.png", + "destination": "/orm/overview/introduction/user-table.png" }, { - "source": "/docs/concepts/overview/user-table.svg", - "destination": "/docs/orm/overview/introduction/user-table.svg" + "source": "/concepts/overview/user-table.svg", + "destination": "/orm/overview/introduction/user-table.svg" }, { - "source": "/docs/concepts/overview/prisma-in-your-stack/rest.md", - "destination": "/docs/orm/overview/prisma-in-your-stack/rest.md" + "source": "/concepts/overview/prisma-in-your-stack/rest.md", + "destination": "/orm/overview/prisma-in-your-stack/rest.md" }, { - "source": "/docs/concepts/overview/prisma-in-your-stack/graphql.md", - "destination": "/docs/orm/overview/prisma-in-your-stack/graphql.md" + "source": "/concepts/overview/prisma-in-your-stack/graphql.md", + "destination": "/orm/overview/prisma-in-your-stack/graphql.md" }, { - "source": "/docs/concepts/overview/prisma-in-your-stack/fullstack", - "destination": "/docs/orm/overview/prisma-in-your-stack/fullstack" + "source": "/concepts/overview/prisma-in-your-stack/fullstack", + "destination": "/orm/overview/prisma-in-your-stack/fullstack" }, { - "source": "/docs/concepts/overview/prisma-in-your-stack/is-prisma-an-orm", - "destination": "/docs/orm/overview/prisma-in-your-stack/is-prisma-an-orm" + "source": "/concepts/overview/prisma-in-your-stack/is-prisma-an-orm", + "destination": "/orm/overview/prisma-in-your-stack/is-prisma-an-orm" }, { - "source": "/docs/concepts/overview/prisma-in-your-stack", - "destination": "/docs/orm/overview/prisma-in-your-stack" + "source": "/concepts/overview/prisma-in-your-stack", + "destination": "/orm/overview/prisma-in-your-stack" }, { - "source": "/docs/concepts/overview", - "destination": "/docs/orm/overview" + "source": "/concepts/overview", + "destination": "/orm/overview" }, { - "source": "/docs/concepts/components/prisma-client/working-with-prismaclient/generating-prisma-client", - "destination": "/docs/orm/prisma-client/setup-and-configuration/generating-prisma-client" + "source": "/concepts/components/prisma-client/working-with-prismaclient/generating-prisma-client", + "destination": "/orm/prisma-client/setup-and-configuration/generating-prisma-client" }, { - "source": "/docs/concepts/components/prisma-client/working-with-prismaclient/instantiate-prisma-client", - "destination": "/docs/orm/prisma-client/setup-and-configuration/instantiate-prisma-client" + "source": "/concepts/components/prisma-client/working-with-prismaclient/instantiate-prisma-client", + "destination": "/orm/prisma-client/setup-and-configuration/instantiate-prisma-client" }, { - "source": "/docs/concepts/components/prisma-client/read-replicas", - "destination": "/docs/orm/prisma-client/setup-and-configuration/read-replicas" + "source": "/concepts/components/prisma-client/read-replicas", + "destination": "/orm/prisma-client/setup-and-configuration/read-replicas" }, { - "source": "/docs/concepts/components/prisma-client/working-with-prismaclient/use-custom-model-and-field-names", - "destination": "/docs/orm/prisma-client/setup-and-configuration/custom-model-and-field-names" + "source": "/concepts/components/prisma-client/working-with-prismaclient/use-custom-model-and-field-names", + "destination": "/orm/prisma-client/setup-and-configuration/custom-model-and-field-names" }, { - "source": "/docs/concepts/components/prisma-client/working-with-prismaclient/logging", - "destination": "/docs/orm/prisma-client/setup-and-configuration/logging" + "source": "/concepts/components/prisma-client/working-with-prismaclient/logging", + "destination": "/orm/prisma-client/setup-and-configuration/logging" }, { - "source": "/docs/concepts/components/prisma-client/working-with-prismaclient/error-formatting", - "destination": "/docs/orm/prisma-client/setup-and-configuration/error-formatting" + "source": "/concepts/components/prisma-client/working-with-prismaclient/error-formatting", + "destination": "/orm/prisma-client/setup-and-configuration/error-formatting" }, { - "source": "/docs/concepts/components/prisma-client/database-polyfills", - "destination": "/docs/orm/prisma-client/setup-and-configuration/database-polyfills" + "source": "/concepts/components/prisma-client/database-polyfills", + "destination": "/orm/prisma-client/setup-and-configuration/database-polyfills" }, { - "source": "/docs/concepts/components/prisma-client/working-with-prismaclient/connection-management", - "destination": "/docs/orm/prisma-client/setup-and-configuration/databases-connections/connection-management" + "source": "/concepts/components/prisma-client/working-with-prismaclient/connection-management", + "destination": "/orm/prisma-client/setup-and-configuration/databases-connections/connection-management" }, { - "source": "/docs/concepts/components/prisma-client/working-with-prismaclient/connection-pool", - "destination": "/docs/orm/prisma-client/setup-and-configuration/databases-connections/connection-pool" + "source": "/concepts/components/prisma-client/working-with-prismaclient/connection-pool", + "destination": "/orm/prisma-client/setup-and-configuration/databases-connections/connection-pool" }, { - "source": "/docs/guides/performance-and-optimization/connection-management/configure-for-external-connection-pooler", - "destination": "/docs/orm/prisma-client/setup-and-configuration/databases-connections/pgbouncer" + "source": "/guides/performance-and-optimization/connection-management/configure-for-external-connection-pooler", + "destination": "/orm/prisma-client/setup-and-configuration/databases-connections/pgbouncer" }, { - "source": "/docs/guides/performance-and-optimization/connection-management", - "destination": "/docs/orm/prisma-client/setup-and-configuration/databases-connections" + "source": "/guides/performance-and-optimization/connection-management", + "destination": "/orm/prisma-client/setup-and-configuration/databases-connections" }, { - "source": "/docs/guides/performance-and-optimization/connection-management/serverless-connections-2.png", - "destination": "/docs/orm/prisma-client/setup-and-configuration/databases-connections/serverless-connections-2.png" + "source": "/guides/performance-and-optimization/connection-management/serverless-connections-2.png", + "destination": "/orm/prisma-client/setup-and-configuration/databases-connections/serverless-connections-2.png" }, { - "source": "/docs/guides/performance-and-optimization/connection-management/serverless-connections.png", - "destination": "/docs/orm/prisma-client/setup-and-configuration/databases-connections/serverless-connections.png" + "source": "/guides/performance-and-optimization/connection-management/serverless-connections.png", + "destination": "/orm/prisma-client/setup-and-configuration/databases-connections/serverless-connections.png" }, { - "source": "/docs/concepts/components/prisma-client/working-with-prismaclient/prisma-client-generation-workflow.png", - "destination": "/docs/orm/prisma-client/setup-and-configuration/prisma-client-generation-workflow.png" + "source": "/concepts/components/prisma-client/working-with-prismaclient/prisma-client-generation-workflow.png", + "destination": "/orm/prisma-client/setup-and-configuration/prisma-client-generation-workflow.png" }, { - "source": "/docs/concepts/components/prisma-client/working-with-prismaclient/prisma-client-node-module.png", - "destination": "/docs/orm/prisma-client/setup-and-configuration/prisma-client-node-module.png" + "source": "/concepts/components/prisma-client/working-with-prismaclient/prisma-client-node-module.png", + "destination": "/orm/prisma-client/setup-and-configuration/prisma-client-node-module.png" }, { - "source": "/docs/concepts/components/prisma-client/crud", - "destination": "/docs/orm/prisma-client/queries/crud" + "source": "/concepts/components/prisma-client/crud", + "destination": "/orm/prisma-client/queries/crud" }, { - "source": "/docs/concepts/components/prisma-client/select-fields", - "destination": "/docs/orm/prisma-client/queries/select-fields" + "source": "/concepts/components/prisma-client/select-fields", + "destination": "/orm/prisma-client/queries/select-fields" }, { - "source": "/docs/concepts/components/prisma-client/relation-queries", - "destination": "/docs/orm/prisma-client/queries/relation-queries" + "source": "/concepts/components/prisma-client/relation-queries", + "destination": "/orm/prisma-client/queries/relation-queries" }, { - "source": "/docs/concepts/components/prisma-client/filtering-and-sorting", - "destination": "/docs/orm/prisma-client/queries/filtering-and-sorting" + "source": "/concepts/components/prisma-client/filtering-and-sorting", + "destination": "/orm/prisma-client/queries/filtering-and-sorting" }, { - "source": "/docs/concepts/components/prisma-client/pagination", - "destination": "/docs/orm/prisma-client/queries/pagination" + "source": "/concepts/components/prisma-client/pagination", + "destination": "/orm/prisma-client/queries/pagination" }, { - "source": "/docs/concepts/components/prisma-client/aggregation-grouping-summarizing", - "destination": "/docs/orm/prisma-client/queries/aggregation-grouping-summarizing" + "source": "/concepts/components/prisma-client/aggregation-grouping-summarizing", + "destination": "/orm/prisma-client/queries/aggregation-grouping-summarizing" }, { - "source": "/docs/guides/performance-and-optimization/prisma-client-transactions-guide", - "destination": "/docs/orm/prisma-client/queries/transactions" + "source": "/guides/performance-and-optimization/prisma-client-transactions-guide", + "destination": "/orm/prisma-client/queries/transactions" }, { - "source": "/docs/concepts/components/prisma-client/full-text-search", - "destination": "/docs/orm/prisma-client/queries/full-text-search" + "source": "/concepts/components/prisma-client/full-text-search", + "destination": "/orm/prisma-client/queries/full-text-search" }, { - "source": "/docs/concepts/components/prisma-client/custom-validation", - "destination": "/docs/orm/prisma-client/queries/custom-validation" + "source": "/concepts/components/prisma-client/custom-validation", + "destination": "/orm/prisma-client/queries/custom-validation" }, { - "source": "/docs/concepts/components/prisma-client/computed-fields", - "destination": "/docs/orm/prisma-client/queries/computed-fields" + "source": "/concepts/components/prisma-client/computed-fields", + "destination": "/orm/prisma-client/queries/computed-fields" }, { - "source": "/docs/concepts/components/prisma-client/excluding-fields", - "destination": "/docs/orm/prisma-client/queries/excluding-fields" + "source": "/concepts/components/prisma-client/excluding-fields", + "destination": "/orm/prisma-client/queries/excluding-fields" }, { - "source": "/docs/concepts/components/prisma-client/custom-models", - "destination": "/docs/orm/prisma-client/queries/custom-models" + "source": "/concepts/components/prisma-client/custom-models", + "destination": "/orm/prisma-client/queries/custom-models" }, { - "source": "/docs/concepts/components/prisma-client/case-sensitivity", - "destination": "/docs/orm/prisma-client/queries/case-sensitivity" + "source": "/concepts/components/prisma-client/case-sensitivity", + "destination": "/orm/prisma-client/queries/case-sensitivity" }, { - "source": "/docs/concepts/components/prisma-client/raw-database-access", - "destination": "/docs/orm/prisma-client/queries/raw-database-access/raw-queries" + "source": "/concepts/components/prisma-client/raw-database-access", + "destination": "/orm/prisma-client/queries/raw-database-access/raw-queries" }, { - "source": "/docs/guides/other/advanced-database-tasks/typesafe-raw-sql/safeql", - "destination": "/docs/orm/prisma-client/queries/raw-database-access/custom-and-type-safe-queries" + "source": "/guides/other/advanced-database-tasks/typesafe-raw-sql/safeql", + "destination": "/orm/prisma-client/queries/raw-database-access/custom-and-type-safe-queries" }, { - "source": "/docs/guides/performance-and-optimization/query-optimization-performance", - "destination": "/docs/orm/prisma-client/queries/query-optimization-performance" + "source": "/guides/performance-and-optimization/query-optimization-performance", + "destination": "/orm/prisma-client/queries/query-optimization-performance" }, { - "source": "/docs/concepts/components/prisma-client/composite-types", - "destination": "/docs/orm/prisma-client/special-fields-and-types/composite-types" + "source": "/concepts/components/prisma-client/composite-types", + "destination": "/orm/prisma-client/special-fields-and-types/composite-types" }, { - "source": "/docs/concepts/components/prisma-client/null-and-undefined", - "destination": "/docs/orm/prisma-client/special-fields-and-types/null-and-undefined" + "source": "/concepts/components/prisma-client/null-and-undefined", + "destination": "/orm/prisma-client/special-fields-and-types/null-and-undefined" }, { - "source": "/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields", - "destination": "/docs/orm/prisma-client/special-fields-and-types/working-with-json-fields" + "source": "/concepts/components/prisma-client/working-with-fields/working-with-json-fields", + "destination": "/orm/prisma-client/special-fields-and-types/working-with-json-fields" }, { - "source": "/docs/concepts/components/prisma-client/working-with-fields/working-with-scalar-lists-arrays", - "destination": "/docs/orm/prisma-client/special-fields-and-types/working-with-scalar-lists-arrays" + "source": "/concepts/components/prisma-client/working-with-fields/working-with-scalar-lists-arrays", + "destination": "/orm/prisma-client/special-fields-and-types/working-with-scalar-lists-arrays" }, { - "source": "/docs/concepts/components/prisma-client/working-with-fields/working-with-composite-ids-and-constraints", - "destination": "/docs/orm/prisma-client/special-fields-and-types/working-with-composite-ids-and-constraints" + "source": "/concepts/components/prisma-client/working-with-fields/working-with-composite-ids-and-constraints", + "destination": "/orm/prisma-client/special-fields-and-types/working-with-composite-ids-and-constraints" }, { - "source": "/docs/concepts/components/prisma-client/working-with-fields", - "destination": "/docs/orm/prisma-client/special-fields-and-types" + "source": "/concepts/components/prisma-client/working-with-fields", + "destination": "/orm/prisma-client/special-fields-and-types" }, { - "source": "/docs/concepts/components/prisma-client/client-extensions/model", - "destination": "/docs/orm/prisma-client/client-extensions/model" + "source": "/concepts/components/prisma-client/client-extensions/model", + "destination": "/orm/prisma-client/client-extensions/model" }, { - "source": "/docs/concepts/components/prisma-client/client-extensions/client", - "destination": "/docs/orm/prisma-client/client-extensions/client" + "source": "/concepts/components/prisma-client/client-extensions/client", + "destination": "/orm/prisma-client/client-extensions/client" }, { - "source": "/docs/concepts/components/prisma-client/client-extensions/query", - "destination": "/docs/orm/prisma-client/client-extensions/query" + "source": "/concepts/components/prisma-client/client-extensions/query", + "destination": "/orm/prisma-client/client-extensions/query" }, { - "source": "/docs/concepts/components/prisma-client/client-extensions/result", - "destination": "/docs/orm/prisma-client/client-extensions/result" + "source": "/concepts/components/prisma-client/client-extensions/result", + "destination": "/orm/prisma-client/client-extensions/result" }, { - "source": "/docs/concepts/components/prisma-client/client-extensions/shared-extensions", - "destination": "/docs/orm/prisma-client/client-extensions/shared-extensions" + "source": "/concepts/components/prisma-client/client-extensions/shared-extensions", + "destination": "/orm/prisma-client/client-extensions/shared-extensions" }, { - "source": "/docs/concepts/components/prisma-client/client-extensions/type-utilities", - "destination": "/docs/orm/prisma-client/client-extensions/type-utilities" + "source": "/concepts/components/prisma-client/client-extensions/type-utilities", + "destination": "/orm/prisma-client/client-extensions/type-utilities" }, { - "source": "/docs/concepts/components/prisma-client/client-extensions/extension-examples", - "destination": "/docs/orm/prisma-client/client-extensions/extension-examples" + "source": "/concepts/components/prisma-client/client-extensions/extension-examples", + "destination": "/orm/prisma-client/client-extensions/extension-examples" }, { - "source": "/docs/concepts/components/prisma-client/middleware/soft-delete-middleware", - "destination": "/docs/orm/prisma-client/client-extensions/middleware/soft-delete-middleware" + "source": "/concepts/components/prisma-client/middleware/soft-delete-middleware", + "destination": "/orm/prisma-client/client-extensions/middleware/soft-delete-middleware" }, { - "source": "/docs/concepts/components/prisma-client/middleware/logging-middleware", - "destination": "/docs/orm/prisma-client/client-extensions/middleware/logging-middleware" + "source": "/concepts/components/prisma-client/middleware/logging-middleware", + "destination": "/orm/prisma-client/client-extensions/middleware/logging-middleware" }, { - "source": "/docs/concepts/components/prisma-client/middleware/session-data-middleware", - "destination": "/docs/orm/prisma-client/client-extensions/middleware/session-data-middleware" + "source": "/concepts/components/prisma-client/middleware/session-data-middleware", + "destination": "/orm/prisma-client/client-extensions/middleware/session-data-middleware" }, { - "source": "/docs/concepts/components/prisma-client/middleware", - "destination": "/docs/orm/prisma-client/client-extensions/middleware" + "source": "/concepts/components/prisma-client/middleware", + "destination": "/orm/prisma-client/client-extensions/middleware" }, { - "source": "/docs/concepts/components/prisma-client/client-extensions", - "destination": "/docs/orm/prisma-client/client-extensions" + "source": "/concepts/components/prisma-client/client-extensions", + "destination": "/orm/prisma-client/client-extensions" }, { - "source": "/docs/concepts/components/prisma-client/advanced-type-safety/operating-against-partial-structures-of-model-types", - "destination": "/docs/orm/prisma-client/type-safety/operating-against-partial-structures-of-model-types" + "source": "/concepts/components/prisma-client/advanced-type-safety/operating-against-partial-structures-of-model-types", + "destination": "/orm/prisma-client/type-safety/operating-against-partial-structures-of-model-types" }, { - "source": "/docs/guides/other/prisma-type-system", - "destination": "/docs/orm/prisma-client/type-safety/prisma-type-system" + "source": "/guides/other/prisma-type-system", + "destination": "/orm/prisma-client/type-safety/prisma-type-system" }, { - "source": "/docs/concepts/components/prisma-client/advanced-type-safety/prisma-validator", - "destination": "/docs/orm/prisma-client/type-safety/prisma-validator" + "source": "/concepts/components/prisma-client/advanced-type-safety/prisma-validator", + "destination": "/orm/prisma-client/type-safety/prisma-validator" }, { - "source": "/docs/concepts/components/prisma-client/advanced-type-safety", - "destination": "/docs/orm/prisma-client/type-safety" + "source": "/concepts/components/prisma-client/advanced-type-safety", + "destination": "/orm/prisma-client/type-safety" }, { - "source": "/docs/guides/testing/unit-testing", - "destination": "/docs/orm/prisma-client/testing/unit-testing" + "source": "/guides/testing/unit-testing", + "destination": "/orm/prisma-client/testing/unit-testing" }, { - "source": "/docs/guides/testing/integration-testing", - "destination": "/docs/orm/prisma-client/testing/integration-testing" + "source": "/guides/testing/integration-testing", + "destination": "/orm/prisma-client/testing/integration-testing" }, { - "source": "/docs/guides/testing/Docker_Diagram_V1.png", - "destination": "/docs/orm/prisma-client/testing/Docker_Diagram_V1.png" + "source": "/guides/testing/Docker_Diagram_V1.png", + "destination": "/orm/prisma-client/testing/Docker_Diagram_V1.png" }, { - "source": "/docs/guides/testing", - "destination": "/docs/orm/prisma-client/testing" + "source": "/guides/testing", + "destination": "/orm/prisma-client/testing" }, { - "source": "/docs/guides/deployment/deploy-prisma", - "destination": "/docs/orm/prisma-client/deployment/deploy-prisma" + "source": "/guides/deployment/deploy-prisma", + "destination": "/orm/prisma-client/deployment/deploy-prisma" }, { - "source": "/docs/guides/deployment/traditional/deploy-to-heroku", - "destination": "/docs/orm/prisma-client/deployment/traditional/deploy-to-heroku" + "source": "/guides/deployment/traditional/deploy-to-heroku", + "destination": "/orm/prisma-client/deployment/traditional/deploy-to-heroku" }, { - "source": "/docs/guides/deployment/traditional/deploy-to-koyeb", - "destination": "/docs/orm/prisma-client/deployment/traditional/deploy-to-koyeb" + "source": "/guides/deployment/traditional/deploy-to-koyeb", + "destination": "/orm/prisma-client/deployment/traditional/deploy-to-koyeb" }, { - "source": "/docs/guides/deployment/traditional/images/heroku-architecture.png", - "destination": "/docs/orm/prisma-client/deployment/traditional/images/heroku-architecture.png" + "source": "/guides/deployment/traditional/images/heroku-architecture.png", + "destination": "/orm/prisma-client/deployment/traditional/images/heroku-architecture.png" }, { - "source": "/docs/guides/deployment/traditional/images/heroku-deployed.png", - "destination": "/docs/orm/prisma-client/deployment/traditional/images/heroku-deployed.png" + "source": "/guides/deployment/traditional/images/heroku-deployed.png", + "destination": "/orm/prisma-client/deployment/traditional/images/heroku-deployed.png" }, { - "source": "/docs/guides/deployment/traditional/images/koyeb-app-creation.png", - "destination": "/docs/orm/prisma-client/deployment/traditional/images/koyeb-app-creation.png" + "source": "/guides/deployment/traditional/images/koyeb-app-creation.png", + "destination": "/orm/prisma-client/deployment/traditional/images/koyeb-app-creation.png" }, { - "source": "/docs/guides/deployment/traditional/images/koyeb-architecture.png", - "destination": "/docs/orm/prisma-client/deployment/traditional/images/koyeb-architecture.png" + "source": "/guides/deployment/traditional/images/koyeb-architecture.png", + "destination": "/orm/prisma-client/deployment/traditional/images/koyeb-architecture.png" }, { - "source": "/docs/guides/deployment/traditional/images/koyeb-deployed.png", - "destination": "/docs/orm/prisma-client/deployment/traditional/images/koyeb-deployed.png" + "source": "/guides/deployment/traditional/images/koyeb-deployed.png", + "destination": "/orm/prisma-client/deployment/traditional/images/koyeb-deployed.png" }, { - "source": "/docs/guides/deployment/traditional", - "destination": "/docs/orm/prisma-client/deployment/traditional" + "source": "/guides/deployment/traditional", + "destination": "/orm/prisma-client/deployment/traditional" }, { - "source": "/docs/guides/deployment/serverless/deploy-to-azure-functions", - "destination": "/docs/orm/prisma-client/deployment/serverless/deploy-to-azure-functions" + "source": "/guides/deployment/serverless/deploy-to-azure-functions", + "destination": "/orm/prisma-client/deployment/serverless/deploy-to-azure-functions" }, { - "source": "/docs/guides/deployment/serverless/deploy-to-vercel", - "destination": "/docs/orm/prisma-client/deployment/serverless/deploy-to-vercel" + "source": "/guides/deployment/serverless/deploy-to-vercel", + "destination": "/orm/prisma-client/deployment/serverless/deploy-to-vercel" }, { - "source": "/docs/guides/deployment/serverless/deploy-to-aws-lambda", - "destination": "/docs/orm/prisma-client/deployment/serverless/deploy-to-aws-lambda" + "source": "/guides/deployment/serverless/deploy-to-aws-lambda", + "destination": "/orm/prisma-client/deployment/serverless/deploy-to-aws-lambda" }, { - "source": "/docs/guides/deployment/serverless/deploy-to-netlify", - "destination": "/docs/orm/prisma-client/deployment/serverless/deploy-to-netlify" + "source": "/guides/deployment/serverless/deploy-to-netlify", + "destination": "/orm/prisma-client/deployment/serverless/deploy-to-netlify" }, { - "source": "/docs/guides/deployment/serverless/images/00-deploy-to-vercel-architecture.png", - "destination": "/docs/orm/prisma-client/deployment/serverless/images/00-deploy-to-vercel-architecture.png" + "source": "/guides/deployment/serverless/images/00-deploy-to-vercel-architecture.png", + "destination": "/orm/prisma-client/deployment/serverless/images/00-deploy-to-vercel-architecture.png" }, { - "source": "/docs/guides/deployment/serverless/images/10-deploy-to-vercel-deploy-button.png", - "destination": "/docs/orm/prisma-client/deployment/serverless/images/10-deploy-to-vercel-deploy-button.png" + "source": "/guides/deployment/serverless/images/10-deploy-to-vercel-deploy-button.png", + "destination": "/orm/prisma-client/deployment/serverless/images/10-deploy-to-vercel-deploy-button.png" }, { - "source": "/docs/guides/deployment/serverless/images/10-deploy-to-vercel-deploy-button.snagx", - "destination": "/docs/orm/prisma-client/deployment/serverless/images/10-deploy-to-vercel-deploy-button.snagx" + "source": "/guides/deployment/serverless/images/10-deploy-to-vercel-deploy-button.snagx", + "destination": "/orm/prisma-client/deployment/serverless/images/10-deploy-to-vercel-deploy-button.snagx" }, { - "source": "/docs/guides/deployment/serverless/images/20-deploy-to-vercel-select-github.png", - "destination": "/docs/orm/prisma-client/deployment/serverless/images/20-deploy-to-vercel-select-github.png" + "source": "/guides/deployment/serverless/images/20-deploy-to-vercel-select-github.png", + "destination": "/orm/prisma-client/deployment/serverless/images/20-deploy-to-vercel-select-github.png" }, { - "source": "/docs/guides/deployment/serverless/images/20-deploy-to-vercel-select-github.snagx", - "destination": "/docs/orm/prisma-client/deployment/serverless/images/20-deploy-to-vercel-select-github.snagx" + "source": "/guides/deployment/serverless/images/20-deploy-to-vercel-select-github.snagx", + "destination": "/orm/prisma-client/deployment/serverless/images/20-deploy-to-vercel-select-github.snagx" }, { - "source": "/docs/guides/deployment/serverless/images/30-deploy-to-vercel-create-git-repo.png", - "destination": "/docs/orm/prisma-client/deployment/serverless/images/30-deploy-to-vercel-create-git-repo.png" + "source": "/guides/deployment/serverless/images/30-deploy-to-vercel-create-git-repo.png", + "destination": "/orm/prisma-client/deployment/serverless/images/30-deploy-to-vercel-create-git-repo.png" }, { - "source": "/docs/guides/deployment/serverless/images/30-deploy-to-vercel-create-git-repo.snagx", - "destination": "/docs/orm/prisma-client/deployment/serverless/images/30-deploy-to-vercel-create-git-repo.snagx" + "source": "/guides/deployment/serverless/images/30-deploy-to-vercel-create-git-repo.snagx", + "destination": "/orm/prisma-client/deployment/serverless/images/30-deploy-to-vercel-create-git-repo.snagx" }, { - "source": "/docs/guides/deployment/serverless/images/40-deploy-to-vercel-configure-project.png", - "destination": "/docs/orm/prisma-client/deployment/serverless/images/40-deploy-to-vercel-configure-project.png" + "source": "/guides/deployment/serverless/images/40-deploy-to-vercel-configure-project.png", + "destination": "/orm/prisma-client/deployment/serverless/images/40-deploy-to-vercel-configure-project.png" }, { - "source": "/docs/guides/deployment/serverless/images/40-deploy-to-vercel-configure-project.snagx", - "destination": "/docs/orm/prisma-client/deployment/serverless/images/40-deploy-to-vercel-configure-project.snagx" + "source": "/guides/deployment/serverless/images/40-deploy-to-vercel-configure-project.snagx", + "destination": "/orm/prisma-client/deployment/serverless/images/40-deploy-to-vercel-configure-project.snagx" }, { - "source": "/docs/guides/deployment/serverless/images/50-deploy-to-vercel-success.png", - "destination": "/docs/orm/prisma-client/deployment/serverless/images/50-deploy-to-vercel-success.png" + "source": "/guides/deployment/serverless/images/50-deploy-to-vercel-success.png", + "destination": "/orm/prisma-client/deployment/serverless/images/50-deploy-to-vercel-success.png" }, { - "source": "/docs/guides/deployment/serverless/images/50-deploy-to-vercel-success.snagx", - "destination": "/docs/orm/prisma-client/deployment/serverless/images/50-deploy-to-vercel-success.snagx" + "source": "/guides/deployment/serverless/images/50-deploy-to-vercel-success.snagx", + "destination": "/orm/prisma-client/deployment/serverless/images/50-deploy-to-vercel-success.snagx" }, { - "source": "/docs/guides/deployment/serverless/images/60-deploy-to-vercel-preview-environment-variable.png", - "destination": "/docs/orm/prisma-client/deployment/serverless/images/60-deploy-to-vercel-preview-environment-variable.png" + "source": "/guides/deployment/serverless/images/60-deploy-to-vercel-preview-environment-variable.png", + "destination": "/orm/prisma-client/deployment/serverless/images/60-deploy-to-vercel-preview-environment-variable.png" }, { - "source": "/docs/guides/deployment/serverless/images/60-deploy-to-vercel-preview-environment-variable.snagx", - "destination": "/docs/orm/prisma-client/deployment/serverless/images/60-deploy-to-vercel-preview-environment-variable.snagx" + "source": "/guides/deployment/serverless/images/60-deploy-to-vercel-preview-environment-variable.snagx", + "destination": "/orm/prisma-client/deployment/serverless/images/60-deploy-to-vercel-preview-environment-variable.snagx" }, { - "source": "/docs/guides/deployment/serverless/images/70-deploy-to-vercel-environment-variables.png", - "destination": "/docs/orm/prisma-client/deployment/serverless/images/70-deploy-to-vercel-environment-variables.png" + "source": "/guides/deployment/serverless/images/70-deploy-to-vercel-environment-variables.png", + "destination": "/orm/prisma-client/deployment/serverless/images/70-deploy-to-vercel-environment-variables.png" }, { - "source": "/docs/guides/deployment/serverless/images/70-deploy-to-vercel-environment-variables.snagx", - "destination": "/docs/orm/prisma-client/deployment/serverless/images/70-deploy-to-vercel-environment-variables.snagx" + "source": "/guides/deployment/serverless/images/70-deploy-to-vercel-environment-variables.snagx", + "destination": "/orm/prisma-client/deployment/serverless/images/70-deploy-to-vercel-environment-variables.snagx" }, { - "source": "/docs/guides/deployment/serverless/images/01-deploy-to-netlify-architecture.png", - "destination": "/docs/orm/prisma-client/deployment/serverless/images/01-deploy-to-netlify-architecture.png" + "source": "/guides/deployment/serverless/images/01-deploy-to-netlify-architecture.png", + "destination": "/orm/prisma-client/deployment/serverless/images/01-deploy-to-netlify-architecture.png" }, { - "source": "/docs/guides/deployment/serverless/images/02-deploy-to-netlify-example-repo-click-fork.png", - "destination": "/docs/orm/prisma-client/deployment/serverless/images/02-deploy-to-netlify-example-repo-click-fork.png" + "source": "/guides/deployment/serverless/images/02-deploy-to-netlify-example-repo-click-fork.png", + "destination": "/orm/prisma-client/deployment/serverless/images/02-deploy-to-netlify-example-repo-click-fork.png" }, { - "source": "/docs/guides/deployment/serverless/images/02-deploy-to-netlify-example-repo-click-fork.snagx", - "destination": "/docs/orm/prisma-client/deployment/serverless/images/02-deploy-to-netlify-example-repo-click-fork.snagx" + "source": "/guides/deployment/serverless/images/02-deploy-to-netlify-example-repo-click-fork.snagx", + "destination": "/orm/prisma-client/deployment/serverless/images/02-deploy-to-netlify-example-repo-click-fork.snagx" }, { - "source": "/docs/guides/deployment/serverless/images/03-deploy-to-netlify-example-repo-create-fork-page.png", - "destination": "/docs/orm/prisma-client/deployment/serverless/images/03-deploy-to-netlify-example-repo-create-fork-page.png" + "source": "/guides/deployment/serverless/images/03-deploy-to-netlify-example-repo-create-fork-page.png", + "destination": "/orm/prisma-client/deployment/serverless/images/03-deploy-to-netlify-example-repo-create-fork-page.png" }, { - "source": "/docs/guides/deployment/serverless/images/03-deploy-to-netlify-example-repo-create-fork-page.snagx", - "destination": "/docs/orm/prisma-client/deployment/serverless/images/03-deploy-to-netlify-example-repo-create-fork-page.snagx" + "source": "/guides/deployment/serverless/images/03-deploy-to-netlify-example-repo-create-fork-page.snagx", + "destination": "/orm/prisma-client/deployment/serverless/images/03-deploy-to-netlify-example-repo-create-fork-page.snagx" }, { - "source": "/docs/guides/deployment/serverless/images/04-deploy-to-netlify-copy-supabase-connection-string.png", - "destination": "/docs/orm/prisma-client/deployment/serverless/images/04-deploy-to-netlify-copy-supabase-connection-string.png" + "source": "/guides/deployment/serverless/images/04-deploy-to-netlify-copy-supabase-connection-string.png", + "destination": "/orm/prisma-client/deployment/serverless/images/04-deploy-to-netlify-copy-supabase-connection-string.png" }, { - "source": "/docs/guides/deployment/serverless/images/04-deploy-to-netlify-copy-supabase-connection-string.snagx", - "destination": "/docs/orm/prisma-client/deployment/serverless/images/04-deploy-to-netlify-copy-supabase-connection-string.snagx" + "source": "/guides/deployment/serverless/images/04-deploy-to-netlify-copy-supabase-connection-string.snagx", + "destination": "/orm/prisma-client/deployment/serverless/images/04-deploy-to-netlify-copy-supabase-connection-string.snagx" }, { - "source": "/docs/guides/deployment/serverless/images/05-deploy-to-netlify-netlify-init-configure-site.png", - "destination": "/docs/orm/prisma-client/deployment/serverless/images/05-deploy-to-netlify-netlify-init-configure-site.png" + "source": "/guides/deployment/serverless/images/05-deploy-to-netlify-netlify-init-configure-site.png", + "destination": "/orm/prisma-client/deployment/serverless/images/05-deploy-to-netlify-netlify-init-configure-site.png" }, { - "source": "/docs/guides/deployment/serverless/images/05-deploy-to-netlify-netlify-init-configure-site.snagx", - "destination": "/docs/orm/prisma-client/deployment/serverless/images/05-deploy-to-netlify-netlify-init-configure-site.snagx" + "source": "/guides/deployment/serverless/images/05-deploy-to-netlify-netlify-init-configure-site.snagx", + "destination": "/orm/prisma-client/deployment/serverless/images/05-deploy-to-netlify-netlify-init-configure-site.snagx" }, { - "source": "/docs/guides/deployment/serverless/images/06-deploy-to-netlify-site-settings.png", - "destination": "/docs/orm/prisma-client/deployment/serverless/images/06-deploy-to-netlify-site-settings.png" + "source": "/guides/deployment/serverless/images/06-deploy-to-netlify-site-settings.png", + "destination": "/orm/prisma-client/deployment/serverless/images/06-deploy-to-netlify-site-settings.png" }, { - "source": "/docs/guides/deployment/serverless/images/06-deploy-to-netlify-site-settings.snagx", - "destination": "/docs/orm/prisma-client/deployment/serverless/images/06-deploy-to-netlify-site-settings.snagx" + "source": "/guides/deployment/serverless/images/06-deploy-to-netlify-site-settings.snagx", + "destination": "/orm/prisma-client/deployment/serverless/images/06-deploy-to-netlify-site-settings.snagx" }, { - "source": "/docs/guides/deployment/serverless/images/07-deploy-to-netlify-environment-variables-settings.png", - "destination": "/docs/orm/prisma-client/deployment/serverless/images/07-deploy-to-netlify-environment-variables-settings.png" + "source": "/guides/deployment/serverless/images/07-deploy-to-netlify-environment-variables-settings.png", + "destination": "/orm/prisma-client/deployment/serverless/images/07-deploy-to-netlify-environment-variables-settings.png" }, { - "source": "/docs/guides/deployment/serverless/images/07-deploy-to-netlify-environment-variables-settings.snagx", - "destination": "/docs/orm/prisma-client/deployment/serverless/images/07-deploy-to-netlify-environment-variables-settings.snagx" + "source": "/guides/deployment/serverless/images/07-deploy-to-netlify-environment-variables-settings.snagx", + "destination": "/orm/prisma-client/deployment/serverless/images/07-deploy-to-netlify-environment-variables-settings.snagx" }, { - "source": "/docs/guides/deployment/serverless/images/08-deploy-to-netlify-application-deployed.png", - "destination": "/docs/orm/prisma-client/deployment/serverless/images/08-deploy-to-netlify-application-deployed.png" + "source": "/guides/deployment/serverless/images/08-deploy-to-netlify-application-deployed.png", + "destination": "/orm/prisma-client/deployment/serverless/images/08-deploy-to-netlify-application-deployed.png" }, { - "source": "/docs/guides/deployment/serverless/images/08-deploy-to-netlify-application-deployed.snagx", - "destination": "/docs/orm/prisma-client/deployment/serverless/images/08-deploy-to-netlify-application-deployed.snagx" + "source": "/guides/deployment/serverless/images/08-deploy-to-netlify-application-deployed.snagx", + "destination": "/orm/prisma-client/deployment/serverless/images/08-deploy-to-netlify-application-deployed.snagx" }, { - "source": "/docs/guides/deployment/serverless/images/09-deploy-to-netlify-application-deployed-call-result.png", - "destination": "/docs/orm/prisma-client/deployment/serverless/images/09-deploy-to-netlify-application-deployed-call-result.png" + "source": "/guides/deployment/serverless/images/09-deploy-to-netlify-application-deployed-call-result.png", + "destination": "/orm/prisma-client/deployment/serverless/images/09-deploy-to-netlify-application-deployed-call-result.png" }, { - "source": "/docs/guides/deployment/serverless/images/09-deploy-to-netlify-application-deployed-call-result.snagx", - "destination": "/docs/orm/prisma-client/deployment/serverless/images/09-deploy-to-netlify-application-deployed-call-result.snagx" + "source": "/guides/deployment/serverless/images/09-deploy-to-netlify-application-deployed-call-result.snagx", + "destination": "/orm/prisma-client/deployment/serverless/images/09-deploy-to-netlify-application-deployed-call-result.snagx" }, { - "source": "/docs/guides/deployment/serverless", - "destination": "/docs/orm/prisma-client/deployment/serverless" + "source": "/guides/deployment/serverless", + "destination": "/orm/prisma-client/deployment/serverless" }, { - "source": "/docs/concepts/components/prisma-client/module-bundlers", - "destination": "/docs/orm/prisma-client/deployment/module-bundlers" + "source": "/concepts/components/prisma-client/module-bundlers", + "destination": "/orm/prisma-client/deployment/module-bundlers" }, { - "source": "/docs/guides/deployment/edge/deploy-to-cloudflare-workers", - "destination": "/docs/orm/prisma-client/deployment/edge/deploy-to-cloudflare-workers" + "source": "/guides/deployment/edge/deploy-to-cloudflare-workers", + "destination": "/orm/prisma-client/deployment/edge/deploy-to-cloudflare-workers" }, { - "source": "/docs/guides/deployment/edge/deploy-to-deno-deploy", - "destination": "/docs/orm/prisma-client/deployment/edge/deploy-to-deno-deploy" + "source": "/guides/deployment/edge/deploy-to-deno-deploy", + "destination": "/orm/prisma-client/deployment/edge/deploy-to-deno-deploy" }, { - "source": "/docs/guides/deployment/edge/images/03-import-project.png", - "destination": "/docs/orm/prisma-client/deployment/edge/images/03-import-project.png" + "source": "/guides/deployment/edge/images/03-import-project.png", + "destination": "/orm/prisma-client/deployment/edge/images/03-import-project.png" }, { - "source": "/docs/guides/deployment/edge/images/03-import-project.snagx", - "destination": "/docs/orm/prisma-client/deployment/edge/images/03-import-project.snagx" + "source": "/guides/deployment/edge/images/03-import-project.snagx", + "destination": "/orm/prisma-client/deployment/edge/images/03-import-project.snagx" }, { - "source": "/docs/guides/deployment/edge/images/04-connect-db.png", - "destination": "/docs/orm/prisma-client/deployment/edge/images/04-connect-db.png" + "source": "/guides/deployment/edge/images/04-connect-db.png", + "destination": "/orm/prisma-client/deployment/edge/images/04-connect-db.png" }, { - "source": "/docs/guides/deployment/edge/images/04-connect-db.snagx", - "destination": "/docs/orm/prisma-client/deployment/edge/images/04-connect-db.snagx" + "source": "/guides/deployment/edge/images/04-connect-db.snagx", + "destination": "/orm/prisma-client/deployment/edge/images/04-connect-db.snagx" }, { - "source": "/docs/guides/deployment/edge/images/05-data-proxy.png", - "destination": "/docs/orm/prisma-client/deployment/edge/images/05-data-proxy.png" + "source": "/guides/deployment/edge/images/05-data-proxy.png", + "destination": "/orm/prisma-client/deployment/edge/images/05-data-proxy.png" }, { - "source": "/docs/guides/deployment/edge/images/05-data-proxy.snagx", - "destination": "/docs/orm/prisma-client/deployment/edge/images/05-data-proxy.snagx" + "source": "/guides/deployment/edge/images/05-data-proxy.snagx", + "destination": "/orm/prisma-client/deployment/edge/images/05-data-proxy.snagx" }, { - "source": "/docs/guides/deployment/edge/images/01-create-repo.png", - "destination": "/docs/orm/prisma-client/deployment/edge/images/01-create-repo.png" + "source": "/guides/deployment/edge/images/01-create-repo.png", + "destination": "/orm/prisma-client/deployment/edge/images/01-create-repo.png" }, { - "source": "/docs/guides/deployment/edge/images/02-deploy-to-deno-project-parameters.png", - "destination": "/docs/orm/prisma-client/deployment/edge/images/02-deploy-to-deno-project-parameters.png" + "source": "/guides/deployment/edge/images/02-deploy-to-deno-project-parameters.png", + "destination": "/orm/prisma-client/deployment/edge/images/02-deploy-to-deno-project-parameters.png" }, { - "source": "/docs/guides/deployment/edge/images/02-deploy-to-deno-project-parameters.snagx", - "destination": "/docs/orm/prisma-client/deployment/edge/images/02-deploy-to-deno-project-parameters.snagx" + "source": "/guides/deployment/edge/images/02-deploy-to-deno-project-parameters.snagx", + "destination": "/orm/prisma-client/deployment/edge/images/02-deploy-to-deno-project-parameters.snagx" }, { - "source": "/docs/guides/deployment/edge", - "destination": "/docs/orm/prisma-client/deployment/edge" + "source": "/guides/deployment/edge", + "destination": "/orm/prisma-client/deployment/edge" }, { - "source": "/docs/guides/deployment/deploy-database-changes-with-prisma-migrate", - "destination": "/docs/orm/prisma-client/deployment/deploy-database-changes-with-prisma-migrate" + "source": "/guides/deployment/deploy-database-changes-with-prisma-migrate", + "destination": "/orm/prisma-client/deployment/deploy-database-changes-with-prisma-migrate" }, { - "source": "/docs/guides/deployment/deploy-migrations-from-a-local-environment", - "destination": "/docs/orm/prisma-client/deployment/deploy-migrations-from-a-local-environment" + "source": "/guides/deployment/deploy-migrations-from-a-local-environment", + "destination": "/orm/prisma-client/deployment/deploy-migrations-from-a-local-environment" }, { - "source": "/docs/guides/deployment/caveats-when-deploying-to-aws-platforms", - "destination": "/docs/orm/prisma-client/deployment/caveats-when-deploying-to-aws-platforms" + "source": "/guides/deployment/caveats-when-deploying-to-aws-platforms", + "destination": "/orm/prisma-client/deployment/caveats-when-deploying-to-aws-platforms" }, { - "source": "/docs/guides/deployment/deploy-to-a-different-os", - "destination": "/docs/orm/prisma-client/deployment/deploy-to-a-different-os" + "source": "/guides/deployment/deploy-to-a-different-os", + "destination": "/orm/prisma-client/deployment/deploy-to-a-different-os" }, { - "source": "/docs/guides/deployment", - "destination": "/docs/orm/prisma-client/deployment" + "source": "/guides/deployment", + "destination": "/orm/prisma-client/deployment" }, { - "source": "/docs/concepts/components/prisma-client/metrics", - "destination": "/docs/orm/prisma-client/observability-and-logging/metrics" + "source": "/concepts/components/prisma-client/metrics", + "destination": "/orm/prisma-client/observability-and-logging/metrics" }, { - "source": "/docs/concepts/components/prisma-client/opentelemetry-tracing", - "destination": "/docs/orm/prisma-client/observability-and-logging/opentelemetry-tracing" + "source": "/concepts/components/prisma-client/opentelemetry-tracing", + "destination": "/orm/prisma-client/observability-and-logging/opentelemetry-tracing" }, { - "source": "/docs/concepts/components/prisma-client/jaeger.png", - "destination": "/docs/orm/prisma-client/observability-and-logging/jaeger.png" + "source": "/concepts/components/prisma-client/jaeger.png", + "destination": "/orm/prisma-client/observability-and-logging/jaeger.png" }, { - "source": "/docs/concepts/components/prisma-client/trace-diagram.png", - "destination": "/docs/orm/prisma-client/observability-and-logging/trace-diagram.png" + "source": "/concepts/components/prisma-client/trace-diagram.png", + "destination": "/orm/prisma-client/observability-and-logging/trace-diagram.png" }, { - "source": "/docs/concepts/components/prisma-client/debugging", - "destination": "/docs/orm/prisma-client/debugging-and-troubleshooting/debugging" + "source": "/concepts/components/prisma-client/debugging", + "destination": "/orm/prisma-client/debugging-and-troubleshooting/debugging" }, { - "source": "/docs/concepts/components/prisma-client/handling-exceptions-and-errors", - "destination": "/docs/orm/prisma-client/debugging-and-troubleshooting/handling-exceptions-and-errors" + "source": "/concepts/components/prisma-client/handling-exceptions-and-errors", + "destination": "/orm/prisma-client/debugging-and-troubleshooting/handling-exceptions-and-errors" }, { - "source": "/docs/concepts/components/prisma-client", - "destination": "/docs/orm/prisma-client" + "source": "/concepts/components/prisma-client", + "destination": "/orm/prisma-client" }, { - "source": "/docs/guides/migrate/developing-with-prisma-migrate/add-prisma-migrate-to-a-project", - "destination": "/docs/orm/prisma-migrate/getting-started" + "source": "/guides/migrate/developing-with-prisma-migrate/add-prisma-migrate-to-a-project", + "destination": "/orm/prisma-migrate/getting-started" }, { - "source": "/docs/concepts/components/prisma-migrate/mental-model", - "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/mental-model" + "source": "/concepts/components/prisma-migrate/mental-model", + "destination": "/orm/prisma-migrate/understanding-prisma-migrate/mental-model" }, { - "source": "/docs/concepts/components/prisma-migrate/migration-histories", - "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/migration-histories" + "source": "/concepts/components/prisma-migrate/migration-histories", + "destination": "/orm/prisma-migrate/understanding-prisma-migrate/migration-histories" }, { - "source": "/docs/concepts/components/prisma-migrate/shadow-database", - "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/shadow-database" + "source": "/concepts/components/prisma-migrate/shadow-database", + "destination": "/orm/prisma-migrate/understanding-prisma-migrate/shadow-database" }, { - "source": "/docs/concepts/components/prisma-migrate/prisma-migrate-limitations-issues", - "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/limitations-and-known-issues" + "source": "/concepts/components/prisma-migrate/prisma-migrate-limitations-issues", + "destination": "/orm/prisma-migrate/understanding-prisma-migrate/limitations-and-known-issues" }, { - "source": "/docs/concepts/components/prisma-migrate/legacy-migrate", - "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/legacy-migrate" + "source": "/concepts/components/prisma-migrate/legacy-migrate", + "destination": "/orm/prisma-migrate/understanding-prisma-migrate/legacy-migrate" }, { - "source": "/docs/concepts/components/prisma-migrate/mental-model-illustrations/database-first-migration-flow.png", - "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/mental-model-illustrations/database-first-migration-flow.png" + "source": "/concepts/components/prisma-migrate/mental-model-illustrations/database-first-migration-flow.png", + "destination": "/orm/prisma-migrate/understanding-prisma-migrate/mental-model-illustrations/database-first-migration-flow.png" }, { - "source": "/docs/concepts/components/prisma-migrate/mental-model-illustrations/db-push-flow.png", - "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/mental-model-illustrations/db-push-flow.png" + "source": "/concepts/components/prisma-migrate/mental-model-illustrations/db-push-flow.png", + "destination": "/orm/prisma-migrate/understanding-prisma-migrate/mental-model-illustrations/db-push-flow.png" }, { - "source": "/docs/concepts/components/prisma-migrate/mental-model-illustrations/entity-first-migration-flow.png", - "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/mental-model-illustrations/entity-first-migration-flow.png" + "source": "/concepts/components/prisma-migrate/mental-model-illustrations/entity-first-migration-flow.png", + "destination": "/orm/prisma-migrate/understanding-prisma-migrate/mental-model-illustrations/entity-first-migration-flow.png" }, { - "source": "/docs/concepts/components/prisma-migrate/mental-model-illustrations/prisma-migrate-dev-flow.png", - "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/mental-model-illustrations/prisma-migrate-dev-flow.png" + "source": "/concepts/components/prisma-migrate/mental-model-illustrations/prisma-migrate-dev-flow.png", + "destination": "/orm/prisma-migrate/understanding-prisma-migrate/mental-model-illustrations/prisma-migrate-dev-flow.png" }, { - "source": "/docs/concepts/components/prisma-migrate/mental-model-illustrations/prisma-migrate-diff-flow.png", - "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/mental-model-illustrations/prisma-migrate-diff-flow.png" + "source": "/concepts/components/prisma-migrate/mental-model-illustrations/prisma-migrate-diff-flow.png", + "destination": "/orm/prisma-migrate/understanding-prisma-migrate/mental-model-illustrations/prisma-migrate-diff-flow.png" }, { - "source": "/docs/concepts/components/prisma-migrate/mental-model-illustrations/prisma-migrate-lifecycle.png", - "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/mental-model-illustrations/prisma-migrate-lifecycle.png" + "source": "/concepts/components/prisma-migrate/mental-model-illustrations/prisma-migrate-lifecycle.png", + "destination": "/orm/prisma-migrate/understanding-prisma-migrate/mental-model-illustrations/prisma-migrate-lifecycle.png" }, { - "source": "/docs/concepts/components/prisma-migrate/mental-model-illustrations/prisma-migrate-state-mgt.png", - "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/mental-model-illustrations/prisma-migrate-state-mgt.png" + "source": "/concepts/components/prisma-migrate/mental-model-illustrations/prisma-migrate-state-mgt.png", + "destination": "/orm/prisma-migrate/understanding-prisma-migrate/mental-model-illustrations/prisma-migrate-state-mgt.png" }, { - "source": "/docs/concepts/components/prisma-migrate/migrate-mapping.png", - "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/migrate-mapping.png" + "source": "/concepts/components/prisma-migrate/migrate-mapping.png", + "destination": "/orm/prisma-migrate/understanding-prisma-migrate/migrate-mapping.png" }, { - "source": "/docs/concepts/components/prisma-migrate/shadow-database.png", - "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/shadow-database.png" + "source": "/concepts/components/prisma-migrate/shadow-database.png", + "destination": "/orm/prisma-migrate/understanding-prisma-migrate/shadow-database.png" }, { - "source": "/docs/concepts/components/prisma-migrate/shadow-db.png", - "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/shadow-db.png" + "source": "/concepts/components/prisma-migrate/shadow-db.png", + "destination": "/orm/prisma-migrate/understanding-prisma-migrate/shadow-db.png" }, { - "source": "/docs/guides/migrate/seed-database", - "destination": "/docs/orm/prisma-migrate/workflows/seeding" + "source": "/guides/migrate/seed-database", + "destination": "/orm/prisma-migrate/workflows/seeding" }, { - "source": "/docs/guides/migrate/developing-with-prisma-migrate/team-development", - "destination": "/docs/orm/prisma-migrate/workflows/team-development" + "source": "/guides/migrate/developing-with-prisma-migrate/team-development", + "destination": "/orm/prisma-migrate/workflows/team-development" }, { - "source": "/docs/concepts/components/prisma-migrate/supported-types-and-db-features", - "destination": "/docs/orm/prisma-migrate/workflows/native-database-types" + "source": "/concepts/components/prisma-migrate/supported-types-and-db-features", + "destination": "/orm/prisma-migrate/workflows/native-database-types" }, { - "source": "/docs/guides/migrate/developing-with-prisma-migrate/enable-native-database-functions", - "destination": "/docs/orm/prisma-migrate/workflows/native-database-functions" + "source": "/guides/migrate/developing-with-prisma-migrate/enable-native-database-functions", + "destination": "/orm/prisma-migrate/workflows/native-database-functions" }, { - "source": "/docs/guides/migrate/prototyping-schema-db-push", - "destination": "/docs/orm/prisma-migrate/workflows/prototyping-your-schema" + "source": "/guides/migrate/prototyping-schema-db-push", + "destination": "/orm/prisma-migrate/workflows/prototyping-your-schema" }, { - "source": "/docs/guides/migrate/developing-with-prisma-migrate/troubleshooting-development", - "destination": "/docs/orm/prisma-migrate/workflows/troubleshooting" + "source": "/guides/migrate/developing-with-prisma-migrate/troubleshooting-development", + "destination": "/orm/prisma-migrate/workflows/troubleshooting" }, { - "source": "/docs/guides/migrate/developing-with-prisma-migrate/baselining", - "destination": "/docs/orm/prisma-migrate/workflows/baselining" + "source": "/guides/migrate/developing-with-prisma-migrate/baselining", + "destination": "/orm/prisma-migrate/workflows/baselining" }, { - "source": "/docs/guides/migrate/developing-with-prisma-migrate/customizing-migrations", - "destination": "/docs/orm/prisma-migrate/workflows/customizing-migrations" + "source": "/guides/migrate/developing-with-prisma-migrate/customizing-migrations", + "destination": "/orm/prisma-migrate/workflows/customizing-migrations" }, { - "source": "/docs/guides/migrate/data-migration", - "destination": "/docs/orm/prisma-migrate/workflows/data-migration" + "source": "/guides/migrate/data-migration", + "destination": "/orm/prisma-migrate/workflows/data-migration" }, { - "source": "/docs/guides/migrate/developing-with-prisma-migrate/squashing-migrations", - "destination": "/docs/orm/prisma-migrate/workflows/squashing-migrations" + "source": "/guides/migrate/developing-with-prisma-migrate/squashing-migrations", + "destination": "/orm/prisma-migrate/workflows/squashing-migrations" }, { - "source": "/docs/guides/migrate/developing-with-prisma-migrate/generating-down-migrations", - "destination": "/docs/orm/prisma-migrate/workflows/generating-down-migrations" + "source": "/guides/migrate/developing-with-prisma-migrate/generating-down-migrations", + "destination": "/orm/prisma-migrate/workflows/generating-down-migrations" }, { - "source": "/docs/guides/migrate/production-troubleshooting", - "destination": "/docs/orm/prisma-migrate/workflows/patching-and-hotfixing" + "source": "/guides/migrate/production-troubleshooting", + "destination": "/orm/prisma-migrate/workflows/patching-and-hotfixing" }, { - "source": "/docs/guides/migrate/developing-with-prisma-migrate/include-unsupported-database-features", - "destination": "/docs/orm/prisma-migrate/workflows/unsupported-database-features" + "source": "/guides/migrate/developing-with-prisma-migrate/include-unsupported-database-features", + "destination": "/orm/prisma-migrate/workflows/unsupported-database-features" }, { - "source": "/docs/concepts/components/prisma-migrate/migrate-development-production", - "destination": "/docs/orm/prisma-migrate/workflows/development-and-production" + "source": "/concepts/components/prisma-migrate/migrate-development-production", + "destination": "/orm/prisma-migrate/workflows/development-and-production" }, { - "source": "/docs/guides/migrate/developing-with-prisma-migrate/deploy-db.png", - "destination": "/docs/orm/prisma-migrate/workflows/deploy-db.png" + "source": "/guides/migrate/developing-with-prisma-migrate/deploy-db.png", + "destination": "/orm/prisma-migrate/workflows/deploy-db.png" }, { - "source": "/docs/guides/migrate/developing-with-prisma-migrate/existing-database.png", - "destination": "/docs/orm/prisma-migrate/workflows/existing-database.png" + "source": "/guides/migrate/developing-with-prisma-migrate/existing-database.png", + "destination": "/orm/prisma-migrate/workflows/existing-database.png" }, { - "source": "/docs/guides/migrate/developing-with-prisma-migrate/migrate-team-dev.png", - "destination": "/docs/orm/prisma-migrate/workflows/migrate-team-dev.png" + "source": "/guides/migrate/developing-with-prisma-migrate/migrate-team-dev.png", + "destination": "/orm/prisma-migrate/workflows/migrate-team-dev.png" }, { - "source": "/docs/guides/migrate/developing-with-prisma-migrate/migration-history.png", - "destination": "/docs/orm/prisma-migrate/workflows/migration-history.png" + "source": "/guides/migrate/developing-with-prisma-migrate/migration-history.png", + "destination": "/orm/prisma-migrate/workflows/migration-history.png" }, { - "source": "/docs/guides/migrate/developing-with-prisma-migrate/new-dev-db.png", - "destination": "/docs/orm/prisma-migrate/workflows/new-dev-db.png" + "source": "/guides/migrate/developing-with-prisma-migrate/new-dev-db.png", + "destination": "/orm/prisma-migrate/workflows/new-dev-db.png" }, { - "source": "/docs/concepts/components/prisma-migrate", - "destination": "/docs/orm/prisma-migrate" + "source": "/concepts/components/prisma-migrate", + "destination": "/orm/prisma-migrate" }, { - "source": "/docs/concepts/components/prisma-schema/data-sources", - "destination": "/docs/orm/prisma-schema/overview/data-sources" + "source": "/concepts/components/prisma-schema/data-sources", + "destination": "/orm/prisma-schema/overview/data-sources" }, { - "source": "/docs/concepts/components/prisma-schema/generators", - "destination": "/docs/orm/prisma-schema/overview/generators" + "source": "/concepts/components/prisma-schema/generators", + "destination": "/orm/prisma-schema/overview/generators" }, { - "source": "/docs/concepts/components/prisma-schema/data-model", - "destination": "/docs/orm/prisma-schema/data-model/models" + "source": "/concepts/components/prisma-schema/data-model", + "destination": "/orm/prisma-schema/data-model/models" }, { - "source": "/docs/concepts/components/prisma-schema/relations/one-to-one-relations", - "destination": "/docs/orm/prisma-schema/data-model/relations/one-to-one-relations" + "source": "/concepts/components/prisma-schema/relations/one-to-one-relations", + "destination": "/orm/prisma-schema/data-model/relations/one-to-one-relations" }, { - "source": "/docs/concepts/components/prisma-schema/relations/one-to-many-relations", - "destination": "/docs/orm/prisma-schema/data-model/relations/one-to-many-relations" + "source": "/concepts/components/prisma-schema/relations/one-to-many-relations", + "destination": "/orm/prisma-schema/data-model/relations/one-to-many-relations" }, { - "source": "/docs/concepts/components/prisma-schema/relations/many-to-many-relations", - "destination": "/docs/orm/prisma-schema/data-model/relations/many-to-many-relations" + "source": "/concepts/components/prisma-schema/relations/many-to-many-relations", + "destination": "/orm/prisma-schema/data-model/relations/many-to-many-relations" }, { - "source": "/docs/concepts/components/prisma-schema/relations/self-relations", - "destination": "/docs/orm/prisma-schema/data-model/relations/self-relations" + "source": "/concepts/components/prisma-schema/relations/self-relations", + "destination": "/orm/prisma-schema/data-model/relations/self-relations" }, { - "source": "/docs/concepts/components/prisma-schema/relations/referential-actions/special-rules-for-referential-actions", - "destination": "/docs/orm/prisma-schema/data-model/relations/referential-actions/special-rules-for-referential-actions" + "source": "/concepts/components/prisma-schema/relations/referential-actions/special-rules-for-referential-actions", + "destination": "/orm/prisma-schema/data-model/relations/referential-actions/special-rules-for-referential-actions" }, { - "source": "/docs/concepts/components/prisma-schema/relations/referential-actions", - "destination": "/docs/orm/prisma-schema/data-model/relations/referential-actions" + "source": "/concepts/components/prisma-schema/relations/referential-actions", + "destination": "/orm/prisma-schema/data-model/relations/referential-actions" }, { - "source": "/docs/concepts/components/prisma-schema/relations/relation-mode", - "destination": "/docs/orm/prisma-schema/data-model/relations/relation-mode" + "source": "/concepts/components/prisma-schema/relations/relation-mode", + "destination": "/orm/prisma-schema/data-model/relations/relation-mode" }, { - "source": "/docs/concepts/components/prisma-schema/relations/troubleshooting-relations", - "destination": "/docs/orm/prisma-schema/data-model/relations/troubleshooting-relations" + "source": "/concepts/components/prisma-schema/relations/troubleshooting-relations", + "destination": "/orm/prisma-schema/data-model/relations/troubleshooting-relations" }, { - "source": "/docs/concepts/components/prisma-schema/relations", - "destination": "/docs/orm/prisma-schema/data-model/relations" + "source": "/concepts/components/prisma-schema/relations", + "destination": "/orm/prisma-schema/data-model/relations" }, { - "source": "/docs/concepts/components/prisma-schema/relations/one-to-many.png", - "destination": "/docs/orm/prisma-schema/data-model/relations/one-to-many.png" + "source": "/concepts/components/prisma-schema/relations/one-to-many.png", + "destination": "/orm/prisma-schema/data-model/relations/one-to-many.png" }, { - "source": "/docs/concepts/components/prisma-schema/relations/quick-fix-index.png", - "destination": "/docs/orm/prisma-schema/data-model/relations/quick-fix-index.png" + "source": "/concepts/components/prisma-schema/relations/quick-fix-index.png", + "destination": "/orm/prisma-schema/data-model/relations/quick-fix-index.png" }, { - "source": "/docs/concepts/components/prisma-schema/relations/quick-fix-index.snagx", - "destination": "/docs/orm/prisma-schema/data-model/relations/quick-fix-index.snagx" + "source": "/concepts/components/prisma-schema/relations/quick-fix-index.snagx", + "destination": "/orm/prisma-schema/data-model/relations/quick-fix-index.snagx" }, { - "source": "/docs/concepts/components/prisma-schema/relations/relations-intro.png", - "destination": "/docs/orm/prisma-schema/data-model/relations/relations-intro.png" + "source": "/concepts/components/prisma-schema/relations/relations-intro.png", + "destination": "/orm/prisma-schema/data-model/relations/relations-intro.png" }, { - "source": "/docs/concepts/components/prisma-schema/relations/sample-schema.png", - "destination": "/docs/orm/prisma-schema/data-model/relations/sample-schema.png" + "source": "/concepts/components/prisma-schema/relations/sample-schema.png", + "destination": "/orm/prisma-schema/data-model/relations/sample-schema.png" }, { - "source": "/docs/concepts/components/prisma-schema/indexes", - "destination": "/docs/orm/prisma-schema/data-model/indexes" + "source": "/concepts/components/prisma-schema/indexes", + "destination": "/orm/prisma-schema/data-model/indexes" }, { - "source": "/docs/concepts/components/prisma-schema/views", - "destination": "/docs/orm/prisma-schema/data-model/views" + "source": "/concepts/components/prisma-schema/views", + "destination": "/orm/prisma-schema/data-model/views" }, { - "source": "/docs/concepts/components/prisma-schema/names-in-underlying-database", - "destination": "/docs/orm/prisma-schema/data-model/database-mapping" + "source": "/concepts/components/prisma-schema/names-in-underlying-database", + "destination": "/orm/prisma-schema/data-model/database-mapping" }, { - "source": "/docs/guides/other/multi-schema", - "destination": "/docs/orm/prisma-schema/data-model/multi-schema" + "source": "/guides/other/multi-schema", + "destination": "/orm/prisma-schema/data-model/multi-schema" }, { - "source": "/docs/concepts/components/prisma-schema/features-without-psl-equivalent", - "destination": "/docs/orm/prisma-schema/data-model/unsupported-database-features" + "source": "/concepts/components/prisma-schema/features-without-psl-equivalent", + "destination": "/orm/prisma-schema/data-model/unsupported-database-features" }, { - "source": "/docs/concepts/components/introspection", - "destination": "/docs/orm/prisma-schema/introspection" + "source": "/concepts/components/introspection", + "destination": "/orm/prisma-schema/introspection" }, { - "source": "/docs/concepts/components/prisma-schema/postgresql-extensions", - "destination": "/docs/orm/prisma-schema/postgresql-extensions" + "source": "/concepts/components/prisma-schema/postgresql-extensions", + "destination": "/orm/prisma-schema/postgresql-extensions" }, { - "source": "/docs/concepts/components/prisma-schema/prisma-schema/relations-intro.png", - "destination": "/docs/orm/prisma-schema/prisma-schema/relations-intro.png" + "source": "/concepts/components/prisma-schema/prisma-schema/relations-intro.png", + "destination": "/orm/prisma-schema/prisma-schema/relations-intro.png" }, { - "source": "/docs/concepts/components/prisma-schema/prisma-schema/sample-database.png", - "destination": "/docs/orm/prisma-schema/prisma-schema/sample-database.png" + "source": "/concepts/components/prisma-schema/prisma-schema/sample-database.png", + "destination": "/orm/prisma-schema/prisma-schema/sample-database.png" }, { - "source": "/docs/concepts/components/prisma-studio", - "destination": "/docs/orm/tools/prisma-studio" + "source": "/concepts/components/prisma-studio", + "destination": "/orm/tools/prisma-studio" }, { - "source": "/docs/concepts/components/images/drivers/qe-query-engine-adapter.png", - "destination": "/docs/orm/tools/images/drivers/qe-query-engine-adapter.png" + "source": "/concepts/components/images/drivers/qe-query-engine-adapter.png", + "destination": "/orm/tools/images/drivers/qe-query-engine-adapter.png" }, { - "source": "/docs/concepts/components/images/drivers/qe-query-execution-flow.png", - "destination": "/docs/orm/tools/images/drivers/qe-query-execution-flow.png" + "source": "/concepts/components/images/drivers/qe-query-execution-flow.png", + "destination": "/orm/tools/images/drivers/qe-query-execution-flow.png" }, { - "source": "/docs/concepts/components/images/prisma-studio/models-view.png", - "destination": "/docs/orm/tools/images/prisma-studio/models-view.png" + "source": "/concepts/components/images/prisma-studio/models-view.png", + "destination": "/orm/tools/images/prisma-studio/models-view.png" }, { - "source": "/docs/concepts/components/images/prisma-studio/open-close-models.png", - "destination": "/docs/orm/tools/images/prisma-studio/open-close-models.png" + "source": "/concepts/components/images/prisma-studio/open-close-models.png", + "destination": "/orm/tools/images/prisma-studio/open-close-models.png" }, { - "source": "/docs/concepts/components/images/prisma-studio/model-view-keyboard-shortcuts.png", - "destination": "/docs/orm/tools/images/prisma-studio/model-view-keyboard-shortcuts.png" + "source": "/concepts/components/images/prisma-studio/model-view-keyboard-shortcuts.png", + "destination": "/orm/tools/images/prisma-studio/model-view-keyboard-shortcuts.png" }, { - "source": "/docs/concepts/components/images/prisma-studio/save-multiple-changes.png", - "destination": "/docs/orm/tools/images/prisma-studio/save-multiple-changes.png" + "source": "/concepts/components/images/prisma-studio/save-multiple-changes.png", + "destination": "/orm/tools/images/prisma-studio/save-multiple-changes.png" }, { - "source": "/docs/concepts/components/images/prisma-studio/add-remove-filters.png", - "destination": "/docs/orm/tools/images/prisma-studio/add-remove-filters.png" + "source": "/concepts/components/images/prisma-studio/add-remove-filters.png", + "destination": "/orm/tools/images/prisma-studio/add-remove-filters.png" }, { - "source": "/docs/concepts/components/images/prisma-studio/show-hide-fields.png", - "destination": "/docs/orm/tools/images/prisma-studio/show-hide-fields.png" + "source": "/concepts/components/images/prisma-studio/show-hide-fields.png", + "destination": "/orm/tools/images/prisma-studio/show-hide-fields.png" }, { - "source": "/docs/concepts/components/images/prisma-studio/show-hide-records.png", - "destination": "/docs/orm/tools/images/prisma-studio/show-hide-records.png" + "source": "/concepts/components/images/prisma-studio/show-hide-records.png", + "destination": "/orm/tools/images/prisma-studio/show-hide-records.png" }, { - "source": "/docs/concepts/components/images/prisma-studio/model-sort.png", - "destination": "/docs/orm/tools/images/prisma-studio/model-sort.png" + "source": "/concepts/components/images/prisma-studio/model-sort.png", + "destination": "/orm/tools/images/prisma-studio/model-sort.png" }, { - "source": "/docs/concepts/components/images/prisma-studio/array.svg", - "destination": "/docs/orm/tools/images/prisma-studio/array.svg" + "source": "/concepts/components/images/prisma-studio/array.svg", + "destination": "/orm/tools/images/prisma-studio/array.svg" }, { - "source": "/docs/concepts/components/images/prisma-studio/boolean.svg", - "destination": "/docs/orm/tools/images/prisma-studio/boolean.svg" + "source": "/concepts/components/images/prisma-studio/boolean.svg", + "destination": "/orm/tools/images/prisma-studio/boolean.svg" }, { - "source": "/docs/concepts/components/images/prisma-studio/database.svg", - "destination": "/docs/orm/tools/images/prisma-studio/database.svg" + "source": "/concepts/components/images/prisma-studio/database.svg", + "destination": "/orm/tools/images/prisma-studio/database.svg" }, { - "source": "/docs/concepts/components/images/prisma-studio/datetime.svg", - "destination": "/docs/orm/tools/images/prisma-studio/datetime.svg" + "source": "/concepts/components/images/prisma-studio/datetime.svg", + "destination": "/orm/tools/images/prisma-studio/datetime.svg" }, { - "source": "/docs/concepts/components/images/prisma-studio/enum.svg", - "destination": "/docs/orm/tools/images/prisma-studio/enum.svg" + "source": "/concepts/components/images/prisma-studio/enum.svg", + "destination": "/orm/tools/images/prisma-studio/enum.svg" }, { - "source": "/docs/concepts/components/images/prisma-studio/number.svg", - "destination": "/docs/orm/tools/images/prisma-studio/number.svg" + "source": "/concepts/components/images/prisma-studio/number.svg", + "destination": "/orm/tools/images/prisma-studio/number.svg" }, { - "source": "/docs/concepts/components/images/prisma-studio/object.svg", - "destination": "/docs/orm/tools/images/prisma-studio/object.svg" + "source": "/concepts/components/images/prisma-studio/object.svg", + "destination": "/orm/tools/images/prisma-studio/object.svg" }, { - "source": "/docs/concepts/components/images/prisma-studio/string.svg", - "destination": "/docs/orm/tools/images/prisma-studio/string.svg" + "source": "/concepts/components/images/prisma-studio/string.svg", + "destination": "/orm/tools/images/prisma-studio/string.svg" }, { - "source": "/docs/concepts/components", - "destination": "/docs/orm/tools" + "source": "/concepts/components", + "destination": "/orm/tools" }, { - "source": "/docs/reference/api-reference/prisma-client-reference", - "destination": "/docs/orm/reference/prisma-client-reference" + "source": "/reference/api-reference/prisma-client-reference", + "destination": "/orm/reference/prisma-client-reference" }, { - "source": "/docs/reference/api-reference/prisma-schema-reference", - "destination": "/docs/orm/reference/prisma-schema-reference" + "source": "/reference/api-reference/prisma-schema-reference", + "destination": "/orm/reference/prisma-schema-reference" }, { - "source": "/docs/reference/api-reference/command-reference", - "destination": "/docs/orm/reference/prisma-cli-reference" + "source": "/reference/api-reference/command-reference", + "destination": "/orm/reference/prisma-cli-reference" }, { - "source": "/docs/reference/api-reference/error-reference", - "destination": "/docs/orm/reference/error-reference" + "source": "/reference/api-reference/error-reference", + "destination": "/orm/reference/error-reference" }, { - "source": "/docs/reference/api-reference/environment-variables-reference", - "destination": "/docs/orm/reference/environment-variables-reference" + "source": "/reference/api-reference/environment-variables-reference", + "destination": "/orm/reference/environment-variables-reference" }, { - "source": "/docs/reference/database-reference/database-features", - "destination": "/docs/orm/reference/database-features" + "source": "/reference/database-reference/database-features", + "destination": "/orm/reference/database-features" }, { - "source": "/docs/reference/database-reference/supported-databases", - "destination": "/docs/orm/reference/supported-databases" + "source": "/reference/database-reference/supported-databases", + "destination": "/orm/reference/supported-databases" }, { - "source": "/docs/reference/database-reference/connection-urls", - "destination": "/docs/orm/reference/connection-urls" + "source": "/reference/database-reference/connection-urls", + "destination": "/orm/reference/connection-urls" }, { - "source": "/docs/reference/system-requirements", - "destination": "/docs/orm/reference/system-requirements" + "source": "/reference/system-requirements", + "destination": "/orm/reference/system-requirements" }, { - "source": "/docs/concepts/components/preview-features/client-preview-features", - "destination": "/docs/orm/reference/preview-features/client-preview-features" + "source": "/concepts/components/preview-features/client-preview-features", + "destination": "/orm/reference/preview-features/client-preview-features" }, { - "source": "/docs/concepts/components/preview-features/cli-preview-features", - "destination": "/docs/orm/reference/preview-features/cli-preview-features" + "source": "/concepts/components/preview-features/cli-preview-features", + "destination": "/orm/reference/preview-features/cli-preview-features" }, { - "source": "/docs/concepts/components/preview-features", - "destination": "/docs/orm/reference/preview-features" + "source": "/concepts/components/preview-features", + "destination": "/orm/reference/preview-features" }, { - "source": "/docs/reference", - "destination": "/docs/orm/reference" + "source": "/reference", + "destination": "/orm/reference" }, { - "source": "/docs/concepts/components/prisma-engines/query-engine", - "destination": "/docs/orm/more/under-the-hood/engines" + "source": "/concepts/components/prisma-engines/query-engine", + "destination": "/orm/more/under-the-hood/engines" }, { - "source": "/docs/concepts/components/prisma-engines/query-engine-node-js-at-runtime.png", - "destination": "/docs/orm/more/under-the-hood/query-engine-node-js-at-runtime.png" + "source": "/concepts/components/prisma-engines/query-engine-node-js-at-runtime.png", + "destination": "/orm/more/under-the-hood/query-engine-node-js-at-runtime.png" }, { - "source": "/docs/concepts/components/prisma-engines/typical-flow-query-engine-at-runtime.png", - "destination": "/docs/orm/more/under-the-hood/typical-flow-query-engine-at-runtime.png" + "source": "/concepts/components/prisma-engines/typical-flow-query-engine-at-runtime.png", + "destination": "/orm/more/under-the-hood/typical-flow-query-engine-at-runtime.png" }, { - "source": "/docs/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-5/rejectonnotfound-changes", - "destination": "/docs/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-5/rejectonnotfound-changes" + "source": "/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-5/rejectonnotfound-changes", + "destination": "/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-5/rejectonnotfound-changes" }, { - "source": "/docs/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-5/jsonprotocol-changes", - "destination": "/docs/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-5/jsonprotocol-changes" + "source": "/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-5/jsonprotocol-changes", + "destination": "/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-5/jsonprotocol-changes" }, { - "source": "/docs/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-5", - "destination": "/docs/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-5" + "source": "/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-5", + "destination": "/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-5" }, { - "source": "/docs/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-4", - "destination": "/docs/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-4" + "source": "/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-4", + "destination": "/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-4" }, { - "source": "/docs/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-3/named-constraints", - "destination": "/docs/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-3/named-constraints" + "source": "/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-3/named-constraints", + "destination": "/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-3/named-constraints" }, { - "source": "/docs/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-3/referential-actions", - "destination": "/docs/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-3/referential-actions" + "source": "/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-3/referential-actions", + "destination": "/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-3/referential-actions" }, { - "source": "/docs/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-3", - "destination": "/docs/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-3" + "source": "/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-3", + "destination": "/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-3" }, { - "source": "/docs/guides/upgrade-guides/upgrading-versions/codemods", - "destination": "/docs/orm/more/upgrade-guides/upgrading-versions/codemods" + "source": "/guides/upgrade-guides/upgrading-versions/codemods", + "destination": "/orm/more/upgrade-guides/upgrading-versions/codemods" }, { - "source": "/docs/guides/upgrade-guides/upgrading-versions", - "destination": "/docs/orm/more/upgrade-guides/upgrading-versions" + "source": "/guides/upgrade-guides/upgrading-versions", + "destination": "/orm/more/upgrade-guides/upgrading-versions" }, { - "source": "/docs/guides/upgrade-guides/upgrading-to-use-preview-features", - "destination": "/docs/orm/more/upgrade-guides/upgrading-to-use-preview-features" + "source": "/guides/upgrade-guides/upgrading-to-use-preview-features", + "destination": "/orm/more/upgrade-guides/upgrading-to-use-preview-features" }, { - "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/how-to-upgrade", - "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/how-to-upgrade" + "source": "/guides/upgrade-guides/upgrade-from-prisma-1/how-to-upgrade", + "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/how-to-upgrade" }, { - "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/schema-incompatibilities", - "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/schema-incompatibilities" + "source": "/guides/upgrade-guides/upgrade-from-prisma-1/schema-incompatibilities", + "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/schema-incompatibilities" }, { - "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-the-prisma-layer", - "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/upgrading-the-prisma-layer" + "source": "/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-the-prisma-layer", + "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/upgrading-the-prisma-layer" }, { - "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-nexus-prisma-to-nexus", - "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/upgrading-nexus-prisma-to-nexus" + "source": "/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-nexus-prisma-to-nexus", + "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/upgrading-nexus-prisma-to-nexus" }, { - "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-prisma-binding-to-nexus", - "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/upgrading-prisma-binding-to-nexus" + "source": "/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-prisma-binding-to-nexus", + "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/upgrading-prisma-binding-to-nexus" }, { - "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-prisma-binding-to-sdl-first", - "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/upgrading-prisma-binding-to-sdl-first" + "source": "/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-prisma-binding-to-sdl-first", + "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/upgrading-prisma-binding-to-sdl-first" }, { - "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-a-rest-api", - "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/upgrading-a-rest-api" + "source": "/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-a-rest-api", + "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/upgrading-a-rest-api" }, { - "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/upgrade-from-mongodb-beta", - "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/upgrade-from-mongodb-beta" + "source": "/guides/upgrade-guides/upgrade-from-prisma-1/upgrade-from-mongodb-beta", + "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/upgrade-from-mongodb-beta" }, { - "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/images/TablePlus-GUI.png", - "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/images/TablePlus-GUI.png" + "source": "/guides/upgrade-guides/upgrade-from-prisma-1/images/TablePlus-GUI.png", + "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/images/TablePlus-GUI.png" }, { - "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/images/add-missing-default-constraints-to-columns.png", - "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/images/add-missing-default-constraints-to-columns.png" + "source": "/guides/upgrade-guides/upgrade-from-prisma-1/images/add-missing-default-constraints-to-columns.png", + "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/images/add-missing-default-constraints-to-columns.png" }, { - "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/images/altering-columns-to-use-enum.png", - "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/images/altering-columns-to-use-enum.png" + "source": "/guides/upgrade-guides/upgrade-from-prisma-1/images/altering-columns-to-use-enum.png", + "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/images/altering-columns-to-use-enum.png" }, { - "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/images/download-graphql-schema.png", - "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/images/download-graphql-schema.png" + "source": "/guides/upgrade-guides/upgrade-from-prisma-1/images/download-graphql-schema.png", + "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/images/download-graphql-schema.png" }, { - "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/images/expose-prisma-model-fields-with-t-model.png", - "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/images/expose-prisma-model-fields-with-t-model.png" + "source": "/guides/upgrade-guides/upgrade-from-prisma-1/images/expose-prisma-model-fields-with-t-model.png", + "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/images/expose-prisma-model-fields-with-t-model.png" }, { - "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/images/fix-columns-with-json-data-types.png", - "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/images/fix-columns-with-json-data-types.png" + "source": "/guides/upgrade-guides/upgrade-from-prisma-1/images/fix-columns-with-json-data-types.png", + "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/images/fix-columns-with-json-data-types.png" }, { - "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/images/fix-incorrect-m-n-relations-sql.png", - "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/images/fix-incorrect-m-n-relations-sql.png" + "source": "/guides/upgrade-guides/upgrade-from-prisma-1/images/fix-incorrect-m-n-relations-sql.png", + "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/images/fix-incorrect-m-n-relations-sql.png" }, { - "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/images/fix-schema-incompatibilities.png", - "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/images/fix-schema-incompatibilities.png" + "source": "/guides/upgrade-guides/upgrade-from-prisma-1/images/fix-schema-incompatibilities.png", + "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/images/fix-schema-incompatibilities.png" }, { - "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/images/prisma-cli-introspection-flow.png", - "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/images/prisma-cli-introspection-flow.png" + "source": "/guides/upgrade-guides/upgrade-from-prisma-1/images/prisma-cli-introspection-flow.png", + "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/images/prisma-cli-introspection-flow.png" }, { - "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/images/regenerate-resolvers-with-t-crud.png", - "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/images/regenerate-resolvers-with-t-crud.png" + "source": "/guides/upgrade-guides/upgrade-from-prisma-1/images/regenerate-resolvers-with-t-crud.png", + "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/images/regenerate-resolvers-with-t-crud.png" }, { - "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/images/run-sql-command-to-alter-column.png", - "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/images/run-sql-command-to-alter-column.png" + "source": "/guides/upgrade-guides/upgrade-from-prisma-1/images/run-sql-command-to-alter-column.png", + "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/images/run-sql-command-to-alter-column.png" }, { - "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/images/use-t-crud-to-generate-resolvers.png", - "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/images/use-t-crud-to-generate-resolvers.png" + "source": "/guides/upgrade-guides/upgrade-from-prisma-1/images/use-t-crud-to-generate-resolvers.png", + "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/images/use-t-crud-to-generate-resolvers.png" }, { - "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1", - "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1" + "source": "/guides/upgrade-guides/upgrade-from-prisma-1", + "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1" }, { - "source": "/docs/concepts/more/comparisons/prisma-and-typeorm", - "destination": "/docs/orm/more/comparisons/prisma-and-typeorm" + "source": "/concepts/more/comparisons/prisma-and-typeorm", + "destination": "/orm/more/comparisons/prisma-and-typeorm" }, { - "source": "/docs/concepts/more/comparisons/prisma-and-sequelize", - "destination": "/docs/orm/more/comparisons/prisma-and-sequelize" + "source": "/concepts/more/comparisons/prisma-and-sequelize", + "destination": "/orm/more/comparisons/prisma-and-sequelize" }, { - "source": "/docs/concepts/more/comparisons/prisma-and-mongoose", - "destination": "/docs/orm/more/comparisons/prisma-and-mongoose" + "source": "/concepts/more/comparisons/prisma-and-mongoose", + "destination": "/orm/more/comparisons/prisma-and-mongoose" }, { - "source": "/docs/concepts/more/comparisons/prisma-and-drizzle", - "destination": "/docs/orm/more/comparisons/prisma-and-drizzle" + "source": "/concepts/more/comparisons/prisma-and-drizzle", + "destination": "/orm/more/comparisons/prisma-and-drizzle" }, { - "source": "/docs/concepts/more/comparisons", - "destination": "/docs/orm/more/comparisons" + "source": "/concepts/more/comparisons", + "destination": "/orm/more/comparisons" }, { - "source": "/docs/guides/migrate-to-prisma/migrate-from-typeorm", - "destination": "/docs/orm/more/migrating-to-prisma/migrate-from-typeorm" + "source": "/guides/migrate-to-prisma/migrate-from-typeorm", + "destination": "/orm/more/migrating-to-prisma/migrate-from-typeorm" }, { - "source": "/docs/guides/migrate-to-prisma/migrate-from-sequelize", - "destination": "/docs/orm/more/migrating-to-prisma/migrate-from-sequelize" + "source": "/guides/migrate-to-prisma/migrate-from-sequelize", + "destination": "/orm/more/migrating-to-prisma/migrate-from-sequelize" }, { - "source": "/docs/guides/migrate-to-prisma/migrate-from-mongoose", - "destination": "/docs/orm/more/migrating-to-prisma/migrate-from-mongoose" + "source": "/guides/migrate-to-prisma/migrate-from-mongoose", + "destination": "/orm/more/migrating-to-prisma/migrate-from-mongoose" }, { - "source": "/docs/guides/migrate-to-prisma", - "destination": "/docs/orm/more/migrating-to-prisma" + "source": "/guides/migrate-to-prisma", + "destination": "/orm/more/migrating-to-prisma" }, { - "source": "/docs/guides/development-environment/environment-variables/env-files", - "destination": "/docs/orm/more/development-environment/environment-variables/env-files" + "source": "/guides/development-environment/environment-variables/env-files", + "destination": "/orm/more/development-environment/environment-variables/env-files" }, { - "source": "/docs/guides/development-environment/environment-variables/managing-env-files-and-setting-variables", - "destination": "/docs/orm/more/development-environment/environment-variables/managing-env-files-and-setting-variables" + "source": "/guides/development-environment/environment-variables/managing-env-files-and-setting-variables", + "destination": "/orm/more/development-environment/environment-variables/managing-env-files-and-setting-variables" }, { - "source": "/docs/guides/development-environment/environment-variables/using-multiple-env-files", - "destination": "/docs/orm/more/development-environment/environment-variables/using-multiple-env-files" + "source": "/guides/development-environment/environment-variables/using-multiple-env-files", + "destination": "/orm/more/development-environment/environment-variables/using-multiple-env-files" }, { - "source": "/docs/guides/development-environment/environment-variables", - "destination": "/docs/orm/more/development-environment/environment-variables" + "source": "/guides/development-environment/environment-variables", + "destination": "/orm/more/development-environment/environment-variables" }, { - "source": "/docs/guides/development-environment/editor-setup", - "destination": "/docs/orm/more/development-environment/editor-setup" + "source": "/guides/development-environment/editor-setup", + "destination": "/orm/more/development-environment/editor-setup" }, { - "source": "/docs/guides/development-environment", - "destination": "/docs/orm/more/development-environment" + "source": "/guides/development-environment", + "destination": "/orm/more/development-environment" }, { - "source": "/docs/guides/other/troubleshooting-orm/creating-bug-reports", - "destination": "/docs/orm/more/help-and-troubleshooting/creating-bug-reports" + "source": "/guides/other/troubleshooting-orm/creating-bug-reports", + "destination": "/orm/more/help-and-troubleshooting/creating-bug-reports" }, { - "source": "/docs/guides/other/troubleshooting-orm/help-articles/autocompletion-in-graphql-resolvers-with-js", - "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/autocompletion-in-graphql-resolvers-with-js" + "source": "/guides/other/troubleshooting-orm/help-articles/autocompletion-in-graphql-resolvers-with-js", + "destination": "/orm/more/help-and-troubleshooting/help-articles/autocompletion-in-graphql-resolvers-with-js" }, { - "source": "/docs/guides/other/troubleshooting-orm/help-articles/working-with-many-to-many-relations", - "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/working-with-many-to-many-relations" + "source": "/guides/other/troubleshooting-orm/help-articles/working-with-many-to-many-relations", + "destination": "/orm/more/help-and-troubleshooting/help-articles/working-with-many-to-many-relations" }, { - "source": "/docs/guides/other/troubleshooting-orm/help-articles/nextjs-prisma-client-dev-practices", - "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/nextjs-prisma-client-dev-practices" + "source": "/guides/other/troubleshooting-orm/help-articles/nextjs-prisma-client-dev-practices", + "destination": "/orm/more/help-and-troubleshooting/help-articles/nextjs-prisma-client-dev-practices" }, { - "source": "/docs/guides/other/troubleshooting-orm/help-articles/nextjs-prisma-client-monorepo", - "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/nextjs-prisma-client-monorepo" + "source": "/guides/other/troubleshooting-orm/help-articles/nextjs-prisma-client-monorepo", + "destination": "/orm/more/help-and-troubleshooting/help-articles/nextjs-prisma-client-monorepo" }, { - "source": "/docs/guides/other/troubleshooting-orm/help-articles/pkg-issue", - "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/pkg-issue" + "source": "/guides/other/troubleshooting-orm/help-articles/pkg-issue", + "destination": "/orm/more/help-and-troubleshooting/help-articles/pkg-issue" }, { - "source": "/docs/guides/other/troubleshooting-orm/help-articles/comparing-columns-through-raw-queries", - "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/comparing-columns-through-raw-queries" + "source": "/guides/other/troubleshooting-orm/help-articles/comparing-columns-through-raw-queries", + "destination": "/orm/more/help-and-troubleshooting/help-articles/comparing-columns-through-raw-queries" }, { - "source": "/docs/guides/other/troubleshooting-orm/help-articles/vercel-caching-issue", - "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/vercel-caching-issue" + "source": "/guides/other/troubleshooting-orm/help-articles/vercel-caching-issue", + "destination": "/orm/more/help-and-troubleshooting/help-articles/vercel-caching-issue" }, { - "source": "/docs/guides/other/troubleshooting-orm/help-articles/netlify-caching-issue", - "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/netlify-caching-issue" + "source": "/guides/other/troubleshooting-orm/help-articles/netlify-caching-issue", + "destination": "/orm/more/help-and-troubleshooting/help-articles/netlify-caching-issue" }, { - "source": "/docs/guides/other/advanced-database-tasks/data-validation/postgresql", - "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/check-constraints" + "source": "/guides/other/advanced-database-tasks/data-validation/postgresql", + "destination": "/orm/more/help-and-troubleshooting/help-articles/check-constraints" }, { - "source": "/docs/guides/other/troubleshooting-orm/help-articles", - "destination": "/docs/orm/more/help-and-troubleshooting/help-articles" + "source": "/guides/other/troubleshooting-orm/help-articles", + "destination": "/orm/more/help-and-troubleshooting/help-articles" }, { - "source": "/docs/guides/other/troubleshooting-orm/help-articles/netlify-build-command-filled.png", - "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/netlify-build-command-filled.png" + "source": "/guides/other/troubleshooting-orm/help-articles/netlify-build-command-filled.png", + "destination": "/orm/more/help-and-troubleshooting/help-articles/netlify-build-command-filled.png" }, { - "source": "/docs/guides/other/troubleshooting-orm/help-articles/netlify-edit-settings.png", - "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/netlify-edit-settings.png" + "source": "/guides/other/troubleshooting-orm/help-articles/netlify-edit-settings.png", + "destination": "/orm/more/help-and-troubleshooting/help-articles/netlify-edit-settings.png" }, { - "source": "/docs/guides/other/troubleshooting-orm/help-articles/prisma-autocompletion-in-js.png", - "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/prisma-autocompletion-in-js.png" + "source": "/guides/other/troubleshooting-orm/help-articles/prisma-autocompletion-in-js.png", + "destination": "/orm/more/help-and-troubleshooting/help-articles/prisma-autocompletion-in-js.png" }, { - "source": "/docs/guides/other/troubleshooting-orm/help-articles/unwanted-autocomplete-values-in-vscode.png", - "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/unwanted-autocomplete-values-in-vscode.png" + "source": "/guides/other/troubleshooting-orm/help-articles/unwanted-autocomplete-values-in-vscode.png", + "destination": "/orm/more/help-and-troubleshooting/help-articles/unwanted-autocomplete-values-in-vscode.png" }, { - "source": "/docs/guides/other/troubleshooting-orm/help-articles/vercel-ui-build-command-filled.png", - "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/vercel-ui-build-command-filled.png" + "source": "/guides/other/troubleshooting-orm/help-articles/vercel-ui-build-command-filled.png", + "destination": "/orm/more/help-and-troubleshooting/help-articles/vercel-ui-build-command-filled.png" }, { - "source": "/docs/guides/other/troubleshooting-orm/help-articles/vercel-ui-build-command.png", - "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/vercel-ui-build-command.png" + "source": "/guides/other/troubleshooting-orm/help-articles/vercel-ui-build-command.png", + "destination": "/orm/more/help-and-troubleshooting/help-articles/vercel-ui-build-command.png" }, { - "source": "/docs/about/prisma/releases", - "destination": "/docs/orm/more/releases" + "source": "/about/prisma/releases", + "destination": "/orm/more/releases" }, { - "source": "/docs/data-platform/accelerate/what-is-accelerate", - "destination": "/docs/accelerate/what-is-accelerate" + "source": "/data-platform/accelerate/what-is-accelerate", + "destination": "/accelerate/what-is-accelerate" }, { - "source": "/docs/data-platform/accelerate/getting-started", - "destination": "/docs/accelerate/getting-started" + "source": "/data-platform/accelerate/getting-started", + "destination": "/accelerate/getting-started" }, { - "source": "/docs/data-platform/accelerate/concepts", - "destination": "/docs/accelerate/concepts" + "source": "/data-platform/accelerate/concepts", + "destination": "/accelerate/concepts" }, { - "source": "/docs/data-platform/accelerate/api-reference", - "destination": "/docs/accelerate/api-reference" + "source": "/data-platform/accelerate/api-reference", + "destination": "/accelerate/api-reference" }, { - "source": "/docs/data-platform/accelerate/limitations", - "destination": "/docs/accelerate/limitations" + "source": "/data-platform/accelerate/limitations", + "destination": "/accelerate/limitations" }, { - "source": "/docs/data-platform/accelerate/evaluating", - "destination": "/docs/accelerate/evaluating" + "source": "/data-platform/accelerate/evaluating", + "destination": "/accelerate/evaluating" }, { - "source": "/docs/data-platform/accelerate/faq", - "destination": "/docs/accelerate/faq" + "source": "/data-platform/accelerate/faq", + "destination": "/accelerate/faq" }, { - "source": "/docs/data-platform/accelerate/feedback", - "destination": "/docs/accelerate/feedback" + "source": "/data-platform/accelerate/feedback", + "destination": "/accelerate/feedback" }, { - "source": "/docs/data-platform/accelerate/images/accelerate-update-database-connection-string.png", - "destination": "/docs/accelerate/images/accelerate-update-database-connection-string.png" + "source": "/data-platform/accelerate/images/accelerate-update-database-connection-string.png", + "destination": "/accelerate/images/accelerate-update-database-connection-string.png" }, { - "source": "/docs/data-platform/accelerate/images/accelerate.png", - "destination": "/docs/accelerate/images/accelerate.png" + "source": "/data-platform/accelerate/images/accelerate.png", + "destination": "/accelerate/images/accelerate.png" }, { - "source": "/docs/data-platform/accelerate/images/no-cache.png", - "destination": "/docs/accelerate/images/no-cache.png" + "source": "/data-platform/accelerate/images/no-cache.png", + "destination": "/accelerate/images/no-cache.png" }, { - "source": "/docs/data-platform/accelerate/images/speed-test.png", - "destination": "/docs/accelerate/images/speed-test.png" + "source": "/data-platform/accelerate/images/speed-test.png", + "destination": "/accelerate/images/speed-test.png" }, { - "source": "/docs/data-platform/accelerate/images/swr.png", - "destination": "/docs/accelerate/images/swr.png" + "source": "/data-platform/accelerate/images/swr.png", + "destination": "/accelerate/images/swr.png" }, { - "source": "/docs/data-platform/accelerate/images/ttl.png", - "destination": "/docs/accelerate/images/ttl.png" + "source": "/data-platform/accelerate/images/ttl.png", + "destination": "/accelerate/images/ttl.png" }, { - "source": "/docs/data-platform/accelerate/images/ttl_and_swr.png", - "destination": "/docs/accelerate/images/ttl_and_swr.png" + "source": "/data-platform/accelerate/images/ttl_and_swr.png", + "destination": "/accelerate/images/ttl_and_swr.png" }, { - "source": "/docs/guides/migrate/developing-with-prisma-migrate", - "destination": "/docs/orm/prisma-migrate" + "source": "/guides/migrate/developing-with-prisma-migrate", + "destination": "/orm/prisma-migrate" }, { - "source": "/docs/guides/migrate/patching-production", - "destination": "/docs/orm/prisma-migrate/workflows/patching-and-hotfixing" + "source": "/guides/migrate/patching-production", + "destination": "/orm/prisma-migrate/workflows/patching-and-hotfixing" }, { - "source": "/docs/guides/migrate", - "destination": "/docs/orm/prisma-migrate" + "source": "/guides/migrate", + "destination": "/orm/prisma-migrate" }, { - "source": "/docs/guides/database", - "destination": "/docs/orm/overview/databases" + "source": "/guides/database", + "destination": "/orm/overview/databases" }, { - "source": "/docs/guides/performance-and-optimization/metrics", - "destination": "/docs/orm/prisma-client/observability-and-logging/metrics" + "source": "/guides/performance-and-optimization/metrics", + "destination": "/orm/prisma-client/observability-and-logging/metrics" }, { - "source": "/docs/guides/performance-and-optimization/query-tracing", - "destination": "/docs/orm/prisma-client/observability-and-logging/opentelemetry-tracing" + "source": "/guides/performance-and-optimization/query-tracing", + "destination": "/orm/prisma-client/observability-and-logging/opentelemetry-tracing" }, { - "source": "/docs/guides/performance-and-optimization", - "destination": "/docs/orm/prisma-client/queries/query-optimization-performance" + "source": "/guides/performance-and-optimization", + "destination": "/orm/prisma-client/queries/query-optimization-performance" }, { - "source": "/docs/guides/upgrade-guides", - "destination": "/docs/orm/more/upgrade-guides" + "source": "/guides/upgrade-guides", + "destination": "/orm/more/upgrade-guides" }, { - "source": "/docs/guides/other/troubleshooting-orm", - "destination": "/docs/orm/more/help-and-troubleshooting" + "source": "/guides/other/troubleshooting-orm", + "destination": "/orm/more/help-and-troubleshooting" }, { - "source": "/docs/guides/other/advanced-database-tasks/typesafe-raw-sql", - "destination": "/docs/orm/prisma-client/queries/raw-database-access/custom-and-type-safe-queries" + "source": "/guides/other/advanced-database-tasks/typesafe-raw-sql", + "destination": "/orm/prisma-client/queries/raw-database-access/custom-and-type-safe-queries" }, { - "source": "/docs/guides/other/advanced-database-tasks/data-validation", - "destination": "/docs/orm/prisma-client/queries/custom-validation" + "source": "/guides/other/advanced-database-tasks/data-validation", + "destination": "/orm/prisma-client/queries/custom-validation" }, { - "source": "/docs/guides/other/advanced-database-tasks", - "destination": "/docs/orm" + "source": "/guides/other/advanced-database-tasks", + "destination": "/orm" }, { - "source": "/docs/guides/other", - "destination": "/docs/orm" + "source": "/guides/other", + "destination": "/orm" }, { - "source": "/docs/guides", - "destination": "/docs/orm" + "source": "/guides", + "destination": "/orm" }, { - "source": "/docs/data-platform/pulse/what-is-pulse", - "destination": "/docs/pulse/what-is-pulse" + "source": "/guides/upgrade-guides/upgrade-from-prisma-1/schema-incompatibilities-postgresql", + "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/schema-incompatibilities-postgresql" }, { - "source": "/docs/data-platform/pulse/getting-started", - "destination": "/docs/pulse/getting-started" + "source": "/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-the-prisma-layer-postgresql", + "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/upgrading-the-prisma-layer-postgresql" }, { - "source": "/docs/data-platform/pulse/concepts", - "destination": "/docs/pulse/concepts" + "source": "/data-platform/pulse/what-is-pulse", + "destination": "/pulse/what-is-pulse" }, { - "source": "/docs/data-platform/pulse/api-reference", - "destination": "/docs/pulse/api-reference" + "source": "/data-platform/pulse/getting-started", + "destination": "/pulse/getting-started" }, { - "source": "/docs/data-platform/pulse/current-limitations", - "destination": "/docs/pulse/current-limitations" + "source": "/data-platform/pulse/concepts", + "destination": "/pulse/concepts" }, { - "source": "/docs/data-platform/pulse/faq", - "destination": "/docs/pulse/faq" + "source": "/data-platform/pulse/api-reference", + "destination": "/pulse/api-reference" }, { - "source": "/docs/data-platform/pulse/feedback", - "destination": "/docs/pulse/feedback" + "source": "/data-platform/pulse/current-limitations", + "destination": "/pulse/current-limitations" }, { - "source": "/docs/reference/api-reference", - "destination": "/docs/orm/reference" + "source": "/data-platform/pulse/faq", + "destination": "/pulse/faq" }, { - "source": "/docs/reference/database-reference", - "destination": "/docs/orm/reference" + "source": "/data-platform/pulse/feedback", + "destination": "/pulse/feedback" }, { - "source": "/docs/data-platform/platform-console/about", - "destination": "/docs/platform/platform-console/about" + "source": "/reference/api-reference", + "destination": "/orm/reference" }, { - "source": "/docs/data-platform/platform-console/concepts/workspaces", - "destination": "/docs/platform/platform-console/concepts/workspaces" + "source": "/reference/database-reference", + "destination": "/orm/reference" }, { - "source": "/docs/data-platform/platform-console/concepts/projects", - "destination": "/docs/platform/platform-console/concepts/projects" + "source": "/data-platform/platform-console/about", + "destination": "/platform/platform-console/about" }, { - "source": "/docs/data-platform/platform-console/concepts", - "destination": "/docs/platform/platform-console/concepts" + "source": "/data-platform/platform-console/concepts/workspaces", + "destination": "/platform/platform-console/concepts/workspaces" }, { - "source": "/docs/data-platform/platform-console/maturity-levels", - "destination": "/docs/platform/platform-console/maturity-levels" + "source": "/data-platform/platform-console/concepts/projects", + "destination": "/platform/platform-console/concepts/projects" }, { - "source": "/docs/data-platform/platform-console/limits", - "destination": "/docs/platform/platform-console/limits" + "source": "/data-platform/platform-console/concepts", + "destination": "/platform/platform-console/concepts" }, { - "source": "/docs/data-platform/platform-console/support", - "destination": "/docs/platform/platform-console/support" + "source": "/data-platform/platform-console/maturity-levels", + "destination": "/platform/platform-console/maturity-levels" }, { - "source": "/docs/data-platform/platform-console", - "destination": "/docs/platform/platform-console" + "source": "/data-platform/platform-console/limits", + "destination": "/platform/platform-console/limits" }, { - "source": "/docs/data-platform/classic-projects/data-proxy/use-data-proxy", - "destination": "/docs/platform/classic-projects/data-proxy/use-data-proxy" + "source": "/data-platform/platform-console/support", + "destination": "/platform/platform-console/support" }, { - "source": "/docs/data-platform/classic-projects/data-proxy/deploy", - "destination": "/docs/platform/classic-projects/data-proxy/deploy" + "source": "/data-platform/platform-console", + "destination": "/platform/platform-console" }, { - "source": "/docs/data-platform/classic-projects/data-proxy/prisma-cli-with-data-proxy", - "destination": "/docs/platform/classic-projects/data-proxy/prisma-cli-with-data-proxy" + "source": "/data-platform/classic-projects/data-proxy/use-data-proxy", + "destination": "/platform/classic-projects/data-proxy/use-data-proxy" }, { - "source": "/docs/data-platform/classic-projects/data-proxy/considerations-limitations", - "destination": "/docs/platform/classic-projects/data-proxy/considerations-limitations" + "source": "/data-platform/classic-projects/data-proxy/deploy", + "destination": "/platform/classic-projects/data-proxy/deploy" }, { - "source": "/docs/data-platform/classic-projects/data-proxy", - "destination": "/docs/platform/classic-projects/data-proxy" + "source": "/data-platform/classic-projects/data-proxy/prisma-cli-with-data-proxy", + "destination": "/platform/classic-projects/data-proxy/prisma-cli-with-data-proxy" }, { - "source": "/docs/data-platform/classic-projects/platform/static-ips", - "destination": "/docs/platform/classic-projects/platform/static-ips" + "source": "/data-platform/classic-projects/data-proxy/considerations-limitations", + "destination": "/platform/classic-projects/data-proxy/considerations-limitations" }, { - "source": "/docs/data-platform/classic-projects/platform/projects/create", - "destination": "/docs/platform/classic-projects/platform/projects/create" + "source": "/data-platform/classic-projects/data-proxy", + "destination": "/platform/classic-projects/data-proxy" }, { - "source": "/docs/data-platform/classic-projects/platform/projects/edit-settings", - "destination": "/docs/platform/classic-projects/platform/projects/edit-settings" + "source": "/data-platform/classic-projects/platform/static-ips", + "destination": "/platform/classic-projects/platform/static-ips" }, { - "source": "/docs/data-platform/classic-projects/platform/projects/delete-project", - "destination": "/docs/platform/classic-projects/platform/projects/delete-project" + "source": "/data-platform/classic-projects/platform/projects/create", + "destination": "/platform/classic-projects/platform/projects/create" }, { - "source": "/docs/data-platform/classic-projects/platform/projects", - "destination": "/docs/platform/classic-projects/platform/projects" + "source": "/data-platform/classic-projects/platform/projects/edit-settings", + "destination": "/platform/classic-projects/platform/projects/edit-settings" }, { - "source": "/docs/data-platform/classic-projects/platform/environments/view-all", - "destination": "/docs/platform/classic-projects/platform/environments/view-all" + "source": "/data-platform/classic-projects/platform/projects/delete-project", + "destination": "/platform/classic-projects/platform/projects/delete-project" }, { - "source": "/docs/data-platform/classic-projects/platform/environments/create", - "destination": "/docs/platform/classic-projects/platform/environments/create" + "source": "/data-platform/classic-projects/platform/projects", + "destination": "/platform/classic-projects/platform/projects" }, { - "source": "/docs/data-platform/classic-projects/platform/environments/edit-settings/edit-name-and-url-handle", - "destination": "/docs/platform/classic-projects/platform/environments/edit-settings/edit-name-and-url-handle" + "source": "/data-platform/classic-projects/platform/environments/view-all", + "destination": "/platform/classic-projects/platform/environments/view-all" }, { - "source": "/docs/data-platform/classic-projects/platform/environments/edit-settings/change-default-environment", - "destination": "/docs/platform/classic-projects/platform/environments/edit-settings/change-default-environment" + "source": "/data-platform/classic-projects/platform/environments/create", + "destination": "/platform/classic-projects/platform/environments/create" }, { - "source": "/docs/data-platform/classic-projects/platform/environments/edit-settings", - "destination": "/docs/platform/classic-projects/platform/environments/edit-settings" + "source": "/data-platform/classic-projects/platform/environments/edit-settings/edit-name-and-url-handle", + "destination": "/platform/classic-projects/platform/environments/edit-settings/edit-name-and-url-handle" }, { - "source": "/docs/data-platform/classic-projects/platform/environments/delete", - "destination": "/docs/platform/classic-projects/platform/environments/delete" + "source": "/data-platform/classic-projects/platform/environments/edit-settings/change-default-environment", + "destination": "/platform/classic-projects/platform/environments/edit-settings/change-default-environment" }, { - "source": "/docs/data-platform/classic-projects/platform/environments", - "destination": "/docs/platform/classic-projects/platform/environments" + "source": "/data-platform/classic-projects/platform/environments/edit-settings", + "destination": "/platform/classic-projects/platform/environments/edit-settings" }, { - "source": "/docs/data-platform/classic-projects/platform/members/roles-permissions", - "destination": "/docs/platform/classic-projects/platform/members/roles-permissions" + "source": "/data-platform/classic-projects/platform/environments/delete", + "destination": "/platform/classic-projects/platform/environments/delete" }, { - "source": "/docs/data-platform/classic-projects/platform/members/add", - "destination": "/docs/platform/classic-projects/platform/members/add" + "source": "/data-platform/classic-projects/platform/environments", + "destination": "/platform/classic-projects/platform/environments" }, { - "source": "/docs/data-platform/classic-projects/platform/members/change-role", - "destination": "/docs/platform/classic-projects/platform/members/change-role" + "source": "/data-platform/classic-projects/platform/members/roles-permissions", + "destination": "/platform/classic-projects/platform/members/roles-permissions" }, { - "source": "/docs/data-platform/classic-projects/platform/members/remove", - "destination": "/docs/platform/classic-projects/platform/members/remove" + "source": "/data-platform/classic-projects/platform/members/add", + "destination": "/platform/classic-projects/platform/members/add" }, { - "source": "/docs/data-platform/classic-projects/platform/members/images/team-members-invite-and-select-role.png", - "destination": "/docs/platform/classic-projects/platform/members/images/team-members-invite-and-select-role.png" + "source": "/data-platform/classic-projects/platform/members/change-role", + "destination": "/platform/classic-projects/platform/members/change-role" }, { - "source": "/docs/data-platform/classic-projects/platform/members/images/team-members-invite-and-select-role.snagx", - "destination": "/docs/platform/classic-projects/platform/members/images/team-members-invite-and-select-role.snagx" + "source": "/data-platform/classic-projects/platform/members/remove", + "destination": "/platform/classic-projects/platform/members/remove" }, { - "source": "/docs/data-platform/classic-projects/platform/members", - "destination": "/docs/platform/classic-projects/platform/members" + "source": "/data-platform/classic-projects/platform/members/images/team-members-invite-and-select-role.png", + "destination": "/platform/classic-projects/platform/members/images/team-members-invite-and-select-role.png" }, { - "source": "/docs/data-platform/classic-projects/platform/data-browser", - "destination": "/docs/platform/classic-projects/platform/data-browser" + "source": "/data-platform/classic-projects/platform/members/images/team-members-invite-and-select-role.snagx", + "destination": "/platform/classic-projects/platform/members/images/team-members-invite-and-select-role.snagx" }, { - "source": "/docs/data-platform/classic-projects/platform/query-console", - "destination": "/docs/platform/classic-projects/platform/query-console" + "source": "/data-platform/classic-projects/platform/members", + "destination": "/platform/classic-projects/platform/members" }, { - "source": "/docs/data-platform/classic-projects/platform/schema-viewer", - "destination": "/docs/platform/classic-projects/platform/schema-viewer" + "source": "/data-platform/classic-projects/platform/data-browser", + "destination": "/platform/classic-projects/platform/data-browser" }, { - "source": "/docs/data-platform/classic-projects/platform/account", - "destination": "/docs/platform/classic-projects/platform/account" + "source": "/data-platform/classic-projects/platform/query-console", + "destination": "/platform/classic-projects/platform/query-console" }, { - "source": "/docs/data-platform/classic-projects/platform/github-integration", - "destination": "/docs/platform/classic-projects/platform/github-integration" + "source": "/data-platform/classic-projects/platform/schema-viewer", + "destination": "/platform/classic-projects/platform/schema-viewer" }, { - "source": "/docs/data-platform/classic-projects/platform/troubleshooting/connection-to-db-timed-out", - "destination": "/docs/platform/classic-projects/platform/troubleshooting/connection-to-db-timed-out" + "source": "/data-platform/classic-projects/platform/account", + "destination": "/platform/classic-projects/platform/account" }, { - "source": "/docs/data-platform/classic-projects/platform/troubleshooting/cannot-change-db-of-env", - "destination": "/docs/platform/classic-projects/platform/troubleshooting/cannot-change-db-of-env" + "source": "/data-platform/classic-projects/platform/github-integration", + "destination": "/platform/classic-projects/platform/github-integration" }, { - "source": "/docs/data-platform/classic-projects/platform/troubleshooting/cannot-edit-schema-file", - "destination": "/docs/platform/classic-projects/platform/troubleshooting/cannot-edit-schema-file" + "source": "/data-platform/classic-projects/platform/troubleshooting/connection-to-db-timed-out", + "destination": "/platform/classic-projects/platform/troubleshooting/connection-to-db-timed-out" }, { - "source": "/docs/data-platform/classic-projects/platform/troubleshooting/schema-file-does-not-update", - "destination": "/docs/platform/classic-projects/platform/troubleshooting/schema-file-does-not-update" + "source": "/data-platform/classic-projects/platform/troubleshooting/cannot-change-db-of-env", + "destination": "/platform/classic-projects/platform/troubleshooting/cannot-change-db-of-env" }, { - "source": "/docs/data-platform/classic-projects/platform/troubleshooting", - "destination": "/docs/platform/classic-projects/platform/troubleshooting" + "source": "/data-platform/classic-projects/platform/troubleshooting/cannot-edit-schema-file", + "destination": "/platform/classic-projects/platform/troubleshooting/cannot-edit-schema-file" }, { - "source": "/docs/data-platform/classic-projects/platform", - "destination": "/docs/platform/classic-projects/platform" + "source": "/data-platform/classic-projects/platform/troubleshooting/schema-file-does-not-update", + "destination": "/platform/classic-projects/platform/troubleshooting/schema-file-does-not-update" }, { - "source": "/docs/data-platform/classic-projects/support", - "destination": "/docs/platform/classic-projects/support" + "source": "/data-platform/classic-projects/platform/troubleshooting", + "destination": "/platform/classic-projects/platform/troubleshooting" }, { - "source": "/docs/data-platform/classic-projects/images/account/profile-menu-github-account.png", - "destination": "/docs/platform/classic-projects/images/account/profile-menu-github-account.png" + "source": "/data-platform/classic-projects/platform", + "destination": "/platform/classic-projects/platform" }, { - "source": "/docs/data-platform/classic-projects/images/account/profile-menu-github-account.snagx", - "destination": "/docs/platform/classic-projects/images/account/profile-menu-github-account.snagx" + "source": "/data-platform/classic-projects/support", + "destination": "/platform/classic-projects/support" }, { - "source": "/docs/data-platform/classic-projects/images/account/sign-up-01-create-first-project.png", - "destination": "/docs/platform/classic-projects/images/account/sign-up-01-create-first-project.png" + "source": "/data-platform/classic-projects/images/account/profile-menu-github-account.png", + "destination": "/platform/classic-projects/images/account/profile-menu-github-account.png" }, { - "source": "/docs/data-platform/classic-projects/images/account/sign-up-01-create-first-project.snagx", - "destination": "/docs/platform/classic-projects/images/account/sign-up-01-create-first-project.snagx" + "source": "/data-platform/classic-projects/images/account/profile-menu-github-account.snagx", + "destination": "/platform/classic-projects/images/account/profile-menu-github-account.snagx" }, { - "source": "/docs/data-platform/classic-projects/images/common/open-project-settings.png", - "destination": "/docs/platform/classic-projects/images/common/open-project-settings.png" + "source": "/data-platform/classic-projects/images/account/sign-up-01-create-first-project.png", + "destination": "/platform/classic-projects/images/account/sign-up-01-create-first-project.png" }, { - "source": "/docs/data-platform/classic-projects/images/common/open-project-settings.snagx", - "destination": "/docs/platform/classic-projects/images/common/open-project-settings.snagx" + "source": "/data-platform/classic-projects/images/account/sign-up-01-create-first-project.snagx", + "destination": "/platform/classic-projects/images/account/sign-up-01-create-first-project.snagx" }, { - "source": "/docs/data-platform/classic-projects/images/common/support-pop-up.png", - "destination": "/docs/platform/classic-projects/images/common/support-pop-up.png" + "source": "/data-platform/classic-projects/images/common/open-project-settings.png", + "destination": "/platform/classic-projects/images/common/open-project-settings.png" }, { - "source": "/docs/data-platform/classic-projects/images/common/support-pop-up.snagx", - "destination": "/docs/platform/classic-projects/images/common/support-pop-up.snagx" + "source": "/data-platform/classic-projects/images/common/open-project-settings.snagx", + "destination": "/platform/classic-projects/images/common/open-project-settings.snagx" }, { - "source": "/docs/data-platform/classic-projects/images/data-browser/models-view.png", - "destination": "/docs/platform/classic-projects/images/data-browser/models-view.png" + "source": "/data-platform/classic-projects/images/common/support-pop-up.png", + "destination": "/platform/classic-projects/images/common/support-pop-up.png" }, { - "source": "/docs/data-platform/classic-projects/images/data-browser/models-view.snagx", - "destination": "/docs/platform/classic-projects/images/data-browser/models-view.snagx" + "source": "/data-platform/classic-projects/images/common/support-pop-up.snagx", + "destination": "/platform/classic-projects/images/common/support-pop-up.snagx" }, { - "source": "/docs/data-platform/classic-projects/images/data-browser/open-close-models.png", - "destination": "/docs/platform/classic-projects/images/data-browser/open-close-models.png" + "source": "/data-platform/classic-projects/images/data-browser/models-view.png", + "destination": "/platform/classic-projects/images/data-browser/models-view.png" }, { - "source": "/docs/data-platform/classic-projects/images/data-browser/open-close-models.snagx", - "destination": "/docs/platform/classic-projects/images/data-browser/open-close-models.snagx" + "source": "/data-platform/classic-projects/images/data-browser/models-view.snagx", + "destination": "/platform/classic-projects/images/data-browser/models-view.snagx" }, { - "source": "/docs/data-platform/classic-projects/images/data-browser/model-view-keyboard-shortcuts.png", - "destination": "/docs/platform/classic-projects/images/data-browser/model-view-keyboard-shortcuts.png" + "source": "/data-platform/classic-projects/images/data-browser/open-close-models.png", + "destination": "/platform/classic-projects/images/data-browser/open-close-models.png" }, { - "source": "/docs/data-platform/classic-projects/images/data-browser/model-view-keyboard-shortcuts.snagx", - "destination": "/docs/platform/classic-projects/images/data-browser/model-view-keyboard-shortcuts.snagx" + "source": "/data-platform/classic-projects/images/data-browser/open-close-models.snagx", + "destination": "/platform/classic-projects/images/data-browser/open-close-models.snagx" }, { - "source": "/docs/data-platform/classic-projects/images/data-browser/save-multiple-changes.png", - "destination": "/docs/platform/classic-projects/images/data-browser/save-multiple-changes.png" + "source": "/data-platform/classic-projects/images/data-browser/model-view-keyboard-shortcuts.png", + "destination": "/platform/classic-projects/images/data-browser/model-view-keyboard-shortcuts.png" }, { - "source": "/docs/data-platform/classic-projects/images/data-browser/save-multiple-changes.snagx", - "destination": "/docs/platform/classic-projects/images/data-browser/save-multiple-changes.snagx" + "source": "/data-platform/classic-projects/images/data-browser/model-view-keyboard-shortcuts.snagx", + "destination": "/platform/classic-projects/images/data-browser/model-view-keyboard-shortcuts.snagx" }, { - "source": "/docs/data-platform/classic-projects/images/data-browser/add-remove-filters.png", - "destination": "/docs/platform/classic-projects/images/data-browser/add-remove-filters.png" + "source": "/data-platform/classic-projects/images/data-browser/save-multiple-changes.png", + "destination": "/platform/classic-projects/images/data-browser/save-multiple-changes.png" }, { - "source": "/docs/data-platform/classic-projects/images/data-browser/add-remove-filters.snagx", - "destination": "/docs/platform/classic-projects/images/data-browser/add-remove-filters.snagx" + "source": "/data-platform/classic-projects/images/data-browser/save-multiple-changes.snagx", + "destination": "/platform/classic-projects/images/data-browser/save-multiple-changes.snagx" }, { - "source": "/docs/data-platform/classic-projects/images/data-browser/show-hide-fields.png", - "destination": "/docs/platform/classic-projects/images/data-browser/show-hide-fields.png" + "source": "/data-platform/classic-projects/images/data-browser/add-remove-filters.png", + "destination": "/platform/classic-projects/images/data-browser/add-remove-filters.png" }, { - "source": "/docs/data-platform/classic-projects/images/data-browser/show-hide-fields.snagx", - "destination": "/docs/platform/classic-projects/images/data-browser/show-hide-fields.snagx" + "source": "/data-platform/classic-projects/images/data-browser/add-remove-filters.snagx", + "destination": "/platform/classic-projects/images/data-browser/add-remove-filters.snagx" }, { - "source": "/docs/data-platform/classic-projects/images/data-browser/show-hide-records.png", - "destination": "/docs/platform/classic-projects/images/data-browser/show-hide-records.png" + "source": "/data-platform/classic-projects/images/data-browser/show-hide-fields.png", + "destination": "/platform/classic-projects/images/data-browser/show-hide-fields.png" }, { - "source": "/docs/data-platform/classic-projects/images/data-browser/show-hide-records.snagx", - "destination": "/docs/platform/classic-projects/images/data-browser/show-hide-records.snagx" + "source": "/data-platform/classic-projects/images/data-browser/show-hide-fields.snagx", + "destination": "/platform/classic-projects/images/data-browser/show-hide-fields.snagx" }, { - "source": "/docs/data-platform/classic-projects/images/data-browser/model-sort.png", - "destination": "/docs/platform/classic-projects/images/data-browser/model-sort.png" + "source": "/data-platform/classic-projects/images/data-browser/show-hide-records.png", + "destination": "/platform/classic-projects/images/data-browser/show-hide-records.png" }, { - "source": "/docs/data-platform/classic-projects/images/data-browser/model-sort.snagx", - "destination": "/docs/platform/classic-projects/images/data-browser/model-sort.snagx" + "source": "/data-platform/classic-projects/images/data-browser/show-hide-records.snagx", + "destination": "/platform/classic-projects/images/data-browser/show-hide-records.snagx" }, { - "source": "/docs/data-platform/classic-projects/images/data-browser/array.svg", - "destination": "/docs/platform/classic-projects/images/data-browser/array.svg" + "source": "/data-platform/classic-projects/images/data-browser/model-sort.png", + "destination": "/platform/classic-projects/images/data-browser/model-sort.png" }, { - "source": "/docs/data-platform/classic-projects/images/data-browser/boolean.svg", - "destination": "/docs/platform/classic-projects/images/data-browser/boolean.svg" + "source": "/data-platform/classic-projects/images/data-browser/model-sort.snagx", + "destination": "/platform/classic-projects/images/data-browser/model-sort.snagx" }, { - "source": "/docs/data-platform/classic-projects/images/data-browser/database.svg", - "destination": "/docs/platform/classic-projects/images/data-browser/database.svg" + "source": "/data-platform/classic-projects/images/data-browser/array.svg", + "destination": "/platform/classic-projects/images/data-browser/array.svg" }, { - "source": "/docs/data-platform/classic-projects/images/data-browser/datetime.svg", - "destination": "/docs/platform/classic-projects/images/data-browser/datetime.svg" + "source": "/data-platform/classic-projects/images/data-browser/boolean.svg", + "destination": "/platform/classic-projects/images/data-browser/boolean.svg" }, { - "source": "/docs/data-platform/classic-projects/images/data-browser/enum.svg", - "destination": "/docs/platform/classic-projects/images/data-browser/enum.svg" + "source": "/data-platform/classic-projects/images/data-browser/database.svg", + "destination": "/platform/classic-projects/images/data-browser/database.svg" }, { - "source": "/docs/data-platform/classic-projects/images/data-browser/number.svg", - "destination": "/docs/platform/classic-projects/images/data-browser/number.svg" + "source": "/data-platform/classic-projects/images/data-browser/datetime.svg", + "destination": "/platform/classic-projects/images/data-browser/datetime.svg" }, { - "source": "/docs/data-platform/classic-projects/images/data-browser/object.svg", - "destination": "/docs/platform/classic-projects/images/data-browser/object.svg" + "source": "/data-platform/classic-projects/images/data-browser/enum.svg", + "destination": "/platform/classic-projects/images/data-browser/enum.svg" }, { - "source": "/docs/data-platform/classic-projects/images/data-browser/string.svg", - "destination": "/docs/platform/classic-projects/images/data-browser/string.svg" + "source": "/data-platform/classic-projects/images/data-browser/number.svg", + "destination": "/platform/classic-projects/images/data-browser/number.svg" }, { - "source": "/docs/data-platform/classic-projects/images/data-proxy/copy-connection-string.png", - "destination": "/docs/platform/classic-projects/images/data-proxy/copy-connection-string.png" + "source": "/data-platform/classic-projects/images/data-browser/object.svg", + "destination": "/platform/classic-projects/images/data-browser/object.svg" }, { - "source": "/docs/data-platform/classic-projects/images/data-proxy/copy-connection-string.snagx", - "destination": "/docs/platform/classic-projects/images/data-proxy/copy-connection-string.snagx" + "source": "/data-platform/classic-projects/images/data-browser/string.svg", + "destination": "/platform/classic-projects/images/data-browser/string.svg" }, { - "source": "/docs/data-platform/classic-projects/images/data-proxy/create-and-name-new-connection-string.png", - "destination": "/docs/platform/classic-projects/images/data-proxy/create-and-name-new-connection-string.png" + "source": "/data-platform/classic-projects/images/data-proxy/copy-connection-string.png", + "destination": "/platform/classic-projects/images/data-proxy/copy-connection-string.png" }, { - "source": "/docs/data-platform/classic-projects/images/data-proxy/create-and-name-new-connection-string.snagx", - "destination": "/docs/platform/classic-projects/images/data-proxy/create-and-name-new-connection-string.snagx" + "source": "/data-platform/classic-projects/images/data-proxy/copy-connection-string.snagx", + "destination": "/platform/classic-projects/images/data-proxy/copy-connection-string.snagx" }, { - "source": "/docs/data-platform/classic-projects/images/data-proxy/prisma-bundle-with-data-proxy.svg", - "destination": "/docs/platform/classic-projects/images/data-proxy/prisma-bundle-with-data-proxy.svg" + "source": "/data-platform/classic-projects/images/data-proxy/create-and-name-new-connection-string.png", + "destination": "/platform/classic-projects/images/data-proxy/create-and-name-new-connection-string.png" }, { - "source": "/docs/data-platform/classic-projects/images/data-proxy/prisma-bundle-without-data-proxy.svg", - "destination": "/docs/platform/classic-projects/images/data-proxy/prisma-bundle-without-data-proxy.svg" + "source": "/data-platform/classic-projects/images/data-proxy/create-and-name-new-connection-string.snagx", + "destination": "/platform/classic-projects/images/data-proxy/create-and-name-new-connection-string.snagx" }, { - "source": "/docs/data-platform/classic-projects/images/environments/create-01-drop-down-select-create.png", - "destination": "/docs/platform/classic-projects/images/environments/create-01-drop-down-select-create.png" + "source": "/data-platform/classic-projects/images/data-proxy/prisma-bundle-with-data-proxy.svg", + "destination": "/platform/classic-projects/images/data-proxy/prisma-bundle-with-data-proxy.svg" }, { - "source": "/docs/data-platform/classic-projects/images/environments/create-01-drop-down-select-create.snagx", - "destination": "/docs/platform/classic-projects/images/environments/create-01-drop-down-select-create.snagx" + "source": "/data-platform/classic-projects/images/data-proxy/prisma-bundle-without-data-proxy.svg", + "destination": "/platform/classic-projects/images/data-proxy/prisma-bundle-without-data-proxy.svg" }, { - "source": "/docs/data-platform/classic-projects/images/environments/create-env-upload-schema-file.png", - "destination": "/docs/platform/classic-projects/images/environments/create-env-upload-schema-file.png" + "source": "/data-platform/classic-projects/images/environments/create-01-drop-down-select-create.png", + "destination": "/platform/classic-projects/images/environments/create-01-drop-down-select-create.png" }, { - "source": "/docs/data-platform/classic-projects/images/environments/create-no-schema-sync-02-repo-branch-database-connection-string-data-proxy.png", - "destination": "/docs/platform/classic-projects/images/environments/create-no-schema-sync-02-repo-branch-database-connection-string-data-proxy.png" + "source": "/data-platform/classic-projects/images/environments/create-01-drop-down-select-create.snagx", + "destination": "/platform/classic-projects/images/environments/create-01-drop-down-select-create.snagx" }, { - "source": "/docs/data-platform/classic-projects/images/environments/create-no-schema-sync-02-repo-branch-database-connection-string-data-proxy.snagx", - "destination": "/docs/platform/classic-projects/images/environments/create-no-schema-sync-02-repo-branch-database-connection-string-data-proxy.snagx" + "source": "/data-platform/classic-projects/images/environments/create-env-upload-schema-file.png", + "destination": "/platform/classic-projects/images/environments/create-env-upload-schema-file.png" }, { - "source": "/docs/data-platform/classic-projects/images/environments/create-on-schema-sync-02-connection-string-static-ips-data-proxy-region.png", - "destination": "/docs/platform/classic-projects/images/environments/create-on-schema-sync-02-connection-string-static-ips-data-proxy-region.png" + "source": "/data-platform/classic-projects/images/environments/create-no-schema-sync-02-repo-branch-database-connection-string-data-proxy.png", + "destination": "/platform/classic-projects/images/environments/create-no-schema-sync-02-repo-branch-database-connection-string-data-proxy.png" }, { - "source": "/docs/data-platform/classic-projects/images/environments/create-on-schema-sync-02-connection-string-static-ips-data-proxy-region.snagx", - "destination": "/docs/platform/classic-projects/images/environments/create-on-schema-sync-02-connection-string-static-ips-data-proxy-region.snagx" + "source": "/data-platform/classic-projects/images/environments/create-no-schema-sync-02-repo-branch-database-connection-string-data-proxy.snagx", + "destination": "/platform/classic-projects/images/environments/create-no-schema-sync-02-repo-branch-database-connection-string-data-proxy.snagx" }, { - "source": "/docs/data-platform/classic-projects/images/environments/default-environment.png", - "destination": "/docs/platform/classic-projects/images/environments/default-environment.png" + "source": "/data-platform/classic-projects/images/environments/create-on-schema-sync-02-connection-string-static-ips-data-proxy-region.png", + "destination": "/platform/classic-projects/images/environments/create-on-schema-sync-02-connection-string-static-ips-data-proxy-region.png" }, { - "source": "/docs/data-platform/classic-projects/images/environments/default-environment.snagx", - "destination": "/docs/platform/classic-projects/images/environments/default-environment.snagx" + "source": "/data-platform/classic-projects/images/environments/create-on-schema-sync-02-connection-string-static-ips-data-proxy-region.snagx", + "destination": "/platform/classic-projects/images/environments/create-on-schema-sync-02-connection-string-static-ips-data-proxy-region.snagx" }, { - "source": "/docs/data-platform/classic-projects/images/environments/delete-01-click-three-dot-select-delete.png", - "destination": "/docs/platform/classic-projects/images/environments/delete-01-click-three-dot-select-delete.png" + "source": "/data-platform/classic-projects/images/environments/default-environment.png", + "destination": "/platform/classic-projects/images/environments/default-environment.png" }, { - "source": "/docs/data-platform/classic-projects/images/environments/delete-01-click-three-dot-select-delete.snagx", - "destination": "/docs/platform/classic-projects/images/environments/delete-01-click-three-dot-select-delete.snagx" + "source": "/data-platform/classic-projects/images/environments/default-environment.snagx", + "destination": "/platform/classic-projects/images/environments/default-environment.snagx" }, { - "source": "/docs/data-platform/classic-projects/images/environments/edit-01-change-database-connection-string.png", - "destination": "/docs/platform/classic-projects/images/environments/edit-01-change-database-connection-string.png" + "source": "/data-platform/classic-projects/images/environments/delete-01-click-three-dot-select-delete.png", + "destination": "/platform/classic-projects/images/environments/delete-01-click-three-dot-select-delete.png" }, { - "source": "/docs/data-platform/classic-projects/images/environments/edit-01-change-database-connection-string.snagx", - "destination": "/docs/platform/classic-projects/images/environments/edit-01-change-database-connection-string.snagx" + "source": "/data-platform/classic-projects/images/environments/delete-01-click-three-dot-select-delete.snagx", + "destination": "/platform/classic-projects/images/environments/delete-01-click-three-dot-select-delete.snagx" }, { - "source": "/docs/data-platform/classic-projects/images/environments/edit-01-change-default.png", - "destination": "/docs/platform/classic-projects/images/environments/edit-01-change-default.png" + "source": "/data-platform/classic-projects/images/environments/edit-01-change-database-connection-string.png", + "destination": "/platform/classic-projects/images/environments/edit-01-change-database-connection-string.png" }, { - "source": "/docs/data-platform/classic-projects/images/environments/edit-01-change-default.snagx", - "destination": "/docs/platform/classic-projects/images/environments/edit-01-change-default.snagx" + "source": "/data-platform/classic-projects/images/environments/edit-01-change-database-connection-string.snagx", + "destination": "/platform/classic-projects/images/environments/edit-01-change-database-connection-string.snagx" }, { - "source": "/docs/data-platform/classic-projects/images/environments/edit-01-change-name-and-URL-handle.png", - "destination": "/docs/platform/classic-projects/images/environments/edit-01-change-name-and-URL-handle.png" + "source": "/data-platform/classic-projects/images/environments/edit-01-change-default.png", + "destination": "/platform/classic-projects/images/environments/edit-01-change-default.png" }, { - "source": "/docs/data-platform/classic-projects/images/environments/edit-01-change-name-and-URL-handle.snagx", - "destination": "/docs/platform/classic-projects/images/environments/edit-01-change-name-and-URL-handle.snagx" + "source": "/data-platform/classic-projects/images/environments/edit-01-change-default.snagx", + "destination": "/platform/classic-projects/images/environments/edit-01-change-default.snagx" }, { - "source": "/docs/data-platform/classic-projects/images/environments/list-all-environments.png", - "destination": "/docs/platform/classic-projects/images/environments/list-all-environments.png" + "source": "/data-platform/classic-projects/images/environments/edit-01-change-name-and-URL-handle.png", + "destination": "/platform/classic-projects/images/environments/edit-01-change-name-and-URL-handle.png" }, { - "source": "/docs/data-platform/classic-projects/images/environments/list-all-environments.snagx", - "destination": "/docs/platform/classic-projects/images/environments/list-all-environments.snagx" + "source": "/data-platform/classic-projects/images/environments/edit-01-change-name-and-URL-handle.snagx", + "destination": "/platform/classic-projects/images/environments/edit-01-change-name-and-URL-handle.snagx" }, { - "source": "/docs/data-platform/classic-projects/images/environments/switch-environment.png", - "destination": "/docs/platform/classic-projects/images/environments/switch-environment.png" + "source": "/data-platform/classic-projects/images/environments/list-all-environments.png", + "destination": "/platform/classic-projects/images/environments/list-all-environments.png" }, { - "source": "/docs/data-platform/classic-projects/images/environments/switch-environment.snagx", - "destination": "/docs/platform/classic-projects/images/environments/switch-environment.snagx" + "source": "/data-platform/classic-projects/images/environments/list-all-environments.snagx", + "destination": "/platform/classic-projects/images/environments/list-all-environments.snagx" }, { - "source": "/docs/data-platform/classic-projects/images/environments/view-all-01-environments-drop-down-view-all.png", - "destination": "/docs/platform/classic-projects/images/environments/view-all-01-environments-drop-down-view-all.png" + "source": "/data-platform/classic-projects/images/environments/switch-environment.png", + "destination": "/platform/classic-projects/images/environments/switch-environment.png" }, { - "source": "/docs/data-platform/classic-projects/images/environments/view-all-01-environments-drop-down-view-all.snagx", - "destination": "/docs/platform/classic-projects/images/environments/view-all-01-environments-drop-down-view-all.snagx" + "source": "/data-platform/classic-projects/images/environments/switch-environment.snagx", + "destination": "/platform/classic-projects/images/environments/switch-environment.snagx" }, { - "source": "/docs/data-platform/classic-projects/images/github/add-github-account-or-org.png", - "destination": "/docs/platform/classic-projects/images/github/add-github-account-or-org.png" + "source": "/data-platform/classic-projects/images/environments/view-all-01-environments-drop-down-view-all.png", + "destination": "/platform/classic-projects/images/environments/view-all-01-environments-drop-down-view-all.png" }, { - "source": "/docs/data-platform/classic-projects/images/github/add-github-account-or-org.snagx", - "destination": "/docs/platform/classic-projects/images/github/add-github-account-or-org.snagx" + "source": "/data-platform/classic-projects/images/environments/view-all-01-environments-drop-down-view-all.snagx", + "destination": "/platform/classic-projects/images/environments/view-all-01-environments-drop-down-view-all.snagx" }, { - "source": "/docs/data-platform/classic-projects/images/github/grant-access-github-app.png", - "destination": "/docs/platform/classic-projects/images/github/grant-access-github-app.png" + "source": "/data-platform/classic-projects/images/github/add-github-account-or-org.png", + "destination": "/platform/classic-projects/images/github/add-github-account-or-org.png" }, { - "source": "/docs/data-platform/classic-projects/images/github/grant-access-github-app.snagx", - "destination": "/docs/platform/classic-projects/images/github/grant-access-github-app.snagx" + "source": "/data-platform/classic-projects/images/github/add-github-account-or-org.snagx", + "destination": "/platform/classic-projects/images/github/add-github-account-or-org.snagx" }, { - "source": "/docs/data-platform/classic-projects/images/github/grant-access-to-select-github-repositories.png", - "destination": "/docs/platform/classic-projects/images/github/grant-access-to-select-github-repositories.png" + "source": "/data-platform/classic-projects/images/github/grant-access-github-app.png", + "destination": "/platform/classic-projects/images/github/grant-access-github-app.png" }, { - "source": "/docs/data-platform/classic-projects/images/github/grant-access-to-select-github-repositories.snagx", - "destination": "/docs/platform/classic-projects/images/github/grant-access-to-select-github-repositories.snagx" + "source": "/data-platform/classic-projects/images/github/grant-access-github-app.snagx", + "destination": "/platform/classic-projects/images/github/grant-access-github-app.snagx" }, { - "source": "/docs/data-platform/classic-projects/images/projects/create-02-enable-schema-sync-github-account-branch-schema-path.png", - "destination": "/docs/platform/classic-projects/images/projects/create-02-enable-schema-sync-github-account-branch-schema-path.png" + "source": "/data-platform/classic-projects/images/github/grant-access-to-select-github-repositories.png", + "destination": "/platform/classic-projects/images/github/grant-access-to-select-github-repositories.png" }, { - "source": "/docs/data-platform/classic-projects/images/projects/create-02-enable-schema-sync-github-account-branch-schema-path.snagx", - "destination": "/docs/platform/classic-projects/images/projects/create-02-enable-schema-sync-github-account-branch-schema-path.snagx" + "source": "/data-platform/classic-projects/images/github/grant-access-to-select-github-repositories.snagx", + "destination": "/platform/classic-projects/images/github/grant-access-to-select-github-repositories.snagx" }, { - "source": "/docs/data-platform/classic-projects/images/projects/create-02-link-schema-file-from-a-repository.png", - "destination": "/docs/platform/classic-projects/images/projects/create-02-link-schema-file-from-a-repository.png" + "source": "/data-platform/classic-projects/images/projects/create-02-enable-schema-sync-github-account-branch-schema-path.png", + "destination": "/platform/classic-projects/images/projects/create-02-enable-schema-sync-github-account-branch-schema-path.png" }, { - "source": "/docs/data-platform/classic-projects/images/projects/create-02-upload-schema-file.png", - "destination": "/docs/platform/classic-projects/images/projects/create-02-upload-schema-file.png" + "source": "/data-platform/classic-projects/images/projects/create-02-enable-schema-sync-github-account-branch-schema-path.snagx", + "destination": "/platform/classic-projects/images/projects/create-02-enable-schema-sync-github-account-branch-schema-path.snagx" }, { - "source": "/docs/data-platform/classic-projects/images/projects/prisma-data-platform-projects-page.png", - "destination": "/docs/platform/classic-projects/images/projects/prisma-data-platform-projects-page.png" + "source": "/data-platform/classic-projects/images/projects/create-02-link-schema-file-from-a-repository.png", + "destination": "/platform/classic-projects/images/projects/create-02-link-schema-file-from-a-repository.png" }, { - "source": "/docs/data-platform/classic-projects/images/projects/prisma-data-platform-projects-page.snagx", - "destination": "/docs/platform/classic-projects/images/projects/prisma-data-platform-projects-page.snagx" + "source": "/data-platform/classic-projects/images/projects/create-02-upload-schema-file.png", + "destination": "/platform/classic-projects/images/projects/create-02-upload-schema-file.png" }, { - "source": "/docs/data-platform/classic-projects/images/query-console/add-query-with-autocomplete.png", - "destination": "/docs/platform/classic-projects/images/query-console/add-query-with-autocomplete.png" + "source": "/data-platform/classic-projects/images/projects/prisma-data-platform-projects-page.png", + "destination": "/platform/classic-projects/images/projects/prisma-data-platform-projects-page.png" }, { - "source": "/docs/data-platform/classic-projects/images/query-console/add-query-with-autocomplete.snagx", - "destination": "/docs/platform/classic-projects/images/query-console/add-query-with-autocomplete.snagx" + "source": "/data-platform/classic-projects/images/projects/prisma-data-platform-projects-page.snagx", + "destination": "/platform/classic-projects/images/projects/prisma-data-platform-projects-page.snagx" }, { - "source": "/docs/data-platform/classic-projects/images/query-console/components.png", - "destination": "/docs/platform/classic-projects/images/query-console/components.png" + "source": "/data-platform/classic-projects/images/query-console/add-query-with-autocomplete.png", + "destination": "/platform/classic-projects/images/query-console/add-query-with-autocomplete.png" }, { - "source": "/docs/data-platform/classic-projects/images/query-console/components.snagx", - "destination": "/docs/platform/classic-projects/images/query-console/components.snagx" + "source": "/data-platform/classic-projects/images/query-console/add-query-with-autocomplete.snagx", + "destination": "/platform/classic-projects/images/query-console/add-query-with-autocomplete.snagx" }, { - "source": "/docs/data-platform/classic-projects/images/query-console/run-query.png", - "destination": "/docs/platform/classic-projects/images/query-console/run-query.png" + "source": "/data-platform/classic-projects/images/query-console/components.png", + "destination": "/platform/classic-projects/images/query-console/components.png" }, { - "source": "/docs/data-platform/classic-projects/images/query-console/run-query.snagx", - "destination": "/docs/platform/classic-projects/images/query-console/run-query.snagx" + "source": "/data-platform/classic-projects/images/query-console/components.snagx", + "destination": "/platform/classic-projects/images/query-console/components.snagx" }, { - "source": "/docs/data-platform/classic-projects/images/schema-viewer/overview.png", - "destination": "/docs/platform/classic-projects/images/schema-viewer/overview.png" + "source": "/data-platform/classic-projects/images/query-console/run-query.png", + "destination": "/platform/classic-projects/images/query-console/run-query.png" }, { - "source": "/docs/data-platform/classic-projects/images/schema-viewer/overview.snagx", - "destination": "/docs/platform/classic-projects/images/schema-viewer/overview.snagx" + "source": "/data-platform/classic-projects/images/query-console/run-query.snagx", + "destination": "/platform/classic-projects/images/query-console/run-query.snagx" }, { - "source": "/docs/data-platform/classic-projects/images/schema-viewer/project-introspected-schema.png", - "destination": "/docs/platform/classic-projects/images/schema-viewer/project-introspected-schema.png" + "source": "/data-platform/classic-projects/images/schema-viewer/overview.png", + "destination": "/platform/classic-projects/images/schema-viewer/overview.png" }, { - "source": "/docs/data-platform/classic-projects/images/schema-viewer/project-introspected-schema.snagx", - "destination": "/docs/platform/classic-projects/images/schema-viewer/project-introspected-schema.snagx" + "source": "/data-platform/classic-projects/images/schema-viewer/overview.snagx", + "destination": "/platform/classic-projects/images/schema-viewer/overview.snagx" }, { - "source": "/docs/data-platform/classic-projects/images/schema-viewer/project-no-models-no-schema.png", - "destination": "/docs/platform/classic-projects/images/schema-viewer/project-no-models-no-schema.png" + "source": "/data-platform/classic-projects/images/schema-viewer/project-introspected-schema.png", + "destination": "/platform/classic-projects/images/schema-viewer/project-introspected-schema.png" }, { - "source": "/docs/data-platform/classic-projects/images/schema-viewer/project-no-models-no-schema.snagx", - "destination": "/docs/platform/classic-projects/images/schema-viewer/project-no-models-no-schema.snagx" + "source": "/data-platform/classic-projects/images/schema-viewer/project-introspected-schema.snagx", + "destination": "/platform/classic-projects/images/schema-viewer/project-introspected-schema.snagx" }, { - "source": "/docs/data-platform/classic-projects/images/schema-viewer/project-schema-viewer.png", - "destination": "/docs/platform/classic-projects/images/schema-viewer/project-schema-viewer.png" + "source": "/data-platform/classic-projects/images/schema-viewer/project-no-models-no-schema.png", + "destination": "/platform/classic-projects/images/schema-viewer/project-no-models-no-schema.png" }, { - "source": "/docs/data-platform/classic-projects/images/schema-viewer/provide-prisma-schema.png", - "destination": "/docs/platform/classic-projects/images/schema-viewer/provide-prisma-schema.png" + "source": "/data-platform/classic-projects/images/schema-viewer/project-no-models-no-schema.snagx", + "destination": "/platform/classic-projects/images/schema-viewer/project-no-models-no-schema.snagx" }, { - "source": "/docs/data-platform/classic-projects/images/schema-viewer/provide-prisma-schema.snagx", - "destination": "/docs/platform/classic-projects/images/schema-viewer/provide-prisma-schema.snagx" + "source": "/data-platform/classic-projects/images/schema-viewer/project-schema-viewer.png", + "destination": "/platform/classic-projects/images/schema-viewer/project-schema-viewer.png" }, { - "source": "/docs/data-platform/classic-projects", - "destination": "/docs/platform/classic-projects" + "source": "/data-platform/classic-projects/images/schema-viewer/provide-prisma-schema.png", + "destination": "/platform/classic-projects/images/schema-viewer/provide-prisma-schema.png" }, { - "source": "/docs/data-platform", - "destination": "/docs/platform" + "source": "/data-platform/classic-projects/images/schema-viewer/provide-prisma-schema.snagx", + "destination": "/platform/classic-projects/images/schema-viewer/provide-prisma-schema.snagx" }, { - "source": "/docs/about/prisma/example-projects", + "source": "/data-platform/classic-projects", + "destination": "/platform/classic-projects" + }, + { + "source": "/data-platform", + "destination": "/platform" + }, + { + "source": "/about/prisma/example-projects", "destination": "https://github.com/prisma/prisma-examples/" }, { - "source": "/docs/about/prisma/roadmap", - "destination": "/docs/orm/more/releases#roadmap" + "source": "/about/prisma/roadmap", + "destination": "/orm/more/releases#roadmap" }, { - "source": "/docs/about/prisma/faq", + "source": "/about/prisma/faq", "destination": "/support" }, { - "source": "/docs/about/prisma/limitations", - "destination": "/docs/orm/prisma-schema/data-model/models#limitations" + "source": "/about/prisma/limitations", + "destination": "/orm/prisma-schema/data-model/models#limitations" }, { - "source": "/docs/about/prisma", - "destination": "/docs/about" + "source": "/about/prisma", + "destination": "/about" }, { - "source": "/docs/data-platform/accelerate", - "destination": "/docs/accelerate" + "source": "/data-platform/accelerate", + "destination": "/accelerate" }, { - "source": "/docs/data-platform/pulse", - "destination": "/docs/pulse" + "source": "/data-platform/pulse", + "destination": "/pulse" } ] } From 7e4dea9012e33e9c7ff1fd6c9ac8886f63cc37f1 Mon Sep 17 00:00:00 2001 From: Nikolas Burk Date: Thu, 30 Nov 2023 15:16:51 +0100 Subject: [PATCH 021/100] add missing redirects --- vercel.json | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/vercel.json b/vercel.json index 3fec0cf7d0..158348bc1a 100644 --- a/vercel.json +++ b/vercel.json @@ -3806,6 +3806,22 @@ { "source": "/docs/data-platform/pulse", "destination": "/docs/pulse" + }, + { + "source": "/guides/upgrade-guides/upgrade-from-prisma-1/schema-incompatibilities-mysql", + "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/schema-incompatibilities-mysql" + }, + { + "source": "/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-the-prisma-layer-mysql", + "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/upgrading-the-prisma-layer-mysql" + }, + { + "source": "/concepts/overview/prisma-in-your-stack/graphql", + "destination": "/orm/overview/prisma-in-your-stack/graphql" + }, + { + "source": "/concepts/overview/prisma-in-your-stack/rest", + "destination": "/orm/overview/prisma-in-your-stack/rest" } ] } From 00979bb2f2cbb4c24af2d3432f70c3f98918baf6 Mon Sep 17 00:00:00 2001 From: Jan Piotrowski Date: Thu, 30 Nov 2023 15:24:58 +0000 Subject: [PATCH 022/100] undo hack for redirects --- vercel.json | 3588 +++++++++++++++++++++++++-------------------------- 1 file changed, 1794 insertions(+), 1794 deletions(-) diff --git a/vercel.json b/vercel.json index a8f6fee76f..d7265a5b88 100644 --- a/vercel.json +++ b/vercel.json @@ -40,3796 +40,3796 @@ ], "redirects": [ { - "source": "/page-data/docs/:any*", - "destination": "/page-data/index/:any*" + "source": "/docs/page-data/docs/:any*", + "destination": "/docs/page-data/index/:any*" }, { - "source": "/faq/:any*", + "source": "/docs/faq/:any*", "destination": "https://v1.prisma.io/docs/1.34/faq/:any*" }, { - "source": "/-a002", + "source": "/docs/-a002", "destination": "https://v1.prisma.io/docs/1.34/get-started/" }, { - "source": "/-t002", + "source": "/docs/-t002", "destination": "https://v1.prisma.io/docs/1.34/get-started/" }, { - "source": "/-t002/", + "source": "/docs/-t002/", "destination": "https://v1.prisma.io/docs/1.34/get-started/" }, { - "source": "/prisma-admin/", + "source": "/docs/prisma-admin/", "destination": "https://v1.prisma.io/docs/1.34/prisma-admin/" }, { - "source": "/prisma-cli-and-configuration/", + "source": "/docs/prisma-cli-and-configuration/", "destination": "https://v1.prisma.io/docs/1.34/prisma-cli-and-configuration/" }, { - "source": "/prisma-client/", + "source": "/docs/prisma-client/", "destination": "https://v1.prisma.io/docs/1.34/prisma-client/" }, { - "source": "/prisma-server/", + "source": "/docs/prisma-server/", "destination": "https://v1.prisma.io/docs/1.34/prisma-server/" }, { - "source": "/quickstart/", + "source": "/docs/quickstart/", "destination": "https://v1.prisma.io/docs/1.34/get-started/" }, { - "source": "/releases-and-maintenance/", + "source": "/docs/releases-and-maintenance/", "destination": "https://v1.prisma.io/docs/1.34/releases-and-maintenance/" }, { - "source": "/datamodel-and-migrations/", + "source": "/docs/datamodel-and-migrations/", "destination": "https://v1.prisma.io/docs/1.34/datamodel-and-migrations" }, { - "source": "/get-started/01-setting-up-prisma-new-database-GO-g002/", + "source": "/docs/get-started/01-setting-up-prisma-new-database-GO-g002/", "destination": "https://v1.prisma.io/docs/1.34/get-started" }, { - "source": "/get-started/01-setting-up-prisma-new-database-JAVASCRIPT-a002/", + "source": "/docs/get-started/01-setting-up-prisma-new-database-JAVASCRIPT-a002/", "destination": "https://v1.prisma.io/docs/1.34/get-started" }, { - "source": "/get-started/01-setting-up-prisma-demo-server-a001/", + "source": "/docs/get-started/01-setting-up-prisma-demo-server-a001/", "destination": "https://v1.prisma.io/docs/1.34/get-started/01-setting-up-prisma-demo-server-JAVASCRIPT-a001/" }, { - "source": "/get-started/01-setting-up-prisma-existing-database-a003/", + "source": "/docs/get-started/01-setting-up-prisma-existing-database-a003/", "destination": "https://v1.prisma.io/docs/1.34/get-started/01-setting-up-prisma-demo-server-JAVASCRIPT-a001/" }, { - "source": "/get-started/01-setting-up-prisma-new-database-a002/", + "source": "/docs/get-started/01-setting-up-prisma-new-database-a002/", "destination": "https://v1.prisma.io/docs/1.34/get-started/01-setting-up-prisma-new-database-JAVASCRIPT-a002/" }, { - "source": "/datamodel-and-migrations/datamodel-MYSQL-knul/", + "source": "/docs/datamodel-and-migrations/datamodel-MYSQL-knul/", "destination": "https://v1.prisma.io/docs/1.34/datamodel-and-migrations" }, { - "source": "/data-model-and-migrations/introspection-mapping-to-existing-db-soi1/", + "source": "/docs/data-model-and-migrations/introspection-mapping-to-existing-db-soi1/", "destination": "https://v1.prisma.io/docs/1.34/data-model-and-migrations/introspection-mapping-to-existing-db-soi1/" }, { - "source": "/understand-prisma/how-prisma-works-under-the-hood-j8ff/", + "source": "/docs/understand-prisma/how-prisma-works-under-the-hood-j8ff/", "destination": "https://v1.prisma.io/docs/1.34/understand-prisma/how-prisma-works-under-the-hood-j8ff/" }, { - "source": "/understand-prisma/prisma-basics-datamodel-client-and-server-fgz4/", + "source": "/docs/understand-prisma/prisma-basics-datamodel-client-and-server-fgz4/", "destination": "https://v1.prisma.io/docs/1.34/understand-prisma/prisma-basics-datamodel-client-and-server-fgz4/" }, { - "source": "/understand-prisma/prisma-introduction-what-why-how-j9ff/", + "source": "/docs/understand-prisma/prisma-introduction-what-why-how-j9ff/", "destination": "https://v1.prisma.io/docs/1.34/understand-prisma/prisma-introduction-what-why-how-j9ff/" }, { - "source": "/understand-prisma/prisma-vs-traditional-orms/prisma-vs-mongoose-ys8c/", + "source": "/docs/understand-prisma/prisma-vs-traditional-orms/prisma-vs-mongoose-ys8c/", "destination": "https://v1.prisma.io/docs/1.34/understand-prisma/prisma-vs-traditional-orms/prisma-vs-mongoose-ys8c/" }, { - "source": "/understand-prisma/prisma-vs-traditional-orms/prisma-vs-sequelize-c4fk/", + "source": "/docs/understand-prisma/prisma-vs-traditional-orms/prisma-vs-sequelize-c4fk/", "destination": "https://v1.prisma.io/docs/1.34/understand-prisma/prisma-vs-traditional-orms/prisma-vs-sequelize-c4fk/" }, { - "source": "/understand-prisma/prisma-vs-traditional-orms/prisma-vs-typeorm-k9fh/", + "source": "/docs/understand-prisma/prisma-vs-traditional-orms/prisma-vs-typeorm-k9fh/", "destination": "https://v1.prisma.io/docs/1.34/understand-prisma/prisma-vs-traditional-orms/prisma-vs-typeorm-k9fh/" }, { - "source": "/prisma-client/basic-data-access/reading-data-GO-go05/", + "source": "/docs/prisma-client/basic-data-access/reading-data-GO-go05/", "destination": "https://v1.prisma.io/docs/1.34/prisma-client/basic-data-access/reading-data-GO-go05/" }, { - "source": "/prisma-client/basic-data-access/reading-data-JAVASCRIPT-rsc2/", + "source": "/docs/prisma-client/basic-data-access/reading-data-JAVASCRIPT-rsc2/", "destination": "https://v1.prisma.io/docs/1.34/prisma-client/basic-data-access/reading-data-JAVASCRIPT-rsc2/" }, { - "source": "/prisma-client/basic-data-access/reading-data-TYPESCRIPT-rsc3/", + "source": "/docs/prisma-client/basic-data-access/reading-data-TYPESCRIPT-rsc3/", "destination": "https://v1.prisma.io/docs/1.34/prisma-client/basic-data-access/reading-data-TYPESCRIPT-rsc3/" }, { - "source": "/prisma-client/basic-data-access/writing-data-GO-go08/", + "source": "/docs/prisma-client/basic-data-access/writing-data-GO-go08/", "destination": "https://v1.prisma.io/docs/1.34/prisma-client/basic-data-access/writing-data-GO-go08/" }, { - "source": "/prisma-client/basic-data-access/writing-data-JAVASCRIPT-rsc6/", + "source": "/docs/prisma-client/basic-data-access/writing-data-JAVASCRIPT-rsc6/", "destination": "https://v1.prisma.io/docs/1.34/prisma-client/basic-data-access/writing-data-JAVASCRIPT-rsc6/" }, { - "source": "/prisma-client/basic-data-access/writing-data-TYPESCRIPT-rsc7/", + "source": "/docs/prisma-client/basic-data-access/writing-data-TYPESCRIPT-rsc7/", "destination": "https://v1.prisma.io/docs/1.34/prisma-client/basic-data-access/writing-data-TYPESCRIPT-rsc7/" }, { - "source": "/prisma-client/features/check-existence-GO-go01/", + "source": "/docs/prisma-client/features/check-existence-GO-go01/", "destination": "https://v1.prisma.io/docs/1.34/prisma-client/features/check-existence-GO-go01/" }, { - "source": "/prisma-client/features/check-existence-JAVASCRIPT-pyl1/", + "source": "/docs/prisma-client/features/check-existence-JAVASCRIPT-pyl1/", "destination": "https://v1.prisma.io/docs/1.34/prisma-client/features/check-existence-JAVASCRIPT-pyl1/" }, { - "source": "/prisma-client/features/check-existence-TYPESCRIPT-pyl2/", + "source": "/docs/prisma-client/features/check-existence-TYPESCRIPT-pyl2/", "destination": "https://v1.prisma.io/docs/1.34/prisma-client/features/check-existence-TYPESCRIPT-pyl2/" }, { - "source": "/prisma-client/features/realtime-GO-go06/", + "source": "/docs/prisma-client/features/realtime-GO-go06/", "destination": "https://v1.prisma.io/docs/1.34/prisma-client/features/realtime-GO-go06/" }, { - "source": "/prisma-client/features/realtime-JAVASCRIPT-rsc8/", + "source": "/docs/prisma-client/features/realtime-JAVASCRIPT-rsc8/", "destination": "https://v1.prisma.io/docs/1.34/prisma-client/features/realtime-JAVASCRIPT-rsc8/" }, { - "source": "/prisma-client/features/realtime-TYPESCRIPT-rsc9/", + "source": "/docs/prisma-client/features/realtime-TYPESCRIPT-rsc9/", "destination": "https://v1.prisma.io/docs/1.34/prisma-client/features/realtime-TYPESCRIPT-rsc9/" }, { - "source": "/prisma-client/setup/constructor-GO-go02/", + "source": "/docs/prisma-client/setup/constructor-GO-go02/", "destination": "https://v1.prisma.io/docs/1.34/prisma-client/setup/constructor-GO-go02/" }, { - "source": "/prisma-client/setup/constructor-JAVASCRIPT-rsc4/", + "source": "/docs/prisma-client/setup/constructor-JAVASCRIPT-rsc4/", "destination": "https://v1.prisma.io/docs/1.34/prisma-client/setup/constructor-JAVASCRIPT-rsc4/" }, { - "source": "/prisma-client/setup/constructor-TYPESCRIPT-rsc5/", + "source": "/docs/prisma-client/setup/constructor-TYPESCRIPT-rsc5/", "destination": "https://v1.prisma.io/docs/1.34/prisma-client/setup/constructor-TYPESCRIPT-rsc5/" }, { - "source": "/prisma-client/setup/generating-the-client-GO-r3c3/", + "source": "/docs/prisma-client/setup/generating-the-client-GO-r3c3/", "destination": "https://v1.prisma.io/docs/1.34/prisma-client/setup/generating-the-client-GO-r3c3/" }, { - "source": "/prisma-client/setup/generating-the-client-JAVASCRIPT-rsc1/", + "source": "/docs/prisma-client/setup/generating-the-client-JAVASCRIPT-rsc1/", "destination": "https://v1.prisma.io/docs/1.34/prisma-client/setup/generating-the-client-JAVASCRIPT-rsc1/" }, { - "source": "/prisma-client/setup/generating-the-client-TYPESCRIPT-r3c2/", + "source": "/docs/prisma-client/setup/generating-the-client-TYPESCRIPT-r3c2/", "destination": "https://v1.prisma.io/docs/1.34/prisma-client/setup/generating-the-client-TYPESCRIPT-r3c2/" }, { - "source": "/run-prisma-server/database-connector-MYSQL-jgfs/", + "source": "/docs/run-prisma-server/database-connector-MYSQL-jgfs/", "destination": "https://v1.prisma.io/docs/1.34/prisma-server/database-connector-MYSQL-jgfs/" }, { - "source": "/guides/database-workflows/setting-up-a-database/postgresql", - "destination": "/dataguide/postgresql/setting-up-a-local-postgresql-database" + "source": "/docs/guides/database-workflows/setting-up-a-database/postgresql", + "destination": "/docs/dataguide/postgresql/setting-up-a-local-postgresql-database" }, { - "source": "/guides/database-workflows/setting-up-a-database/mysql", - "destination": "/dataguide/mysql/setting-up-a-local-mysql-database" + "source": "/docs/guides/database-workflows/setting-up-a-database/mysql", + "destination": "/docs/dataguide/mysql/setting-up-a-local-mysql-database" }, { - "source": "/guides/database-workflows/setting-up-a-database/sqlite", - "destination": "/dataguide/sqlite/setting-up-a-local-sqlite-database" + "source": "/docs/guides/database-workflows/setting-up-a-database/sqlite", + "destination": "/docs/dataguide/sqlite/setting-up-a-local-sqlite-database" }, { - "source": "/guides/database-workflows/import-and-export-data/postgresql", - "destination": "/dataguide/postgresql/inserting-and-modifying-data/importing-and-exporting-data-in-postgresql" + "source": "/docs/guides/database-workflows/import-and-export-data/postgresql", + "destination": "/docs/dataguide/postgresql/inserting-and-modifying-data/importing-and-exporting-data-in-postgresql" }, { - "source": "/guides/database-workflows/import-and-export-data/mysql", - "destination": "/dataguide/mysql/importing-and-exporting-data-in-mysql" + "source": "/docs/guides/database-workflows/import-and-export-data/mysql", + "destination": "/docs/dataguide/mysql/importing-and-exporting-data-in-mysql" }, { - "source": "/guides/database-workflows/import-and-export-data/sqlite", - "destination": "/dataguide/sqlite/importing-and-exporting-data-in-sqlite" + "source": "/docs/guides/database-workflows/import-and-export-data/sqlite", + "destination": "/docs/dataguide/sqlite/importing-and-exporting-data-in-sqlite" }, { - "source": "/guides/database-workflows/:any*", - "destination": "/guides/general-guides/database-workflows/:any*" + "source": "/docs/guides/database-workflows/:any*", + "destination": "/docs/guides/general-guides/database-workflows/:any*" }, { - "source": "/guides/troubleshooting", - "destination": "/support/help-articles" + "source": "/docs/guides/troubleshooting", + "destination": "/docs/support/help-articles" }, { - "source": "/guides/troubleshooting/autocompletion-in-graphql-resolvers-with-js", - "destination": "/support/help-articles/autocompletion-in-graphql-resolvers-with-js" + "source": "/docs/guides/troubleshooting/autocompletion-in-graphql-resolvers-with-js", + "destination": "/docs/support/help-articles/autocompletion-in-graphql-resolvers-with-js" }, { - "source": "/getting-started/quickstart-typescript", - "destination": "/getting-started/quickstart" + "source": "/docs/getting-started/quickstart-typescript", + "destination": "/docs/getting-started/quickstart" }, { - "source": "/getting-started/quickstart-javascript", - "destination": "/getting-started/quickstart" + "source": "/docs/getting-started/quickstart-javascript", + "destination": "/docs/getting-started/quickstart" }, { - "source": "/getting-started/quickstart-node", - "destination": "/getting-started/quickstart" + "source": "/docs/getting-started/quickstart-node", + "destination": "/docs/getting-started/quickstart" }, { - "source": "/reference/tools-and-interfaces/prisma-schema/prisma-schema-file", - "destination": "/reference/tools-and-interfaces/prisma-schema" + "source": "/docs/reference/tools-and-interfaces/prisma-schema/prisma-schema-file", + "destination": "/docs/reference/tools-and-interfaces/prisma-schema" }, { - "source": "/reference/tools-and-interfaces/prisma-client/api", - "destination": "/reference/tools-and-interfaces/prisma-client" + "source": "/docs/reference/tools-and-interfaces/prisma-client/api", + "destination": "/docs/reference/tools-and-interfaces/prisma-client" }, { - "source": "/reference/tools-and-interfaces/prisma-client/api", - "destination": "/reference/tools-and-interfaces/prisma-client" + "source": "/docs/reference/tools-and-interfaces/prisma-client/api", + "destination": "/docs/reference/tools-and-interfaces/prisma-client" }, { - "source": "/guides/upgrade-from-prisma-1/should-you-upgrade", - "destination": "/guides/upgrade-from-prisma-1/how-to-upgrade" + "source": "/docs/guides/upgrade-from-prisma-1/should-you-upgrade", + "destination": "/docs/guides/upgrade-from-prisma-1/how-to-upgrade" }, { - "source": "/reference/tools-and-interfaces/prisma-schema/models", - "destination": "/reference/tools-and-interfaces/prisma-schema/data-model" + "source": "/docs/reference/tools-and-interfaces/prisma-schema/models", + "destination": "/docs/reference/tools-and-interfaces/prisma-schema/data-model" }, { - "source": "/concepts/overview/api-comparisons/prisma-and-typeorm", - "destination": "/concepts/more/comparisons/prisma-and-typeorm" + "source": "/docs/concepts/overview/api-comparisons/prisma-and-typeorm", + "destination": "/docs/concepts/more/comparisons/prisma-and-typeorm" }, { - "source": "/concepts/overview/api-comparisons/prisma-and-sequelize", - "destination": "/concepts/more/comparisons/prisma-and-sequelize" + "source": "/docs/concepts/overview/api-comparisons/prisma-and-sequelize", + "destination": "/docs/concepts/more/comparisons/prisma-and-sequelize" }, { - "source": "/concepts/overview/api-comparisons/prisma-and-mongoose", - "destination": "/concepts/more/comparisons/prisma-and-mongoose" + "source": "/docs/concepts/overview/api-comparisons/prisma-and-mongoose", + "destination": "/docs/concepts/more/comparisons/prisma-and-mongoose" }, { - "source": "/concepts/overview/why-prisma/api-comparisons/prisma-and-typeorm", - "destination": "/concepts/more/comparisons/prisma-and-typeorm" + "source": "/docs/concepts/overview/why-prisma/api-comparisons/prisma-and-typeorm", + "destination": "/docs/concepts/more/comparisons/prisma-and-typeorm" }, { - "source": "/concepts/overview/why-prisma/api-comparisons/prisma-and-sequelize", - "destination": "/concepts/more/comparisons/prisma-and-sequelize" + "source": "/docs/concepts/overview/why-prisma/api-comparisons/prisma-and-sequelize", + "destination": "/docs/concepts/more/comparisons/prisma-and-sequelize" }, { - "source": "/concepts/overview/why-prisma/api-comparisons/prisma-and-mongoose", - "destination": "/concepts/more/comparisons/prisma-and-mongoose" + "source": "/docs/concepts/overview/why-prisma/api-comparisons/prisma-and-mongoose", + "destination": "/docs/concepts/more/comparisons/prisma-and-mongoose" }, { - "source": "/getting-started/setup-prisma/start-from-scratch-sql-typescript-postgres", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-postgresql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch-sql-typescript-postgres", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-postgresql" }, { - "source": "/getting-started/setup-prisma/start-from-scratch-sql-node-postgres", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases-node-postgresql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch-sql-node-postgres", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases-node-postgresql" }, { - "source": "/getting-started/setup-prisma/start-from-scratch-sql-typescript-mysql", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-mysql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch-sql-typescript-mysql", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-mysql" }, { - "source": "/getting-started/setup-prisma/start-from-scratch-sql-node-mysql", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases-node-mysql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch-sql-node-mysql", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases-node-mysql" }, { - "source": "/getting-started/setup-prisma/start-from-scratch-prisma-migrate-typescript-postgres", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-postgresql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch-prisma-migrate-typescript-postgres", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-postgresql" }, { - "source": "/getting-started/setup-prisma/start-from-scratch-prisma-migrate-node-postgres", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases-node-postgresql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch-prisma-migrate-node-postgres", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases-node-postgresql" }, { - "source": "/getting-started/setup-prisma/start-from-scratch-prisma-migrate-typescript-mysql", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-mysql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch-prisma-migrate-typescript-mysql", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-mysql" }, { - "source": "/getting-started/setup-prisma/start-from-scratch-prisma-migrate-node-mysql", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases-node-mysql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch-prisma-migrate-node-mysql", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases-node-mysql" }, { - "source": "/getting-started/setup-prisma/start-from-scratch-typescript-postgres", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-postgresql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch-typescript-postgres", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-postgresql" }, { - "source": "/getting-started/setup-prisma/start-from-scratch-node-postgres", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases-node-postgresql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch-node-postgres", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases-node-postgresql" }, { - "source": "/getting-started/setup-prisma/start-from-scratch-typescript-mysql", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-mysql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch-typescript-mysql", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-mysql" }, { - "source": "/getting-started/setup-prisma/start-from-scratch-node-mysql", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases-node-mysql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch-node-mysql", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases-node-mysql" }, { - "source": "/reference/tools-and-interfaces/prisma-schema/prisma-schema-file", - "destination": "/reference/tools-and-interfaces/prisma-schema" + "source": "/docs/reference/tools-and-interfaces/prisma-schema/prisma-schema-file", + "destination": "/docs/reference/tools-and-interfaces/prisma-schema" }, { - "source": "/reference/tools-and-interfaces/prisma-client/api", - "destination": "/reference/tools-and-interfaces/prisma-client" + "source": "/docs/reference/tools-and-interfaces/prisma-client/api", + "destination": "/docs/reference/tools-and-interfaces/prisma-client" }, { - "source": "/guides/upgrade-from-prisma-1/should-you-upgrade", - "destination": "/guides/upgrade-from-prisma-1/how-to-upgrade" + "source": "/docs/guides/upgrade-from-prisma-1/should-you-upgrade", + "destination": "/docs/guides/upgrade-from-prisma-1/how-to-upgrade" }, { - "source": "/reference/tools-and-interfaces/prisma-schema/models", - "destination": "/reference/tools-and-interfaces/prisma-schema/data-model" + "source": "/docs/reference/tools-and-interfaces/prisma-schema/models", + "destination": "/docs/reference/tools-and-interfaces/prisma-schema/data-model" }, { - "source": "/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-the-prisma-layer", - "destination": "/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-the-prisma-layer-postgresql" + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-the-prisma-layer", + "destination": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-the-prisma-layer-postgresql" }, { - "source": "/concepts/components/preview-features/sql-server/sql-server-start-from-scratch", - "destination": "/concepts/components/preview-features/sql-server/sql-server-start-from-scratch-typescript" + "source": "/docs/concepts/components/preview-features/sql-server/sql-server-start-from-scratch", + "destination": "/docs/concepts/components/preview-features/sql-server/sql-server-start-from-scratch-typescript" }, { - "source": "/guides/upgrade-guides/upgrade-from-prisma-1/schema-incompatibilities", - "destination": "/guides/upgrade-guides/upgrade-from-prisma-1/schema-incompatibilities-postgresql" + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/schema-incompatibilities", + "destination": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/schema-incompatibilities-postgresql" }, { - "source": "/guides/upgrade-from-prisma-1/how-to-upgrade", - "destination": "/guides/upgrade-guides/upgrade-from-prisma-1/how-to-upgrade" + "source": "/docs/guides/upgrade-from-prisma-1/how-to-upgrade", + "destination": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/how-to-upgrade" }, { - "source": "/guides/upgrade-from-prisma-1/schema-incompatibilities", - "destination": "/guides/upgrade-guides/upgrade-from-prisma-1/schema-incompatibilities-postgresql" + "source": "/docs/guides/upgrade-from-prisma-1/schema-incompatibilities", + "destination": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/schema-incompatibilities-postgresql" }, { - "source": "/guides/upgrade-from-prisma-1/upgrading-the-prisma-layer-postgres", - "destination": "/guides/upgrade-guides/upgrade-from-prisma-1" + "source": "/docs/guides/upgrade-from-prisma-1/upgrading-the-prisma-layer-postgres", + "destination": "/docs/guides/upgrade-guides/upgrade-from-prisma-1" }, { - "source": "/guides/upgrade-from-prisma-1/upgrading-nexus-prisma-to-nexus", - "destination": "/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-nexus-prisma-to-nexus" + "source": "/docs/guides/upgrade-from-prisma-1/upgrading-nexus-prisma-to-nexus", + "destination": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-nexus-prisma-to-nexus" }, { - "source": "/guides/upgrade-from-prisma-1/upgrading-prisma-binding-to-nexus", - "destination": "/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-prisma-binding-to-nexus" + "source": "/docs/guides/upgrade-from-prisma-1/upgrading-prisma-binding-to-nexus", + "destination": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-prisma-binding-to-nexus" }, { - "source": "/guides/upgrade-from-prisma-1/upgrading-prisma-binding-to-sdl-first", - "destination": "/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-prisma-binding-to-sdl-first" + "source": "/docs/guides/upgrade-from-prisma-1/upgrading-prisma-binding-to-sdl-first", + "destination": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-prisma-binding-to-sdl-first" }, { - "source": "/guides/upgrade-from-prisma-1/upgrading-a-rest-api", - "destination": "/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-a-rest-api" + "source": "/docs/guides/upgrade-from-prisma-1/upgrading-a-rest-api", + "destination": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-a-rest-api" }, { - "source": "/reference/tools-and-interfaces/prisma-schema/prisma-schema-reference", - "destination": "/reference/api-reference/prisma-schema-reference" + "source": "/docs/reference/tools-and-interfaces/prisma-schema/prisma-schema-reference", + "destination": "/docs/reference/api-reference/prisma-schema-reference" }, { - "source": "/reference/tools-and-interfaces/prisma-cli/command-reference", - "destination": "/reference/api-reference/command-reference" + "source": "/docs/reference/tools-and-interfaces/prisma-cli/command-reference", + "destination": "/docs/reference/api-reference/command-reference" }, { - "source": "/reference/database-connectors/database-features", - "destination": "/reference/database-reference/database-features" + "source": "/docs/reference/database-connectors/database-features", + "destination": "/docs/reference/database-reference/database-features" }, { - "source": "/reference/database-connectors/connection-urls", - "destination": "/reference/database-reference/connection-urls" + "source": "/docs/reference/database-connectors/connection-urls", + "destination": "/docs/reference/database-reference/connection-urls" }, { - "source": "/more/supported-databases", - "destination": "/reference/database-reference/supported-databases" + "source": "/docs/more/supported-databases", + "destination": "/docs/reference/database-reference/supported-databases" }, { - "source": "/reference/tools-and-interfaces/:any*", - "destination": "/concepts/components/:any*" + "source": "/docs/reference/tools-and-interfaces/:any*", + "destination": "/docs/concepts/components/:any*" }, { - "source": "/reference/database-connectors/:any*", - "destination": "/concepts/database-connectors/:any*" + "source": "/docs/reference/database-connectors/:any*", + "destination": "/docs/concepts/database-connectors/:any*" }, { - "source": "/reference/more/:any*", - "destination": "/concepts/more/:any*" + "source": "/docs/reference/more/:any*", + "destination": "/docs/concepts/more/:any*" }, { - "source": "/understand-prisma/introduction", - "destination": "/concepts/overview/what-is-prisma" + "source": "/docs/understand-prisma/introduction", + "destination": "/docs/concepts/overview/what-is-prisma" }, { - "source": "/understand-prisma/data-modeling", - "destination": "/concepts/overview/what-is-prisma/data-modeling" + "source": "/docs/understand-prisma/data-modeling", + "destination": "/docs/concepts/overview/what-is-prisma/data-modeling" }, { - "source": "/understand-prisma/:any*", - "destination": "/concepts/overview/:any*" + "source": "/docs/understand-prisma/:any*", + "destination": "/docs/concepts/overview/:any*" }, { - "source": "/understand-prisma/api-comparisons/:any*", - "destination": "/concepts/overview/why-prisma/api-comparisons" + "source": "/docs/understand-prisma/api-comparisons/:any*", + "destination": "/docs/concepts/overview/why-prisma/api-comparisons" }, { - "source": "/more/:any*", - "destination": "/about/:any*" + "source": "/docs/more/:any*", + "destination": "/docs/about/:any*" }, { - "source": "/getting-started/setup-prisma/start-from-scratch-prisma-migrate", - "destination": "/getting-started/setup-prisma/start-from-scratch-typescript-postgresql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch-prisma-migrate", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch-typescript-postgresql" }, { - "source": "/getting-started/setup-prisma/start-from-scratch-sql", - "destination": "/getting-started/setup-prisma" + "source": "/docs/getting-started/setup-prisma/start-from-scratch-sql", + "destination": "/docs/getting-started/setup-prisma" }, { - "source": "/guides/prisma-guides/prisma-migrate-guides", - "destination": "/guides/prisma-guides/add-prisma-migrate-to-a-project" + "source": "/docs/guides/prisma-guides/prisma-migrate-guides", + "destination": "/docs/guides/prisma-guides/add-prisma-migrate-to-a-project" }, { - "source": "/guides/prisma-guides/prisma-migrate-guides/add-prisma-migrate-to-a-project", - "destination": "/guides/prisma-guides/add-prisma-migrate-to-a-project" + "source": "/docs/guides/prisma-guides/prisma-migrate-guides/add-prisma-migrate-to-a-project", + "destination": "/docs/guides/prisma-guides/add-prisma-migrate-to-a-project" }, { - "source": "/concepts/components/prisma-client/distinct", - "destination": "/concepts/components/prisma-client/aggregation-grouping-summarizing#select-distinct" + "source": "/docs/concepts/components/prisma-client/distinct", + "destination": "/docs/concepts/components/prisma-client/aggregation-grouping-summarizing#select-distinct" }, { - "source": "/concepts/components/prisma-client/configuring-the-prisma-client-api", - "destination": "/concepts/components/prisma-client/generating-prisma-client/customizing-the-prisma-client-api" + "source": "/docs/concepts/components/prisma-client/configuring-the-prisma-client-api", + "destination": "/docs/concepts/components/prisma-client/generating-prisma-client/customizing-the-prisma-client-api" }, { - "source": "/concepts/components/prisma-client/constructor", - "destination": "/reference/api-reference/prisma-client-reference#prismaclient" + "source": "/docs/concepts/components/prisma-client/constructor", + "destination": "/docs/reference/api-reference/prisma-client-reference#prismaclient" }, { - "source": "/concepts/components/prisma-client/field-selection", - "destination": "/concepts/components/prisma-client/select-fields" + "source": "/docs/concepts/components/prisma-client/field-selection", + "destination": "/docs/concepts/components/prisma-client/select-fields" }, { - "source": "/concepts/components/prisma-client/error-reference", - "destination": "/reference/api-reference/error-reference" + "source": "/docs/concepts/components/prisma-client/error-reference", + "destination": "/docs/reference/api-reference/error-reference" }, { - "source": "/concepts/components/prisma-client/sorting", - "destination": "/concepts/components/prisma-client/filtering-and-sorting" + "source": "/docs/concepts/components/prisma-client/sorting", + "destination": "/docs/concepts/components/prisma-client/filtering-and-sorting" }, { - "source": "/concepts/components/prisma-client/filtering", - "destination": "/concepts/components/prisma-client/filtering-and-sorting" + "source": "/docs/concepts/components/prisma-client/filtering", + "destination": "/docs/concepts/components/prisma-client/filtering-and-sorting" }, { - "source": "/concepts/components/prisma-client/aggregations", - "destination": "/concepts/components/prisma-client/aggregation-grouping-summarizing" + "source": "/docs/concepts/components/prisma-client/aggregations", + "destination": "/docs/concepts/components/prisma-client/aggregation-grouping-summarizing" }, { - "source": "/concepts/components/prisma-client/working-with-json", - "destination": "/concepts/components/prisma-client/working-with-advanced-types" + "source": "/docs/concepts/components/prisma-client/working-with-json", + "destination": "/docs/concepts/components/prisma-client/working-with-advanced-types" }, { - "source": "/concepts/components/prisma-client/group-by", - "destination": "/concepts/components/prisma-client/aggregation-grouping-summarizing#group-by-preview" + "source": "/docs/concepts/components/prisma-client/group-by", + "destination": "/docs/concepts/components/prisma-client/aggregation-grouping-summarizing#group-by-preview" }, { - "source": "/concepts/components/prisma-client/advanced-usage-of-generated-types", - "destination": "/concepts/components/prisma-client/working-with-generated-types" + "source": "/docs/concepts/components/prisma-client/advanced-usage-of-generated-types", + "destination": "/docs/concepts/components/prisma-client/working-with-generated-types" }, { - "source": "/concepts/components/preview-features/native-types/native-types-mappings", - "destination": "/reference/api-reference/prisma-schema-reference#model-field-scalar-types" + "source": "/docs/concepts/components/preview-features/native-types/native-types-mappings", + "destination": "/docs/reference/api-reference/prisma-schema-reference#model-field-scalar-types" }, { - "source": "/concepts/components/preview-features/native-types", - "destination": "/concepts/components/prisma-schema/data-model#native-types-mapping" + "source": "/docs/concepts/components/preview-features/native-types", + "destination": "/docs/concepts/components/prisma-schema/data-model#native-types-mapping" }, { - "source": "/concepts/components/prisma-client/generating-prisma-client", - "destination": "/concepts/components/prisma-client/working-with-prismaclient/generating-prisma-client" + "source": "/docs/concepts/components/prisma-client/generating-prisma-client", + "destination": "/docs/concepts/components/prisma-client/working-with-prismaclient/generating-prisma-client" }, { - "source": "/concepts/components/prisma-client/generating-prisma-client/customizing-the-prisma-client-api", - "destination": "/concepts/components/prisma-client/working-with-prismaclient/use-custom-model-and-field-names" + "source": "/docs/concepts/components/prisma-client/generating-prisma-client/customizing-the-prisma-client-api", + "destination": "/docs/concepts/components/prisma-client/working-with-prismaclient/use-custom-model-and-field-names" }, { - "source": "/concepts/components/prisma-client/connection-management", - "destination": "/concepts/components/prisma-client/working-with-prismaclient/connection-management" + "source": "/docs/concepts/components/prisma-client/connection-management", + "destination": "/docs/concepts/components/prisma-client/working-with-prismaclient/connection-management" }, { - "source": "/concepts/components/prisma-client/logging", - "destination": "/concepts/components/prisma-client/working-with-prismaclient/logging" + "source": "/docs/concepts/components/prisma-client/logging", + "destination": "/docs/concepts/components/prisma-client/working-with-prismaclient/logging" }, { - "source": "/concepts/components/prisma-client/error-formatting", - "destination": "/concepts/components/prisma-client/working-with-prismaclient/error-formatting" + "source": "/docs/concepts/components/prisma-client/error-formatting", + "destination": "/docs/concepts/components/prisma-client/working-with-prismaclient/error-formatting" }, { - "source": "/concepts/components/prisma-client/deployment", - "destination": "/guides/deployment/deployment" + "source": "/docs/concepts/components/prisma-client/deployment", + "destination": "/docs/guides/deployment/deployment" }, { - "source": "/concepts/components/prisma-migrate/prisma-migrate-flows", - "destination": "/concepts/components/prisma-migrate" + "source": "/docs/concepts/components/prisma-migrate/prisma-migrate-flows", + "destination": "/docs/concepts/components/prisma-migrate" }, { - "source": "/guides/prisma-guides/seed-database", - "destination": "/guides/application-lifecycle/seed-database" + "source": "/docs/guides/prisma-guides/seed-database", + "destination": "/docs/guides/application-lifecycle/seed-database" }, { - "source": "/guides/prisma-guides/add-prisma-migrate-to-a-project", - "destination": "/guides/database/developing-with-prisma-migrate/add-prisma-migrate-to-a-project" + "source": "/docs/guides/prisma-guides/add-prisma-migrate-to-a-project", + "destination": "/docs/guides/database/developing-with-prisma-migrate/add-prisma-migrate-to-a-project" }, { - "source": "/about/creating-bug-reports", - "destination": "/support/creating-bug-reports" + "source": "/docs/about/creating-bug-reports", + "destination": "/docs/support/creating-bug-reports" }, { - "source": "/concepts/components/prisma-client/working-with-generated-types", - "destination": "/concepts/components/prisma-client/advanced-type-safety/operating-against-partial-structures-of-model-types" + "source": "/docs/concepts/components/prisma-client/working-with-generated-types", + "destination": "/docs/concepts/components/prisma-client/advanced-type-safety/operating-against-partial-structures-of-model-types" }, { - "source": "/reference/utility-types-reference", - "destination": "/reference/api-reference/prisma-client-reference#prismavalidator" + "source": "/docs/reference/utility-types-reference", + "destination": "/docs/reference/api-reference/prisma-client-reference#prismavalidator" }, { - "source": "/concepts/components/prisma-client/query-engine", - "destination": "/concepts/components/prisma-engines/query-engine" + "source": "/docs/concepts/components/prisma-client/query-engine", + "destination": "/docs/concepts/components/prisma-engines/query-engine" }, { - "source": "/concepts/overview/under-the-hood", - "destination": "/concepts/components/prisma-engines" + "source": "/docs/concepts/overview/under-the-hood", + "destination": "/docs/concepts/components/prisma-engines" }, { - "source": "/guides/application-lifecycle/add-prisma-migrate-to-a-project", - "destination": "/guides/database/developing-with-prisma-migrate/add-prisma-migrate-to-a-project" + "source": "/docs/guides/application-lifecycle/add-prisma-migrate-to-a-project", + "destination": "/docs/guides/database/developing-with-prisma-migrate/add-prisma-migrate-to-a-project" }, { - "source": "/guides/deployment/patching-production", - "destination": "/guides/database/patching-production" + "source": "/docs/guides/deployment/patching-production", + "destination": "/docs/guides/database/patching-production" }, { - "source": "/guides/deployment/production-troubleshooting", - "destination": "/guides/database/production-troubleshooting" + "source": "/docs/guides/deployment/production-troubleshooting", + "destination": "/docs/guides/database/production-troubleshooting" }, { - "source": "/guides/application-lifecycle/:any*", - "destination": "/guides/database/:any*" + "source": "/docs/guides/application-lifecycle/:any*", + "destination": "/docs/guides/database/:any*" }, { - "source": "/guides/deployment/deploying-to-azure-functions", - "destination": "/guides/deployment/deployment-guides/deploying-to-azure-functions" + "source": "/docs/guides/deployment/deploying-to-azure-functions", + "destination": "/docs/guides/deployment/deployment-guides/deploying-to-azure-functions" }, { - "source": "/guides/deployment/deploying-to-heroku", - "destination": "/guides/deployment/deployment-guides/deploying-to-heroku" + "source": "/docs/guides/deployment/deploying-to-heroku", + "destination": "/docs/guides/deployment/deployment-guides/deploying-to-heroku" }, { - "source": "/guides/deployment/deploying-to-vercel", - "destination": "/guides/deployment/deployment-guides/deploying-to-vercel" + "source": "/docs/guides/deployment/deploying-to-vercel", + "destination": "/docs/guides/deployment/deployment-guides/deploying-to-vercel" }, { - "source": "/guides/deployment/deploying-to-aws-lambda", - "destination": "/guides/deployment/deployment-guides/deploying-to-aws-lambda" + "source": "/docs/guides/deployment/deploying-to-aws-lambda", + "destination": "/docs/guides/deployment/deployment-guides/deploying-to-aws-lambda" }, { - "source": "/guides/deployment/deploying-to-netlify", - "destination": "/guides/deployment/deployment-guides/deploying-to-netlify" + "source": "/docs/guides/deployment/deploying-to-netlify", + "destination": "/docs/guides/deployment/deployment-guides/deploying-to-netlify" }, { - "source": "/guides/general-guides/database-workflows/cascading-deletes/:any*", - "destination": "/concepts/components/prisma-schema/relations/referential-actions" + "source": "/docs/guides/general-guides/database-workflows/cascading-deletes/:any*", + "destination": "/docs/concepts/components/prisma-schema/relations/referential-actions" }, { - "source": "/guides/database/advanced-database-tasks/cascading-deletes/:any*", - "destination": "/concepts/components/prisma-schema/relations/referential-actions" + "source": "/docs/guides/database/advanced-database-tasks/cascading-deletes/:any*", + "destination": "/docs/concepts/components/prisma-schema/relations/referential-actions" }, { - "source": "/guides/general-guides/database-workflows/data-validation/:any*", - "destination": "/guides/database/advanced-database-tasks/data-validation/:any*" + "source": "/docs/guides/general-guides/database-workflows/data-validation/:any*", + "destination": "/docs/guides/database/advanced-database-tasks/data-validation/:any*" }, { - "source": "/guides/general-guides/database-workflows/sql-views", + "source": "/docs/guides/general-guides/database-workflows/sql-views", "destination": "https://github.com/prisma/prisma/issues/678" }, { - "source": "/guides/general-guides/database-workflows/sql-views-postgres", + "source": "/docs/guides/general-guides/database-workflows/sql-views-postgres", "destination": "https://github.com/prisma/prisma/issues/678" }, { - "source": "/guides/database/advanced-database-tasks/sql-views-postgres", + "source": "/docs/guides/database/advanced-database-tasks/sql-views-postgres", "destination": "https://github.com/prisma/prisma/issues/678" }, { - "source": "/guides/general-guides/database-workflows/sql-views-mysql", + "source": "/docs/guides/general-guides/database-workflows/sql-views-mysql", "destination": "https://github.com/prisma/prisma/issues/678" }, { - "source": "/guides/database/advanced-database-tasks/sql-views-mysql", + "source": "/docs/guides/database/advanced-database-tasks/sql-views-mysql", "destination": "https://github.com/prisma/prisma/issues/678" }, { - "source": "/guides/general-guides/database-workflows/unique-constraints-and-indexes", - "destination": "/concepts/components/prisma-schema/data-model#defining-a-unique-field" + "source": "/docs/guides/general-guides/database-workflows/unique-constraints-and-indexes", + "destination": "/docs/concepts/components/prisma-schema/data-model#defining-a-unique-field" }, { - "source": "/guides/general-guides/database-workflows/unique-constraints-and-indexes/mysql", - "destination": "/concepts/components/prisma-schema/data-model#defining-a-unique-field" + "source": "/docs/guides/general-guides/database-workflows/unique-constraints-and-indexes/mysql", + "destination": "/docs/concepts/components/prisma-schema/data-model#defining-a-unique-field" }, { - "source": "/guides/database/advanced-database-tasks/unique-constraints-and-indexes/postgresql", - "destination": "/concepts/components/prisma-schema/data-model#defining-a-unique-field" + "source": "/docs/guides/database/advanced-database-tasks/unique-constraints-and-indexes/postgresql", + "destination": "/docs/concepts/components/prisma-schema/data-model#defining-a-unique-field" }, { - "source": "/guides/general-guides/database-workflows/unique-constraints-and-indexes/sqlite", - "destination": "/concepts/components/prisma-schema/data-model#defining-a-unique-field" + "source": "/docs/guides/general-guides/database-workflows/unique-constraints-and-indexes/sqlite", + "destination": "/docs/concepts/components/prisma-schema/data-model#defining-a-unique-field" }, { - "source": "/guides/general-guides/database-workflows/foreign-keys", - "destination": "/concepts/components/prisma-schema/relations#relational-databases" + "source": "/docs/guides/general-guides/database-workflows/foreign-keys", + "destination": "/docs/concepts/components/prisma-schema/relations#relational-databases" }, { - "source": "/guides/general-guides/database-workflows/foreign-keys/mysql", - "destination": "/concepts/components/prisma-schema/relations#relational-databases" + "source": "/docs/guides/general-guides/database-workflows/foreign-keys/mysql", + "destination": "/docs/concepts/components/prisma-schema/relations#relational-databases" }, { - "source": "/guides/general-guides/database-workflows/foreign-keys/postgresql", - "destination": "/concepts/components/prisma-schema/relations#relational-databases" + "source": "/docs/guides/general-guides/database-workflows/foreign-keys/postgresql", + "destination": "/docs/concepts/components/prisma-schema/relations#relational-databases" }, { - "source": "/guides/general-guides/database-workflows/foreign-keys/sqlite", - "destination": "/concepts/components/prisma-schema/relations#relational-databases" + "source": "/docs/guides/general-guides/database-workflows/foreign-keys/sqlite", + "destination": "/docs/concepts/components/prisma-schema/relations#relational-databases" }, { - "source": "/guides/prisma-guides/:any*", - "destination": "/guides/performance-and-optimization/:any*" + "source": "/docs/guides/prisma-guides/:any*", + "destination": "/docs/guides/performance-and-optimization/:any*" }, { - "source": "/mongodb", - "destination": "/concepts/database-connectors/mongodb" + "source": "/docs/mongodb", + "destination": "/docs/concepts/database-connectors/mongodb" }, { - "source": "/guides/database/developing-with-prisma-migrate/advanced-migrate-scenarios", - "destination": "/guides/database/developing-with-prisma-migrate/customizing-migrations" + "source": "/docs/guides/database/developing-with-prisma-migrate/advanced-migrate-scenarios", + "destination": "/docs/guides/database/developing-with-prisma-migrate/customizing-migrations" }, { - "source": "/concepts/components/prisma-migrate/type-mapping", - "destination": "/concepts/components/prisma-migrate/supported-types-and-db-features" + "source": "/docs/concepts/components/prisma-migrate/type-mapping", + "destination": "/docs/concepts/components/prisma-migrate/supported-types-and-db-features" }, { - "source": "/concepts/components/prisma-client/working-with-advanced-types", - "destination": "/concepts/components/prisma-client/working-with-fields" + "source": "/docs/concepts/components/prisma-client/working-with-advanced-types", + "destination": "/docs/concepts/components/prisma-client/working-with-fields" }, { - "source": "/concepts/more/codemod", - "destination": "/guides/upgrade-guides/upgrading-versions/codemods" + "source": "/docs/concepts/more/codemod", + "destination": "/docs/guides/upgrade-guides/upgrading-versions/codemods" }, { - "source": "/getting-started/setup-prisma/start-from-scratch-typescript-postgres", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-postgresql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch-typescript-postgres", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-postgresql" }, { - "source": "/getting-started/setup-prisma/add-to-existing-project-typescript-postgres", - "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases-typescript-postgresql" + "source": "/docs/getting-started/setup-prisma/add-to-existing-project-typescript-postgres", + "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases-typescript-postgresql" }, { - "source": "/getting-started/setup-prisma/start-from-scratch/connect-your-database-typescript-postgres", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/connect-your-database-typescript-postgresql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch/connect-your-database-typescript-postgres", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/connect-your-database-typescript-postgresql" }, { - "source": "/getting-started/setup-prisma/start-from-scratch/using-prisma-migrate-typescript-postgres", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/using-prisma-migrate-typescript-postgresql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch/using-prisma-migrate-typescript-postgres", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/using-prisma-migrate-typescript-postgresql" }, { - "source": "/getting-started/setup-prisma/start-from-scratch/install-prisma-client-typescript-postgres", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/install-prisma-client-typescript-postgresql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch/install-prisma-client-typescript-postgres", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/install-prisma-client-typescript-postgresql" }, { - "source": "/getting-started/setup-prisma/start-from-scratch/querying-the-database-typescript-postgres", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/querying-the-database-typescript-postgresql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch/querying-the-database-typescript-postgres", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/querying-the-database-typescript-postgresql" }, { - "source": "/getting-started/setup-prisma/start-from-scratch/next-steps-typescript-postgres", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/next-steps-typescript-postgresql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch/next-steps-typescript-postgres", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/next-steps-typescript-postgresql" }, { - "source": "/getting-started/setup-prisma/add-to-existing-project/connect-your-database-typescript-postgres", - "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/connect-your-database-typescript-postgresql" + "source": "/docs/getting-started/setup-prisma/add-to-existing-project/connect-your-database-typescript-postgres", + "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/connect-your-database-typescript-postgresql" }, { - "source": "/getting-started/setup-prisma/add-to-existing-project/introspection-typescript-postgres", - "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/introspection-typescript-postgresql" + "source": "/docs/getting-started/setup-prisma/add-to-existing-project/introspection-typescript-postgres", + "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/introspection-typescript-postgresql" }, { - "source": "/getting-started/setup-prisma/add-to-existing-project/install-prisma-client-typescript-postgres", - "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/install-prisma-client-typescript-postgresql" + "source": "/docs/getting-started/setup-prisma/add-to-existing-project/install-prisma-client-typescript-postgres", + "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/install-prisma-client-typescript-postgresql" }, { - "source": "/getting-started/setup-prisma/add-to-existing-project/querying-the-database-typescript-postgres", - "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/querying-the-database-typescript-postgresql" + "source": "/docs/getting-started/setup-prisma/add-to-existing-project/querying-the-database-typescript-postgres", + "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/querying-the-database-typescript-postgresql" }, { - "source": "/getting-started/setup-prisma/add-to-existing-project/next-steps-typescript-postgres", - "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/next-steps-typescript-postgresql" + "source": "/docs/getting-started/setup-prisma/add-to-existing-project/next-steps-typescript-postgres", + "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/next-steps-typescript-postgresql" }, { - "source": "/getting-started/setup-prisma/start-from-scratch/connect-your-database-node-postgres", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/connect-your-database-node-postgresql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch/connect-your-database-node-postgres", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/connect-your-database-node-postgresql" }, { - "source": "/getting-started/setup-prisma/start-from-scratch/using-prisma-migrate-node-postgres", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/using-prisma-migrate-node-postgresql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch/using-prisma-migrate-node-postgres", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/using-prisma-migrate-node-postgresql" }, { - "source": "/getting-started/setup-prisma/start-from-scratch/install-prisma-client-node-postgres", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/install-prisma-client-node-postgresql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch/install-prisma-client-node-postgres", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/install-prisma-client-node-postgresql" }, { - "source": "/getting-started/setup-prisma/start-from-scratch/querying-the-database-node-postgres", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/querying-the-database-node-postgresql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch/querying-the-database-node-postgres", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/querying-the-database-node-postgresql" }, { - "source": "/getting-started/setup-prisma/start-from-scratch/next-steps-node-postgres", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/next-steps-node-postgresql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch/next-steps-node-postgres", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/next-steps-node-postgresql" }, { - "source": "/getting-started/setup-prisma/add-to-existing-project/connect-your-database-node-postgres", - "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/connect-your-database-node-postgresql" + "source": "/docs/getting-started/setup-prisma/add-to-existing-project/connect-your-database-node-postgres", + "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/connect-your-database-node-postgresql" }, { - "source": "/getting-started/setup-prisma/add-to-existing-project/introspection-node-postgres", - "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/introspection-node-postgresql" + "source": "/docs/getting-started/setup-prisma/add-to-existing-project/introspection-node-postgres", + "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/introspection-node-postgresql" }, { - "source": "/getting-started/setup-prisma/add-to-existing-project/install-prisma-client-node-postgres", - "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/install-prisma-client-node-postgresql" + "source": "/docs/getting-started/setup-prisma/add-to-existing-project/install-prisma-client-node-postgres", + "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/install-prisma-client-node-postgresql" }, { - "source": "/getting-started/setup-prisma/add-to-existing-project/querying-the-database-node-postgres", - "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/querying-the-database-node-postgresql" + "source": "/docs/getting-started/setup-prisma/add-to-existing-project/querying-the-database-node-postgres", + "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/querying-the-database-node-postgresql" }, { - "source": "/getting-started/setup-prisma/add-to-existing-project/next-steps-node-postgres", - "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/next-steps-node-postgresql" + "source": "/docs/getting-started/setup-prisma/add-to-existing-project/next-steps-node-postgres", + "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/next-steps-node-postgresql" }, { - "source": "/getting-started/setup-prisma/start-from-scratch/connect-your-database-typescript-mysql", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/connect-your-database-typescript-mysql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch/connect-your-database-typescript-mysql", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/connect-your-database-typescript-mysql" }, { - "source": "/getting-started/setup-prisma/start-from-scratch/using-prisma-migrate-typescript-mysql", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/using-prisma-migrate-typescript-mysql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch/using-prisma-migrate-typescript-mysql", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/using-prisma-migrate-typescript-mysql" }, { - "source": "/getting-started/setup-prisma/start-from-scratch/install-prisma-client-typescript-mysql", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/install-prisma-client-typescript-mysql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch/install-prisma-client-typescript-mysql", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/install-prisma-client-typescript-mysql" }, { - "source": "/getting-started/setup-prisma/start-from-scratch/querying-the-database-typescript-mysql", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/querying-the-database-typescript-mysql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch/querying-the-database-typescript-mysql", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/querying-the-database-typescript-mysql" }, { - "source": "/getting-started/setup-prisma/start-from-scratch/next-steps-typescript-mysql", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/next-steps-typescript-mysql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch/next-steps-typescript-mysql", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/next-steps-typescript-mysql" }, { - "source": "/getting-started/setup-prisma/add-to-existing-project/connect-your-database-typescript-mysql", - "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/connect-your-database-typescript-mysql" + "source": "/docs/getting-started/setup-prisma/add-to-existing-project/connect-your-database-typescript-mysql", + "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/connect-your-database-typescript-mysql" }, { - "source": "/getting-started/setup-prisma/add-to-existing-project/introspection-typescript-mysql", - "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/introspection-typescript-mysql" + "source": "/docs/getting-started/setup-prisma/add-to-existing-project/introspection-typescript-mysql", + "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/introspection-typescript-mysql" }, { - "source": "/getting-started/setup-prisma/add-to-existing-project/install-prisma-client-typescript-mysql", - "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/install-prisma-client-typescript-mysql" + "source": "/docs/getting-started/setup-prisma/add-to-existing-project/install-prisma-client-typescript-mysql", + "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/install-prisma-client-typescript-mysql" }, { - "source": "/getting-started/setup-prisma/add-to-existing-project/querying-the-database-typescript-mysql", - "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/querying-the-database-typescript-mysql" + "source": "/docs/getting-started/setup-prisma/add-to-existing-project/querying-the-database-typescript-mysql", + "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/querying-the-database-typescript-mysql" }, { - "source": "/getting-started/setup-prisma/add-to-existing-project/next-steps-typescript-mysql", - "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/next-steps-typescript-mysql" + "source": "/docs/getting-started/setup-prisma/add-to-existing-project/next-steps-typescript-mysql", + "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/next-steps-typescript-mysql" }, { - "source": "/getting-started/setup-prisma/start-from-scratch/connect-your-database-node-mysql", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/connect-your-database-node-mysql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch/connect-your-database-node-mysql", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/connect-your-database-node-mysql" }, { - "source": "/getting-started/setup-prisma/start-from-scratch/using-prisma-migrate-node-mysql", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/using-prisma-migrate-node-mysql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch/using-prisma-migrate-node-mysql", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/using-prisma-migrate-node-mysql" }, { - "source": "/getting-started/setup-prisma/start-from-scratch/install-prisma-client-node-mysql", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/install-prisma-client-node-mysql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch/install-prisma-client-node-mysql", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/install-prisma-client-node-mysql" }, { - "source": "/getting-started/setup-prisma/start-from-scratch/querying-the-database-node-mysql", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/querying-the-database-node-mysql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch/querying-the-database-node-mysql", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/querying-the-database-node-mysql" }, { - "source": "/getting-started/setup-prisma/start-from-scratch/next-steps-node-mysql", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/next-steps-node-mysql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch/next-steps-node-mysql", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/next-steps-node-mysql" }, { - "source": "/getting-started/setup-prisma/add-to-existing-project/connect-your-database-node-mysql", - "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/connect-your-database-node-mysql" + "source": "/docs/getting-started/setup-prisma/add-to-existing-project/connect-your-database-node-mysql", + "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/connect-your-database-node-mysql" }, { - "source": "/getting-started/setup-prisma/add-to-existing-project/introspection-node-mysql", - "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/introspection-node-mysql" + "source": "/docs/getting-started/setup-prisma/add-to-existing-project/introspection-node-mysql", + "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/introspection-node-mysql" }, { - "source": "/getting-started/setup-prisma/add-to-existing-project/install-prisma-client-node-mysql", - "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/install-prisma-client-node-mysql" + "source": "/docs/getting-started/setup-prisma/add-to-existing-project/install-prisma-client-node-mysql", + "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/install-prisma-client-node-mysql" }, { - "source": "/getting-started/setup-prisma/add-to-existing-project/querying-the-database-node-mysql", - "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/querying-the-database-node-mysql" + "source": "/docs/getting-started/setup-prisma/add-to-existing-project/querying-the-database-node-mysql", + "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/querying-the-database-node-mysql" }, { - "source": "/getting-started/setup-prisma/add-to-existing-project/next-steps-node-mysql", - "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/next-steps-node-mysql" + "source": "/docs/getting-started/setup-prisma/add-to-existing-project/next-steps-node-mysql", + "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/next-steps-node-mysql" }, { - "source": "/concepts/more/environment-variables", - "destination": "/guides/development-environment/environment-variables" + "source": "/docs/concepts/more/environment-variables", + "destination": "/docs/guides/development-environment/environment-variables" }, { - "source": "/concepts/more/environment-variables/managing-env-files-and-setting-variables", - "destination": "/guides/development-environment/environment-variables/managing-env-files-and-setting-variables" + "source": "/docs/concepts/more/environment-variables/managing-env-files-and-setting-variables", + "destination": "/docs/guides/development-environment/environment-variables/managing-env-files-and-setting-variables" }, { - "source": "/concepts/more/environment-variables/using-multiple-env-files", - "destination": "/guides/development-environment/environment-variables/using-multiple-env-files" + "source": "/docs/concepts/more/environment-variables/using-multiple-env-files", + "destination": "/docs/guides/development-environment/environment-variables/using-multiple-env-files" }, { - "source": "/concepts/more/editor-setup", - "destination": "/guides/development-environment/editor-setup" + "source": "/docs/concepts/more/editor-setup", + "destination": "/docs/guides/development-environment/editor-setup" }, { - "source": "/about/about-the-docs", - "destination": "/about/prisma-docs/about-the-docs" + "source": "/docs/about/about-the-docs", + "destination": "/docs/about/prisma-docs/about-the-docs" }, { - "source": "/about/whats-new-in-prisma-docs", - "destination": "/about/prisma-docs/whats-new-in-prisma-docs" + "source": "/docs/about/whats-new-in-prisma-docs", + "destination": "/docs/about/prisma-docs/whats-new-in-prisma-docs" }, { - "source": "/about/limitations", - "destination": "/about/prisma/limitations" + "source": "/docs/about/limitations", + "destination": "/docs/about/prisma/limitations" }, { - "source": "/about/roadmap", - "destination": "/about/prisma/roadmap" + "source": "/docs/about/roadmap", + "destination": "/docs/about/prisma/roadmap" }, { - "source": "/about/faq", - "destination": "/about/prisma/faq" + "source": "/docs/about/faq", + "destination": "/docs/about/prisma/faq" }, { - "source": "/about/releases", - "destination": "/about/prisma/releases" + "source": "/docs/about/releases", + "destination": "/docs/about/prisma/releases" }, { - "source": "/about/example-projects", - "destination": "/about/prisma/example-projects" + "source": "/docs/about/example-projects", + "destination": "/docs/about/prisma/example-projects" }, { - "source": "/about/style-guide", - "destination": "/about/prisma-docs/style-guide" + "source": "/docs/about/style-guide", + "destination": "/docs/about/prisma-docs/style-guide" }, { - "source": "/about/style-guide/mdx-examples", - "destination": "/about/prisma-docs/style-guide/mdx-examples" + "source": "/docs/about/style-guide/mdx-examples", + "destination": "/docs/about/prisma-docs/style-guide/mdx-examples" }, { - "source": "/about/style-guide/frontmatter", - "destination": "/about/prisma-docs/style-guide/frontmatter" + "source": "/docs/about/style-guide/frontmatter", + "destination": "/docs/about/prisma-docs/style-guide/frontmatter" }, { - "source": "/about/style-guide/template", - "destination": "/about/prisma-docs/style-guide/template" + "source": "/docs/about/style-guide/template", + "destination": "/docs/about/prisma-docs/style-guide/template" }, { - "source": "/concepts/components/preview-features/sql-server/sql-server-start-from-scratch-typescript", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-sqlserver" + "source": "/docs/concepts/components/preview-features/sql-server/sql-server-start-from-scratch-typescript", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-sqlserver" }, { - "source": "/concepts/database-connectors/microsoft-sql-server", - "destination": "/concepts/database-connectors/sql-server" + "source": "/docs/concepts/database-connectors/microsoft-sql-server", + "destination": "/docs/concepts/database-connectors/sql-server" }, { - "source": "/concepts/components/preview-features/sql-server/sql-server-connection-string", - "destination": "/concepts/database-connectors/sql-server" + "source": "/docs/concepts/components/preview-features/sql-server/sql-server-connection-string", + "destination": "/docs/concepts/database-connectors/sql-server" }, { - "source": "/concepts/components/preview-features/sql-server/sql-server-local", - "destination": "/concepts/database-connectors/sql-server/sql-server-local" + "source": "/docs/concepts/components/preview-features/sql-server/sql-server-local", + "destination": "/docs/concepts/database-connectors/sql-server/sql-server-local" }, { - "source": "/concepts/components/preview-features/sql-server/sql-server-docker", - "destination": "/concepts/database-connectors/sql-server/sql-server-docker" + "source": "/docs/concepts/components/preview-features/sql-server/sql-server-docker", + "destination": "/docs/concepts/database-connectors/sql-server/sql-server-docker" }, { - "source": "/concepts/components/preview-features/sql-server", - "destination": "/concepts/database-connectors/sql-server" + "source": "/docs/concepts/components/preview-features/sql-server", + "destination": "/docs/concepts/database-connectors/sql-server" }, { - "source": "/guides/upgrade-guides/upgrading-to-latest", - "destination": "/guides/upgrade-guides/upgrading-versions" + "source": "/docs/guides/upgrade-guides/upgrading-to-latest", + "destination": "/docs/guides/upgrade-guides/upgrading-versions" }, { - "source": "/guides/upgrade-guides/upgrading-to-use-preview-features/enabling-named-constraints", - "destination": "/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-3/named-constraints" + "source": "/docs/guides/upgrade-guides/upgrading-to-use-preview-features/enabling-named-constraints", + "destination": "/docs/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-3/named-constraints" }, { - "source": "/concepts/components/prisma-schema/relations/referential-actions/cyclic-referential-actions", - "destination": "/concepts/components/prisma-schema/relations/referential-actions/special-rules-for-referential-actions" + "source": "/docs/concepts/components/prisma-schema/relations/referential-actions/cyclic-referential-actions", + "destination": "/docs/concepts/components/prisma-schema/relations/referential-actions/special-rules-for-referential-actions" }, { - "source": "/concepts/components/prisma-schema/index-configuration", - "destination": "/concepts/components/prisma-schema/indexes" + "source": "/docs/concepts/components/prisma-schema/index-configuration", + "destination": "/docs/concepts/components/prisma-schema/indexes" }, { - "source": "/concepts/components/prisma-data-platform", - "destination": "/concepts/data-platform" + "source": "/docs/concepts/components/prisma-data-platform", + "destination": "/docs/concepts/data-platform" }, { - "source": "/about/prisma/platform-releases", - "destination": "/concepts/data-platform/about-platform/platform-releases" + "source": "/docs/about/prisma/platform-releases", + "destination": "/docs/concepts/data-platform/about-platform/platform-releases" }, { - "source": "/support", - "destination": "/guides/database/troubleshooting-orm" + "source": "/docs/support", + "destination": "/docs/guides/database/troubleshooting-orm" }, { - "source": "/support/:any*", - "destination": "/guides/database/troubleshooting-orm/:any*" + "source": "/docs/support/:any*", + "destination": "/docs/guides/database/troubleshooting-orm/:any*" }, { - "source": "/concepts/data-platform", - "destination": "/data-platform" + "source": "/docs/concepts/data-platform", + "destination": "/docs/data-platform" }, { - "source": "/concepts/data-platform/:any*", - "destination": "/data-platform/:any*" + "source": "/docs/concepts/data-platform/:any*", + "destination": "/docs/data-platform/:any*" }, { - "source": "/data-platform/about-platform", - "destination": "/data-platform/about" + "source": "/docs/data-platform/about-platform", + "destination": "/docs/data-platform/about" }, { - "source": "/data-platform/about-platform/:any*", - "destination": "/data-platform/about/:any*" + "source": "/docs/data-platform/about-platform/:any*", + "destination": "/docs/data-platform/about/:any*" }, { - "source": "/data-platform/about/platform-limits-and-status", - "destination": "/data-platform/about/limits-and-status" + "source": "/docs/data-platform/about/platform-limits-and-status", + "destination": "/docs/data-platform/about/limits-and-status" }, { - "source": "/data-platform/about/platform-releases", - "destination": "/data-platform/about/releases" + "source": "/docs/data-platform/about/platform-releases", + "destination": "/docs/data-platform/about/releases" }, { - "source": "/data-platform/accounts", - "destination": "/data-platform/account" + "source": "/docs/data-platform/accounts", + "destination": "/docs/data-platform/account" }, { - "source": "/concepts/components/prisma-schema/relations/referential-integrity", - "destination": "/concepts/components/prisma-schema/relations/relation-mode" + "source": "/docs/concepts/components/prisma-schema/relations/referential-integrity", + "destination": "/docs/concepts/components/prisma-schema/relations/relation-mode" }, { - "source": "/data-platform/billing/early-adopter-plan", - "destination": "/data-platform/billing/plans-and-quotas" + "source": "/docs/data-platform/billing/early-adopter-plan", + "destination": "/docs/data-platform/billing/plans-and-quotas" }, { - "source": "/data-platform/projects/add-project(.*)", - "destination": "/data-platform/projects/create" + "source": "/docs/data-platform/projects/add-project(.*)", + "destination": "/docs/data-platform/projects/create" }, { - "source": "/data-platform/members/user-roles", - "destination": "/data-platform/members/roles-permissions" + "source": "/docs/data-platform/members/user-roles", + "destination": "/docs/data-platform/members/roles-permissions" }, { - "source": "/data-platform/members/data-collaborators", - "destination": "/data-platform/members/add" + "source": "/docs/data-platform/members/data-collaborators", + "destination": "/docs/data-platform/members/add" }, { - "source": "/data-platform/environments/edit-settings/change-database-connection-string", - "destination": "/data-platform/troubleshooting/cannot-change-db-of-env" + "source": "/docs/data-platform/environments/edit-settings/change-database-connection-string", + "destination": "/docs/data-platform/troubleshooting/cannot-change-db-of-env" }, { - "source": "/guides/database/developing-with-prisma-migrate/add-prisma-migrate-to-a-project", - "destination": "/guides/migrate/developing-with-prisma-migrate/add-prisma-migrate-to-a-project" + "source": "/docs/guides/database/developing-with-prisma-migrate/add-prisma-migrate-to-a-project", + "destination": "/docs/guides/migrate/developing-with-prisma-migrate/add-prisma-migrate-to-a-project" }, { - "source": "/guides/database/developing-with-prisma-migrate/team-development", - "destination": "/guides/migrate/developing-with-prisma-migrate/team-development" + "source": "/docs/guides/database/developing-with-prisma-migrate/team-development", + "destination": "/docs/guides/migrate/developing-with-prisma-migrate/team-development" }, { - "source": "/guides/database/developing-with-prisma-migrate/baselining", - "destination": "/guides/migrate/developing-with-prisma-migrate/baselining" + "source": "/docs/guides/database/developing-with-prisma-migrate/baselining", + "destination": "/docs/guides/migrate/developing-with-prisma-migrate/baselining" }, { - "source": "/guides/database/developing-with-prisma-migrate/enable-native-database-functions", - "destination": "/guides/migrate/developing-with-prisma-migrate/enable-native-database-functions" + "source": "/docs/guides/database/developing-with-prisma-migrate/enable-native-database-functions", + "destination": "/docs/guides/migrate/developing-with-prisma-migrate/enable-native-database-functions" }, { - "source": "/guides/database/developing-with-prisma-migrate/include-unsupported-database-features", - "destination": "/guides/migrate/developing-with-prisma-migrate/include-unsupported-database-features" + "source": "/docs/guides/database/developing-with-prisma-migrate/include-unsupported-database-features", + "destination": "/docs/guides/migrate/developing-with-prisma-migrate/include-unsupported-database-features" }, { - "source": "/guides/database/developing-with-prisma-migrate/customizing-migrations", - "destination": "/guides/migrate/developing-with-prisma-migrate/customizing-migrations" + "source": "/docs/guides/database/developing-with-prisma-migrate/customizing-migrations", + "destination": "/docs/guides/migrate/developing-with-prisma-migrate/customizing-migrations" }, { - "source": "/guides/database/developing-with-prisma-migrate/squashing-migrations", - "destination": "/guides/migrate/developing-with-prisma-migrate/squashing-migrations" + "source": "/docs/guides/database/developing-with-prisma-migrate/squashing-migrations", + "destination": "/docs/guides/migrate/developing-with-prisma-migrate/squashing-migrations" }, { - "source": "/guides/database/developing-with-prisma-migrate/generating-down-migrations", - "destination": "/guides/migrate/developing-with-prisma-migrate/generating-down-migrations" + "source": "/docs/guides/database/developing-with-prisma-migrate/generating-down-migrations", + "destination": "/docs/guides/migrate/developing-with-prisma-migrate/generating-down-migrations" }, { - "source": "/guides/database/developing-with-prisma-migrate/troubleshooting-development", - "destination": "/guides/migrate/developing-with-prisma-migrate/troubleshooting-development" + "source": "/docs/guides/database/developing-with-prisma-migrate/troubleshooting-development", + "destination": "/docs/guides/migrate/developing-with-prisma-migrate/troubleshooting-development" }, { - "source": "/guides/database/developing-with-prisma-migrate/deploy-db.png", - "destination": "/guides/migrate/developing-with-prisma-migrate/deploy-db.png" + "source": "/docs/guides/database/developing-with-prisma-migrate/deploy-db.png", + "destination": "/docs/guides/migrate/developing-with-prisma-migrate/deploy-db.png" }, { - "source": "/guides/database/developing-with-prisma-migrate/existing-database.png", - "destination": "/guides/migrate/developing-with-prisma-migrate/existing-database.png" + "source": "/docs/guides/database/developing-with-prisma-migrate/existing-database.png", + "destination": "/docs/guides/migrate/developing-with-prisma-migrate/existing-database.png" }, { - "source": "/guides/database/developing-with-prisma-migrate", - "destination": "/guides/migrate/developing-with-prisma-migrate" + "source": "/docs/guides/database/developing-with-prisma-migrate", + "destination": "/docs/guides/migrate/developing-with-prisma-migrate" }, { - "source": "/guides/database/developing-with-prisma-migrate/migrate-team-dev.png", - "destination": "/guides/migrate/developing-with-prisma-migrate/migrate-team-dev.png" + "source": "/docs/guides/database/developing-with-prisma-migrate/migrate-team-dev.png", + "destination": "/docs/guides/migrate/developing-with-prisma-migrate/migrate-team-dev.png" }, { - "source": "/guides/database/developing-with-prisma-migrate/migration-history.png", - "destination": "/guides/migrate/developing-with-prisma-migrate/migration-history.png" + "source": "/docs/guides/database/developing-with-prisma-migrate/migration-history.png", + "destination": "/docs/guides/migrate/developing-with-prisma-migrate/migration-history.png" }, { - "source": "/guides/database/developing-with-prisma-migrate/new-dev-db.png", - "destination": "/guides/migrate/developing-with-prisma-migrate/new-dev-db.png" + "source": "/docs/guides/database/developing-with-prisma-migrate/new-dev-db.png", + "destination": "/docs/guides/migrate/developing-with-prisma-migrate/new-dev-db.png" }, { - "source": "/guides/database/seed-database", - "destination": "/guides/migrate/seed-database" + "source": "/docs/guides/database/seed-database", + "destination": "/docs/guides/migrate/seed-database" }, { - "source": "/guides/database/prototyping-schema-db-push", - "destination": "/guides/migrate/prototyping-schema-db-push" + "source": "/docs/guides/database/prototyping-schema-db-push", + "destination": "/docs/guides/migrate/prototyping-schema-db-push" }, { - "source": "/guides/database/patching-production", - "destination": "/guides/migrate/patching-production" + "source": "/docs/guides/database/patching-production", + "destination": "/docs/guides/migrate/patching-production" }, { - "source": "/guides/database/production-troubleshooting", - "destination": "/guides/migrate/production-troubleshooting" + "source": "/docs/guides/database/production-troubleshooting", + "destination": "/docs/guides/migrate/production-troubleshooting" }, { - "source": "/guides/database/using-prisma-with-planetscale", - "destination": "/guides/database/planetscale" + "source": "/docs/guides/database/using-prisma-with-planetscale", + "destination": "/docs/guides/database/planetscale" }, { - "source": "/guides/database/using-prisma-with-cockroachdb", - "destination": "/guides/database/cockroachdb" + "source": "/docs/guides/database/using-prisma-with-cockroachdb", + "destination": "/docs/guides/database/cockroachdb" }, { - "source": "/guides/database/using-prisma-with-mongodb", - "destination": "/guides/database/mongodb" + "source": "/docs/guides/database/using-prisma-with-mongodb", + "destination": "/docs/guides/database/mongodb" }, { - "source": "/guides/database/multi-schema", - "destination": "/guides/other/multi-schema" + "source": "/docs/guides/database/multi-schema", + "destination": "/docs/guides/other/multi-schema" }, { - "source": "/guides/database/prisma-type-system", - "destination": "/guides/other/prisma-type-system" + "source": "/docs/guides/database/prisma-type-system", + "destination": "/docs/guides/other/prisma-type-system" }, { - "source": "/guides/database/troubleshooting-orm/creating-bug-reports", - "destination": "/guides/other/troubleshooting-orm/creating-bug-reports" + "source": "/docs/guides/database/troubleshooting-orm/creating-bug-reports", + "destination": "/docs/guides/other/troubleshooting-orm/creating-bug-reports" }, { - "source": "/guides/database/troubleshooting-orm/help-articles/autocompletion-in-graphql-resolvers-with-js", - "destination": "/guides/other/troubleshooting-orm/help-articles/autocompletion-in-graphql-resolvers-with-js" + "source": "/docs/guides/database/troubleshooting-orm/help-articles/autocompletion-in-graphql-resolvers-with-js", + "destination": "/docs/guides/other/troubleshooting-orm/help-articles/autocompletion-in-graphql-resolvers-with-js" }, { - "source": "/guides/database/troubleshooting-orm/help-articles/working-with-many-to-many-relations", - "destination": "/guides/other/troubleshooting-orm/help-articles/working-with-many-to-many-relations" + "source": "/docs/guides/database/troubleshooting-orm/help-articles/working-with-many-to-many-relations", + "destination": "/docs/guides/other/troubleshooting-orm/help-articles/working-with-many-to-many-relations" }, { - "source": "/guides/database/troubleshooting-orm/help-articles/finding-entities-based-on-relation", - "destination": "/guides/other/troubleshooting-orm/help-articles/finding-entities-based-on-relation" + "source": "/docs/guides/database/troubleshooting-orm/help-articles/finding-entities-based-on-relation", + "destination": "/docs/guides/other/troubleshooting-orm/help-articles/finding-entities-based-on-relation" }, { - "source": "/guides/database/troubleshooting-orm/help-articles/nextjs-prisma-client-dev-practices", - "destination": "/guides/other/troubleshooting-orm/help-articles/nextjs-prisma-client-dev-practices" + "source": "/docs/guides/database/troubleshooting-orm/help-articles/nextjs-prisma-client-dev-practices", + "destination": "/docs/guides/other/troubleshooting-orm/help-articles/nextjs-prisma-client-dev-practices" }, { - "source": "/guides/database/troubleshooting-orm/help-articles/nextjs-prisma-client-monorepo", - "destination": "/guides/other/troubleshooting-orm/help-articles/nextjs-prisma-client-monorepo" + "source": "/docs/guides/database/troubleshooting-orm/help-articles/nextjs-prisma-client-monorepo", + "destination": "/docs/guides/other/troubleshooting-orm/help-articles/nextjs-prisma-client-monorepo" }, { - "source": "/guides/database/troubleshooting-orm/help-articles/pkg-issue", - "destination": "/guides/other/troubleshooting-orm/help-articles/pkg-issue" + "source": "/docs/guides/database/troubleshooting-orm/help-articles/pkg-issue", + "destination": "/docs/guides/other/troubleshooting-orm/help-articles/pkg-issue" }, { - "source": "/guides/database/troubleshooting-orm/help-articles/comparing-columns-through-raw-queries", - "destination": "/guides/other/troubleshooting-orm/help-articles/comparing-columns-through-raw-queries" + "source": "/docs/guides/database/troubleshooting-orm/help-articles/comparing-columns-through-raw-queries", + "destination": "/docs/guides/other/troubleshooting-orm/help-articles/comparing-columns-through-raw-queries" }, { - "source": "/guides/database/troubleshooting-orm/help-articles", - "destination": "/guides/other/troubleshooting-orm/help-articles" + "source": "/docs/guides/database/troubleshooting-orm/help-articles", + "destination": "/docs/guides/other/troubleshooting-orm/help-articles" }, { - "source": "/guides/database/troubleshooting-orm/help-articles/prisma-autocompletion-in-js.png", - "destination": "/guides/other/troubleshooting-orm/help-articles/prisma-autocompletion-in-js.png" + "source": "/docs/guides/database/troubleshooting-orm/help-articles/prisma-autocompletion-in-js.png", + "destination": "/docs/guides/other/troubleshooting-orm/help-articles/prisma-autocompletion-in-js.png" }, { - "source": "/guides/database/troubleshooting-orm/help-articles/unwanted-autocomplete-values-in-vscode.png", - "destination": "/guides/other/troubleshooting-orm/help-articles/unwanted-autocomplete-values-in-vscode.png" + "source": "/docs/guides/database/troubleshooting-orm/help-articles/unwanted-autocomplete-values-in-vscode.png", + "destination": "/docs/guides/other/troubleshooting-orm/help-articles/unwanted-autocomplete-values-in-vscode.png" }, { - "source": "/guides/database/troubleshooting-orm", - "destination": "/guides/other/troubleshooting-orm" + "source": "/docs/guides/database/troubleshooting-orm", + "destination": "/docs/guides/other/troubleshooting-orm" }, { - "source": "/guides/database/advanced-database-tasks/data-validation/postgresql", - "destination": "/guides/other/advanced-database-tasks/data-validation/postgresql" + "source": "/docs/guides/database/advanced-database-tasks/data-validation/postgresql", + "destination": "/docs/guides/other/advanced-database-tasks/data-validation/postgresql" }, { - "source": "/guides/database/advanced-database-tasks/data-validation", - "destination": "/guides/other/advanced-database-tasks/data-validation" + "source": "/docs/guides/database/advanced-database-tasks/data-validation", + "destination": "/docs/guides/other/advanced-database-tasks/data-validation" }, { - "source": "/guides/database/advanced-database-tasks", - "destination": "/guides/other/advanced-database-tasks" + "source": "/docs/guides/database/advanced-database-tasks", + "destination": "/docs/guides/other/advanced-database-tasks" }, { - "source": "/concepts/components/prisma-cli/installation", - "destination": "/reference/api-reference/command-reference#installation" + "source": "/docs/concepts/components/prisma-cli/installation", + "destination": "/docs/reference/api-reference/command-reference#installation" }, { - "source": "/guides/other/troubleshooting-orm/help-articles/finding-entities-based-on-relation", - "destination": "/concepts/components/prisma-client/relation-queries#filter-on-presence-of-related-records" + "source": "/docs/guides/other/troubleshooting-orm/help-articles/finding-entities-based-on-relation", + "destination": "/docs/concepts/components/prisma-client/relation-queries#filter-on-presence-of-related-records" }, { - "source": "/getting-started/setup-prisma/start-from-scratch/relational-databases/connect-your-database-typescript-postgres", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/connect-your-database-typescript-postgresql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/connect-your-database-typescript-postgres", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/connect-your-database-typescript-postgresql" }, { - "source": "/getting-started/setup-prisma/start-from-scratch/relational-databases/connect-your-database-node-postgres", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/connect-your-database-node-postgresql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/connect-your-database-node-postgres", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/connect-your-database-node-postgresql" }, { - "source": "/getting-started/setup-prisma/start-from-scratch/relational-databases/using-prisma-migrate-typescript-postgres", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/using-prisma-migrate-typescript-postgresql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/using-prisma-migrate-typescript-postgres", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/using-prisma-migrate-typescript-postgresql" }, { - "source": "/getting-started/setup-prisma/start-from-scratch/relational-databases/using-prisma-migrate-node-postgres", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/using-prisma-migrate-node-postgresql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/using-prisma-migrate-node-postgres", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/using-prisma-migrate-node-postgresql" }, { - "source": "/getting-started/setup-prisma/start-from-scratch/relational-databases/install-prisma-client-typescript-postgres", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/install-prisma-client-typescript-postgresql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/install-prisma-client-typescript-postgres", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/install-prisma-client-typescript-postgresql" }, { - "source": "/getting-started/setup-prisma/start-from-scratch/relational-databases/install-prisma-client-node-postgres", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/install-prisma-client-node-postgresql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/install-prisma-client-node-postgres", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/install-prisma-client-node-postgresql" }, { - "source": "/getting-started/setup-prisma/start-from-scratch/relational-databases/querying-the-database-typescript-postgres", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/querying-the-database-typescript-postgresql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/querying-the-database-typescript-postgres", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/querying-the-database-typescript-postgresql" }, { - "source": "/getting-started/setup-prisma/start-from-scratch/relational-databases/querying-the-database-node-postgres", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/querying-the-database-node-postgresql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/querying-the-database-node-postgres", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/querying-the-database-node-postgresql" }, { - "source": "/getting-started/setup-prisma/start-from-scratch/relational-databases/next-steps-typescript-postgres", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/next-steps-typescript-postgresql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/next-steps-typescript-postgres", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/next-steps-typescript-postgresql" }, { - "source": "/getting-started/setup-prisma/start-from-scratch/relational-databases/next-steps-node-postgres", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases/next-steps-node-postgresql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/next-steps-node-postgres", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases/next-steps-node-postgresql" }, { - "source": "/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-postgres", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-postgresql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-postgres", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-postgresql" }, { - "source": "/getting-started/setup-prisma/start-from-scratch/relational-databases-node-postgres", - "destination": "/getting-started/setup-prisma/start-from-scratch/relational-databases-node-postgresql" + "source": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases-node-postgres", + "destination": "/docs/getting-started/setup-prisma/start-from-scratch/relational-databases-node-postgresql" }, { - "source": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/connect-your-database-typescript-postgres", - "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/connect-your-database-typescript-postgresql" + "source": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/connect-your-database-typescript-postgres", + "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/connect-your-database-typescript-postgresql" }, { - "source": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/connect-your-database-node-postgres", - "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/connect-your-database-node-postgresql" + "source": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/connect-your-database-node-postgres", + "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/connect-your-database-node-postgresql" }, { - "source": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/introspection-typescript-postgres", - "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/introspection-typescript-postgresql" + "source": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/introspection-typescript-postgres", + "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/introspection-typescript-postgresql" }, { - "source": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/introspection-node-postgres", - "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/introspection-node-postgresql" + "source": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/introspection-node-postgres", + "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/introspection-node-postgresql" }, { - "source": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/baseline-your-database-typescript-postgres", - "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/baseline-your-database-typescript-postgresql" + "source": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/baseline-your-database-typescript-postgres", + "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/baseline-your-database-typescript-postgresql" }, { - "source": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/baseline-your-database-node-postgres", - "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/baseline-your-database-node-postgresql" + "source": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/baseline-your-database-node-postgres", + "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/baseline-your-database-node-postgresql" }, { - "source": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/install-prisma-client-typescript-postgres", - "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/install-prisma-client-typescript-postgresql" + "source": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/install-prisma-client-typescript-postgres", + "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/install-prisma-client-typescript-postgresql" }, { - "source": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/install-prisma-client-node-postgres", - "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/install-prisma-client-node-postgresql" + "source": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/install-prisma-client-node-postgres", + "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/install-prisma-client-node-postgresql" }, { - "source": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/querying-the-database-typescript-postgres", - "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/querying-the-database-typescript-postgresql" + "source": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/querying-the-database-typescript-postgres", + "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/querying-the-database-typescript-postgresql" }, { - "source": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/querying-the-database-node-postgres", - "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/querying-the-database-node-postgresql" + "source": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/querying-the-database-node-postgres", + "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/querying-the-database-node-postgresql" }, { - "source": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/evolve-your-schema-typescript-postgres", - "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/evolve-your-schema-typescript-postgresql" + "source": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/evolve-your-schema-typescript-postgres", + "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/evolve-your-schema-typescript-postgresql" }, { - "source": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/evolve-your-schema-node-postgres", - "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/evolve-your-schema-node-postgresql" + "source": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/evolve-your-schema-node-postgres", + "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/evolve-your-schema-node-postgresql" }, { - "source": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/next-steps-typescript-postgres", - "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/next-steps-typescript-postgresql" + "source": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/next-steps-typescript-postgres", + "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/next-steps-typescript-postgresql" }, { - "source": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/next-steps-node-postgres", - "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases/next-steps-node-postgresql" + "source": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/next-steps-node-postgres", + "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/next-steps-node-postgresql" }, { - "source": "/getting-started/setup-prisma/add-to-existing-project/relational-databases-typescript-postgres", - "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases-typescript-postgresql" + "source": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases-typescript-postgres", + "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases-typescript-postgresql" }, { - "source": "/getting-started/setup-prisma/add-to-existing-project/relational-databases-node-postgres", - "destination": "/getting-started/setup-prisma/add-to-existing-project/relational-databases-node-postgresql" + "source": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases-node-postgres", + "destination": "/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases-node-postgresql" }, { - "source": "/guides/upgrade-guides/upgrade-from-prisma-1/schema-incompatibilities-postgres", - "destination": "/guides/upgrade-guides/upgrade-from-prisma-1/schema-incompatibilities-postgresql" + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/schema-incompatibilities-postgres", + "destination": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/schema-incompatibilities-postgresql" }, { - "source": "/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-the-prisma-layer-postgres", - "destination": "/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-the-prisma-layer-postgresql" + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-the-prisma-layer-postgres", + "destination": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-the-prisma-layer-postgresql" }, { - "source": "/guides/migrate/deployment/deploy-database-changes-with-prisma-migrate", - "destination": "/guides/deployment/deploy-database-changes-with-prisma-migrate" + "source": "/docs/guides/migrate/deployment/deploy-database-changes-with-prisma-migrate", + "destination": "/docs/guides/deployment/deploy-database-changes-with-prisma-migrate" }, { - "source": "/guides/deployment/deployment", - "destination": "/guides/deployment/deploy-prisma" + "source": "/docs/guides/deployment/deployment", + "destination": "/docs/guides/deployment/deploy-prisma" }, { - "source": "/guides/deployment/deployment-guides/deploying-to-heroku", - "destination": "/guides/deployment/traditional/deploy-to-heroku" + "source": "/docs/guides/deployment/deployment-guides/deploying-to-heroku", + "destination": "/docs/guides/deployment/traditional/deploy-to-heroku" }, { - "source": "/guides/deployment/deployment-guides/deploying-to-koyeb", - "destination": "/guides/deployment/traditional/deploy-to-koyeb" + "source": "/docs/guides/deployment/deployment-guides/deploying-to-koyeb", + "destination": "/docs/guides/deployment/traditional/deploy-to-koyeb" }, { - "source": "/guides/deployment/deployment-guides", - "destination": "/guides/deployment/deploy-prisma" + "source": "/docs/guides/deployment/deployment-guides", + "destination": "/docs/guides/deployment/deploy-prisma" }, { - "source": "/guides/deployment/deployment-guides/deploying-to-azure-functions", - "destination": "/guides/deployment/serverless/deploy-to-azure-functions" + "source": "/docs/guides/deployment/deployment-guides/deploying-to-azure-functions", + "destination": "/docs/guides/deployment/serverless/deploy-to-azure-functions" }, { - "source": "/guides/deployment/deployment-guides/deploying-to-vercel", - "destination": "/guides/deployment/serverless/deploy-to-vercel" + "source": "/docs/guides/deployment/deployment-guides/deploying-to-vercel", + "destination": "/docs/guides/deployment/serverless/deploy-to-vercel" }, { - "source": "/guides/deployment/deployment-guides/deploying-to-aws-lambda", - "destination": "/guides/deployment/serverless/deploy-to-aws-lambda" + "source": "/docs/guides/deployment/deployment-guides/deploying-to-aws-lambda", + "destination": "/docs/guides/deployment/serverless/deploy-to-aws-lambda" }, { - "source": "/guides/deployment/deployment-guides/deploying-to-netlify", - "destination": "/guides/deployment/serverless/deploy-to-netlify" + "source": "/docs/guides/deployment/deployment-guides/deploying-to-netlify", + "destination": "/docs/guides/deployment/serverless/deploy-to-netlify" }, { - "source": "/guides/deployment/deployment-guides/deploying-to-deno-deploy", - "destination": "/guides/deployment/edge/deploy-to-deno-deploy" + "source": "/docs/guides/deployment/deployment-guides/deploying-to-deno-deploy", + "destination": "/docs/guides/deployment/edge/deploy-to-deno-deploy" }, { - "source": "/guides/deployment/deployment-guides/deploying-to-cloudflare-workers", - "destination": "/guides/deployment/edge/deploy-to-cloudflare-workers" + "source": "/docs/guides/deployment/deployment-guides/deploying-to-cloudflare-workers", + "destination": "/docs/guides/deployment/edge/deploy-to-cloudflare-workers" }, { - "source": "/guides/deployment/deployment-guides/deploying-migrations-from-a-local-environment", - "destination": "/guides/deployment/deploy-migrations-from-a-local-environment" + "source": "/docs/guides/deployment/deployment-guides/deploying-migrations-from-a-local-environment", + "destination": "/docs/guides/deployment/deploy-migrations-from-a-local-environment" }, { - "source": "/guides/deployment/deployment-guides/caveats-when-deploying-to-aws-platforms", - "destination": "/guides/deployment/caveats-when-deploying-to-aws-platforms" + "source": "/docs/guides/deployment/deployment-guides/caveats-when-deploying-to-aws-platforms", + "destination": "/docs/guides/deployment/caveats-when-deploying-to-aws-platforms" }, { - "source": "/guides/deployment/deployment-guides/deploying-to-a-different-os", - "destination": "/guides/deployment/deploy-to-a-different-os" + "source": "/docs/guides/deployment/deployment-guides/deploying-to-a-different-os", + "destination": "/docs/guides/deployment/deploy-to-a-different-os" }, { - "source": "/guides/deployment/deployment-guides/use-prisma-with-serverless-framework", - "destination": "/guides/deployment/serverless/deploy-to-aws-lambda" + "source": "/docs/guides/deployment/deployment-guides/use-prisma-with-serverless-framework", + "destination": "/docs/guides/deployment/serverless/deploy-to-aws-lambda" }, { - "source": "/guides/deployment/use-prisma-with-serverless-framework", - "destination": "/guides/deployment/serverless/deploy-to-aws-lambda" + "source": "/docs/guides/deployment/use-prisma-with-serverless-framework", + "destination": "/docs/guides/deployment/serverless/deploy-to-aws-lambda" }, { - "source": "/data-platform/about/releases", - "destination": "/data-platform/platform-console/maturity-levels" + "source": "/docs/data-platform/about/releases", + "destination": "/docs/data-platform/platform-console/maturity-levels" }, { - "source": "/data-platform/about/limits-and-status", - "destination": "/data-platform/classic-projects/about/limits-and-status" + "source": "/docs/data-platform/about/limits-and-status", + "destination": "/docs/data-platform/classic-projects/about/limits-and-status" }, { - "source": "/data-platform/about", - "destination": "/data-platform/classic-projects/about" + "source": "/docs/data-platform/about", + "destination": "/docs/data-platform/classic-projects/about" }, { - "source": "/data-platform/data-proxy/use-data-proxy", - "destination": "/data-platform/classic-projects/data-proxy/use-data-proxy" + "source": "/docs/data-platform/data-proxy/use-data-proxy", + "destination": "/docs/data-platform/classic-projects/data-proxy/use-data-proxy" }, { - "source": "/data-platform/data-proxy/deploy", - "destination": "/data-platform/classic-projects/data-proxy/deploy" + "source": "/docs/data-platform/data-proxy/deploy", + "destination": "/docs/data-platform/classic-projects/data-proxy/deploy" }, { - "source": "/data-platform/data-proxy/prisma-cli-with-data-proxy", - "destination": "/data-platform/classic-projects/data-proxy/prisma-cli-with-data-proxy" + "source": "/docs/data-platform/data-proxy/prisma-cli-with-data-proxy", + "destination": "/docs/data-platform/classic-projects/data-proxy/prisma-cli-with-data-proxy" }, { - "source": "/data-platform/data-proxy/considerations-limitations", - "destination": "/data-platform/classic-projects/data-proxy/considerations-limitations" + "source": "/docs/data-platform/data-proxy/considerations-limitations", + "destination": "/docs/data-platform/classic-projects/data-proxy/considerations-limitations" }, { - "source": "/data-platform/data-proxy", - "destination": "/data-platform/classic-projects/data-proxy" + "source": "/docs/data-platform/data-proxy", + "destination": "/docs/data-platform/classic-projects/data-proxy" }, { - "source": "/data-platform/static-ips", - "destination": "/data-platform/classic-projects/platform/static-ips" + "source": "/docs/data-platform/static-ips", + "destination": "/docs/data-platform/classic-projects/platform/static-ips" }, { - "source": "/data-platform/projects/create", - "destination": "/data-platform/classic-projects/platform/projects/create" + "source": "/docs/data-platform/projects/create", + "destination": "/docs/data-platform/classic-projects/platform/projects/create" }, { - "source": "/data-platform/projects/edit-settings", - "destination": "/data-platform/classic-projects/platform/projects/edit-settings" + "source": "/docs/data-platform/projects/edit-settings", + "destination": "/docs/data-platform/classic-projects/platform/projects/edit-settings" }, { - "source": "/data-platform/projects/delete-project", - "destination": "/data-platform/classic-projects/platform/projects/delete-project" + "source": "/docs/data-platform/projects/delete-project", + "destination": "/docs/data-platform/classic-projects/platform/projects/delete-project" }, { - "source": "/data-platform/projects", - "destination": "/data-platform/classic-projects/platform/projects" + "source": "/docs/data-platform/projects", + "destination": "/docs/data-platform/classic-projects/platform/projects" }, { - "source": "/data-platform/environments/view-all", - "destination": "/data-platform/classic-projects/platform/environments/view-all" + "source": "/docs/data-platform/environments/view-all", + "destination": "/docs/data-platform/classic-projects/platform/environments/view-all" }, { - "source": "/data-platform/environments/create", - "destination": "/data-platform/classic-projects/platform/environments/create" + "source": "/docs/data-platform/environments/create", + "destination": "/docs/data-platform/classic-projects/platform/environments/create" }, { - "source": "/data-platform/environments/edit-settings/edit-name-and-url-handle", - "destination": "/data-platform/classic-projects/platform/environments/edit-settings/edit-name-and-url-handle" + "source": "/docs/data-platform/environments/edit-settings/edit-name-and-url-handle", + "destination": "/docs/data-platform/classic-projects/platform/environments/edit-settings/edit-name-and-url-handle" }, { - "source": "/data-platform/environments/edit-settings/change-default-environment", - "destination": "/data-platform/classic-projects/platform/environments/edit-settings/change-default-environment" + "source": "/docs/data-platform/environments/edit-settings/change-default-environment", + "destination": "/docs/data-platform/classic-projects/platform/environments/edit-settings/change-default-environment" }, { - "source": "/data-platform/environments/edit-settings", - "destination": "/data-platform/classic-projects/platform/environments/edit-settings" + "source": "/docs/data-platform/environments/edit-settings", + "destination": "/docs/data-platform/classic-projects/platform/environments/edit-settings" }, { - "source": "/data-platform/environments/delete", - "destination": "/data-platform/classic-projects/platform/environments/delete" + "source": "/docs/data-platform/environments/delete", + "destination": "/docs/data-platform/classic-projects/platform/environments/delete" }, { - "source": "/data-platform/environments", - "destination": "/data-platform/classic-projects/platform/environments" + "source": "/docs/data-platform/environments", + "destination": "/docs/data-platform/classic-projects/platform/environments" }, { - "source": "/data-platform/members/roles-permissions", - "destination": "/data-platform/classic-projects/platform/members/roles-permissions" + "source": "/docs/data-platform/members/roles-permissions", + "destination": "/docs/data-platform/classic-projects/platform/members/roles-permissions" }, { - "source": "/data-platform/members/add", - "destination": "/data-platform/classic-projects/platform/members/add" + "source": "/docs/data-platform/members/add", + "destination": "/docs/data-platform/classic-projects/platform/members/add" }, { - "source": "/data-platform/members/change-role", - "destination": "/data-platform/classic-projects/platform/members/change-role" + "source": "/docs/data-platform/members/change-role", + "destination": "/docs/data-platform/classic-projects/platform/members/change-role" }, { - "source": "/data-platform/members/remove", - "destination": "/data-platform/classic-projects/platform/members/remove" + "source": "/docs/data-platform/members/remove", + "destination": "/docs/data-platform/classic-projects/platform/members/remove" }, { - "source": "/data-platform/members", - "destination": "/data-platform/classic-projects/platform/members" + "source": "/docs/data-platform/members", + "destination": "/docs/data-platform/classic-projects/platform/members" }, { - "source": "/data-platform/data-browser", - "destination": "/data-platform/classic-projects/platform/data-browser" + "source": "/docs/data-platform/data-browser", + "destination": "/docs/data-platform/classic-projects/platform/data-browser" }, { - "source": "/data-platform/query-console", - "destination": "/data-platform/classic-projects/platform/query-console" + "source": "/docs/data-platform/query-console", + "destination": "/docs/data-platform/classic-projects/platform/query-console" }, { - "source": "/data-platform/schema-viewer", - "destination": "/data-platform/classic-projects/platform/schema-viewer" + "source": "/docs/data-platform/schema-viewer", + "destination": "/docs/data-platform/classic-projects/platform/schema-viewer" }, { - "source": "/data-platform/account", - "destination": "/data-platform/classic-projects/platform/account" + "source": "/docs/data-platform/account", + "destination": "/docs/data-platform/classic-projects/platform/account" }, { - "source": "/data-platform/github-integration", - "destination": "/data-platform/classic-projects/platform/github-integration" + "source": "/docs/data-platform/github-integration", + "destination": "/docs/data-platform/classic-projects/platform/github-integration" }, { - "source": "/data-platform/billing/plans-and-quotas", - "destination": "/data-platform/classic-projects/platform/billing/plans-and-quotas" + "source": "/docs/data-platform/billing/plans-and-quotas", + "destination": "/docs/data-platform/classic-projects/platform/billing/plans-and-quotas" }, { - "source": "/data-platform/billing/manage-plans", - "destination": "/data-platform/classic-projects/platform/billing/manage-plans" + "source": "/docs/data-platform/billing/manage-plans", + "destination": "/docs/data-platform/classic-projects/platform/billing/manage-plans" }, { - "source": "/data-platform/billing/invoices", - "destination": "/data-platform/classic-projects/platform/billing/invoices" + "source": "/docs/data-platform/billing/invoices", + "destination": "/docs/data-platform/classic-projects/platform/billing/invoices" }, { - "source": "/data-platform/billing/data-proxy-usage", - "destination": "/data-platform/classic-projects/platform/billing/data-proxy-usage" + "source": "/docs/data-platform/billing/data-proxy-usage", + "destination": "/docs/data-platform/classic-projects/platform/billing/data-proxy-usage" }, { - "source": "/data-platform/billing/payment-method-and-billing-information", - "destination": "/data-platform/classic-projects/platform/billing/payment-method-and-billing-information" + "source": "/docs/data-platform/billing/payment-method-and-billing-information", + "destination": "/docs/data-platform/classic-projects/platform/billing/payment-method-and-billing-information" }, { - "source": "/data-platform/billing", - "destination": "/data-platform/classic-projects/platform/billing" + "source": "/docs/data-platform/billing", + "destination": "/docs/data-platform/classic-projects/platform/billing" }, { - "source": "/data-platform/troubleshooting/connection-to-db-timed-out", - "destination": "/data-platform/classic-projects/platform/troubleshooting/connection-to-db-timed-out" + "source": "/docs/data-platform/troubleshooting/connection-to-db-timed-out", + "destination": "/docs/data-platform/classic-projects/platform/troubleshooting/connection-to-db-timed-out" }, { - "source": "/data-platform/troubleshooting/cannot-change-db-of-env", - "destination": "/data-platform/classic-projects/platform/troubleshooting/cannot-change-db-of-env" + "source": "/docs/data-platform/troubleshooting/cannot-change-db-of-env", + "destination": "/docs/data-platform/classic-projects/platform/troubleshooting/cannot-change-db-of-env" }, { - "source": "/data-platform/troubleshooting/cannot-edit-schema-file", - "destination": "/data-platform/classic-projects/platform/troubleshooting/cannot-edit-schema-file" + "source": "/docs/data-platform/troubleshooting/cannot-edit-schema-file", + "destination": "/docs/data-platform/classic-projects/platform/troubleshooting/cannot-edit-schema-file" }, { - "source": "/data-platform/troubleshooting/schema-file-does-not-update", - "destination": "/data-platform/classic-projects/platform/troubleshooting/schema-file-does-not-update" + "source": "/docs/data-platform/troubleshooting/schema-file-does-not-update", + "destination": "/docs/data-platform/classic-projects/platform/troubleshooting/schema-file-does-not-update" }, { - "source": "/data-platform/troubleshooting", - "destination": "/data-platform/platform-console/support" + "source": "/docs/data-platform/troubleshooting", + "destination": "/docs/data-platform/platform-console/support" }, { - "source": "/data-platform/contact-support", - "destination": "/data-platform/platform-console/support" + "source": "/docs/data-platform/contact-support", + "destination": "/docs/data-platform/platform-console/support" }, { - "source": "/data-platform/cloud-projects/platform/account", - "destination": "/data-platform/platform-console/concepts" + "source": "/docs/data-platform/cloud-projects/platform/account", + "destination": "/docs/data-platform/platform-console/concepts" }, { - "source": "/data-platform/cloud-projects/platform/projects", - "destination": "/data-platform/platform-console/concepts/projects" + "source": "/docs/data-platform/cloud-projects/platform/projects", + "destination": "/docs/data-platform/platform-console/concepts/projects" }, { - "source": "/data-platform/cloud-projects/platform/organizations", - "destination": "/data-platform/platform-console/concepts/workspaces" + "source": "/docs/data-platform/cloud-projects/platform/organizations", + "destination": "/docs/data-platform/platform-console/concepts/workspaces" }, { - "source": "/data-platform/cloud-projects/platform/billing", - "destination": "/data-platform/platform-console/concepts/workspaces" + "source": "/docs/data-platform/cloud-projects/platform/billing", + "destination": "/docs/data-platform/platform-console/concepts/workspaces" }, { - "source": "/data-platform/cloud-projects/platform", - "destination": "/data-platform/platform-console" + "source": "/docs/data-platform/cloud-projects/platform", + "destination": "/docs/data-platform/platform-console" }, { - "source": "/data-platform/cloud-projects/faq", - "destination": "/data-platform/platform-console/limits" + "source": "/docs/data-platform/cloud-projects/faq", + "destination": "/docs/data-platform/platform-console/limits" }, { - "source": "/data-platform/cloud-projects/support", - "destination": "/data-platform/platform-console/support" + "source": "/docs/data-platform/cloud-projects/support", + "destination": "/docs/data-platform/platform-console/support" }, { - "source": "/data-platform/cloud-projects/about-cloud-projects", - "destination": "/data-platform/platform-console/about" + "source": "/docs/data-platform/cloud-projects/about-cloud-projects", + "destination": "/docs/data-platform/platform-console/about" }, { - "source": "/data-platform/cloud-projects", - "destination": "/data-platform/platform-console" + "source": "/docs/data-platform/cloud-projects", + "destination": "/docs/data-platform/platform-console" }, { - "source": "/data-platform/classic-projects/about/releases", - "destination": "/data-platform/platform-console/maturity-levels" + "source": "/docs/data-platform/classic-projects/about/releases", + "destination": "/docs/data-platform/platform-console/maturity-levels" }, { - "source": "/data-platform/classic-projects/about/limits-and-status", - "destination": "/data-platform/platform-console/limits" + "source": "/docs/data-platform/classic-projects/about/limits-and-status", + "destination": "/docs/data-platform/platform-console/limits" }, { - "source": "/data-platform/classic-projects/about", - "destination": "/data-platform/platform-console/about" + "source": "/docs/data-platform/classic-projects/about", + "destination": "/docs/data-platform/platform-console/about" }, { - "source": "/data-platform/classic-projects/contact-support", - "destination": "/data-platform/platform-console/support" + "source": "/docs/data-platform/classic-projects/contact-support", + "destination": "/docs/data-platform/platform-console/support" }, { - "source": "/guides/performance-and-optimization/connection-management/configure-pg-bouncer", - "destination": "/guides/performance-and-optimization/connection-management/configure-for-external-connection-pooler" + "source": "/docs/guides/performance-and-optimization/connection-management/configure-pg-bouncer", + "destination": "/docs/guides/performance-and-optimization/connection-management/configure-for-external-connection-pooler" }, { - "source": "/data-platform/classic-projects/platform/billing", + "source": "/docs/data-platform/classic-projects/platform/billing", "destination": "https://www.prisma.io/pricing" }, { - "source": "/data-platform/accelerate/testing", - "destination": "/data-platform/accelerate/evaluating" + "source": "/docs/data-platform/accelerate/testing", + "destination": "/docs/data-platform/accelerate/evaluating" }, { - "source": "/data-platform/classic-projects/platform/billing/plans-and-quotas", + "source": "/docs/data-platform/classic-projects/platform/billing/plans-and-quotas", "destination": "https://www.prisma.io/pricing" }, { - "source": "/data-platform/classic-projects/platform/billing/manage-plans", + "source": "/docs/data-platform/classic-projects/platform/billing/manage-plans", "destination": "https://www.prisma.io/pricing" }, { - "source": "/concepts/components/prisma-schema", - "destination": "/orm/prisma-schema" + "source": "/docs/concepts/components/prisma-schema", + "destination": "/docs/orm/prisma-schema" }, { - "source": "/concepts/components/prisma-client/working-with-prismaclient", - "destination": "/orm/prisma-client" + "source": "/docs/concepts/components/prisma-client/working-with-prismaclient", + "destination": "/docs/orm/prisma-client" }, { - "source": "/concepts/components/prisma-client/transactions", - "destination": "/orm/prisma-client/queries/transactions" + "source": "/docs/concepts/components/prisma-client/transactions", + "destination": "/docs/orm/prisma-client/queries/transactions" }, { - "source": "/concepts/components/prisma-migrate/get-started", - "destination": "/orm/prisma-migrate/getting-started" + "source": "/docs/concepts/components/prisma-migrate/get-started", + "destination": "/docs/orm/prisma-migrate/getting-started" }, { - "source": "/concepts/components/prisma-migrate/db-push", - "destination": "/orm/prisma-migrate/workflows/prototyping-your-schema" + "source": "/docs/concepts/components/prisma-migrate/db-push", + "destination": "/docs/orm/prisma-migrate/workflows/prototyping-your-schema" }, { - "source": "/concepts/components/prisma-cli", - "destination": "/orm/tools/prisma-cli" + "source": "/docs/concepts/components/prisma-cli", + "destination": "/docs/orm/tools/prisma-cli" }, { - "source": "/concepts/components/prisma-engines", - "destination": "/orm/more/under-the-hood/engines" + "source": "/docs/concepts/components/prisma-engines", + "destination": "/docs/orm/more/under-the-hood/engines" }, { - "source": "/concepts/database-connectors/mongodb", - "destination": "/orm/" + "source": "/docs/concepts/database-connectors/mongodb", + "destination": "/docs/orm/" }, { - "source": "/concepts/database-connectors", - "destination": "/orm/overview" + "source": "/docs/concepts/database-connectors", + "destination": "/docs/orm/overview" }, { - "source": "/concepts/more/telemetry", - "destination": "/orm/tools/prisma-cli#telemetry" + "source": "/docs/concepts/more/telemetry", + "destination": "/docs/orm/tools/prisma-cli#telemetry" }, { - "source": "/concepts/more", - "destination": "/orm/more" + "source": "/docs/concepts/more", + "destination": "/docs/orm/more" }, { - "source": "/concepts", - "destination": "/orm" + "source": "/docs/concepts", + "destination": "/docs/orm" }, { - "source": "/concepts/overview/why-prisma", - "destination": "/orm/overview/introduction/why-prisma" + "source": "/docs/concepts/overview/why-prisma", + "destination": "/docs/orm/overview/introduction/why-prisma" }, { - "source": "/concepts/overview/should-you-use-prisma", - "destination": "/orm/overview/introduction/should-you-use-prisma" + "source": "/docs/concepts/overview/should-you-use-prisma", + "destination": "/docs/orm/overview/introduction/should-you-use-prisma" }, { - "source": "/concepts/overview/what-is-prisma/data-modeling", - "destination": "/orm/overview/introduction/data-modeling" + "source": "/docs/concepts/overview/what-is-prisma/data-modeling", + "destination": "/docs/orm/overview/introduction/data-modeling" }, { - "source": "/concepts/overview/what-is-prisma", - "destination": "/orm/overview/introduction/what-is-prisma" + "source": "/docs/concepts/overview/what-is-prisma", + "destination": "/docs/orm/overview/introduction/what-is-prisma" }, { - "source": "/concepts/components/database-drivers", - "destination": "/orm/overview/introduction/databases/database-drivers" + "source": "/docs/concepts/components/database-drivers", + "destination": "/docs/orm/overview/introduction/databases/database-drivers" }, { - "source": "/concepts/database-connectors/postgresql", - "destination": "/orm/overview/introduction/databases/postgresql" + "source": "/docs/concepts/database-connectors/postgresql", + "destination": "/docs/orm/overview/introduction/databases/postgresql" }, { - "source": "/concepts/database-connectors/mysql", - "destination": "/orm/overview/introduction/databases/mysql" + "source": "/docs/concepts/database-connectors/mysql", + "destination": "/docs/orm/overview/introduction/databases/mysql" }, { - "source": "/concepts/database-connectors/sqlite", - "destination": "/orm/overview/introduction/databases/sqlite" + "source": "/docs/concepts/database-connectors/sqlite", + "destination": "/docs/orm/overview/introduction/databases/sqlite" }, { - "source": "/guides/database/mongodb", - "destination": "/orm/overview/introduction/databases/mongodb" + "source": "/docs/guides/database/mongodb", + "destination": "/docs/orm/overview/introduction/databases/mongodb" }, { - "source": "/concepts/database-connectors/cockroachdb", - "destination": "/orm/overview/introduction/databases/cockroachdb" + "source": "/docs/concepts/database-connectors/cockroachdb", + "destination": "/docs/orm/overview/introduction/databases/cockroachdb" }, { - "source": "/concepts/database-connectors/sql-server/sql-server-local", - "destination": "/orm/overview/introduction/databases/sql-server/sql-server-local" + "source": "/docs/concepts/database-connectors/sql-server/sql-server-local", + "destination": "/docs/orm/overview/introduction/databases/sql-server/sql-server-local" }, { - "source": "/concepts/database-connectors/sql-server/sql-server-docker", - "destination": "/orm/overview/introduction/databases/sql-server/sql-server-docker" + "source": "/docs/concepts/database-connectors/sql-server/sql-server-docker", + "destination": "/docs/orm/overview/introduction/databases/sql-server/sql-server-docker" }, { - "source": "/concepts/database-connectors/sql-server", - "destination": "/orm/overview/introduction/databases/sql-server" + "source": "/docs/concepts/database-connectors/sql-server", + "destination": "/docs/orm/overview/introduction/databases/sql-server" }, { - "source": "/guides/database/planetscale", - "destination": "/orm/overview/introduction/databases/planetscale" + "source": "/docs/guides/database/planetscale", + "destination": "/docs/orm/overview/introduction/databases/planetscale" }, { - "source": "/guides/database/cockroachdb", - "destination": "/orm/overview/introduction/databases/cockroachdb" + "source": "/docs/guides/database/cockroachdb", + "destination": "/docs/orm/overview/introduction/databases/cockroachdb" }, { - "source": "/guides/database/supabase", - "destination": "/orm/overview/introduction/databases/supabase" + "source": "/docs/guides/database/supabase", + "destination": "/docs/orm/overview/introduction/databases/supabase" }, { - "source": "/guides/database/neon", - "destination": "/orm/overview/introduction/databases/neon" + "source": "/docs/guides/database/neon", + "destination": "/docs/orm/overview/introduction/databases/neon" }, { - "source": "/guides/database/turso", - "destination": "/orm/overview/introduction/databases/turso" + "source": "/docs/guides/database/turso", + "destination": "/docs/orm/overview/introduction/databases/turso" }, { - "source": "/guides/database/images/embedded-replica-create-replica.png", - "destination": "/orm/overview/introduction/databases/images/embedded-replica-create-replica.png" + "source": "/docs/guides/database/images/embedded-replica-create-replica.png", + "destination": "/docs/orm/overview/introduction/databases/images/embedded-replica-create-replica.png" }, { - "source": "/guides/database/images/embedded-replica-read.png", - "destination": "/orm/overview/introduction/databases/images/embedded-replica-read.png" + "source": "/docs/guides/database/images/embedded-replica-read.png", + "destination": "/docs/orm/overview/introduction/databases/images/embedded-replica-read.png" }, { - "source": "/guides/database/images/embedded-replica-remote-read.png", - "destination": "/orm/overview/introduction/databases/images/embedded-replica-remote-read.png" + "source": "/docs/guides/database/images/embedded-replica-remote-read.png", + "destination": "/docs/orm/overview/introduction/databases/images/embedded-replica-remote-read.png" }, { - "source": "/guides/database/images/embedded-replica-write-propagation.png", - "destination": "/orm/overview/introduction/databases/images/embedded-replica-write-propagation.png" + "source": "/docs/guides/database/images/embedded-replica-write-propagation.png", + "destination": "/docs/orm/overview/introduction/databases/images/embedded-replica-write-propagation.png" }, { - "source": "/concepts/database-connectors/mongodb.png", - "destination": "/orm/overview/introduction/databases/mongodb.png" + "source": "/docs/concepts/database-connectors/mongodb.png", + "destination": "/docs/orm/overview/introduction/databases/mongodb.png" }, { - "source": "/concepts/database-connectors/mysql-connection-string.png", - "destination": "/orm/overview/introduction/databases/mysql-connection-string.png" + "source": "/docs/concepts/database-connectors/mysql-connection-string.png", + "destination": "/docs/orm/overview/introduction/databases/mysql-connection-string.png" }, { - "source": "/concepts/database-connectors/postgresql-connection-string.png", - "destination": "/orm/overview/introduction/databases/postgresql-connection-string.png" + "source": "/docs/concepts/database-connectors/postgresql-connection-string.png", + "destination": "/docs/orm/overview/introduction/databases/postgresql-connection-string.png" }, { - "source": "/concepts/overview/node-js-db-tools-tradeoffs.png", - "destination": "/orm/overview/introduction/node-js-db-tools-tradeoffs.png" + "source": "/docs/concepts/overview/node-js-db-tools-tradeoffs.png", + "destination": "/docs/orm/overview/introduction/node-js-db-tools-tradeoffs.png" }, { - "source": "/concepts/overview/prisma-makes-devs-productive.png", - "destination": "/orm/overview/introduction/prisma-makes-devs-productive.png" + "source": "/docs/concepts/overview/prisma-makes-devs-productive.png", + "destination": "/docs/orm/overview/introduction/prisma-makes-devs-productive.png" }, { - "source": "/concepts/overview/prisma-rest-apis.png", - "destination": "/orm/overview/introduction/prisma-rest-apis.png" + "source": "/docs/concepts/overview/prisma-rest-apis.png", + "destination": "/docs/orm/overview/introduction/prisma-rest-apis.png" }, { - "source": "/concepts/overview/user-post-relation-1-n.png", - "destination": "/orm/overview/introduction/user-post-relation-1-n.png" + "source": "/docs/concepts/overview/user-post-relation-1-n.png", + "destination": "/docs/orm/overview/introduction/user-post-relation-1-n.png" }, { - "source": "/concepts/overview/user-table.png", - "destination": "/orm/overview/introduction/user-table.png" + "source": "/docs/concepts/overview/user-table.png", + "destination": "/docs/orm/overview/introduction/user-table.png" }, { - "source": "/concepts/overview/user-table.svg", - "destination": "/orm/overview/introduction/user-table.svg" + "source": "/docs/concepts/overview/user-table.svg", + "destination": "/docs/orm/overview/introduction/user-table.svg" }, { - "source": "/concepts/overview/prisma-in-your-stack/rest.md", - "destination": "/orm/overview/prisma-in-your-stack/rest.md" + "source": "/docs/concepts/overview/prisma-in-your-stack/rest.md", + "destination": "/docs/orm/overview/prisma-in-your-stack/rest.md" }, { - "source": "/concepts/overview/prisma-in-your-stack/graphql.md", - "destination": "/orm/overview/prisma-in-your-stack/graphql.md" + "source": "/docs/concepts/overview/prisma-in-your-stack/graphql.md", + "destination": "/docs/orm/overview/prisma-in-your-stack/graphql.md" }, { - "source": "/concepts/overview/prisma-in-your-stack/fullstack", - "destination": "/orm/overview/prisma-in-your-stack/fullstack" + "source": "/docs/concepts/overview/prisma-in-your-stack/fullstack", + "destination": "/docs/orm/overview/prisma-in-your-stack/fullstack" }, { - "source": "/concepts/overview/prisma-in-your-stack/is-prisma-an-orm", - "destination": "/orm/overview/prisma-in-your-stack/is-prisma-an-orm" + "source": "/docs/concepts/overview/prisma-in-your-stack/is-prisma-an-orm", + "destination": "/docs/orm/overview/prisma-in-your-stack/is-prisma-an-orm" }, { - "source": "/concepts/overview/prisma-in-your-stack", - "destination": "/orm/overview/prisma-in-your-stack" + "source": "/docs/concepts/overview/prisma-in-your-stack", + "destination": "/docs/orm/overview/prisma-in-your-stack" }, { - "source": "/concepts/overview", - "destination": "/orm/overview" + "source": "/docs/concepts/overview", + "destination": "/docs/orm/overview" }, { - "source": "/concepts/components/prisma-client/working-with-prismaclient/generating-prisma-client", - "destination": "/orm/prisma-client/setup-and-configuration/generating-prisma-client" + "source": "/docs/concepts/components/prisma-client/working-with-prismaclient/generating-prisma-client", + "destination": "/docs/orm/prisma-client/setup-and-configuration/generating-prisma-client" }, { - "source": "/concepts/components/prisma-client/working-with-prismaclient/instantiate-prisma-client", - "destination": "/orm/prisma-client/setup-and-configuration/instantiate-prisma-client" + "source": "/docs/concepts/components/prisma-client/working-with-prismaclient/instantiate-prisma-client", + "destination": "/docs/orm/prisma-client/setup-and-configuration/instantiate-prisma-client" }, { - "source": "/concepts/components/prisma-client/read-replicas", - "destination": "/orm/prisma-client/setup-and-configuration/read-replicas" + "source": "/docs/concepts/components/prisma-client/read-replicas", + "destination": "/docs/orm/prisma-client/setup-and-configuration/read-replicas" }, { - "source": "/concepts/components/prisma-client/working-with-prismaclient/use-custom-model-and-field-names", - "destination": "/orm/prisma-client/setup-and-configuration/custom-model-and-field-names" + "source": "/docs/concepts/components/prisma-client/working-with-prismaclient/use-custom-model-and-field-names", + "destination": "/docs/orm/prisma-client/setup-and-configuration/custom-model-and-field-names" }, { - "source": "/concepts/components/prisma-client/working-with-prismaclient/logging", - "destination": "/orm/prisma-client/setup-and-configuration/logging" + "source": "/docs/concepts/components/prisma-client/working-with-prismaclient/logging", + "destination": "/docs/orm/prisma-client/setup-and-configuration/logging" }, { - "source": "/concepts/components/prisma-client/working-with-prismaclient/error-formatting", - "destination": "/orm/prisma-client/setup-and-configuration/error-formatting" + "source": "/docs/concepts/components/prisma-client/working-with-prismaclient/error-formatting", + "destination": "/docs/orm/prisma-client/setup-and-configuration/error-formatting" }, { - "source": "/concepts/components/prisma-client/database-polyfills", - "destination": "/orm/prisma-client/setup-and-configuration/database-polyfills" + "source": "/docs/concepts/components/prisma-client/database-polyfills", + "destination": "/docs/orm/prisma-client/setup-and-configuration/database-polyfills" }, { - "source": "/concepts/components/prisma-client/working-with-prismaclient/connection-management", - "destination": "/orm/prisma-client/setup-and-configuration/databases-connections/connection-management" + "source": "/docs/concepts/components/prisma-client/working-with-prismaclient/connection-management", + "destination": "/docs/orm/prisma-client/setup-and-configuration/databases-connections/connection-management" }, { - "source": "/concepts/components/prisma-client/working-with-prismaclient/connection-pool", - "destination": "/orm/prisma-client/setup-and-configuration/databases-connections/connection-pool" + "source": "/docs/concepts/components/prisma-client/working-with-prismaclient/connection-pool", + "destination": "/docs/orm/prisma-client/setup-and-configuration/databases-connections/connection-pool" }, { - "source": "/guides/performance-and-optimization/connection-management/configure-for-external-connection-pooler", - "destination": "/orm/prisma-client/setup-and-configuration/databases-connections/pgbouncer" + "source": "/docs/guides/performance-and-optimization/connection-management/configure-for-external-connection-pooler", + "destination": "/docs/orm/prisma-client/setup-and-configuration/databases-connections/pgbouncer" }, { - "source": "/guides/performance-and-optimization/connection-management", - "destination": "/orm/prisma-client/setup-and-configuration/databases-connections" + "source": "/docs/guides/performance-and-optimization/connection-management", + "destination": "/docs/orm/prisma-client/setup-and-configuration/databases-connections" }, { - "source": "/guides/performance-and-optimization/connection-management/serverless-connections-2.png", - "destination": "/orm/prisma-client/setup-and-configuration/databases-connections/serverless-connections-2.png" + "source": "/docs/guides/performance-and-optimization/connection-management/serverless-connections-2.png", + "destination": "/docs/orm/prisma-client/setup-and-configuration/databases-connections/serverless-connections-2.png" }, { - "source": "/guides/performance-and-optimization/connection-management/serverless-connections.png", - "destination": "/orm/prisma-client/setup-and-configuration/databases-connections/serverless-connections.png" + "source": "/docs/guides/performance-and-optimization/connection-management/serverless-connections.png", + "destination": "/docs/orm/prisma-client/setup-and-configuration/databases-connections/serverless-connections.png" }, { - "source": "/concepts/components/prisma-client/working-with-prismaclient/prisma-client-generation-workflow.png", - "destination": "/orm/prisma-client/setup-and-configuration/prisma-client-generation-workflow.png" + "source": "/docs/concepts/components/prisma-client/working-with-prismaclient/prisma-client-generation-workflow.png", + "destination": "/docs/orm/prisma-client/setup-and-configuration/prisma-client-generation-workflow.png" }, { - "source": "/concepts/components/prisma-client/working-with-prismaclient/prisma-client-node-module.png", - "destination": "/orm/prisma-client/setup-and-configuration/prisma-client-node-module.png" + "source": "/docs/concepts/components/prisma-client/working-with-prismaclient/prisma-client-node-module.png", + "destination": "/docs/orm/prisma-client/setup-and-configuration/prisma-client-node-module.png" }, { - "source": "/concepts/components/prisma-client/crud", - "destination": "/orm/prisma-client/queries/crud" + "source": "/docs/concepts/components/prisma-client/crud", + "destination": "/docs/orm/prisma-client/queries/crud" }, { - "source": "/concepts/components/prisma-client/select-fields", - "destination": "/orm/prisma-client/queries/select-fields" + "source": "/docs/concepts/components/prisma-client/select-fields", + "destination": "/docs/orm/prisma-client/queries/select-fields" }, { - "source": "/concepts/components/prisma-client/relation-queries", - "destination": "/orm/prisma-client/queries/relation-queries" + "source": "/docs/concepts/components/prisma-client/relation-queries", + "destination": "/docs/orm/prisma-client/queries/relation-queries" }, { - "source": "/concepts/components/prisma-client/filtering-and-sorting", - "destination": "/orm/prisma-client/queries/filtering-and-sorting" + "source": "/docs/concepts/components/prisma-client/filtering-and-sorting", + "destination": "/docs/orm/prisma-client/queries/filtering-and-sorting" }, { - "source": "/concepts/components/prisma-client/pagination", - "destination": "/orm/prisma-client/queries/pagination" + "source": "/docs/concepts/components/prisma-client/pagination", + "destination": "/docs/orm/prisma-client/queries/pagination" }, { - "source": "/concepts/components/prisma-client/aggregation-grouping-summarizing", - "destination": "/orm/prisma-client/queries/aggregation-grouping-summarizing" + "source": "/docs/concepts/components/prisma-client/aggregation-grouping-summarizing", + "destination": "/docs/orm/prisma-client/queries/aggregation-grouping-summarizing" }, { - "source": "/guides/performance-and-optimization/prisma-client-transactions-guide", - "destination": "/orm/prisma-client/queries/transactions" + "source": "/docs/guides/performance-and-optimization/prisma-client-transactions-guide", + "destination": "/docs/orm/prisma-client/queries/transactions" }, { - "source": "/concepts/components/prisma-client/full-text-search", - "destination": "/orm/prisma-client/queries/full-text-search" + "source": "/docs/concepts/components/prisma-client/full-text-search", + "destination": "/docs/orm/prisma-client/queries/full-text-search" }, { - "source": "/concepts/components/prisma-client/custom-validation", - "destination": "/orm/prisma-client/queries/custom-validation" + "source": "/docs/concepts/components/prisma-client/custom-validation", + "destination": "/docs/orm/prisma-client/queries/custom-validation" }, { - "source": "/concepts/components/prisma-client/computed-fields", - "destination": "/orm/prisma-client/queries/computed-fields" + "source": "/docs/concepts/components/prisma-client/computed-fields", + "destination": "/docs/orm/prisma-client/queries/computed-fields" }, { - "source": "/concepts/components/prisma-client/excluding-fields", - "destination": "/orm/prisma-client/queries/excluding-fields" + "source": "/docs/concepts/components/prisma-client/excluding-fields", + "destination": "/docs/orm/prisma-client/queries/excluding-fields" }, { - "source": "/concepts/components/prisma-client/custom-models", - "destination": "/orm/prisma-client/queries/custom-models" + "source": "/docs/concepts/components/prisma-client/custom-models", + "destination": "/docs/orm/prisma-client/queries/custom-models" }, { - "source": "/concepts/components/prisma-client/case-sensitivity", - "destination": "/orm/prisma-client/queries/case-sensitivity" + "source": "/docs/concepts/components/prisma-client/case-sensitivity", + "destination": "/docs/orm/prisma-client/queries/case-sensitivity" }, { - "source": "/concepts/components/prisma-client/raw-database-access", - "destination": "/orm/prisma-client/queries/raw-database-access/raw-queries" + "source": "/docs/concepts/components/prisma-client/raw-database-access", + "destination": "/docs/orm/prisma-client/queries/raw-database-access/raw-queries" }, { - "source": "/guides/other/advanced-database-tasks/typesafe-raw-sql/safeql", - "destination": "/orm/prisma-client/queries/raw-database-access/custom-and-type-safe-queries" + "source": "/docs/guides/other/advanced-database-tasks/typesafe-raw-sql/safeql", + "destination": "/docs/orm/prisma-client/queries/raw-database-access/custom-and-type-safe-queries" }, { - "source": "/guides/performance-and-optimization/query-optimization-performance", - "destination": "/orm/prisma-client/queries/query-optimization-performance" + "source": "/docs/guides/performance-and-optimization/query-optimization-performance", + "destination": "/docs/orm/prisma-client/queries/query-optimization-performance" }, { - "source": "/concepts/components/prisma-client/composite-types", - "destination": "/orm/prisma-client/special-fields-and-types/composite-types" + "source": "/docs/concepts/components/prisma-client/composite-types", + "destination": "/docs/orm/prisma-client/special-fields-and-types/composite-types" }, { - "source": "/concepts/components/prisma-client/null-and-undefined", - "destination": "/orm/prisma-client/special-fields-and-types/null-and-undefined" + "source": "/docs/concepts/components/prisma-client/null-and-undefined", + "destination": "/docs/orm/prisma-client/special-fields-and-types/null-and-undefined" }, { - "source": "/concepts/components/prisma-client/working-with-fields/working-with-json-fields", - "destination": "/orm/prisma-client/special-fields-and-types/working-with-json-fields" + "source": "/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields", + "destination": "/docs/orm/prisma-client/special-fields-and-types/working-with-json-fields" }, { - "source": "/concepts/components/prisma-client/working-with-fields/working-with-scalar-lists-arrays", - "destination": "/orm/prisma-client/special-fields-and-types/working-with-scalar-lists-arrays" + "source": "/docs/concepts/components/prisma-client/working-with-fields/working-with-scalar-lists-arrays", + "destination": "/docs/orm/prisma-client/special-fields-and-types/working-with-scalar-lists-arrays" }, { - "source": "/concepts/components/prisma-client/working-with-fields/working-with-composite-ids-and-constraints", - "destination": "/orm/prisma-client/special-fields-and-types/working-with-composite-ids-and-constraints" + "source": "/docs/concepts/components/prisma-client/working-with-fields/working-with-composite-ids-and-constraints", + "destination": "/docs/orm/prisma-client/special-fields-and-types/working-with-composite-ids-and-constraints" }, { - "source": "/concepts/components/prisma-client/working-with-fields", - "destination": "/orm/prisma-client/special-fields-and-types" + "source": "/docs/concepts/components/prisma-client/working-with-fields", + "destination": "/docs/orm/prisma-client/special-fields-and-types" }, { - "source": "/concepts/components/prisma-client/client-extensions/model", - "destination": "/orm/prisma-client/client-extensions/model" + "source": "/docs/concepts/components/prisma-client/client-extensions/model", + "destination": "/docs/orm/prisma-client/client-extensions/model" }, { - "source": "/concepts/components/prisma-client/client-extensions/client", - "destination": "/orm/prisma-client/client-extensions/client" + "source": "/docs/concepts/components/prisma-client/client-extensions/client", + "destination": "/docs/orm/prisma-client/client-extensions/client" }, { - "source": "/concepts/components/prisma-client/client-extensions/query", - "destination": "/orm/prisma-client/client-extensions/query" + "source": "/docs/concepts/components/prisma-client/client-extensions/query", + "destination": "/docs/orm/prisma-client/client-extensions/query" }, { - "source": "/concepts/components/prisma-client/client-extensions/result", - "destination": "/orm/prisma-client/client-extensions/result" + "source": "/docs/concepts/components/prisma-client/client-extensions/result", + "destination": "/docs/orm/prisma-client/client-extensions/result" }, { - "source": "/concepts/components/prisma-client/client-extensions/shared-extensions", - "destination": "/orm/prisma-client/client-extensions/shared-extensions" + "source": "/docs/concepts/components/prisma-client/client-extensions/shared-extensions", + "destination": "/docs/orm/prisma-client/client-extensions/shared-extensions" }, { - "source": "/concepts/components/prisma-client/client-extensions/type-utilities", - "destination": "/orm/prisma-client/client-extensions/type-utilities" + "source": "/docs/concepts/components/prisma-client/client-extensions/type-utilities", + "destination": "/docs/orm/prisma-client/client-extensions/type-utilities" }, { - "source": "/concepts/components/prisma-client/client-extensions/extension-examples", - "destination": "/orm/prisma-client/client-extensions/extension-examples" + "source": "/docs/concepts/components/prisma-client/client-extensions/extension-examples", + "destination": "/docs/orm/prisma-client/client-extensions/extension-examples" }, { - "source": "/concepts/components/prisma-client/middleware/soft-delete-middleware", - "destination": "/orm/prisma-client/client-extensions/middleware/soft-delete-middleware" + "source": "/docs/concepts/components/prisma-client/middleware/soft-delete-middleware", + "destination": "/docs/orm/prisma-client/client-extensions/middleware/soft-delete-middleware" }, { - "source": "/concepts/components/prisma-client/middleware/logging-middleware", - "destination": "/orm/prisma-client/client-extensions/middleware/logging-middleware" + "source": "/docs/concepts/components/prisma-client/middleware/logging-middleware", + "destination": "/docs/orm/prisma-client/client-extensions/middleware/logging-middleware" }, { - "source": "/concepts/components/prisma-client/middleware/session-data-middleware", - "destination": "/orm/prisma-client/client-extensions/middleware/session-data-middleware" + "source": "/docs/concepts/components/prisma-client/middleware/session-data-middleware", + "destination": "/docs/orm/prisma-client/client-extensions/middleware/session-data-middleware" }, { - "source": "/concepts/components/prisma-client/middleware", - "destination": "/orm/prisma-client/client-extensions/middleware" + "source": "/docs/concepts/components/prisma-client/middleware", + "destination": "/docs/orm/prisma-client/client-extensions/middleware" }, { - "source": "/concepts/components/prisma-client/client-extensions", - "destination": "/orm/prisma-client/client-extensions" + "source": "/docs/concepts/components/prisma-client/client-extensions", + "destination": "/docs/orm/prisma-client/client-extensions" }, { - "source": "/concepts/components/prisma-client/advanced-type-safety/operating-against-partial-structures-of-model-types", - "destination": "/orm/prisma-client/type-safety/operating-against-partial-structures-of-model-types" + "source": "/docs/concepts/components/prisma-client/advanced-type-safety/operating-against-partial-structures-of-model-types", + "destination": "/docs/orm/prisma-client/type-safety/operating-against-partial-structures-of-model-types" }, { - "source": "/guides/other/prisma-type-system", - "destination": "/orm/prisma-client/type-safety/prisma-type-system" + "source": "/docs/guides/other/prisma-type-system", + "destination": "/docs/orm/prisma-client/type-safety/prisma-type-system" }, { - "source": "/concepts/components/prisma-client/advanced-type-safety/prisma-validator", - "destination": "/orm/prisma-client/type-safety/prisma-validator" + "source": "/docs/concepts/components/prisma-client/advanced-type-safety/prisma-validator", + "destination": "/docs/orm/prisma-client/type-safety/prisma-validator" }, { - "source": "/concepts/components/prisma-client/advanced-type-safety", - "destination": "/orm/prisma-client/type-safety" + "source": "/docs/concepts/components/prisma-client/advanced-type-safety", + "destination": "/docs/orm/prisma-client/type-safety" }, { - "source": "/guides/testing/unit-testing", - "destination": "/orm/prisma-client/testing/unit-testing" + "source": "/docs/guides/testing/unit-testing", + "destination": "/docs/orm/prisma-client/testing/unit-testing" }, { - "source": "/guides/testing/integration-testing", - "destination": "/orm/prisma-client/testing/integration-testing" + "source": "/docs/guides/testing/integration-testing", + "destination": "/docs/orm/prisma-client/testing/integration-testing" }, { - "source": "/guides/testing/Docker_Diagram_V1.png", - "destination": "/orm/prisma-client/testing/Docker_Diagram_V1.png" + "source": "/docs/guides/testing/Docker_Diagram_V1.png", + "destination": "/docs/orm/prisma-client/testing/Docker_Diagram_V1.png" }, { - "source": "/guides/testing", - "destination": "/orm/prisma-client/testing" + "source": "/docs/guides/testing", + "destination": "/docs/orm/prisma-client/testing" }, { - "source": "/guides/deployment/deploy-prisma", - "destination": "/orm/prisma-client/deployment/deploy-prisma" + "source": "/docs/guides/deployment/deploy-prisma", + "destination": "/docs/orm/prisma-client/deployment/deploy-prisma" }, { - "source": "/guides/deployment/traditional/deploy-to-heroku", - "destination": "/orm/prisma-client/deployment/traditional/deploy-to-heroku" + "source": "/docs/guides/deployment/traditional/deploy-to-heroku", + "destination": "/docs/orm/prisma-client/deployment/traditional/deploy-to-heroku" }, { - "source": "/guides/deployment/traditional/deploy-to-koyeb", - "destination": "/orm/prisma-client/deployment/traditional/deploy-to-koyeb" + "source": "/docs/guides/deployment/traditional/deploy-to-koyeb", + "destination": "/docs/orm/prisma-client/deployment/traditional/deploy-to-koyeb" }, { - "source": "/guides/deployment/traditional/images/heroku-architecture.png", - "destination": "/orm/prisma-client/deployment/traditional/images/heroku-architecture.png" + "source": "/docs/guides/deployment/traditional/images/heroku-architecture.png", + "destination": "/docs/orm/prisma-client/deployment/traditional/images/heroku-architecture.png" }, { - "source": "/guides/deployment/traditional/images/heroku-deployed.png", - "destination": "/orm/prisma-client/deployment/traditional/images/heroku-deployed.png" + "source": "/docs/guides/deployment/traditional/images/heroku-deployed.png", + "destination": "/docs/orm/prisma-client/deployment/traditional/images/heroku-deployed.png" }, { - "source": "/guides/deployment/traditional/images/koyeb-app-creation.png", - "destination": "/orm/prisma-client/deployment/traditional/images/koyeb-app-creation.png" + "source": "/docs/guides/deployment/traditional/images/koyeb-app-creation.png", + "destination": "/docs/orm/prisma-client/deployment/traditional/images/koyeb-app-creation.png" }, { - "source": "/guides/deployment/traditional/images/koyeb-architecture.png", - "destination": "/orm/prisma-client/deployment/traditional/images/koyeb-architecture.png" + "source": "/docs/guides/deployment/traditional/images/koyeb-architecture.png", + "destination": "/docs/orm/prisma-client/deployment/traditional/images/koyeb-architecture.png" }, { - "source": "/guides/deployment/traditional/images/koyeb-deployed.png", - "destination": "/orm/prisma-client/deployment/traditional/images/koyeb-deployed.png" + "source": "/docs/guides/deployment/traditional/images/koyeb-deployed.png", + "destination": "/docs/orm/prisma-client/deployment/traditional/images/koyeb-deployed.png" }, { - "source": "/guides/deployment/traditional", - "destination": "/orm/prisma-client/deployment/traditional" + "source": "/docs/guides/deployment/traditional", + "destination": "/docs/orm/prisma-client/deployment/traditional" }, { - "source": "/guides/deployment/serverless/deploy-to-azure-functions", - "destination": "/orm/prisma-client/deployment/serverless/deploy-to-azure-functions" + "source": "/docs/guides/deployment/serverless/deploy-to-azure-functions", + "destination": "/docs/orm/prisma-client/deployment/serverless/deploy-to-azure-functions" }, { - "source": "/guides/deployment/serverless/deploy-to-vercel", - "destination": "/orm/prisma-client/deployment/serverless/deploy-to-vercel" + "source": "/docs/guides/deployment/serverless/deploy-to-vercel", + "destination": "/docs/orm/prisma-client/deployment/serverless/deploy-to-vercel" }, { - "source": "/guides/deployment/serverless/deploy-to-aws-lambda", - "destination": "/orm/prisma-client/deployment/serverless/deploy-to-aws-lambda" + "source": "/docs/guides/deployment/serverless/deploy-to-aws-lambda", + "destination": "/docs/orm/prisma-client/deployment/serverless/deploy-to-aws-lambda" }, { - "source": "/guides/deployment/serverless/deploy-to-netlify", - "destination": "/orm/prisma-client/deployment/serverless/deploy-to-netlify" + "source": "/docs/guides/deployment/serverless/deploy-to-netlify", + "destination": "/docs/orm/prisma-client/deployment/serverless/deploy-to-netlify" }, { - "source": "/guides/deployment/serverless/images/00-deploy-to-vercel-architecture.png", - "destination": "/orm/prisma-client/deployment/serverless/images/00-deploy-to-vercel-architecture.png" + "source": "/docs/guides/deployment/serverless/images/00-deploy-to-vercel-architecture.png", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/00-deploy-to-vercel-architecture.png" }, { - "source": "/guides/deployment/serverless/images/10-deploy-to-vercel-deploy-button.png", - "destination": "/orm/prisma-client/deployment/serverless/images/10-deploy-to-vercel-deploy-button.png" + "source": "/docs/guides/deployment/serverless/images/10-deploy-to-vercel-deploy-button.png", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/10-deploy-to-vercel-deploy-button.png" }, { - "source": "/guides/deployment/serverless/images/10-deploy-to-vercel-deploy-button.snagx", - "destination": "/orm/prisma-client/deployment/serverless/images/10-deploy-to-vercel-deploy-button.snagx" + "source": "/docs/guides/deployment/serverless/images/10-deploy-to-vercel-deploy-button.snagx", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/10-deploy-to-vercel-deploy-button.snagx" }, { - "source": "/guides/deployment/serverless/images/20-deploy-to-vercel-select-github.png", - "destination": "/orm/prisma-client/deployment/serverless/images/20-deploy-to-vercel-select-github.png" + "source": "/docs/guides/deployment/serverless/images/20-deploy-to-vercel-select-github.png", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/20-deploy-to-vercel-select-github.png" }, { - "source": "/guides/deployment/serverless/images/20-deploy-to-vercel-select-github.snagx", - "destination": "/orm/prisma-client/deployment/serverless/images/20-deploy-to-vercel-select-github.snagx" + "source": "/docs/guides/deployment/serverless/images/20-deploy-to-vercel-select-github.snagx", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/20-deploy-to-vercel-select-github.snagx" }, { - "source": "/guides/deployment/serverless/images/30-deploy-to-vercel-create-git-repo.png", - "destination": "/orm/prisma-client/deployment/serverless/images/30-deploy-to-vercel-create-git-repo.png" + "source": "/docs/guides/deployment/serverless/images/30-deploy-to-vercel-create-git-repo.png", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/30-deploy-to-vercel-create-git-repo.png" }, { - "source": "/guides/deployment/serverless/images/30-deploy-to-vercel-create-git-repo.snagx", - "destination": "/orm/prisma-client/deployment/serverless/images/30-deploy-to-vercel-create-git-repo.snagx" + "source": "/docs/guides/deployment/serverless/images/30-deploy-to-vercel-create-git-repo.snagx", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/30-deploy-to-vercel-create-git-repo.snagx" }, { - "source": "/guides/deployment/serverless/images/40-deploy-to-vercel-configure-project.png", - "destination": "/orm/prisma-client/deployment/serverless/images/40-deploy-to-vercel-configure-project.png" + "source": "/docs/guides/deployment/serverless/images/40-deploy-to-vercel-configure-project.png", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/40-deploy-to-vercel-configure-project.png" }, { - "source": "/guides/deployment/serverless/images/40-deploy-to-vercel-configure-project.snagx", - "destination": "/orm/prisma-client/deployment/serverless/images/40-deploy-to-vercel-configure-project.snagx" + "source": "/docs/guides/deployment/serverless/images/40-deploy-to-vercel-configure-project.snagx", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/40-deploy-to-vercel-configure-project.snagx" }, { - "source": "/guides/deployment/serverless/images/50-deploy-to-vercel-success.png", - "destination": "/orm/prisma-client/deployment/serverless/images/50-deploy-to-vercel-success.png" + "source": "/docs/guides/deployment/serverless/images/50-deploy-to-vercel-success.png", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/50-deploy-to-vercel-success.png" }, { - "source": "/guides/deployment/serverless/images/50-deploy-to-vercel-success.snagx", - "destination": "/orm/prisma-client/deployment/serverless/images/50-deploy-to-vercel-success.snagx" + "source": "/docs/guides/deployment/serverless/images/50-deploy-to-vercel-success.snagx", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/50-deploy-to-vercel-success.snagx" }, { - "source": "/guides/deployment/serverless/images/60-deploy-to-vercel-preview-environment-variable.png", - "destination": "/orm/prisma-client/deployment/serverless/images/60-deploy-to-vercel-preview-environment-variable.png" + "source": "/docs/guides/deployment/serverless/images/60-deploy-to-vercel-preview-environment-variable.png", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/60-deploy-to-vercel-preview-environment-variable.png" }, { - "source": "/guides/deployment/serverless/images/60-deploy-to-vercel-preview-environment-variable.snagx", - "destination": "/orm/prisma-client/deployment/serverless/images/60-deploy-to-vercel-preview-environment-variable.snagx" + "source": "/docs/guides/deployment/serverless/images/60-deploy-to-vercel-preview-environment-variable.snagx", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/60-deploy-to-vercel-preview-environment-variable.snagx" }, { - "source": "/guides/deployment/serverless/images/70-deploy-to-vercel-environment-variables.png", - "destination": "/orm/prisma-client/deployment/serverless/images/70-deploy-to-vercel-environment-variables.png" + "source": "/docs/guides/deployment/serverless/images/70-deploy-to-vercel-environment-variables.png", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/70-deploy-to-vercel-environment-variables.png" }, { - "source": "/guides/deployment/serverless/images/70-deploy-to-vercel-environment-variables.snagx", - "destination": "/orm/prisma-client/deployment/serverless/images/70-deploy-to-vercel-environment-variables.snagx" + "source": "/docs/guides/deployment/serverless/images/70-deploy-to-vercel-environment-variables.snagx", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/70-deploy-to-vercel-environment-variables.snagx" }, { - "source": "/guides/deployment/serverless/images/01-deploy-to-netlify-architecture.png", - "destination": "/orm/prisma-client/deployment/serverless/images/01-deploy-to-netlify-architecture.png" + "source": "/docs/guides/deployment/serverless/images/01-deploy-to-netlify-architecture.png", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/01-deploy-to-netlify-architecture.png" }, { - "source": "/guides/deployment/serverless/images/02-deploy-to-netlify-example-repo-click-fork.png", - "destination": "/orm/prisma-client/deployment/serverless/images/02-deploy-to-netlify-example-repo-click-fork.png" + "source": "/docs/guides/deployment/serverless/images/02-deploy-to-netlify-example-repo-click-fork.png", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/02-deploy-to-netlify-example-repo-click-fork.png" }, { - "source": "/guides/deployment/serverless/images/02-deploy-to-netlify-example-repo-click-fork.snagx", - "destination": "/orm/prisma-client/deployment/serverless/images/02-deploy-to-netlify-example-repo-click-fork.snagx" + "source": "/docs/guides/deployment/serverless/images/02-deploy-to-netlify-example-repo-click-fork.snagx", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/02-deploy-to-netlify-example-repo-click-fork.snagx" }, { - "source": "/guides/deployment/serverless/images/03-deploy-to-netlify-example-repo-create-fork-page.png", - "destination": "/orm/prisma-client/deployment/serverless/images/03-deploy-to-netlify-example-repo-create-fork-page.png" + "source": "/docs/guides/deployment/serverless/images/03-deploy-to-netlify-example-repo-create-fork-page.png", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/03-deploy-to-netlify-example-repo-create-fork-page.png" }, { - "source": "/guides/deployment/serverless/images/03-deploy-to-netlify-example-repo-create-fork-page.snagx", - "destination": "/orm/prisma-client/deployment/serverless/images/03-deploy-to-netlify-example-repo-create-fork-page.snagx" + "source": "/docs/guides/deployment/serverless/images/03-deploy-to-netlify-example-repo-create-fork-page.snagx", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/03-deploy-to-netlify-example-repo-create-fork-page.snagx" }, { - "source": "/guides/deployment/serverless/images/04-deploy-to-netlify-copy-supabase-connection-string.png", - "destination": "/orm/prisma-client/deployment/serverless/images/04-deploy-to-netlify-copy-supabase-connection-string.png" + "source": "/docs/guides/deployment/serverless/images/04-deploy-to-netlify-copy-supabase-connection-string.png", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/04-deploy-to-netlify-copy-supabase-connection-string.png" }, { - "source": "/guides/deployment/serverless/images/04-deploy-to-netlify-copy-supabase-connection-string.snagx", - "destination": "/orm/prisma-client/deployment/serverless/images/04-deploy-to-netlify-copy-supabase-connection-string.snagx" + "source": "/docs/guides/deployment/serverless/images/04-deploy-to-netlify-copy-supabase-connection-string.snagx", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/04-deploy-to-netlify-copy-supabase-connection-string.snagx" }, { - "source": "/guides/deployment/serverless/images/05-deploy-to-netlify-netlify-init-configure-site.png", - "destination": "/orm/prisma-client/deployment/serverless/images/05-deploy-to-netlify-netlify-init-configure-site.png" + "source": "/docs/guides/deployment/serverless/images/05-deploy-to-netlify-netlify-init-configure-site.png", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/05-deploy-to-netlify-netlify-init-configure-site.png" }, { - "source": "/guides/deployment/serverless/images/05-deploy-to-netlify-netlify-init-configure-site.snagx", - "destination": "/orm/prisma-client/deployment/serverless/images/05-deploy-to-netlify-netlify-init-configure-site.snagx" + "source": "/docs/guides/deployment/serverless/images/05-deploy-to-netlify-netlify-init-configure-site.snagx", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/05-deploy-to-netlify-netlify-init-configure-site.snagx" }, { - "source": "/guides/deployment/serverless/images/06-deploy-to-netlify-site-settings.png", - "destination": "/orm/prisma-client/deployment/serverless/images/06-deploy-to-netlify-site-settings.png" + "source": "/docs/guides/deployment/serverless/images/06-deploy-to-netlify-site-settings.png", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/06-deploy-to-netlify-site-settings.png" }, { - "source": "/guides/deployment/serverless/images/06-deploy-to-netlify-site-settings.snagx", - "destination": "/orm/prisma-client/deployment/serverless/images/06-deploy-to-netlify-site-settings.snagx" + "source": "/docs/guides/deployment/serverless/images/06-deploy-to-netlify-site-settings.snagx", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/06-deploy-to-netlify-site-settings.snagx" }, { - "source": "/guides/deployment/serverless/images/07-deploy-to-netlify-environment-variables-settings.png", - "destination": "/orm/prisma-client/deployment/serverless/images/07-deploy-to-netlify-environment-variables-settings.png" + "source": "/docs/guides/deployment/serverless/images/07-deploy-to-netlify-environment-variables-settings.png", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/07-deploy-to-netlify-environment-variables-settings.png" }, { - "source": "/guides/deployment/serverless/images/07-deploy-to-netlify-environment-variables-settings.snagx", - "destination": "/orm/prisma-client/deployment/serverless/images/07-deploy-to-netlify-environment-variables-settings.snagx" + "source": "/docs/guides/deployment/serverless/images/07-deploy-to-netlify-environment-variables-settings.snagx", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/07-deploy-to-netlify-environment-variables-settings.snagx" }, { - "source": "/guides/deployment/serverless/images/08-deploy-to-netlify-application-deployed.png", - "destination": "/orm/prisma-client/deployment/serverless/images/08-deploy-to-netlify-application-deployed.png" + "source": "/docs/guides/deployment/serverless/images/08-deploy-to-netlify-application-deployed.png", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/08-deploy-to-netlify-application-deployed.png" }, { - "source": "/guides/deployment/serverless/images/08-deploy-to-netlify-application-deployed.snagx", - "destination": "/orm/prisma-client/deployment/serverless/images/08-deploy-to-netlify-application-deployed.snagx" + "source": "/docs/guides/deployment/serverless/images/08-deploy-to-netlify-application-deployed.snagx", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/08-deploy-to-netlify-application-deployed.snagx" }, { - "source": "/guides/deployment/serverless/images/09-deploy-to-netlify-application-deployed-call-result.png", - "destination": "/orm/prisma-client/deployment/serverless/images/09-deploy-to-netlify-application-deployed-call-result.png" + "source": "/docs/guides/deployment/serverless/images/09-deploy-to-netlify-application-deployed-call-result.png", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/09-deploy-to-netlify-application-deployed-call-result.png" }, { - "source": "/guides/deployment/serverless/images/09-deploy-to-netlify-application-deployed-call-result.snagx", - "destination": "/orm/prisma-client/deployment/serverless/images/09-deploy-to-netlify-application-deployed-call-result.snagx" + "source": "/docs/guides/deployment/serverless/images/09-deploy-to-netlify-application-deployed-call-result.snagx", + "destination": "/docs/orm/prisma-client/deployment/serverless/images/09-deploy-to-netlify-application-deployed-call-result.snagx" }, { - "source": "/guides/deployment/serverless", - "destination": "/orm/prisma-client/deployment/serverless" + "source": "/docs/guides/deployment/serverless", + "destination": "/docs/orm/prisma-client/deployment/serverless" }, { - "source": "/concepts/components/prisma-client/module-bundlers", - "destination": "/orm/prisma-client/deployment/module-bundlers" + "source": "/docs/concepts/components/prisma-client/module-bundlers", + "destination": "/docs/orm/prisma-client/deployment/module-bundlers" }, { - "source": "/guides/deployment/edge/deploy-to-cloudflare-workers", - "destination": "/orm/prisma-client/deployment/edge/deploy-to-cloudflare-workers" + "source": "/docs/guides/deployment/edge/deploy-to-cloudflare-workers", + "destination": "/docs/orm/prisma-client/deployment/edge/deploy-to-cloudflare-workers" }, { - "source": "/guides/deployment/edge/deploy-to-deno-deploy", - "destination": "/orm/prisma-client/deployment/edge/deploy-to-deno-deploy" + "source": "/docs/guides/deployment/edge/deploy-to-deno-deploy", + "destination": "/docs/orm/prisma-client/deployment/edge/deploy-to-deno-deploy" }, { - "source": "/guides/deployment/edge/images/03-import-project.png", - "destination": "/orm/prisma-client/deployment/edge/images/03-import-project.png" + "source": "/docs/guides/deployment/edge/images/03-import-project.png", + "destination": "/docs/orm/prisma-client/deployment/edge/images/03-import-project.png" }, { - "source": "/guides/deployment/edge/images/03-import-project.snagx", - "destination": "/orm/prisma-client/deployment/edge/images/03-import-project.snagx" + "source": "/docs/guides/deployment/edge/images/03-import-project.snagx", + "destination": "/docs/orm/prisma-client/deployment/edge/images/03-import-project.snagx" }, { - "source": "/guides/deployment/edge/images/04-connect-db.png", - "destination": "/orm/prisma-client/deployment/edge/images/04-connect-db.png" + "source": "/docs/guides/deployment/edge/images/04-connect-db.png", + "destination": "/docs/orm/prisma-client/deployment/edge/images/04-connect-db.png" }, { - "source": "/guides/deployment/edge/images/04-connect-db.snagx", - "destination": "/orm/prisma-client/deployment/edge/images/04-connect-db.snagx" + "source": "/docs/guides/deployment/edge/images/04-connect-db.snagx", + "destination": "/docs/orm/prisma-client/deployment/edge/images/04-connect-db.snagx" }, { - "source": "/guides/deployment/edge/images/05-data-proxy.png", - "destination": "/orm/prisma-client/deployment/edge/images/05-data-proxy.png" + "source": "/docs/guides/deployment/edge/images/05-data-proxy.png", + "destination": "/docs/orm/prisma-client/deployment/edge/images/05-data-proxy.png" }, { - "source": "/guides/deployment/edge/images/05-data-proxy.snagx", - "destination": "/orm/prisma-client/deployment/edge/images/05-data-proxy.snagx" + "source": "/docs/guides/deployment/edge/images/05-data-proxy.snagx", + "destination": "/docs/orm/prisma-client/deployment/edge/images/05-data-proxy.snagx" }, { - "source": "/guides/deployment/edge/images/01-create-repo.png", - "destination": "/orm/prisma-client/deployment/edge/images/01-create-repo.png" + "source": "/docs/guides/deployment/edge/images/01-create-repo.png", + "destination": "/docs/orm/prisma-client/deployment/edge/images/01-create-repo.png" }, { - "source": "/guides/deployment/edge/images/02-deploy-to-deno-project-parameters.png", - "destination": "/orm/prisma-client/deployment/edge/images/02-deploy-to-deno-project-parameters.png" + "source": "/docs/guides/deployment/edge/images/02-deploy-to-deno-project-parameters.png", + "destination": "/docs/orm/prisma-client/deployment/edge/images/02-deploy-to-deno-project-parameters.png" }, { - "source": "/guides/deployment/edge/images/02-deploy-to-deno-project-parameters.snagx", - "destination": "/orm/prisma-client/deployment/edge/images/02-deploy-to-deno-project-parameters.snagx" + "source": "/docs/guides/deployment/edge/images/02-deploy-to-deno-project-parameters.snagx", + "destination": "/docs/orm/prisma-client/deployment/edge/images/02-deploy-to-deno-project-parameters.snagx" }, { - "source": "/guides/deployment/edge", - "destination": "/orm/prisma-client/deployment/edge" + "source": "/docs/guides/deployment/edge", + "destination": "/docs/orm/prisma-client/deployment/edge" }, { - "source": "/guides/deployment/deploy-database-changes-with-prisma-migrate", - "destination": "/orm/prisma-client/deployment/deploy-database-changes-with-prisma-migrate" + "source": "/docs/guides/deployment/deploy-database-changes-with-prisma-migrate", + "destination": "/docs/orm/prisma-client/deployment/deploy-database-changes-with-prisma-migrate" }, { - "source": "/guides/deployment/deploy-migrations-from-a-local-environment", - "destination": "/orm/prisma-client/deployment/deploy-migrations-from-a-local-environment" + "source": "/docs/guides/deployment/deploy-migrations-from-a-local-environment", + "destination": "/docs/orm/prisma-client/deployment/deploy-migrations-from-a-local-environment" }, { - "source": "/guides/deployment/caveats-when-deploying-to-aws-platforms", - "destination": "/orm/prisma-client/deployment/caveats-when-deploying-to-aws-platforms" + "source": "/docs/guides/deployment/caveats-when-deploying-to-aws-platforms", + "destination": "/docs/orm/prisma-client/deployment/caveats-when-deploying-to-aws-platforms" }, { - "source": "/guides/deployment/deploy-to-a-different-os", - "destination": "/orm/prisma-client/deployment/deploy-to-a-different-os" + "source": "/docs/guides/deployment/deploy-to-a-different-os", + "destination": "/docs/orm/prisma-client/deployment/deploy-to-a-different-os" }, { - "source": "/guides/deployment", - "destination": "/orm/prisma-client/deployment" + "source": "/docs/guides/deployment", + "destination": "/docs/orm/prisma-client/deployment" }, { - "source": "/concepts/components/prisma-client/metrics", - "destination": "/orm/prisma-client/observability-and-logging/metrics" + "source": "/docs/concepts/components/prisma-client/metrics", + "destination": "/docs/orm/prisma-client/observability-and-logging/metrics" }, { - "source": "/concepts/components/prisma-client/opentelemetry-tracing", - "destination": "/orm/prisma-client/observability-and-logging/opentelemetry-tracing" + "source": "/docs/concepts/components/prisma-client/opentelemetry-tracing", + "destination": "/docs/orm/prisma-client/observability-and-logging/opentelemetry-tracing" }, { - "source": "/concepts/components/prisma-client/jaeger.png", - "destination": "/orm/prisma-client/observability-and-logging/jaeger.png" + "source": "/docs/concepts/components/prisma-client/jaeger.png", + "destination": "/docs/orm/prisma-client/observability-and-logging/jaeger.png" }, { - "source": "/concepts/components/prisma-client/trace-diagram.png", - "destination": "/orm/prisma-client/observability-and-logging/trace-diagram.png" + "source": "/docs/concepts/components/prisma-client/trace-diagram.png", + "destination": "/docs/orm/prisma-client/observability-and-logging/trace-diagram.png" }, { - "source": "/concepts/components/prisma-client/debugging", - "destination": "/orm/prisma-client/debugging-and-troubleshooting/debugging" + "source": "/docs/concepts/components/prisma-client/debugging", + "destination": "/docs/orm/prisma-client/debugging-and-troubleshooting/debugging" }, { - "source": "/concepts/components/prisma-client/handling-exceptions-and-errors", - "destination": "/orm/prisma-client/debugging-and-troubleshooting/handling-exceptions-and-errors" + "source": "/docs/concepts/components/prisma-client/handling-exceptions-and-errors", + "destination": "/docs/orm/prisma-client/debugging-and-troubleshooting/handling-exceptions-and-errors" }, { - "source": "/concepts/components/prisma-client", - "destination": "/orm/prisma-client" + "source": "/docs/concepts/components/prisma-client", + "destination": "/docs/orm/prisma-client" }, { - "source": "/guides/migrate/developing-with-prisma-migrate/add-prisma-migrate-to-a-project", - "destination": "/orm/prisma-migrate/getting-started" + "source": "/docs/guides/migrate/developing-with-prisma-migrate/add-prisma-migrate-to-a-project", + "destination": "/docs/orm/prisma-migrate/getting-started" }, { - "source": "/concepts/components/prisma-migrate/mental-model", - "destination": "/orm/prisma-migrate/understanding-prisma-migrate/mental-model" + "source": "/docs/concepts/components/prisma-migrate/mental-model", + "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/mental-model" }, { - "source": "/concepts/components/prisma-migrate/migration-histories", - "destination": "/orm/prisma-migrate/understanding-prisma-migrate/migration-histories" + "source": "/docs/concepts/components/prisma-migrate/migration-histories", + "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/migration-histories" }, { - "source": "/concepts/components/prisma-migrate/shadow-database", - "destination": "/orm/prisma-migrate/understanding-prisma-migrate/shadow-database" + "source": "/docs/concepts/components/prisma-migrate/shadow-database", + "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/shadow-database" }, { - "source": "/concepts/components/prisma-migrate/prisma-migrate-limitations-issues", - "destination": "/orm/prisma-migrate/understanding-prisma-migrate/limitations-and-known-issues" + "source": "/docs/concepts/components/prisma-migrate/prisma-migrate-limitations-issues", + "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/limitations-and-known-issues" }, { - "source": "/concepts/components/prisma-migrate/legacy-migrate", - "destination": "/orm/prisma-migrate/understanding-prisma-migrate/legacy-migrate" + "source": "/docs/concepts/components/prisma-migrate/legacy-migrate", + "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/legacy-migrate" }, { - "source": "/concepts/components/prisma-migrate/mental-model-illustrations/database-first-migration-flow.png", - "destination": "/orm/prisma-migrate/understanding-prisma-migrate/mental-model-illustrations/database-first-migration-flow.png" + "source": "/docs/concepts/components/prisma-migrate/mental-model-illustrations/database-first-migration-flow.png", + "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/mental-model-illustrations/database-first-migration-flow.png" }, { - "source": "/concepts/components/prisma-migrate/mental-model-illustrations/db-push-flow.png", - "destination": "/orm/prisma-migrate/understanding-prisma-migrate/mental-model-illustrations/db-push-flow.png" + "source": "/docs/concepts/components/prisma-migrate/mental-model-illustrations/db-push-flow.png", + "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/mental-model-illustrations/db-push-flow.png" }, { - "source": "/concepts/components/prisma-migrate/mental-model-illustrations/entity-first-migration-flow.png", - "destination": "/orm/prisma-migrate/understanding-prisma-migrate/mental-model-illustrations/entity-first-migration-flow.png" + "source": "/docs/concepts/components/prisma-migrate/mental-model-illustrations/entity-first-migration-flow.png", + "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/mental-model-illustrations/entity-first-migration-flow.png" }, { - "source": "/concepts/components/prisma-migrate/mental-model-illustrations/prisma-migrate-dev-flow.png", - "destination": "/orm/prisma-migrate/understanding-prisma-migrate/mental-model-illustrations/prisma-migrate-dev-flow.png" + "source": "/docs/concepts/components/prisma-migrate/mental-model-illustrations/prisma-migrate-dev-flow.png", + "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/mental-model-illustrations/prisma-migrate-dev-flow.png" }, { - "source": "/concepts/components/prisma-migrate/mental-model-illustrations/prisma-migrate-diff-flow.png", - "destination": "/orm/prisma-migrate/understanding-prisma-migrate/mental-model-illustrations/prisma-migrate-diff-flow.png" + "source": "/docs/concepts/components/prisma-migrate/mental-model-illustrations/prisma-migrate-diff-flow.png", + "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/mental-model-illustrations/prisma-migrate-diff-flow.png" }, { - "source": "/concepts/components/prisma-migrate/mental-model-illustrations/prisma-migrate-lifecycle.png", - "destination": "/orm/prisma-migrate/understanding-prisma-migrate/mental-model-illustrations/prisma-migrate-lifecycle.png" + "source": "/docs/concepts/components/prisma-migrate/mental-model-illustrations/prisma-migrate-lifecycle.png", + "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/mental-model-illustrations/prisma-migrate-lifecycle.png" }, { - "source": "/concepts/components/prisma-migrate/mental-model-illustrations/prisma-migrate-state-mgt.png", - "destination": "/orm/prisma-migrate/understanding-prisma-migrate/mental-model-illustrations/prisma-migrate-state-mgt.png" + "source": "/docs/concepts/components/prisma-migrate/mental-model-illustrations/prisma-migrate-state-mgt.png", + "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/mental-model-illustrations/prisma-migrate-state-mgt.png" }, { - "source": "/concepts/components/prisma-migrate/migrate-mapping.png", - "destination": "/orm/prisma-migrate/understanding-prisma-migrate/migrate-mapping.png" + "source": "/docs/concepts/components/prisma-migrate/migrate-mapping.png", + "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/migrate-mapping.png" }, { - "source": "/concepts/components/prisma-migrate/shadow-database.png", - "destination": "/orm/prisma-migrate/understanding-prisma-migrate/shadow-database.png" + "source": "/docs/concepts/components/prisma-migrate/shadow-database.png", + "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/shadow-database.png" }, { - "source": "/concepts/components/prisma-migrate/shadow-db.png", - "destination": "/orm/prisma-migrate/understanding-prisma-migrate/shadow-db.png" + "source": "/docs/concepts/components/prisma-migrate/shadow-db.png", + "destination": "/docs/orm/prisma-migrate/understanding-prisma-migrate/shadow-db.png" }, { - "source": "/guides/migrate/seed-database", - "destination": "/orm/prisma-migrate/workflows/seeding" + "source": "/docs/guides/migrate/seed-database", + "destination": "/docs/orm/prisma-migrate/workflows/seeding" }, { - "source": "/guides/migrate/developing-with-prisma-migrate/team-development", - "destination": "/orm/prisma-migrate/workflows/team-development" + "source": "/docs/guides/migrate/developing-with-prisma-migrate/team-development", + "destination": "/docs/orm/prisma-migrate/workflows/team-development" }, { - "source": "/concepts/components/prisma-migrate/supported-types-and-db-features", - "destination": "/orm/prisma-migrate/workflows/native-database-types" + "source": "/docs/concepts/components/prisma-migrate/supported-types-and-db-features", + "destination": "/docs/orm/prisma-migrate/workflows/native-database-types" }, { - "source": "/guides/migrate/developing-with-prisma-migrate/enable-native-database-functions", - "destination": "/orm/prisma-migrate/workflows/native-database-functions" + "source": "/docs/guides/migrate/developing-with-prisma-migrate/enable-native-database-functions", + "destination": "/docs/orm/prisma-migrate/workflows/native-database-functions" }, { - "source": "/guides/migrate/prototyping-schema-db-push", - "destination": "/orm/prisma-migrate/workflows/prototyping-your-schema" + "source": "/docs/guides/migrate/prototyping-schema-db-push", + "destination": "/docs/orm/prisma-migrate/workflows/prototyping-your-schema" }, { - "source": "/guides/migrate/developing-with-prisma-migrate/troubleshooting-development", - "destination": "/orm/prisma-migrate/workflows/troubleshooting" + "source": "/docs/guides/migrate/developing-with-prisma-migrate/troubleshooting-development", + "destination": "/docs/orm/prisma-migrate/workflows/troubleshooting" }, { - "source": "/guides/migrate/developing-with-prisma-migrate/baselining", - "destination": "/orm/prisma-migrate/workflows/baselining" + "source": "/docs/guides/migrate/developing-with-prisma-migrate/baselining", + "destination": "/docs/orm/prisma-migrate/workflows/baselining" }, { - "source": "/guides/migrate/developing-with-prisma-migrate/customizing-migrations", - "destination": "/orm/prisma-migrate/workflows/customizing-migrations" + "source": "/docs/guides/migrate/developing-with-prisma-migrate/customizing-migrations", + "destination": "/docs/orm/prisma-migrate/workflows/customizing-migrations" }, { - "source": "/guides/migrate/data-migration", - "destination": "/orm/prisma-migrate/workflows/data-migration" + "source": "/docs/guides/migrate/data-migration", + "destination": "/docs/orm/prisma-migrate/workflows/data-migration" }, { - "source": "/guides/migrate/developing-with-prisma-migrate/squashing-migrations", - "destination": "/orm/prisma-migrate/workflows/squashing-migrations" + "source": "/docs/guides/migrate/developing-with-prisma-migrate/squashing-migrations", + "destination": "/docs/orm/prisma-migrate/workflows/squashing-migrations" }, { - "source": "/guides/migrate/developing-with-prisma-migrate/generating-down-migrations", - "destination": "/orm/prisma-migrate/workflows/generating-down-migrations" + "source": "/docs/guides/migrate/developing-with-prisma-migrate/generating-down-migrations", + "destination": "/docs/orm/prisma-migrate/workflows/generating-down-migrations" }, { - "source": "/guides/migrate/production-troubleshooting", - "destination": "/orm/prisma-migrate/workflows/patching-and-hotfixing" + "source": "/docs/guides/migrate/production-troubleshooting", + "destination": "/docs/orm/prisma-migrate/workflows/patching-and-hotfixing" }, { - "source": "/guides/migrate/developing-with-prisma-migrate/include-unsupported-database-features", - "destination": "/orm/prisma-migrate/workflows/unsupported-database-features" + "source": "/docs/guides/migrate/developing-with-prisma-migrate/include-unsupported-database-features", + "destination": "/docs/orm/prisma-migrate/workflows/unsupported-database-features" }, { - "source": "/concepts/components/prisma-migrate/migrate-development-production", - "destination": "/orm/prisma-migrate/workflows/development-and-production" + "source": "/docs/concepts/components/prisma-migrate/migrate-development-production", + "destination": "/docs/orm/prisma-migrate/workflows/development-and-production" }, { - "source": "/guides/migrate/developing-with-prisma-migrate/deploy-db.png", - "destination": "/orm/prisma-migrate/workflows/deploy-db.png" + "source": "/docs/guides/migrate/developing-with-prisma-migrate/deploy-db.png", + "destination": "/docs/orm/prisma-migrate/workflows/deploy-db.png" }, { - "source": "/guides/migrate/developing-with-prisma-migrate/existing-database.png", - "destination": "/orm/prisma-migrate/workflows/existing-database.png" + "source": "/docs/guides/migrate/developing-with-prisma-migrate/existing-database.png", + "destination": "/docs/orm/prisma-migrate/workflows/existing-database.png" }, { - "source": "/guides/migrate/developing-with-prisma-migrate/migrate-team-dev.png", - "destination": "/orm/prisma-migrate/workflows/migrate-team-dev.png" + "source": "/docs/guides/migrate/developing-with-prisma-migrate/migrate-team-dev.png", + "destination": "/docs/orm/prisma-migrate/workflows/migrate-team-dev.png" }, { - "source": "/guides/migrate/developing-with-prisma-migrate/migration-history.png", - "destination": "/orm/prisma-migrate/workflows/migration-history.png" + "source": "/docs/guides/migrate/developing-with-prisma-migrate/migration-history.png", + "destination": "/docs/orm/prisma-migrate/workflows/migration-history.png" }, { - "source": "/guides/migrate/developing-with-prisma-migrate/new-dev-db.png", - "destination": "/orm/prisma-migrate/workflows/new-dev-db.png" + "source": "/docs/guides/migrate/developing-with-prisma-migrate/new-dev-db.png", + "destination": "/docs/orm/prisma-migrate/workflows/new-dev-db.png" }, { - "source": "/concepts/components/prisma-migrate", - "destination": "/orm/prisma-migrate" + "source": "/docs/concepts/components/prisma-migrate", + "destination": "/docs/orm/prisma-migrate" }, { - "source": "/concepts/components/prisma-schema/data-sources", - "destination": "/orm/prisma-schema/overview/data-sources" + "source": "/docs/concepts/components/prisma-schema/data-sources", + "destination": "/docs/orm/prisma-schema/overview/data-sources" }, { - "source": "/concepts/components/prisma-schema/generators", - "destination": "/orm/prisma-schema/overview/generators" + "source": "/docs/concepts/components/prisma-schema/generators", + "destination": "/docs/orm/prisma-schema/overview/generators" }, { - "source": "/concepts/components/prisma-schema/data-model", - "destination": "/orm/prisma-schema/data-model/models" + "source": "/docs/concepts/components/prisma-schema/data-model", + "destination": "/docs/orm/prisma-schema/data-model/models" }, { - "source": "/concepts/components/prisma-schema/relations/one-to-one-relations", - "destination": "/orm/prisma-schema/data-model/relations/one-to-one-relations" + "source": "/docs/concepts/components/prisma-schema/relations/one-to-one-relations", + "destination": "/docs/orm/prisma-schema/data-model/relations/one-to-one-relations" }, { - "source": "/concepts/components/prisma-schema/relations/one-to-many-relations", - "destination": "/orm/prisma-schema/data-model/relations/one-to-many-relations" + "source": "/docs/concepts/components/prisma-schema/relations/one-to-many-relations", + "destination": "/docs/orm/prisma-schema/data-model/relations/one-to-many-relations" }, { - "source": "/concepts/components/prisma-schema/relations/many-to-many-relations", - "destination": "/orm/prisma-schema/data-model/relations/many-to-many-relations" + "source": "/docs/concepts/components/prisma-schema/relations/many-to-many-relations", + "destination": "/docs/orm/prisma-schema/data-model/relations/many-to-many-relations" }, { - "source": "/concepts/components/prisma-schema/relations/self-relations", - "destination": "/orm/prisma-schema/data-model/relations/self-relations" + "source": "/docs/concepts/components/prisma-schema/relations/self-relations", + "destination": "/docs/orm/prisma-schema/data-model/relations/self-relations" }, { - "source": "/concepts/components/prisma-schema/relations/referential-actions/special-rules-for-referential-actions", - "destination": "/orm/prisma-schema/data-model/relations/referential-actions/special-rules-for-referential-actions" + "source": "/docs/concepts/components/prisma-schema/relations/referential-actions/special-rules-for-referential-actions", + "destination": "/docs/orm/prisma-schema/data-model/relations/referential-actions/special-rules-for-referential-actions" }, { - "source": "/concepts/components/prisma-schema/relations/referential-actions", - "destination": "/orm/prisma-schema/data-model/relations/referential-actions" + "source": "/docs/concepts/components/prisma-schema/relations/referential-actions", + "destination": "/docs/orm/prisma-schema/data-model/relations/referential-actions" }, { - "source": "/concepts/components/prisma-schema/relations/relation-mode", - "destination": "/orm/prisma-schema/data-model/relations/relation-mode" + "source": "/docs/concepts/components/prisma-schema/relations/relation-mode", + "destination": "/docs/orm/prisma-schema/data-model/relations/relation-mode" }, { - "source": "/concepts/components/prisma-schema/relations/troubleshooting-relations", - "destination": "/orm/prisma-schema/data-model/relations/troubleshooting-relations" + "source": "/docs/concepts/components/prisma-schema/relations/troubleshooting-relations", + "destination": "/docs/orm/prisma-schema/data-model/relations/troubleshooting-relations" }, { - "source": "/concepts/components/prisma-schema/relations", - "destination": "/orm/prisma-schema/data-model/relations" + "source": "/docs/concepts/components/prisma-schema/relations", + "destination": "/docs/orm/prisma-schema/data-model/relations" }, { - "source": "/concepts/components/prisma-schema/relations/one-to-many.png", - "destination": "/orm/prisma-schema/data-model/relations/one-to-many.png" + "source": "/docs/concepts/components/prisma-schema/relations/one-to-many.png", + "destination": "/docs/orm/prisma-schema/data-model/relations/one-to-many.png" }, { - "source": "/concepts/components/prisma-schema/relations/quick-fix-index.png", - "destination": "/orm/prisma-schema/data-model/relations/quick-fix-index.png" + "source": "/docs/concepts/components/prisma-schema/relations/quick-fix-index.png", + "destination": "/docs/orm/prisma-schema/data-model/relations/quick-fix-index.png" }, { - "source": "/concepts/components/prisma-schema/relations/quick-fix-index.snagx", - "destination": "/orm/prisma-schema/data-model/relations/quick-fix-index.snagx" + "source": "/docs/concepts/components/prisma-schema/relations/quick-fix-index.snagx", + "destination": "/docs/orm/prisma-schema/data-model/relations/quick-fix-index.snagx" }, { - "source": "/concepts/components/prisma-schema/relations/relations-intro.png", - "destination": "/orm/prisma-schema/data-model/relations/relations-intro.png" + "source": "/docs/concepts/components/prisma-schema/relations/relations-intro.png", + "destination": "/docs/orm/prisma-schema/data-model/relations/relations-intro.png" }, { - "source": "/concepts/components/prisma-schema/relations/sample-schema.png", - "destination": "/orm/prisma-schema/data-model/relations/sample-schema.png" + "source": "/docs/concepts/components/prisma-schema/relations/sample-schema.png", + "destination": "/docs/orm/prisma-schema/data-model/relations/sample-schema.png" }, { - "source": "/concepts/components/prisma-schema/indexes", - "destination": "/orm/prisma-schema/data-model/indexes" + "source": "/docs/concepts/components/prisma-schema/indexes", + "destination": "/docs/orm/prisma-schema/data-model/indexes" }, { - "source": "/concepts/components/prisma-schema/views", - "destination": "/orm/prisma-schema/data-model/views" + "source": "/docs/concepts/components/prisma-schema/views", + "destination": "/docs/orm/prisma-schema/data-model/views" }, { - "source": "/concepts/components/prisma-schema/names-in-underlying-database", - "destination": "/orm/prisma-schema/data-model/database-mapping" + "source": "/docs/concepts/components/prisma-schema/names-in-underlying-database", + "destination": "/docs/orm/prisma-schema/data-model/database-mapping" }, { - "source": "/guides/other/multi-schema", - "destination": "/orm/prisma-schema/data-model/multi-schema" + "source": "/docs/guides/other/multi-schema", + "destination": "/docs/orm/prisma-schema/data-model/multi-schema" }, { - "source": "/concepts/components/prisma-schema/features-without-psl-equivalent", - "destination": "/orm/prisma-schema/data-model/unsupported-database-features" + "source": "/docs/concepts/components/prisma-schema/features-without-psl-equivalent", + "destination": "/docs/orm/prisma-schema/data-model/unsupported-database-features" }, { - "source": "/concepts/components/introspection", - "destination": "/orm/prisma-schema/introspection" + "source": "/docs/concepts/components/introspection", + "destination": "/docs/orm/prisma-schema/introspection" }, { - "source": "/concepts/components/prisma-schema/postgresql-extensions", - "destination": "/orm/prisma-schema/postgresql-extensions" + "source": "/docs/concepts/components/prisma-schema/postgresql-extensions", + "destination": "/docs/orm/prisma-schema/postgresql-extensions" }, { - "source": "/concepts/components/prisma-schema/prisma-schema/relations-intro.png", - "destination": "/orm/prisma-schema/prisma-schema/relations-intro.png" + "source": "/docs/concepts/components/prisma-schema/prisma-schema/relations-intro.png", + "destination": "/docs/orm/prisma-schema/prisma-schema/relations-intro.png" }, { - "source": "/concepts/components/prisma-schema/prisma-schema/sample-database.png", - "destination": "/orm/prisma-schema/prisma-schema/sample-database.png" + "source": "/docs/concepts/components/prisma-schema/prisma-schema/sample-database.png", + "destination": "/docs/orm/prisma-schema/prisma-schema/sample-database.png" }, { - "source": "/concepts/components/prisma-studio", - "destination": "/orm/tools/prisma-studio" + "source": "/docs/concepts/components/prisma-studio", + "destination": "/docs/orm/tools/prisma-studio" }, { - "source": "/concepts/components/images/drivers/qe-query-engine-adapter.png", - "destination": "/orm/tools/images/drivers/qe-query-engine-adapter.png" + "source": "/docs/concepts/components/images/drivers/qe-query-engine-adapter.png", + "destination": "/docs/orm/tools/images/drivers/qe-query-engine-adapter.png" }, { - "source": "/concepts/components/images/drivers/qe-query-execution-flow.png", - "destination": "/orm/tools/images/drivers/qe-query-execution-flow.png" + "source": "/docs/concepts/components/images/drivers/qe-query-execution-flow.png", + "destination": "/docs/orm/tools/images/drivers/qe-query-execution-flow.png" }, { - "source": "/concepts/components/images/prisma-studio/models-view.png", - "destination": "/orm/tools/images/prisma-studio/models-view.png" + "source": "/docs/concepts/components/images/prisma-studio/models-view.png", + "destination": "/docs/orm/tools/images/prisma-studio/models-view.png" }, { - "source": "/concepts/components/images/prisma-studio/open-close-models.png", - "destination": "/orm/tools/images/prisma-studio/open-close-models.png" + "source": "/docs/concepts/components/images/prisma-studio/open-close-models.png", + "destination": "/docs/orm/tools/images/prisma-studio/open-close-models.png" }, { - "source": "/concepts/components/images/prisma-studio/model-view-keyboard-shortcuts.png", - "destination": "/orm/tools/images/prisma-studio/model-view-keyboard-shortcuts.png" + "source": "/docs/concepts/components/images/prisma-studio/model-view-keyboard-shortcuts.png", + "destination": "/docs/orm/tools/images/prisma-studio/model-view-keyboard-shortcuts.png" }, { - "source": "/concepts/components/images/prisma-studio/save-multiple-changes.png", - "destination": "/orm/tools/images/prisma-studio/save-multiple-changes.png" + "source": "/docs/concepts/components/images/prisma-studio/save-multiple-changes.png", + "destination": "/docs/orm/tools/images/prisma-studio/save-multiple-changes.png" }, { - "source": "/concepts/components/images/prisma-studio/add-remove-filters.png", - "destination": "/orm/tools/images/prisma-studio/add-remove-filters.png" + "source": "/docs/concepts/components/images/prisma-studio/add-remove-filters.png", + "destination": "/docs/orm/tools/images/prisma-studio/add-remove-filters.png" }, { - "source": "/concepts/components/images/prisma-studio/show-hide-fields.png", - "destination": "/orm/tools/images/prisma-studio/show-hide-fields.png" + "source": "/docs/concepts/components/images/prisma-studio/show-hide-fields.png", + "destination": "/docs/orm/tools/images/prisma-studio/show-hide-fields.png" }, { - "source": "/concepts/components/images/prisma-studio/show-hide-records.png", - "destination": "/orm/tools/images/prisma-studio/show-hide-records.png" + "source": "/docs/concepts/components/images/prisma-studio/show-hide-records.png", + "destination": "/docs/orm/tools/images/prisma-studio/show-hide-records.png" }, { - "source": "/concepts/components/images/prisma-studio/model-sort.png", - "destination": "/orm/tools/images/prisma-studio/model-sort.png" + "source": "/docs/concepts/components/images/prisma-studio/model-sort.png", + "destination": "/docs/orm/tools/images/prisma-studio/model-sort.png" }, { - "source": "/concepts/components/images/prisma-studio/array.svg", - "destination": "/orm/tools/images/prisma-studio/array.svg" + "source": "/docs/concepts/components/images/prisma-studio/array.svg", + "destination": "/docs/orm/tools/images/prisma-studio/array.svg" }, { - "source": "/concepts/components/images/prisma-studio/boolean.svg", - "destination": "/orm/tools/images/prisma-studio/boolean.svg" + "source": "/docs/concepts/components/images/prisma-studio/boolean.svg", + "destination": "/docs/orm/tools/images/prisma-studio/boolean.svg" }, { - "source": "/concepts/components/images/prisma-studio/database.svg", - "destination": "/orm/tools/images/prisma-studio/database.svg" + "source": "/docs/concepts/components/images/prisma-studio/database.svg", + "destination": "/docs/orm/tools/images/prisma-studio/database.svg" }, { - "source": "/concepts/components/images/prisma-studio/datetime.svg", - "destination": "/orm/tools/images/prisma-studio/datetime.svg" + "source": "/docs/concepts/components/images/prisma-studio/datetime.svg", + "destination": "/docs/orm/tools/images/prisma-studio/datetime.svg" }, { - "source": "/concepts/components/images/prisma-studio/enum.svg", - "destination": "/orm/tools/images/prisma-studio/enum.svg" + "source": "/docs/concepts/components/images/prisma-studio/enum.svg", + "destination": "/docs/orm/tools/images/prisma-studio/enum.svg" }, { - "source": "/concepts/components/images/prisma-studio/number.svg", - "destination": "/orm/tools/images/prisma-studio/number.svg" + "source": "/docs/concepts/components/images/prisma-studio/number.svg", + "destination": "/docs/orm/tools/images/prisma-studio/number.svg" }, { - "source": "/concepts/components/images/prisma-studio/object.svg", - "destination": "/orm/tools/images/prisma-studio/object.svg" + "source": "/docs/concepts/components/images/prisma-studio/object.svg", + "destination": "/docs/orm/tools/images/prisma-studio/object.svg" }, { - "source": "/concepts/components/images/prisma-studio/string.svg", - "destination": "/orm/tools/images/prisma-studio/string.svg" + "source": "/docs/concepts/components/images/prisma-studio/string.svg", + "destination": "/docs/orm/tools/images/prisma-studio/string.svg" }, { - "source": "/concepts/components", - "destination": "/orm/tools" + "source": "/docs/concepts/components", + "destination": "/docs/orm/tools" }, { - "source": "/reference/api-reference/prisma-client-reference", - "destination": "/orm/reference/prisma-client-reference" + "source": "/docs/reference/api-reference/prisma-client-reference", + "destination": "/docs/orm/reference/prisma-client-reference" }, { - "source": "/reference/api-reference/prisma-schema-reference", - "destination": "/orm/reference/prisma-schema-reference" + "source": "/docs/reference/api-reference/prisma-schema-reference", + "destination": "/docs/orm/reference/prisma-schema-reference" }, { - "source": "/reference/api-reference/command-reference", - "destination": "/orm/reference/prisma-cli-reference" + "source": "/docs/reference/api-reference/command-reference", + "destination": "/docs/orm/reference/prisma-cli-reference" }, { - "source": "/reference/api-reference/error-reference", - "destination": "/orm/reference/error-reference" + "source": "/docs/reference/api-reference/error-reference", + "destination": "/docs/orm/reference/error-reference" }, { - "source": "/reference/api-reference/environment-variables-reference", - "destination": "/orm/reference/environment-variables-reference" + "source": "/docs/reference/api-reference/environment-variables-reference", + "destination": "/docs/orm/reference/environment-variables-reference" }, { - "source": "/reference/database-reference/database-features", - "destination": "/orm/reference/database-features" + "source": "/docs/reference/database-reference/database-features", + "destination": "/docs/orm/reference/database-features" }, { - "source": "/reference/database-reference/supported-databases", - "destination": "/orm/reference/supported-databases" + "source": "/docs/reference/database-reference/supported-databases", + "destination": "/docs/orm/reference/supported-databases" }, { - "source": "/reference/database-reference/connection-urls", - "destination": "/orm/reference/connection-urls" + "source": "/docs/reference/database-reference/connection-urls", + "destination": "/docs/orm/reference/connection-urls" }, { - "source": "/reference/system-requirements", - "destination": "/orm/reference/system-requirements" + "source": "/docs/reference/system-requirements", + "destination": "/docs/orm/reference/system-requirements" }, { - "source": "/concepts/components/preview-features/client-preview-features", - "destination": "/orm/reference/preview-features/client-preview-features" + "source": "/docs/concepts/components/preview-features/client-preview-features", + "destination": "/docs/orm/reference/preview-features/client-preview-features" }, { - "source": "/concepts/components/preview-features/cli-preview-features", - "destination": "/orm/reference/preview-features/cli-preview-features" + "source": "/docs/concepts/components/preview-features/cli-preview-features", + "destination": "/docs/orm/reference/preview-features/cli-preview-features" }, { - "source": "/concepts/components/preview-features", - "destination": "/orm/reference/preview-features" + "source": "/docs/concepts/components/preview-features", + "destination": "/docs/orm/reference/preview-features" }, { - "source": "/reference", - "destination": "/orm/reference" + "source": "/docs/reference", + "destination": "/docs/orm/reference" }, { - "source": "/concepts/components/prisma-engines/query-engine", - "destination": "/orm/more/under-the-hood/engines" + "source": "/docs/concepts/components/prisma-engines/query-engine", + "destination": "/docs/orm/more/under-the-hood/engines" }, { - "source": "/concepts/components/prisma-engines/query-engine-node-js-at-runtime.png", - "destination": "/orm/more/under-the-hood/query-engine-node-js-at-runtime.png" + "source": "/docs/concepts/components/prisma-engines/query-engine-node-js-at-runtime.png", + "destination": "/docs/orm/more/under-the-hood/query-engine-node-js-at-runtime.png" }, { - "source": "/concepts/components/prisma-engines/typical-flow-query-engine-at-runtime.png", - "destination": "/orm/more/under-the-hood/typical-flow-query-engine-at-runtime.png" + "source": "/docs/concepts/components/prisma-engines/typical-flow-query-engine-at-runtime.png", + "destination": "/docs/orm/more/under-the-hood/typical-flow-query-engine-at-runtime.png" }, { - "source": "/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-5/rejectonnotfound-changes", - "destination": "/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-5/rejectonnotfound-changes" + "source": "/docs/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-5/rejectonnotfound-changes", + "destination": "/docs/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-5/rejectonnotfound-changes" }, { - "source": "/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-5/jsonprotocol-changes", - "destination": "/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-5/jsonprotocol-changes" + "source": "/docs/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-5/jsonprotocol-changes", + "destination": "/docs/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-5/jsonprotocol-changes" }, { - "source": "/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-5", - "destination": "/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-5" + "source": "/docs/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-5", + "destination": "/docs/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-5" }, { - "source": "/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-4", - "destination": "/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-4" + "source": "/docs/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-4", + "destination": "/docs/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-4" }, { - "source": "/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-3/named-constraints", - "destination": "/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-3/named-constraints" + "source": "/docs/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-3/named-constraints", + "destination": "/docs/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-3/named-constraints" }, { - "source": "/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-3/referential-actions", - "destination": "/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-3/referential-actions" + "source": "/docs/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-3/referential-actions", + "destination": "/docs/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-3/referential-actions" }, { - "source": "/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-3", - "destination": "/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-3" + "source": "/docs/guides/upgrade-guides/upgrading-versions/upgrading-to-prisma-3", + "destination": "/docs/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-3" }, { - "source": "/guides/upgrade-guides/upgrading-versions/codemods", - "destination": "/orm/more/upgrade-guides/upgrading-versions/codemods" + "source": "/docs/guides/upgrade-guides/upgrading-versions/codemods", + "destination": "/docs/orm/more/upgrade-guides/upgrading-versions/codemods" }, { - "source": "/guides/upgrade-guides/upgrading-versions", - "destination": "/orm/more/upgrade-guides/upgrading-versions" + "source": "/docs/guides/upgrade-guides/upgrading-versions", + "destination": "/docs/orm/more/upgrade-guides/upgrading-versions" }, { - "source": "/guides/upgrade-guides/upgrading-to-use-preview-features", - "destination": "/orm/more/upgrade-guides/upgrading-to-use-preview-features" + "source": "/docs/guides/upgrade-guides/upgrading-to-use-preview-features", + "destination": "/docs/orm/more/upgrade-guides/upgrading-to-use-preview-features" }, { - "source": "/guides/upgrade-guides/upgrade-from-prisma-1/how-to-upgrade", - "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/how-to-upgrade" + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/how-to-upgrade", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/how-to-upgrade" }, { - "source": "/guides/upgrade-guides/upgrade-from-prisma-1/schema-incompatibilities", - "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/schema-incompatibilities" + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/schema-incompatibilities", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/schema-incompatibilities" }, { - "source": "/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-the-prisma-layer", - "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/upgrading-the-prisma-layer" + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-the-prisma-layer", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/upgrading-the-prisma-layer" }, { - "source": "/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-nexus-prisma-to-nexus", - "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/upgrading-nexus-prisma-to-nexus" + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-nexus-prisma-to-nexus", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/upgrading-nexus-prisma-to-nexus" }, { - "source": "/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-prisma-binding-to-nexus", - "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/upgrading-prisma-binding-to-nexus" + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-prisma-binding-to-nexus", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/upgrading-prisma-binding-to-nexus" }, { - "source": "/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-prisma-binding-to-sdl-first", - "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/upgrading-prisma-binding-to-sdl-first" + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-prisma-binding-to-sdl-first", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/upgrading-prisma-binding-to-sdl-first" }, { - "source": "/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-a-rest-api", - "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/upgrading-a-rest-api" + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-a-rest-api", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/upgrading-a-rest-api" }, { - "source": "/guides/upgrade-guides/upgrade-from-prisma-1/upgrade-from-mongodb-beta", - "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/upgrade-from-mongodb-beta" + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/upgrade-from-mongodb-beta", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/upgrade-from-mongodb-beta" }, { - "source": "/guides/upgrade-guides/upgrade-from-prisma-1/images/TablePlus-GUI.png", - "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/images/TablePlus-GUI.png" + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/images/TablePlus-GUI.png", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/images/TablePlus-GUI.png" }, { - "source": "/guides/upgrade-guides/upgrade-from-prisma-1/images/add-missing-default-constraints-to-columns.png", - "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/images/add-missing-default-constraints-to-columns.png" + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/images/add-missing-default-constraints-to-columns.png", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/images/add-missing-default-constraints-to-columns.png" }, { - "source": "/guides/upgrade-guides/upgrade-from-prisma-1/images/altering-columns-to-use-enum.png", - "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/images/altering-columns-to-use-enum.png" + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/images/altering-columns-to-use-enum.png", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/images/altering-columns-to-use-enum.png" }, { - "source": "/guides/upgrade-guides/upgrade-from-prisma-1/images/download-graphql-schema.png", - "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/images/download-graphql-schema.png" + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/images/download-graphql-schema.png", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/images/download-graphql-schema.png" }, { - "source": "/guides/upgrade-guides/upgrade-from-prisma-1/images/expose-prisma-model-fields-with-t-model.png", - "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/images/expose-prisma-model-fields-with-t-model.png" + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/images/expose-prisma-model-fields-with-t-model.png", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/images/expose-prisma-model-fields-with-t-model.png" }, { - "source": "/guides/upgrade-guides/upgrade-from-prisma-1/images/fix-columns-with-json-data-types.png", - "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/images/fix-columns-with-json-data-types.png" + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/images/fix-columns-with-json-data-types.png", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/images/fix-columns-with-json-data-types.png" }, { - "source": "/guides/upgrade-guides/upgrade-from-prisma-1/images/fix-incorrect-m-n-relations-sql.png", - "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/images/fix-incorrect-m-n-relations-sql.png" + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/images/fix-incorrect-m-n-relations-sql.png", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/images/fix-incorrect-m-n-relations-sql.png" }, { - "source": "/guides/upgrade-guides/upgrade-from-prisma-1/images/fix-schema-incompatibilities.png", - "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/images/fix-schema-incompatibilities.png" + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/images/fix-schema-incompatibilities.png", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/images/fix-schema-incompatibilities.png" }, { - "source": "/guides/upgrade-guides/upgrade-from-prisma-1/images/prisma-cli-introspection-flow.png", - "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/images/prisma-cli-introspection-flow.png" + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/images/prisma-cli-introspection-flow.png", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/images/prisma-cli-introspection-flow.png" }, { - "source": "/guides/upgrade-guides/upgrade-from-prisma-1/images/regenerate-resolvers-with-t-crud.png", - "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/images/regenerate-resolvers-with-t-crud.png" + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/images/regenerate-resolvers-with-t-crud.png", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/images/regenerate-resolvers-with-t-crud.png" }, { - "source": "/guides/upgrade-guides/upgrade-from-prisma-1/images/run-sql-command-to-alter-column.png", - "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/images/run-sql-command-to-alter-column.png" + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/images/run-sql-command-to-alter-column.png", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/images/run-sql-command-to-alter-column.png" }, { - "source": "/guides/upgrade-guides/upgrade-from-prisma-1/images/use-t-crud-to-generate-resolvers.png", - "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/images/use-t-crud-to-generate-resolvers.png" + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/images/use-t-crud-to-generate-resolvers.png", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/images/use-t-crud-to-generate-resolvers.png" }, { - "source": "/guides/upgrade-guides/upgrade-from-prisma-1", - "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1" + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1" }, { - "source": "/concepts/more/comparisons/prisma-and-typeorm", - "destination": "/orm/more/comparisons/prisma-and-typeorm" + "source": "/docs/concepts/more/comparisons/prisma-and-typeorm", + "destination": "/docs/orm/more/comparisons/prisma-and-typeorm" }, { - "source": "/concepts/more/comparisons/prisma-and-sequelize", - "destination": "/orm/more/comparisons/prisma-and-sequelize" + "source": "/docs/concepts/more/comparisons/prisma-and-sequelize", + "destination": "/docs/orm/more/comparisons/prisma-and-sequelize" }, { - "source": "/concepts/more/comparisons/prisma-and-mongoose", - "destination": "/orm/more/comparisons/prisma-and-mongoose" + "source": "/docs/concepts/more/comparisons/prisma-and-mongoose", + "destination": "/docs/orm/more/comparisons/prisma-and-mongoose" }, { - "source": "/concepts/more/comparisons/prisma-and-drizzle", - "destination": "/orm/more/comparisons/prisma-and-drizzle" + "source": "/docs/concepts/more/comparisons/prisma-and-drizzle", + "destination": "/docs/orm/more/comparisons/prisma-and-drizzle" }, { - "source": "/concepts/more/comparisons", - "destination": "/orm/more/comparisons" + "source": "/docs/concepts/more/comparisons", + "destination": "/docs/orm/more/comparisons" }, { - "source": "/guides/migrate-to-prisma/migrate-from-typeorm", - "destination": "/orm/more/migrating-to-prisma/migrate-from-typeorm" + "source": "/docs/guides/migrate-to-prisma/migrate-from-typeorm", + "destination": "/docs/orm/more/migrating-to-prisma/migrate-from-typeorm" }, { - "source": "/guides/migrate-to-prisma/migrate-from-sequelize", - "destination": "/orm/more/migrating-to-prisma/migrate-from-sequelize" + "source": "/docs/guides/migrate-to-prisma/migrate-from-sequelize", + "destination": "/docs/orm/more/migrating-to-prisma/migrate-from-sequelize" }, { - "source": "/guides/migrate-to-prisma/migrate-from-mongoose", - "destination": "/orm/more/migrating-to-prisma/migrate-from-mongoose" + "source": "/docs/guides/migrate-to-prisma/migrate-from-mongoose", + "destination": "/docs/orm/more/migrating-to-prisma/migrate-from-mongoose" }, { - "source": "/guides/migrate-to-prisma", - "destination": "/orm/more/migrating-to-prisma" + "source": "/docs/guides/migrate-to-prisma", + "destination": "/docs/orm/more/migrating-to-prisma" }, { - "source": "/guides/development-environment/environment-variables/env-files", - "destination": "/orm/more/development-environment/environment-variables/env-files" + "source": "/docs/guides/development-environment/environment-variables/env-files", + "destination": "/docs/orm/more/development-environment/environment-variables/env-files" }, { - "source": "/guides/development-environment/environment-variables/managing-env-files-and-setting-variables", - "destination": "/orm/more/development-environment/environment-variables/managing-env-files-and-setting-variables" + "source": "/docs/guides/development-environment/environment-variables/managing-env-files-and-setting-variables", + "destination": "/docs/orm/more/development-environment/environment-variables/managing-env-files-and-setting-variables" }, { - "source": "/guides/development-environment/environment-variables/using-multiple-env-files", - "destination": "/orm/more/development-environment/environment-variables/using-multiple-env-files" + "source": "/docs/guides/development-environment/environment-variables/using-multiple-env-files", + "destination": "/docs/orm/more/development-environment/environment-variables/using-multiple-env-files" }, { - "source": "/guides/development-environment/environment-variables", - "destination": "/orm/more/development-environment/environment-variables" + "source": "/docs/guides/development-environment/environment-variables", + "destination": "/docs/orm/more/development-environment/environment-variables" }, { - "source": "/guides/development-environment/editor-setup", - "destination": "/orm/more/development-environment/editor-setup" + "source": "/docs/guides/development-environment/editor-setup", + "destination": "/docs/orm/more/development-environment/editor-setup" }, { - "source": "/guides/development-environment", - "destination": "/orm/more/development-environment" + "source": "/docs/guides/development-environment", + "destination": "/docs/orm/more/development-environment" }, { - "source": "/guides/other/troubleshooting-orm/creating-bug-reports", - "destination": "/orm/more/help-and-troubleshooting/creating-bug-reports" + "source": "/docs/guides/other/troubleshooting-orm/creating-bug-reports", + "destination": "/docs/orm/more/help-and-troubleshooting/creating-bug-reports" }, { - "source": "/guides/other/troubleshooting-orm/help-articles/autocompletion-in-graphql-resolvers-with-js", - "destination": "/orm/more/help-and-troubleshooting/help-articles/autocompletion-in-graphql-resolvers-with-js" + "source": "/docs/guides/other/troubleshooting-orm/help-articles/autocompletion-in-graphql-resolvers-with-js", + "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/autocompletion-in-graphql-resolvers-with-js" }, { - "source": "/guides/other/troubleshooting-orm/help-articles/working-with-many-to-many-relations", - "destination": "/orm/more/help-and-troubleshooting/help-articles/working-with-many-to-many-relations" + "source": "/docs/guides/other/troubleshooting-orm/help-articles/working-with-many-to-many-relations", + "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/working-with-many-to-many-relations" }, { - "source": "/guides/other/troubleshooting-orm/help-articles/nextjs-prisma-client-dev-practices", - "destination": "/orm/more/help-and-troubleshooting/help-articles/nextjs-prisma-client-dev-practices" + "source": "/docs/guides/other/troubleshooting-orm/help-articles/nextjs-prisma-client-dev-practices", + "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/nextjs-prisma-client-dev-practices" }, { - "source": "/guides/other/troubleshooting-orm/help-articles/nextjs-prisma-client-monorepo", - "destination": "/orm/more/help-and-troubleshooting/help-articles/nextjs-prisma-client-monorepo" + "source": "/docs/guides/other/troubleshooting-orm/help-articles/nextjs-prisma-client-monorepo", + "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/nextjs-prisma-client-monorepo" }, { - "source": "/guides/other/troubleshooting-orm/help-articles/pkg-issue", - "destination": "/orm/more/help-and-troubleshooting/help-articles/pkg-issue" + "source": "/docs/guides/other/troubleshooting-orm/help-articles/pkg-issue", + "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/pkg-issue" }, { - "source": "/guides/other/troubleshooting-orm/help-articles/comparing-columns-through-raw-queries", - "destination": "/orm/more/help-and-troubleshooting/help-articles/comparing-columns-through-raw-queries" + "source": "/docs/guides/other/troubleshooting-orm/help-articles/comparing-columns-through-raw-queries", + "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/comparing-columns-through-raw-queries" }, { - "source": "/guides/other/troubleshooting-orm/help-articles/vercel-caching-issue", - "destination": "/orm/more/help-and-troubleshooting/help-articles/vercel-caching-issue" + "source": "/docs/guides/other/troubleshooting-orm/help-articles/vercel-caching-issue", + "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/vercel-caching-issue" }, { - "source": "/guides/other/troubleshooting-orm/help-articles/netlify-caching-issue", - "destination": "/orm/more/help-and-troubleshooting/help-articles/netlify-caching-issue" + "source": "/docs/guides/other/troubleshooting-orm/help-articles/netlify-caching-issue", + "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/netlify-caching-issue" }, { - "source": "/guides/other/advanced-database-tasks/data-validation/postgresql", - "destination": "/orm/more/help-and-troubleshooting/help-articles/check-constraints" + "source": "/docs/guides/other/advanced-database-tasks/data-validation/postgresql", + "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/check-constraints" }, { - "source": "/guides/other/troubleshooting-orm/help-articles", - "destination": "/orm/more/help-and-troubleshooting/help-articles" + "source": "/docs/guides/other/troubleshooting-orm/help-articles", + "destination": "/docs/orm/more/help-and-troubleshooting/help-articles" }, { - "source": "/guides/other/troubleshooting-orm/help-articles/netlify-build-command-filled.png", - "destination": "/orm/more/help-and-troubleshooting/help-articles/netlify-build-command-filled.png" + "source": "/docs/guides/other/troubleshooting-orm/help-articles/netlify-build-command-filled.png", + "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/netlify-build-command-filled.png" }, { - "source": "/guides/other/troubleshooting-orm/help-articles/netlify-edit-settings.png", - "destination": "/orm/more/help-and-troubleshooting/help-articles/netlify-edit-settings.png" + "source": "/docs/guides/other/troubleshooting-orm/help-articles/netlify-edit-settings.png", + "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/netlify-edit-settings.png" }, { - "source": "/guides/other/troubleshooting-orm/help-articles/prisma-autocompletion-in-js.png", - "destination": "/orm/more/help-and-troubleshooting/help-articles/prisma-autocompletion-in-js.png" + "source": "/docs/guides/other/troubleshooting-orm/help-articles/prisma-autocompletion-in-js.png", + "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/prisma-autocompletion-in-js.png" }, { - "source": "/guides/other/troubleshooting-orm/help-articles/unwanted-autocomplete-values-in-vscode.png", - "destination": "/orm/more/help-and-troubleshooting/help-articles/unwanted-autocomplete-values-in-vscode.png" + "source": "/docs/guides/other/troubleshooting-orm/help-articles/unwanted-autocomplete-values-in-vscode.png", + "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/unwanted-autocomplete-values-in-vscode.png" }, { - "source": "/guides/other/troubleshooting-orm/help-articles/vercel-ui-build-command-filled.png", - "destination": "/orm/more/help-and-troubleshooting/help-articles/vercel-ui-build-command-filled.png" + "source": "/docs/guides/other/troubleshooting-orm/help-articles/vercel-ui-build-command-filled.png", + "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/vercel-ui-build-command-filled.png" }, { - "source": "/guides/other/troubleshooting-orm/help-articles/vercel-ui-build-command.png", - "destination": "/orm/more/help-and-troubleshooting/help-articles/vercel-ui-build-command.png" + "source": "/docs/guides/other/troubleshooting-orm/help-articles/vercel-ui-build-command.png", + "destination": "/docs/orm/more/help-and-troubleshooting/help-articles/vercel-ui-build-command.png" }, { - "source": "/about/prisma/releases", - "destination": "/orm/more/releases" + "source": "/docs/about/prisma/releases", + "destination": "/docs/orm/more/releases" }, { - "source": "/data-platform/accelerate/what-is-accelerate", - "destination": "/accelerate/what-is-accelerate" + "source": "/docs/data-platform/accelerate/what-is-accelerate", + "destination": "/docs/accelerate/what-is-accelerate" }, { - "source": "/data-platform/accelerate/getting-started", - "destination": "/accelerate/getting-started" + "source": "/docs/data-platform/accelerate/getting-started", + "destination": "/docs/accelerate/getting-started" }, { - "source": "/data-platform/accelerate/concepts", - "destination": "/accelerate/concepts" + "source": "/docs/data-platform/accelerate/concepts", + "destination": "/docs/accelerate/concepts" }, { - "source": "/data-platform/accelerate/api-reference", - "destination": "/accelerate/api-reference" + "source": "/docs/data-platform/accelerate/api-reference", + "destination": "/docs/accelerate/api-reference" }, { - "source": "/data-platform/accelerate/limitations", - "destination": "/accelerate/limitations" + "source": "/docs/data-platform/accelerate/limitations", + "destination": "/docs/accelerate/limitations" }, { - "source": "/data-platform/accelerate/evaluating", - "destination": "/accelerate/evaluating" + "source": "/docs/data-platform/accelerate/evaluating", + "destination": "/docs/accelerate/evaluating" }, { - "source": "/data-platform/accelerate/faq", - "destination": "/accelerate/faq" + "source": "/docs/data-platform/accelerate/faq", + "destination": "/docs/accelerate/faq" }, { - "source": "/data-platform/accelerate/feedback", - "destination": "/accelerate/feedback" + "source": "/docs/data-platform/accelerate/feedback", + "destination": "/docs/accelerate/feedback" }, { - "source": "/data-platform/accelerate/images/accelerate-update-database-connection-string.png", - "destination": "/accelerate/images/accelerate-update-database-connection-string.png" + "source": "/docs/data-platform/accelerate/images/accelerate-update-database-connection-string.png", + "destination": "/docs/accelerate/images/accelerate-update-database-connection-string.png" }, { - "source": "/data-platform/accelerate/images/accelerate.png", - "destination": "/accelerate/images/accelerate.png" + "source": "/docs/data-platform/accelerate/images/accelerate.png", + "destination": "/docs/accelerate/images/accelerate.png" }, { - "source": "/data-platform/accelerate/images/no-cache.png", - "destination": "/accelerate/images/no-cache.png" + "source": "/docs/data-platform/accelerate/images/no-cache.png", + "destination": "/docs/accelerate/images/no-cache.png" }, { - "source": "/data-platform/accelerate/images/speed-test.png", - "destination": "/accelerate/images/speed-test.png" + "source": "/docs/data-platform/accelerate/images/speed-test.png", + "destination": "/docs/accelerate/images/speed-test.png" }, { - "source": "/data-platform/accelerate/images/swr.png", - "destination": "/accelerate/images/swr.png" + "source": "/docs/data-platform/accelerate/images/swr.png", + "destination": "/docs/accelerate/images/swr.png" }, { - "source": "/data-platform/accelerate/images/ttl.png", - "destination": "/accelerate/images/ttl.png" + "source": "/docs/data-platform/accelerate/images/ttl.png", + "destination": "/docs/accelerate/images/ttl.png" }, { - "source": "/data-platform/accelerate/images/ttl_and_swr.png", - "destination": "/accelerate/images/ttl_and_swr.png" + "source": "/docs/data-platform/accelerate/images/ttl_and_swr.png", + "destination": "/docs/accelerate/images/ttl_and_swr.png" }, { - "source": "/guides/migrate/developing-with-prisma-migrate", - "destination": "/orm/prisma-migrate" + "source": "/docs/guides/migrate/developing-with-prisma-migrate", + "destination": "/docs/orm/prisma-migrate" }, { - "source": "/guides/migrate/patching-production", - "destination": "/orm/prisma-migrate/workflows/patching-and-hotfixing" + "source": "/docs/guides/migrate/patching-production", + "destination": "/docs/orm/prisma-migrate/workflows/patching-and-hotfixing" }, { - "source": "/guides/migrate", - "destination": "/orm/prisma-migrate" + "source": "/docs/guides/migrate", + "destination": "/docs/orm/prisma-migrate" }, { - "source": "/guides/database", - "destination": "/orm/overview/databases" + "source": "/docs/guides/database", + "destination": "/docs/orm/overview/databases" }, { - "source": "/guides/performance-and-optimization/metrics", - "destination": "/orm/prisma-client/observability-and-logging/metrics" + "source": "/docs/guides/performance-and-optimization/metrics", + "destination": "/docs/orm/prisma-client/observability-and-logging/metrics" }, { - "source": "/guides/performance-and-optimization/query-tracing", - "destination": "/orm/prisma-client/observability-and-logging/opentelemetry-tracing" + "source": "/docs/guides/performance-and-optimization/query-tracing", + "destination": "/docs/orm/prisma-client/observability-and-logging/opentelemetry-tracing" }, { - "source": "/guides/performance-and-optimization", - "destination": "/orm/prisma-client/queries/query-optimization-performance" + "source": "/docs/guides/performance-and-optimization", + "destination": "/docs/orm/prisma-client/queries/query-optimization-performance" }, { - "source": "/guides/upgrade-guides", - "destination": "/orm/more/upgrade-guides" + "source": "/docs/guides/upgrade-guides", + "destination": "/docs/orm/more/upgrade-guides" }, { - "source": "/guides/other/troubleshooting-orm", - "destination": "/orm/more/help-and-troubleshooting" + "source": "/docs/guides/other/troubleshooting-orm", + "destination": "/docs/orm/more/help-and-troubleshooting" }, { - "source": "/guides/other/advanced-database-tasks/typesafe-raw-sql", - "destination": "/orm/prisma-client/queries/raw-database-access/custom-and-type-safe-queries" + "source": "/docs/guides/other/advanced-database-tasks/typesafe-raw-sql", + "destination": "/docs/orm/prisma-client/queries/raw-database-access/custom-and-type-safe-queries" }, { - "source": "/guides/other/advanced-database-tasks/data-validation", - "destination": "/orm/prisma-client/queries/custom-validation" + "source": "/docs/guides/other/advanced-database-tasks/data-validation", + "destination": "/docs/orm/prisma-client/queries/custom-validation" }, { - "source": "/guides/other/advanced-database-tasks", - "destination": "/orm" + "source": "/docs/guides/other/advanced-database-tasks", + "destination": "/docs/orm" }, { - "source": "/guides/other", - "destination": "/orm" + "source": "/docs/guides/other", + "destination": "/docs/orm" }, { - "source": "/guides", - "destination": "/orm" + "source": "/docs/guides", + "destination": "/docs/orm" }, { - "source": "/guides/upgrade-guides/upgrade-from-prisma-1/schema-incompatibilities-postgresql", - "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/schema-incompatibilities-postgresql" + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/schema-incompatibilities-postgresql", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/schema-incompatibilities-postgresql" }, { - "source": "/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-the-prisma-layer-postgresql", - "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/upgrading-the-prisma-layer-postgresql" + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-the-prisma-layer-postgresql", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/upgrading-the-prisma-layer-postgresql" }, { - "source": "/data-platform/pulse/what-is-pulse", - "destination": "/pulse/what-is-pulse" + "source": "/docs/data-platform/pulse/what-is-pulse", + "destination": "/docs/pulse/what-is-pulse" }, { - "source": "/data-platform/pulse/getting-started", - "destination": "/pulse/getting-started" + "source": "/docs/data-platform/pulse/getting-started", + "destination": "/docs/pulse/getting-started" }, { - "source": "/data-platform/pulse/concepts", - "destination": "/pulse/concepts" + "source": "/docs/data-platform/pulse/concepts", + "destination": "/docs/pulse/concepts" }, { - "source": "/data-platform/pulse/api-reference", - "destination": "/pulse/api-reference" + "source": "/docs/data-platform/pulse/api-reference", + "destination": "/docs/pulse/api-reference" }, { - "source": "/data-platform/pulse/current-limitations", - "destination": "/pulse/current-limitations" + "source": "/docs/data-platform/pulse/current-limitations", + "destination": "/docs/pulse/current-limitations" }, { - "source": "/data-platform/pulse/faq", - "destination": "/pulse/faq" + "source": "/docs/data-platform/pulse/faq", + "destination": "/docs/pulse/faq" }, { - "source": "/data-platform/pulse/feedback", - "destination": "/pulse/feedback" + "source": "/docs/data-platform/pulse/feedback", + "destination": "/docs/pulse/feedback" }, { - "source": "/reference/api-reference", - "destination": "/orm/reference" + "source": "/docs/reference/api-reference", + "destination": "/docs/orm/reference" }, { - "source": "/reference/database-reference", - "destination": "/orm/reference" + "source": "/docs/reference/database-reference", + "destination": "/docs/orm/reference" }, { - "source": "/data-platform/platform-console/about", - "destination": "/platform/platform-console/about" + "source": "/docs/data-platform/platform-console/about", + "destination": "/docs/platform/platform-console/about" }, { - "source": "/data-platform/platform-console/concepts/workspaces", - "destination": "/platform/platform-console/concepts/workspaces" + "source": "/docs/data-platform/platform-console/concepts/workspaces", + "destination": "/docs/platform/platform-console/concepts/workspaces" }, { - "source": "/data-platform/platform-console/concepts/projects", - "destination": "/platform/platform-console/concepts/projects" + "source": "/docs/data-platform/platform-console/concepts/projects", + "destination": "/docs/platform/platform-console/concepts/projects" }, { - "source": "/data-platform/platform-console/concepts", - "destination": "/platform/platform-console/concepts" + "source": "/docs/data-platform/platform-console/concepts", + "destination": "/docs/platform/platform-console/concepts" }, { - "source": "/data-platform/platform-console/maturity-levels", - "destination": "/platform/platform-console/maturity-levels" + "source": "/docs/data-platform/platform-console/maturity-levels", + "destination": "/docs/platform/platform-console/maturity-levels" }, { - "source": "/data-platform/platform-console/limits", - "destination": "/platform/platform-console/limits" + "source": "/docs/data-platform/platform-console/limits", + "destination": "/docs/platform/platform-console/limits" }, { - "source": "/data-platform/platform-console/support", - "destination": "/platform/platform-console/support" + "source": "/docs/data-platform/platform-console/support", + "destination": "/docs/platform/platform-console/support" }, { - "source": "/data-platform/platform-console", - "destination": "/platform/platform-console" + "source": "/docs/data-platform/platform-console", + "destination": "/docs/platform/platform-console" }, { - "source": "/data-platform/classic-projects/data-proxy/use-data-proxy", - "destination": "/platform/classic-projects/data-proxy/use-data-proxy" + "source": "/docs/data-platform/classic-projects/data-proxy/use-data-proxy", + "destination": "/docs/platform/classic-projects/data-proxy/use-data-proxy" }, { - "source": "/data-platform/classic-projects/data-proxy/deploy", - "destination": "/platform/classic-projects/data-proxy/deploy" + "source": "/docs/data-platform/classic-projects/data-proxy/deploy", + "destination": "/docs/platform/classic-projects/data-proxy/deploy" }, { - "source": "/data-platform/classic-projects/data-proxy/prisma-cli-with-data-proxy", - "destination": "/platform/classic-projects/data-proxy/prisma-cli-with-data-proxy" + "source": "/docs/data-platform/classic-projects/data-proxy/prisma-cli-with-data-proxy", + "destination": "/docs/platform/classic-projects/data-proxy/prisma-cli-with-data-proxy" }, { - "source": "/data-platform/classic-projects/data-proxy/considerations-limitations", - "destination": "/platform/classic-projects/data-proxy/considerations-limitations" + "source": "/docs/data-platform/classic-projects/data-proxy/considerations-limitations", + "destination": "/docs/platform/classic-projects/data-proxy/considerations-limitations" }, { - "source": "/data-platform/classic-projects/data-proxy", - "destination": "/platform/classic-projects/data-proxy" + "source": "/docs/data-platform/classic-projects/data-proxy", + "destination": "/docs/platform/classic-projects/data-proxy" }, { - "source": "/data-platform/classic-projects/platform/static-ips", - "destination": "/platform/classic-projects/platform/static-ips" + "source": "/docs/data-platform/classic-projects/platform/static-ips", + "destination": "/docs/platform/classic-projects/platform/static-ips" }, { - "source": "/data-platform/classic-projects/platform/projects/create", - "destination": "/platform/classic-projects/platform/projects/create" + "source": "/docs/data-platform/classic-projects/platform/projects/create", + "destination": "/docs/platform/classic-projects/platform/projects/create" }, { - "source": "/data-platform/classic-projects/platform/projects/edit-settings", - "destination": "/platform/classic-projects/platform/projects/edit-settings" + "source": "/docs/data-platform/classic-projects/platform/projects/edit-settings", + "destination": "/docs/platform/classic-projects/platform/projects/edit-settings" }, { - "source": "/data-platform/classic-projects/platform/projects/delete-project", - "destination": "/platform/classic-projects/platform/projects/delete-project" + "source": "/docs/data-platform/classic-projects/platform/projects/delete-project", + "destination": "/docs/platform/classic-projects/platform/projects/delete-project" }, { - "source": "/data-platform/classic-projects/platform/projects", - "destination": "/platform/classic-projects/platform/projects" + "source": "/docs/data-platform/classic-projects/platform/projects", + "destination": "/docs/platform/classic-projects/platform/projects" }, { - "source": "/data-platform/classic-projects/platform/environments/view-all", - "destination": "/platform/classic-projects/platform/environments/view-all" + "source": "/docs/data-platform/classic-projects/platform/environments/view-all", + "destination": "/docs/platform/classic-projects/platform/environments/view-all" }, { - "source": "/data-platform/classic-projects/platform/environments/create", - "destination": "/platform/classic-projects/platform/environments/create" + "source": "/docs/data-platform/classic-projects/platform/environments/create", + "destination": "/docs/platform/classic-projects/platform/environments/create" }, { - "source": "/data-platform/classic-projects/platform/environments/edit-settings/edit-name-and-url-handle", - "destination": "/platform/classic-projects/platform/environments/edit-settings/edit-name-and-url-handle" + "source": "/docs/data-platform/classic-projects/platform/environments/edit-settings/edit-name-and-url-handle", + "destination": "/docs/platform/classic-projects/platform/environments/edit-settings/edit-name-and-url-handle" }, { - "source": "/data-platform/classic-projects/platform/environments/edit-settings/change-default-environment", - "destination": "/platform/classic-projects/platform/environments/edit-settings/change-default-environment" + "source": "/docs/data-platform/classic-projects/platform/environments/edit-settings/change-default-environment", + "destination": "/docs/platform/classic-projects/platform/environments/edit-settings/change-default-environment" }, { - "source": "/data-platform/classic-projects/platform/environments/edit-settings", - "destination": "/platform/classic-projects/platform/environments/edit-settings" + "source": "/docs/data-platform/classic-projects/platform/environments/edit-settings", + "destination": "/docs/platform/classic-projects/platform/environments/edit-settings" }, { - "source": "/data-platform/classic-projects/platform/environments/delete", - "destination": "/platform/classic-projects/platform/environments/delete" + "source": "/docs/data-platform/classic-projects/platform/environments/delete", + "destination": "/docs/platform/classic-projects/platform/environments/delete" }, { - "source": "/data-platform/classic-projects/platform/environments", - "destination": "/platform/classic-projects/platform/environments" + "source": "/docs/data-platform/classic-projects/platform/environments", + "destination": "/docs/platform/classic-projects/platform/environments" }, { - "source": "/data-platform/classic-projects/platform/members/roles-permissions", - "destination": "/platform/classic-projects/platform/members/roles-permissions" + "source": "/docs/data-platform/classic-projects/platform/members/roles-permissions", + "destination": "/docs/platform/classic-projects/platform/members/roles-permissions" }, { - "source": "/data-platform/classic-projects/platform/members/add", - "destination": "/platform/classic-projects/platform/members/add" + "source": "/docs/data-platform/classic-projects/platform/members/add", + "destination": "/docs/platform/classic-projects/platform/members/add" }, { - "source": "/data-platform/classic-projects/platform/members/change-role", - "destination": "/platform/classic-projects/platform/members/change-role" + "source": "/docs/data-platform/classic-projects/platform/members/change-role", + "destination": "/docs/platform/classic-projects/platform/members/change-role" }, { - "source": "/data-platform/classic-projects/platform/members/remove", - "destination": "/platform/classic-projects/platform/members/remove" + "source": "/docs/data-platform/classic-projects/platform/members/remove", + "destination": "/docs/platform/classic-projects/platform/members/remove" }, { - "source": "/data-platform/classic-projects/platform/members/images/team-members-invite-and-select-role.png", - "destination": "/platform/classic-projects/platform/members/images/team-members-invite-and-select-role.png" + "source": "/docs/data-platform/classic-projects/platform/members/images/team-members-invite-and-select-role.png", + "destination": "/docs/platform/classic-projects/platform/members/images/team-members-invite-and-select-role.png" }, { - "source": "/data-platform/classic-projects/platform/members/images/team-members-invite-and-select-role.snagx", - "destination": "/platform/classic-projects/platform/members/images/team-members-invite-and-select-role.snagx" + "source": "/docs/data-platform/classic-projects/platform/members/images/team-members-invite-and-select-role.snagx", + "destination": "/docs/platform/classic-projects/platform/members/images/team-members-invite-and-select-role.snagx" }, { - "source": "/data-platform/classic-projects/platform/members", - "destination": "/platform/classic-projects/platform/members" + "source": "/docs/data-platform/classic-projects/platform/members", + "destination": "/docs/platform/classic-projects/platform/members" }, { - "source": "/data-platform/classic-projects/platform/data-browser", - "destination": "/platform/classic-projects/platform/data-browser" + "source": "/docs/data-platform/classic-projects/platform/data-browser", + "destination": "/docs/platform/classic-projects/platform/data-browser" }, { - "source": "/data-platform/classic-projects/platform/query-console", - "destination": "/platform/classic-projects/platform/query-console" + "source": "/docs/data-platform/classic-projects/platform/query-console", + "destination": "/docs/platform/classic-projects/platform/query-console" }, { - "source": "/data-platform/classic-projects/platform/schema-viewer", - "destination": "/platform/classic-projects/platform/schema-viewer" + "source": "/docs/data-platform/classic-projects/platform/schema-viewer", + "destination": "/docs/platform/classic-projects/platform/schema-viewer" }, { - "source": "/data-platform/classic-projects/platform/account", - "destination": "/platform/classic-projects/platform/account" + "source": "/docs/data-platform/classic-projects/platform/account", + "destination": "/docs/platform/classic-projects/platform/account" }, { - "source": "/data-platform/classic-projects/platform/github-integration", - "destination": "/platform/classic-projects/platform/github-integration" + "source": "/docs/data-platform/classic-projects/platform/github-integration", + "destination": "/docs/platform/classic-projects/platform/github-integration" }, { - "source": "/data-platform/classic-projects/platform/troubleshooting/connection-to-db-timed-out", - "destination": "/platform/classic-projects/platform/troubleshooting/connection-to-db-timed-out" + "source": "/docs/data-platform/classic-projects/platform/troubleshooting/connection-to-db-timed-out", + "destination": "/docs/platform/classic-projects/platform/troubleshooting/connection-to-db-timed-out" }, { - "source": "/data-platform/classic-projects/platform/troubleshooting/cannot-change-db-of-env", - "destination": "/platform/classic-projects/platform/troubleshooting/cannot-change-db-of-env" + "source": "/docs/data-platform/classic-projects/platform/troubleshooting/cannot-change-db-of-env", + "destination": "/docs/platform/classic-projects/platform/troubleshooting/cannot-change-db-of-env" }, { - "source": "/data-platform/classic-projects/platform/troubleshooting/cannot-edit-schema-file", - "destination": "/platform/classic-projects/platform/troubleshooting/cannot-edit-schema-file" + "source": "/docs/data-platform/classic-projects/platform/troubleshooting/cannot-edit-schema-file", + "destination": "/docs/platform/classic-projects/platform/troubleshooting/cannot-edit-schema-file" }, { - "source": "/data-platform/classic-projects/platform/troubleshooting/schema-file-does-not-update", - "destination": "/platform/classic-projects/platform/troubleshooting/schema-file-does-not-update" + "source": "/docs/data-platform/classic-projects/platform/troubleshooting/schema-file-does-not-update", + "destination": "/docs/platform/classic-projects/platform/troubleshooting/schema-file-does-not-update" }, { - "source": "/data-platform/classic-projects/platform/troubleshooting", - "destination": "/platform/classic-projects/platform/troubleshooting" + "source": "/docs/data-platform/classic-projects/platform/troubleshooting", + "destination": "/docs/platform/classic-projects/platform/troubleshooting" }, { - "source": "/data-platform/classic-projects/platform", - "destination": "/platform/classic-projects/platform" + "source": "/docs/data-platform/classic-projects/platform", + "destination": "/docs/platform/classic-projects/platform" }, { - "source": "/data-platform/classic-projects/support", - "destination": "/platform/classic-projects/support" + "source": "/docs/data-platform/classic-projects/support", + "destination": "/docs/platform/classic-projects/support" }, { - "source": "/data-platform/classic-projects/images/account/profile-menu-github-account.png", - "destination": "/platform/classic-projects/images/account/profile-menu-github-account.png" + "source": "/docs/data-platform/classic-projects/images/account/profile-menu-github-account.png", + "destination": "/docs/platform/classic-projects/images/account/profile-menu-github-account.png" }, { - "source": "/data-platform/classic-projects/images/account/profile-menu-github-account.snagx", - "destination": "/platform/classic-projects/images/account/profile-menu-github-account.snagx" + "source": "/docs/data-platform/classic-projects/images/account/profile-menu-github-account.snagx", + "destination": "/docs/platform/classic-projects/images/account/profile-menu-github-account.snagx" }, { - "source": "/data-platform/classic-projects/images/account/sign-up-01-create-first-project.png", - "destination": "/platform/classic-projects/images/account/sign-up-01-create-first-project.png" + "source": "/docs/data-platform/classic-projects/images/account/sign-up-01-create-first-project.png", + "destination": "/docs/platform/classic-projects/images/account/sign-up-01-create-first-project.png" }, { - "source": "/data-platform/classic-projects/images/account/sign-up-01-create-first-project.snagx", - "destination": "/platform/classic-projects/images/account/sign-up-01-create-first-project.snagx" + "source": "/docs/data-platform/classic-projects/images/account/sign-up-01-create-first-project.snagx", + "destination": "/docs/platform/classic-projects/images/account/sign-up-01-create-first-project.snagx" }, { - "source": "/data-platform/classic-projects/images/common/open-project-settings.png", - "destination": "/platform/classic-projects/images/common/open-project-settings.png" + "source": "/docs/data-platform/classic-projects/images/common/open-project-settings.png", + "destination": "/docs/platform/classic-projects/images/common/open-project-settings.png" }, { - "source": "/data-platform/classic-projects/images/common/open-project-settings.snagx", - "destination": "/platform/classic-projects/images/common/open-project-settings.snagx" + "source": "/docs/data-platform/classic-projects/images/common/open-project-settings.snagx", + "destination": "/docs/platform/classic-projects/images/common/open-project-settings.snagx" }, { - "source": "/data-platform/classic-projects/images/common/support-pop-up.png", - "destination": "/platform/classic-projects/images/common/support-pop-up.png" + "source": "/docs/data-platform/classic-projects/images/common/support-pop-up.png", + "destination": "/docs/platform/classic-projects/images/common/support-pop-up.png" }, { - "source": "/data-platform/classic-projects/images/common/support-pop-up.snagx", - "destination": "/platform/classic-projects/images/common/support-pop-up.snagx" + "source": "/docs/data-platform/classic-projects/images/common/support-pop-up.snagx", + "destination": "/docs/platform/classic-projects/images/common/support-pop-up.snagx" }, { - "source": "/data-platform/classic-projects/images/data-browser/models-view.png", - "destination": "/platform/classic-projects/images/data-browser/models-view.png" + "source": "/docs/data-platform/classic-projects/images/data-browser/models-view.png", + "destination": "/docs/platform/classic-projects/images/data-browser/models-view.png" }, { - "source": "/data-platform/classic-projects/images/data-browser/models-view.snagx", - "destination": "/platform/classic-projects/images/data-browser/models-view.snagx" + "source": "/docs/data-platform/classic-projects/images/data-browser/models-view.snagx", + "destination": "/docs/platform/classic-projects/images/data-browser/models-view.snagx" }, { - "source": "/data-platform/classic-projects/images/data-browser/open-close-models.png", - "destination": "/platform/classic-projects/images/data-browser/open-close-models.png" + "source": "/docs/data-platform/classic-projects/images/data-browser/open-close-models.png", + "destination": "/docs/platform/classic-projects/images/data-browser/open-close-models.png" }, { - "source": "/data-platform/classic-projects/images/data-browser/open-close-models.snagx", - "destination": "/platform/classic-projects/images/data-browser/open-close-models.snagx" + "source": "/docs/data-platform/classic-projects/images/data-browser/open-close-models.snagx", + "destination": "/docs/platform/classic-projects/images/data-browser/open-close-models.snagx" }, { - "source": "/data-platform/classic-projects/images/data-browser/model-view-keyboard-shortcuts.png", - "destination": "/platform/classic-projects/images/data-browser/model-view-keyboard-shortcuts.png" + "source": "/docs/data-platform/classic-projects/images/data-browser/model-view-keyboard-shortcuts.png", + "destination": "/docs/platform/classic-projects/images/data-browser/model-view-keyboard-shortcuts.png" }, { - "source": "/data-platform/classic-projects/images/data-browser/model-view-keyboard-shortcuts.snagx", - "destination": "/platform/classic-projects/images/data-browser/model-view-keyboard-shortcuts.snagx" + "source": "/docs/data-platform/classic-projects/images/data-browser/model-view-keyboard-shortcuts.snagx", + "destination": "/docs/platform/classic-projects/images/data-browser/model-view-keyboard-shortcuts.snagx" }, { - "source": "/data-platform/classic-projects/images/data-browser/save-multiple-changes.png", - "destination": "/platform/classic-projects/images/data-browser/save-multiple-changes.png" + "source": "/docs/data-platform/classic-projects/images/data-browser/save-multiple-changes.png", + "destination": "/docs/platform/classic-projects/images/data-browser/save-multiple-changes.png" }, { - "source": "/data-platform/classic-projects/images/data-browser/save-multiple-changes.snagx", - "destination": "/platform/classic-projects/images/data-browser/save-multiple-changes.snagx" + "source": "/docs/data-platform/classic-projects/images/data-browser/save-multiple-changes.snagx", + "destination": "/docs/platform/classic-projects/images/data-browser/save-multiple-changes.snagx" }, { - "source": "/data-platform/classic-projects/images/data-browser/add-remove-filters.png", - "destination": "/platform/classic-projects/images/data-browser/add-remove-filters.png" + "source": "/docs/data-platform/classic-projects/images/data-browser/add-remove-filters.png", + "destination": "/docs/platform/classic-projects/images/data-browser/add-remove-filters.png" }, { - "source": "/data-platform/classic-projects/images/data-browser/add-remove-filters.snagx", - "destination": "/platform/classic-projects/images/data-browser/add-remove-filters.snagx" + "source": "/docs/data-platform/classic-projects/images/data-browser/add-remove-filters.snagx", + "destination": "/docs/platform/classic-projects/images/data-browser/add-remove-filters.snagx" }, { - "source": "/data-platform/classic-projects/images/data-browser/show-hide-fields.png", - "destination": "/platform/classic-projects/images/data-browser/show-hide-fields.png" + "source": "/docs/data-platform/classic-projects/images/data-browser/show-hide-fields.png", + "destination": "/docs/platform/classic-projects/images/data-browser/show-hide-fields.png" }, { - "source": "/data-platform/classic-projects/images/data-browser/show-hide-fields.snagx", - "destination": "/platform/classic-projects/images/data-browser/show-hide-fields.snagx" + "source": "/docs/data-platform/classic-projects/images/data-browser/show-hide-fields.snagx", + "destination": "/docs/platform/classic-projects/images/data-browser/show-hide-fields.snagx" }, { - "source": "/data-platform/classic-projects/images/data-browser/show-hide-records.png", - "destination": "/platform/classic-projects/images/data-browser/show-hide-records.png" + "source": "/docs/data-platform/classic-projects/images/data-browser/show-hide-records.png", + "destination": "/docs/platform/classic-projects/images/data-browser/show-hide-records.png" }, { - "source": "/data-platform/classic-projects/images/data-browser/show-hide-records.snagx", - "destination": "/platform/classic-projects/images/data-browser/show-hide-records.snagx" + "source": "/docs/data-platform/classic-projects/images/data-browser/show-hide-records.snagx", + "destination": "/docs/platform/classic-projects/images/data-browser/show-hide-records.snagx" }, { - "source": "/data-platform/classic-projects/images/data-browser/model-sort.png", - "destination": "/platform/classic-projects/images/data-browser/model-sort.png" + "source": "/docs/data-platform/classic-projects/images/data-browser/model-sort.png", + "destination": "/docs/platform/classic-projects/images/data-browser/model-sort.png" }, { - "source": "/data-platform/classic-projects/images/data-browser/model-sort.snagx", - "destination": "/platform/classic-projects/images/data-browser/model-sort.snagx" + "source": "/docs/data-platform/classic-projects/images/data-browser/model-sort.snagx", + "destination": "/docs/platform/classic-projects/images/data-browser/model-sort.snagx" }, { - "source": "/data-platform/classic-projects/images/data-browser/array.svg", - "destination": "/platform/classic-projects/images/data-browser/array.svg" + "source": "/docs/data-platform/classic-projects/images/data-browser/array.svg", + "destination": "/docs/platform/classic-projects/images/data-browser/array.svg" }, { - "source": "/data-platform/classic-projects/images/data-browser/boolean.svg", - "destination": "/platform/classic-projects/images/data-browser/boolean.svg" + "source": "/docs/data-platform/classic-projects/images/data-browser/boolean.svg", + "destination": "/docs/platform/classic-projects/images/data-browser/boolean.svg" }, { - "source": "/data-platform/classic-projects/images/data-browser/database.svg", - "destination": "/platform/classic-projects/images/data-browser/database.svg" + "source": "/docs/data-platform/classic-projects/images/data-browser/database.svg", + "destination": "/docs/platform/classic-projects/images/data-browser/database.svg" }, { - "source": "/data-platform/classic-projects/images/data-browser/datetime.svg", - "destination": "/platform/classic-projects/images/data-browser/datetime.svg" + "source": "/docs/data-platform/classic-projects/images/data-browser/datetime.svg", + "destination": "/docs/platform/classic-projects/images/data-browser/datetime.svg" }, { - "source": "/data-platform/classic-projects/images/data-browser/enum.svg", - "destination": "/platform/classic-projects/images/data-browser/enum.svg" + "source": "/docs/data-platform/classic-projects/images/data-browser/enum.svg", + "destination": "/docs/platform/classic-projects/images/data-browser/enum.svg" }, { - "source": "/data-platform/classic-projects/images/data-browser/number.svg", - "destination": "/platform/classic-projects/images/data-browser/number.svg" + "source": "/docs/data-platform/classic-projects/images/data-browser/number.svg", + "destination": "/docs/platform/classic-projects/images/data-browser/number.svg" }, { - "source": "/data-platform/classic-projects/images/data-browser/object.svg", - "destination": "/platform/classic-projects/images/data-browser/object.svg" + "source": "/docs/data-platform/classic-projects/images/data-browser/object.svg", + "destination": "/docs/platform/classic-projects/images/data-browser/object.svg" }, { - "source": "/data-platform/classic-projects/images/data-browser/string.svg", - "destination": "/platform/classic-projects/images/data-browser/string.svg" + "source": "/docs/data-platform/classic-projects/images/data-browser/string.svg", + "destination": "/docs/platform/classic-projects/images/data-browser/string.svg" }, { - "source": "/data-platform/classic-projects/images/data-proxy/copy-connection-string.png", - "destination": "/platform/classic-projects/images/data-proxy/copy-connection-string.png" + "source": "/docs/data-platform/classic-projects/images/data-proxy/copy-connection-string.png", + "destination": "/docs/platform/classic-projects/images/data-proxy/copy-connection-string.png" }, { - "source": "/data-platform/classic-projects/images/data-proxy/copy-connection-string.snagx", - "destination": "/platform/classic-projects/images/data-proxy/copy-connection-string.snagx" + "source": "/docs/data-platform/classic-projects/images/data-proxy/copy-connection-string.snagx", + "destination": "/docs/platform/classic-projects/images/data-proxy/copy-connection-string.snagx" }, { - "source": "/data-platform/classic-projects/images/data-proxy/create-and-name-new-connection-string.png", - "destination": "/platform/classic-projects/images/data-proxy/create-and-name-new-connection-string.png" + "source": "/docs/data-platform/classic-projects/images/data-proxy/create-and-name-new-connection-string.png", + "destination": "/docs/platform/classic-projects/images/data-proxy/create-and-name-new-connection-string.png" }, { - "source": "/data-platform/classic-projects/images/data-proxy/create-and-name-new-connection-string.snagx", - "destination": "/platform/classic-projects/images/data-proxy/create-and-name-new-connection-string.snagx" + "source": "/docs/data-platform/classic-projects/images/data-proxy/create-and-name-new-connection-string.snagx", + "destination": "/docs/platform/classic-projects/images/data-proxy/create-and-name-new-connection-string.snagx" }, { - "source": "/data-platform/classic-projects/images/data-proxy/prisma-bundle-with-data-proxy.svg", - "destination": "/platform/classic-projects/images/data-proxy/prisma-bundle-with-data-proxy.svg" + "source": "/docs/data-platform/classic-projects/images/data-proxy/prisma-bundle-with-data-proxy.svg", + "destination": "/docs/platform/classic-projects/images/data-proxy/prisma-bundle-with-data-proxy.svg" }, { - "source": "/data-platform/classic-projects/images/data-proxy/prisma-bundle-without-data-proxy.svg", - "destination": "/platform/classic-projects/images/data-proxy/prisma-bundle-without-data-proxy.svg" + "source": "/docs/data-platform/classic-projects/images/data-proxy/prisma-bundle-without-data-proxy.svg", + "destination": "/docs/platform/classic-projects/images/data-proxy/prisma-bundle-without-data-proxy.svg" }, { - "source": "/data-platform/classic-projects/images/environments/create-01-drop-down-select-create.png", - "destination": "/platform/classic-projects/images/environments/create-01-drop-down-select-create.png" + "source": "/docs/data-platform/classic-projects/images/environments/create-01-drop-down-select-create.png", + "destination": "/docs/platform/classic-projects/images/environments/create-01-drop-down-select-create.png" }, { - "source": "/data-platform/classic-projects/images/environments/create-01-drop-down-select-create.snagx", - "destination": "/platform/classic-projects/images/environments/create-01-drop-down-select-create.snagx" + "source": "/docs/data-platform/classic-projects/images/environments/create-01-drop-down-select-create.snagx", + "destination": "/docs/platform/classic-projects/images/environments/create-01-drop-down-select-create.snagx" }, { - "source": "/data-platform/classic-projects/images/environments/create-env-upload-schema-file.png", - "destination": "/platform/classic-projects/images/environments/create-env-upload-schema-file.png" + "source": "/docs/data-platform/classic-projects/images/environments/create-env-upload-schema-file.png", + "destination": "/docs/platform/classic-projects/images/environments/create-env-upload-schema-file.png" }, { - "source": "/data-platform/classic-projects/images/environments/create-no-schema-sync-02-repo-branch-database-connection-string-data-proxy.png", - "destination": "/platform/classic-projects/images/environments/create-no-schema-sync-02-repo-branch-database-connection-string-data-proxy.png" + "source": "/docs/data-platform/classic-projects/images/environments/create-no-schema-sync-02-repo-branch-database-connection-string-data-proxy.png", + "destination": "/docs/platform/classic-projects/images/environments/create-no-schema-sync-02-repo-branch-database-connection-string-data-proxy.png" }, { - "source": "/data-platform/classic-projects/images/environments/create-no-schema-sync-02-repo-branch-database-connection-string-data-proxy.snagx", - "destination": "/platform/classic-projects/images/environments/create-no-schema-sync-02-repo-branch-database-connection-string-data-proxy.snagx" + "source": "/docs/data-platform/classic-projects/images/environments/create-no-schema-sync-02-repo-branch-database-connection-string-data-proxy.snagx", + "destination": "/docs/platform/classic-projects/images/environments/create-no-schema-sync-02-repo-branch-database-connection-string-data-proxy.snagx" }, { - "source": "/data-platform/classic-projects/images/environments/create-on-schema-sync-02-connection-string-static-ips-data-proxy-region.png", - "destination": "/platform/classic-projects/images/environments/create-on-schema-sync-02-connection-string-static-ips-data-proxy-region.png" + "source": "/docs/data-platform/classic-projects/images/environments/create-on-schema-sync-02-connection-string-static-ips-data-proxy-region.png", + "destination": "/docs/platform/classic-projects/images/environments/create-on-schema-sync-02-connection-string-static-ips-data-proxy-region.png" }, { - "source": "/data-platform/classic-projects/images/environments/create-on-schema-sync-02-connection-string-static-ips-data-proxy-region.snagx", - "destination": "/platform/classic-projects/images/environments/create-on-schema-sync-02-connection-string-static-ips-data-proxy-region.snagx" + "source": "/docs/data-platform/classic-projects/images/environments/create-on-schema-sync-02-connection-string-static-ips-data-proxy-region.snagx", + "destination": "/docs/platform/classic-projects/images/environments/create-on-schema-sync-02-connection-string-static-ips-data-proxy-region.snagx" }, { - "source": "/data-platform/classic-projects/images/environments/default-environment.png", - "destination": "/platform/classic-projects/images/environments/default-environment.png" + "source": "/docs/data-platform/classic-projects/images/environments/default-environment.png", + "destination": "/docs/platform/classic-projects/images/environments/default-environment.png" }, { - "source": "/data-platform/classic-projects/images/environments/default-environment.snagx", - "destination": "/platform/classic-projects/images/environments/default-environment.snagx" + "source": "/docs/data-platform/classic-projects/images/environments/default-environment.snagx", + "destination": "/docs/platform/classic-projects/images/environments/default-environment.snagx" }, { - "source": "/data-platform/classic-projects/images/environments/delete-01-click-three-dot-select-delete.png", - "destination": "/platform/classic-projects/images/environments/delete-01-click-three-dot-select-delete.png" + "source": "/docs/data-platform/classic-projects/images/environments/delete-01-click-three-dot-select-delete.png", + "destination": "/docs/platform/classic-projects/images/environments/delete-01-click-three-dot-select-delete.png" }, { - "source": "/data-platform/classic-projects/images/environments/delete-01-click-three-dot-select-delete.snagx", - "destination": "/platform/classic-projects/images/environments/delete-01-click-three-dot-select-delete.snagx" + "source": "/docs/data-platform/classic-projects/images/environments/delete-01-click-three-dot-select-delete.snagx", + "destination": "/docs/platform/classic-projects/images/environments/delete-01-click-three-dot-select-delete.snagx" }, { - "source": "/data-platform/classic-projects/images/environments/edit-01-change-database-connection-string.png", - "destination": "/platform/classic-projects/images/environments/edit-01-change-database-connection-string.png" + "source": "/docs/data-platform/classic-projects/images/environments/edit-01-change-database-connection-string.png", + "destination": "/docs/platform/classic-projects/images/environments/edit-01-change-database-connection-string.png" }, { - "source": "/data-platform/classic-projects/images/environments/edit-01-change-database-connection-string.snagx", - "destination": "/platform/classic-projects/images/environments/edit-01-change-database-connection-string.snagx" + "source": "/docs/data-platform/classic-projects/images/environments/edit-01-change-database-connection-string.snagx", + "destination": "/docs/platform/classic-projects/images/environments/edit-01-change-database-connection-string.snagx" }, { - "source": "/data-platform/classic-projects/images/environments/edit-01-change-default.png", - "destination": "/platform/classic-projects/images/environments/edit-01-change-default.png" + "source": "/docs/data-platform/classic-projects/images/environments/edit-01-change-default.png", + "destination": "/docs/platform/classic-projects/images/environments/edit-01-change-default.png" }, { - "source": "/data-platform/classic-projects/images/environments/edit-01-change-default.snagx", - "destination": "/platform/classic-projects/images/environments/edit-01-change-default.snagx" + "source": "/docs/data-platform/classic-projects/images/environments/edit-01-change-default.snagx", + "destination": "/docs/platform/classic-projects/images/environments/edit-01-change-default.snagx" }, { - "source": "/data-platform/classic-projects/images/environments/edit-01-change-name-and-URL-handle.png", - "destination": "/platform/classic-projects/images/environments/edit-01-change-name-and-URL-handle.png" + "source": "/docs/data-platform/classic-projects/images/environments/edit-01-change-name-and-URL-handle.png", + "destination": "/docs/platform/classic-projects/images/environments/edit-01-change-name-and-URL-handle.png" }, { - "source": "/data-platform/classic-projects/images/environments/edit-01-change-name-and-URL-handle.snagx", - "destination": "/platform/classic-projects/images/environments/edit-01-change-name-and-URL-handle.snagx" + "source": "/docs/data-platform/classic-projects/images/environments/edit-01-change-name-and-URL-handle.snagx", + "destination": "/docs/platform/classic-projects/images/environments/edit-01-change-name-and-URL-handle.snagx" }, { - "source": "/data-platform/classic-projects/images/environments/list-all-environments.png", - "destination": "/platform/classic-projects/images/environments/list-all-environments.png" + "source": "/docs/data-platform/classic-projects/images/environments/list-all-environments.png", + "destination": "/docs/platform/classic-projects/images/environments/list-all-environments.png" }, { - "source": "/data-platform/classic-projects/images/environments/list-all-environments.snagx", - "destination": "/platform/classic-projects/images/environments/list-all-environments.snagx" + "source": "/docs/data-platform/classic-projects/images/environments/list-all-environments.snagx", + "destination": "/docs/platform/classic-projects/images/environments/list-all-environments.snagx" }, { - "source": "/data-platform/classic-projects/images/environments/switch-environment.png", - "destination": "/platform/classic-projects/images/environments/switch-environment.png" + "source": "/docs/data-platform/classic-projects/images/environments/switch-environment.png", + "destination": "/docs/platform/classic-projects/images/environments/switch-environment.png" }, { - "source": "/data-platform/classic-projects/images/environments/switch-environment.snagx", - "destination": "/platform/classic-projects/images/environments/switch-environment.snagx" + "source": "/docs/data-platform/classic-projects/images/environments/switch-environment.snagx", + "destination": "/docs/platform/classic-projects/images/environments/switch-environment.snagx" }, { - "source": "/data-platform/classic-projects/images/environments/view-all-01-environments-drop-down-view-all.png", - "destination": "/platform/classic-projects/images/environments/view-all-01-environments-drop-down-view-all.png" + "source": "/docs/data-platform/classic-projects/images/environments/view-all-01-environments-drop-down-view-all.png", + "destination": "/docs/platform/classic-projects/images/environments/view-all-01-environments-drop-down-view-all.png" }, { - "source": "/data-platform/classic-projects/images/environments/view-all-01-environments-drop-down-view-all.snagx", - "destination": "/platform/classic-projects/images/environments/view-all-01-environments-drop-down-view-all.snagx" + "source": "/docs/data-platform/classic-projects/images/environments/view-all-01-environments-drop-down-view-all.snagx", + "destination": "/docs/platform/classic-projects/images/environments/view-all-01-environments-drop-down-view-all.snagx" }, { - "source": "/data-platform/classic-projects/images/github/add-github-account-or-org.png", - "destination": "/platform/classic-projects/images/github/add-github-account-or-org.png" + "source": "/docs/data-platform/classic-projects/images/github/add-github-account-or-org.png", + "destination": "/docs/platform/classic-projects/images/github/add-github-account-or-org.png" }, { - "source": "/data-platform/classic-projects/images/github/add-github-account-or-org.snagx", - "destination": "/platform/classic-projects/images/github/add-github-account-or-org.snagx" + "source": "/docs/data-platform/classic-projects/images/github/add-github-account-or-org.snagx", + "destination": "/docs/platform/classic-projects/images/github/add-github-account-or-org.snagx" }, { - "source": "/data-platform/classic-projects/images/github/grant-access-github-app.png", - "destination": "/platform/classic-projects/images/github/grant-access-github-app.png" + "source": "/docs/data-platform/classic-projects/images/github/grant-access-github-app.png", + "destination": "/docs/platform/classic-projects/images/github/grant-access-github-app.png" }, { - "source": "/data-platform/classic-projects/images/github/grant-access-github-app.snagx", - "destination": "/platform/classic-projects/images/github/grant-access-github-app.snagx" + "source": "/docs/data-platform/classic-projects/images/github/grant-access-github-app.snagx", + "destination": "/docs/platform/classic-projects/images/github/grant-access-github-app.snagx" }, { - "source": "/data-platform/classic-projects/images/github/grant-access-to-select-github-repositories.png", - "destination": "/platform/classic-projects/images/github/grant-access-to-select-github-repositories.png" + "source": "/docs/data-platform/classic-projects/images/github/grant-access-to-select-github-repositories.png", + "destination": "/docs/platform/classic-projects/images/github/grant-access-to-select-github-repositories.png" }, { - "source": "/data-platform/classic-projects/images/github/grant-access-to-select-github-repositories.snagx", - "destination": "/platform/classic-projects/images/github/grant-access-to-select-github-repositories.snagx" + "source": "/docs/data-platform/classic-projects/images/github/grant-access-to-select-github-repositories.snagx", + "destination": "/docs/platform/classic-projects/images/github/grant-access-to-select-github-repositories.snagx" }, { - "source": "/data-platform/classic-projects/images/projects/create-02-enable-schema-sync-github-account-branch-schema-path.png", - "destination": "/platform/classic-projects/images/projects/create-02-enable-schema-sync-github-account-branch-schema-path.png" + "source": "/docs/data-platform/classic-projects/images/projects/create-02-enable-schema-sync-github-account-branch-schema-path.png", + "destination": "/docs/platform/classic-projects/images/projects/create-02-enable-schema-sync-github-account-branch-schema-path.png" }, { - "source": "/data-platform/classic-projects/images/projects/create-02-enable-schema-sync-github-account-branch-schema-path.snagx", - "destination": "/platform/classic-projects/images/projects/create-02-enable-schema-sync-github-account-branch-schema-path.snagx" + "source": "/docs/data-platform/classic-projects/images/projects/create-02-enable-schema-sync-github-account-branch-schema-path.snagx", + "destination": "/docs/platform/classic-projects/images/projects/create-02-enable-schema-sync-github-account-branch-schema-path.snagx" }, { - "source": "/data-platform/classic-projects/images/projects/create-02-link-schema-file-from-a-repository.png", - "destination": "/platform/classic-projects/images/projects/create-02-link-schema-file-from-a-repository.png" + "source": "/docs/data-platform/classic-projects/images/projects/create-02-link-schema-file-from-a-repository.png", + "destination": "/docs/platform/classic-projects/images/projects/create-02-link-schema-file-from-a-repository.png" }, { - "source": "/data-platform/classic-projects/images/projects/create-02-upload-schema-file.png", - "destination": "/platform/classic-projects/images/projects/create-02-upload-schema-file.png" + "source": "/docs/data-platform/classic-projects/images/projects/create-02-upload-schema-file.png", + "destination": "/docs/platform/classic-projects/images/projects/create-02-upload-schema-file.png" }, { - "source": "/data-platform/classic-projects/images/projects/prisma-data-platform-projects-page.png", - "destination": "/platform/classic-projects/images/projects/prisma-data-platform-projects-page.png" + "source": "/docs/data-platform/classic-projects/images/projects/prisma-data-platform-projects-page.png", + "destination": "/docs/platform/classic-projects/images/projects/prisma-data-platform-projects-page.png" }, { - "source": "/data-platform/classic-projects/images/projects/prisma-data-platform-projects-page.snagx", - "destination": "/platform/classic-projects/images/projects/prisma-data-platform-projects-page.snagx" + "source": "/docs/data-platform/classic-projects/images/projects/prisma-data-platform-projects-page.snagx", + "destination": "/docs/platform/classic-projects/images/projects/prisma-data-platform-projects-page.snagx" }, { - "source": "/data-platform/classic-projects/images/query-console/add-query-with-autocomplete.png", - "destination": "/platform/classic-projects/images/query-console/add-query-with-autocomplete.png" + "source": "/docs/data-platform/classic-projects/images/query-console/add-query-with-autocomplete.png", + "destination": "/docs/platform/classic-projects/images/query-console/add-query-with-autocomplete.png" }, { - "source": "/data-platform/classic-projects/images/query-console/add-query-with-autocomplete.snagx", - "destination": "/platform/classic-projects/images/query-console/add-query-with-autocomplete.snagx" + "source": "/docs/data-platform/classic-projects/images/query-console/add-query-with-autocomplete.snagx", + "destination": "/docs/platform/classic-projects/images/query-console/add-query-with-autocomplete.snagx" }, { - "source": "/data-platform/classic-projects/images/query-console/components.png", - "destination": "/platform/classic-projects/images/query-console/components.png" + "source": "/docs/data-platform/classic-projects/images/query-console/components.png", + "destination": "/docs/platform/classic-projects/images/query-console/components.png" }, { - "source": "/data-platform/classic-projects/images/query-console/components.snagx", - "destination": "/platform/classic-projects/images/query-console/components.snagx" + "source": "/docs/data-platform/classic-projects/images/query-console/components.snagx", + "destination": "/docs/platform/classic-projects/images/query-console/components.snagx" }, { - "source": "/data-platform/classic-projects/images/query-console/run-query.png", - "destination": "/platform/classic-projects/images/query-console/run-query.png" + "source": "/docs/data-platform/classic-projects/images/query-console/run-query.png", + "destination": "/docs/platform/classic-projects/images/query-console/run-query.png" }, { - "source": "/data-platform/classic-projects/images/query-console/run-query.snagx", - "destination": "/platform/classic-projects/images/query-console/run-query.snagx" + "source": "/docs/data-platform/classic-projects/images/query-console/run-query.snagx", + "destination": "/docs/platform/classic-projects/images/query-console/run-query.snagx" }, { - "source": "/data-platform/classic-projects/images/schema-viewer/overview.png", - "destination": "/platform/classic-projects/images/schema-viewer/overview.png" + "source": "/docs/data-platform/classic-projects/images/schema-viewer/overview.png", + "destination": "/docs/platform/classic-projects/images/schema-viewer/overview.png" }, { - "source": "/data-platform/classic-projects/images/schema-viewer/overview.snagx", - "destination": "/platform/classic-projects/images/schema-viewer/overview.snagx" + "source": "/docs/data-platform/classic-projects/images/schema-viewer/overview.snagx", + "destination": "/docs/platform/classic-projects/images/schema-viewer/overview.snagx" }, { - "source": "/data-platform/classic-projects/images/schema-viewer/project-introspected-schema.png", - "destination": "/platform/classic-projects/images/schema-viewer/project-introspected-schema.png" + "source": "/docs/data-platform/classic-projects/images/schema-viewer/project-introspected-schema.png", + "destination": "/docs/platform/classic-projects/images/schema-viewer/project-introspected-schema.png" }, { - "source": "/data-platform/classic-projects/images/schema-viewer/project-introspected-schema.snagx", - "destination": "/platform/classic-projects/images/schema-viewer/project-introspected-schema.snagx" + "source": "/docs/data-platform/classic-projects/images/schema-viewer/project-introspected-schema.snagx", + "destination": "/docs/platform/classic-projects/images/schema-viewer/project-introspected-schema.snagx" }, { - "source": "/data-platform/classic-projects/images/schema-viewer/project-no-models-no-schema.png", - "destination": "/platform/classic-projects/images/schema-viewer/project-no-models-no-schema.png" + "source": "/docs/data-platform/classic-projects/images/schema-viewer/project-no-models-no-schema.png", + "destination": "/docs/platform/classic-projects/images/schema-viewer/project-no-models-no-schema.png" }, { - "source": "/data-platform/classic-projects/images/schema-viewer/project-no-models-no-schema.snagx", - "destination": "/platform/classic-projects/images/schema-viewer/project-no-models-no-schema.snagx" + "source": "/docs/data-platform/classic-projects/images/schema-viewer/project-no-models-no-schema.snagx", + "destination": "/docs/platform/classic-projects/images/schema-viewer/project-no-models-no-schema.snagx" }, { - "source": "/data-platform/classic-projects/images/schema-viewer/project-schema-viewer.png", - "destination": "/platform/classic-projects/images/schema-viewer/project-schema-viewer.png" + "source": "/docs/data-platform/classic-projects/images/schema-viewer/project-schema-viewer.png", + "destination": "/docs/platform/classic-projects/images/schema-viewer/project-schema-viewer.png" }, { - "source": "/data-platform/classic-projects/images/schema-viewer/provide-prisma-schema.png", - "destination": "/platform/classic-projects/images/schema-viewer/provide-prisma-schema.png" + "source": "/docs/data-platform/classic-projects/images/schema-viewer/provide-prisma-schema.png", + "destination": "/docs/platform/classic-projects/images/schema-viewer/provide-prisma-schema.png" }, { - "source": "/data-platform/classic-projects/images/schema-viewer/provide-prisma-schema.snagx", - "destination": "/platform/classic-projects/images/schema-viewer/provide-prisma-schema.snagx" + "source": "/docs/data-platform/classic-projects/images/schema-viewer/provide-prisma-schema.snagx", + "destination": "/docs/platform/classic-projects/images/schema-viewer/provide-prisma-schema.snagx" }, { - "source": "/data-platform/classic-projects", - "destination": "/platform/classic-projects" + "source": "/docs/data-platform/classic-projects", + "destination": "/docs/platform/classic-projects" }, { - "source": "/data-platform", - "destination": "/platform" + "source": "/docs/data-platform", + "destination": "/docs/platform" }, { - "source": "/about/prisma/example-projects", + "source": "/docs/about/prisma/example-projects", "destination": "https://github.com/prisma/prisma-examples/" }, { - "source": "/about/prisma/roadmap", - "destination": "/orm/more/releases#roadmap" + "source": "/docs/about/prisma/roadmap", + "destination": "/docs/orm/more/releases#roadmap" }, { - "source": "/about/prisma/faq", - "destination": "/support" + "source": "/docs/about/prisma/faq", + "destination": "/docs/support" }, { - "source": "/about/prisma/limitations", - "destination": "/orm/prisma-schema/data-model/models#limitations" + "source": "/docs/about/prisma/limitations", + "destination": "/docs/orm/prisma-schema/data-model/models#limitations" }, { - "source": "/about/prisma", - "destination": "/about" + "source": "/docs/about/prisma", + "destination": "/docs/about" }, { - "source": "/data-platform/accelerate", - "destination": "/accelerate" + "source": "/docs/data-platform/accelerate", + "destination": "/docs/accelerate" }, { - "source": "/docs/data-platform/pulse", - "destination": "/docs/pulse" + "source": "/docs/docs/data-platform/pulse", + "destination": "/docs/docs/pulse" }, { - "source": "/guides/upgrade-guides/upgrade-from-prisma-1/schema-incompatibilities-mysql", - "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/schema-incompatibilities-mysql" + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/schema-incompatibilities-mysql", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/schema-incompatibilities-mysql" }, { - "source": "/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-the-prisma-layer-mysql", - "destination": "/orm/more/upgrade-guides/upgrade-from-prisma-1/upgrading-the-prisma-layer-mysql" + "source": "/docs/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-the-prisma-layer-mysql", + "destination": "/docs/orm/more/upgrade-guides/upgrade-from-prisma-1/upgrading-the-prisma-layer-mysql" }, { - "source": "/concepts/overview/prisma-in-your-stack/graphql", - "destination": "/orm/overview/prisma-in-your-stack/graphql" + "source": "/docs/concepts/overview/prisma-in-your-stack/graphql", + "destination": "/docs/orm/overview/prisma-in-your-stack/graphql" }, { - "source": "/concepts/overview/prisma-in-your-stack/rest", - "destination": "/orm/overview/prisma-in-your-stack/rest" + "source": "/docs/concepts/overview/prisma-in-your-stack/rest", + "destination": "/docs/orm/overview/prisma-in-your-stack/rest" } ] } From 8f0f0b3f35c7c76a59d9d56b726b24374c6fd776 Mon Sep 17 00:00:00 2001 From: Nikolas Date: Thu, 30 Nov 2023 17:21:27 +0100 Subject: [PATCH 023/100] Restructuring the documentation (2) (#5501) Co-authored-by: Jan Piotrowski fix absolute link with anchores to orm/prisma-schema; also fix links to own docs that use http --- content/100-getting-started/01-quickstart.mdx | 3 +- .../100-connect-your-database.mdx | 8 +- .../250-querying-the-database.mdx | 4 +- .../110-relational-databases/index.mdx | 4 +- .../125-creating-the-prisma-schema.mdx | 2 +- .../120-mongodb/250-querying-the-database.mdx | 4 +- .../120-mongodb/index.mdx | 2 +- .../100-connect-your-database.mdx | 8 +- .../150-introspection.mdx | 58 ++++---- .../170-baseline-your-database.mdx | 2 +- .../200-install-prisma-client.mdx | 2 +- .../250-querying-the-database.mdx | 4 +- .../275-evolve-your-schema.mdx | 2 +- .../110-relational-databases/index.mdx | 4 +- .../120-mongodb/125-introspection.mdx | 2 +- .../120-mongodb/250-querying-the-database.mdx | 4 +- .../120-mongodb/index.mdx | 2 +- content/100-getting-started/index.mdx | 6 +- .../250-should-you-use-prisma.mdx | 6 +- .../100-introduction/50-what-is-prisma.mdx | 6 +- .../300-prisma-in-your-stack/01-rest.md | 2 +- .../04-is-prisma-an-orm.mdx | 2 +- .../500-databases/01-database-drivers.mdx | 14 +- .../500-databases/03-postgresql.mdx | 116 +++++++-------- .../050-overview/500-databases/04-mysql.mdx | 16 +-- .../050-overview/500-databases/05-sqlite.mdx | 6 +- .../050-overview/500-databases/07-mongodb.mdx | 18 +-- .../500-databases/08-cockroachdb.mdx | 30 ++-- .../500-databases/08-sql-server/index.mdx | 8 +- .../500-databases/850-planetscale.mdx | 18 +-- .../500-databases/860-cockroachdb.mdx | 8 +- .../500-databases/880-supabase.mdx | 2 +- .../050-overview/500-databases/890-neon.mdx | 6 +- .../050-overview/500-databases/900-turso.mdx | 2 +- .../010-generating-prisma-client.mdx | 2 +- .../015-instantiate-prisma-client.mdx | 4 +- .../100-custom-model-and-field-names.mdx | 10 +- .../130-logging.mdx | 6 +- .../150-error-formatting.mdx | 4 +- .../220-database-polyfills.mdx | 6 +- .../100-connection-management.mdx | 12 +- .../115-connection-pool.mdx | 12 +- .../200-pgbouncer.mdx | 2 +- .../50-databases-connections/index.mdx | 12 +- .../100-queries/030-crud.mdx | 38 ++--- .../100-queries/035-select-fields.mdx | 4 +- .../100-queries/037-relation-queries.mdx | 30 ++-- .../100-queries/050-filtering-and-sorting.mdx | 12 +- .../056-aggregation-grouping-summarizing.mdx | 14 +- .../100-queries/058-transactions.mdx | 16 +-- .../100-queries/060-full-text-search.mdx | 2 +- .../100-queries/061-custom-validation.mdx | 2 +- .../050-raw-queries.mdx | 6 +- .../100-custom-and-type-safe-queries.mdx | 4 +- .../100-query-optimization-performance.mdx | 18 +-- .../057-composite-types.mdx | 16 +-- .../080-null-and-undefined.mdx | 4 +- .../100-working-with-json-fields.mdx | 16 +-- .../200-working-with-scalar-lists-arrays.mdx | 10 +- ...ing-with-composite-ids-and-constraints.mdx | 4 +- .../300-client-extensions/100-model.mdx | 2 +- .../300-client-extensions/110-client.mdx | 4 +- .../300-client-extensions/120-query.mdx | 8 +- .../300-client-extensions/130-result.mdx | 2 +- .../140-shared-extensions.mdx | 10 +- .../150-type-utilities.mdx | 2 +- .../200-extension-examples.mdx | 2 +- .../100-soft-delete-middleware.mdx | 12 +- .../500-middleware/index.mdx | 8 +- .../300-client-extensions/index.mdx | 10 +- ...inst-partial-structures-of-model-types.mdx | 6 +- .../830-prisma-type-system.mdx | 12 +- .../400-type-safety/99-prisma-validator.mdx | 2 +- .../400-type-safety/index.mdx | 8 +- .../450-testing/150-integration-testing.mdx | 6 +- .../500-deployment/001-deploy-prisma.mdx | 10 +- .../500-deployment/101-traditional/index.mdx | 2 +- .../150-deploy-to-azure-functions.mdx | 4 +- .../201-serverless/300-deploy-to-vercel.mdx | 4 +- .../400-deploy-to-aws-lambda.mdx | 8 +- .../201-serverless/500-deploy-to-netlify.mdx | 4 +- .../500-deployment/201-serverless/index.mdx | 2 +- .../500-deployment/210-module-bundlers.mdx | 2 +- .../450-deploy-to-cloudflare-workers.mdx | 2 +- .../500-deployment/301-edge/index.mdx | 2 +- ...y-database-changes-with-prisma-migrate.mdx | 8 +- ...oy-migrations-from-a-local-environment.mdx | 2 +- .../700-deploy-to-a-different-os.mdx | 4 +- .../240-metrics.mdx | 2 +- .../140-debugging.mdx | 4 +- .../230-handling-exceptions-and-errors.mdx | 2 +- content/200-orm/100-prisma-client/index.mdx | 8 +- .../050-getting-started.mdx | 6 +- .../010-mental-model.mdx | 14 +- .../070-migration-histories.mdx | 4 +- .../200-shadow-database.mdx | 12 +- .../300-limitations-and-known-issues.mdx | 2 +- .../600-legacy-migrate.mdx | 44 +++--- .../110-native-database-types.mdx | 22 +-- .../120-native-database-functions.mdx | 6 +- .../20-prototyping-your-schema.mdx | 6 +- .../300-workflows/200-troubleshooting.mdx | 6 +- .../300-workflows/50-squashing-migrations.mdx | 4 +- .../60-generating-down-migrations.mdx | 4 +- .../70-patching-and-hotfixing.mdx | 6 +- .../80-unsupported-database-features.mdx | 2 +- .../90-development-and-production.mdx | 14 +- content/200-orm/200-prisma-migrate/index.mdx | 4 +- .../10-overview/02-data-sources.mdx | 12 +- .../10-overview/03-generators.mdx | 6 +- .../20-data-model/10-models.mdx | 110 +++++++------- .../20-relations/100-one-to-one-relations.mdx | 4 +- .../200-one-to-many-relations.mdx | 8 +- .../300-many-to-many-relations.mdx | 12 +- .../20-relations/400-self-relations.mdx | 6 +- ...-special-rules-for-referential-actions.mdx | 4 +- .../410-referential-actions/index.mdx | 24 ++-- .../20-relations/420-relation-mode.mdx | 14 +- .../500-troubleshooting-relations.mdx | 6 +- .../20-data-model/20-relations/index.mdx | 22 +-- .../20-data-model/40-views.mdx | 10 +- .../20-data-model/50-database-mapping.mdx | 14 +- .../70-unsupported-database-features.mdx | 6 +- .../300-prisma-schema/50-introspection.mdx | 20 +-- .../200-orm/400-tools/06-prisma-studio.mdx | 4 +- .../050-prisma-client-reference.mdx | 134 +++++++++--------- .../100-prisma-schema-reference.mdx | 90 ++++++------ .../200-prisma-cli-reference.mdx | 48 +++---- .../500-reference/250-error-reference.mdx | 2 +- .../300-environment-variables-reference.mdx | 18 +-- .../500-reference/350-database-features.mdx | 78 +++++----- .../500-reference/380-connection-urls.mdx | 2 +- .../050-client-preview-features.mdx | 88 ++++++------ .../080-cli-preview-features.mdx | 16 +-- .../100-under-the-hood/100-engines.mdx | 26 ++-- .../101-jsonprotocol-changes.mdx | 6 +- .../600-upgrading-to-prisma-5/index.mdx | 26 ++-- .../700-upgrading-to-prisma-4.mdx | 16 +-- .../100-named-constraints.mdx | 2 +- .../150-referential-actions.mdx | 14 +- .../800-upgrading-to-prisma-3/index.mdx | 6 +- .../01-how-to-upgrade.mdx | 18 +-- .../02-schema-incompatibilities.mdx | 8 +- .../03-upgrading-the-prisma-layer.mdx | 46 +++--- .../04-upgrading-nexus-prisma-to-nexus.mdx | 4 +- .../05-upgrading-prisma-binding-to-nexus.mdx | 6 +- ...-upgrading-prisma-binding-to-sdl-first.mdx | 2 +- .../07-upgrading-a-rest-api.mdx | 2 +- .../08-upgrade-from-mongodb-beta.mdx | 6 +- .../400-comparisons/01-prisma-and-typeorm.mdx | 14 +- .../400-comparisons/04-prisma-and-drizzle.mdx | 36 ++--- .../01-migrate-from-typeorm.mdx | 12 +- .../02-migrate-from-sequelize.mdx | 16 +-- .../03-migrate-from-mongoose.mdx | 26 ++-- ...naging-env-files-and-setting-variables.mdx | 8 +- .../200-using-multiple-env-files.mdx | 2 +- .../050-environment-variables/index.mdx | 2 +- .../050-creating-bug-reports.mdx | 2 +- ...00-working-with-many-to-many-relations.mdx | 4 +- ...-comparing-columns-through-raw-queries.mdx | 6 +- content/300-accelerate/400-api-reference.mdx | 16 +-- content/300-accelerate/500-limitations.mdx | 4 +- content/300-accelerate/600-faq.mdx | 2 +- content/400-pulse/400-api-reference.mdx | 2 +- .../050-data-proxy/100-use-data-proxy.mdx | 18 +-- .../050-data-proxy/500-deploy.mdx | 2 +- .../700-prisma-cli-with-data-proxy.mdx | 6 +- .../100-platform/200-projects/100-create.mdx | 32 ++--- .../200-projects/200-edit-settings.mdx | 2 +- .../200-projects/300-delete-project.mdx | 6 +- .../100-platform/200-projects/index.mdx | 18 +-- .../250-environments/200-create.mdx | 14 +- .../100-edit-name-and-url-handle.mdx | 4 +- .../100-platform/250-environments/index.mdx | 6 +- .../400-members/050-roles-permissions.mdx | 2 +- .../400-members/300-change-role.mdx | 2 +- .../100-platform/500-data-browser.mdx | 4 +- .../100-platform/600-query-console.mdx | 2 +- .../20-style-guide/02-word-choice.mdx | 2 +- .../03-spelling-punctuation-formatting.mdx | 2 +- .../20-style-guide/04-schema-models.mdx | 2 +- 181 files changed, 1094 insertions(+), 1095 deletions(-) diff --git a/content/100-getting-started/01-quickstart.mdx b/content/100-getting-started/01-quickstart.mdx index c9f02d6fb8..98989f23ce 100644 --- a/content/100-getting-started/01-quickstart.mdx +++ b/content/100-getting-started/01-quickstart.mdx @@ -41,7 +41,7 @@ This creates a `package.json` with an initial setup for your TypeScript app. -See [installation instructions](/reference/api-reference/command-reference#installation) to learn how to install Prisma using a different package manager. +See [installation instructions](/orm/reference/prisma-cli-reference#installation) to learn how to install Prisma using a different package manager. @@ -108,7 +108,6 @@ This command did three things: 2. It executed the SQL migration file against the database. 3. It ran `prisma generate` under the hood (which installed the `@prisma/client` package and generated a tailored Prisma Client API based on your models). - Because the SQLite database file didn't exist before, the command also created it inside the `prisma` directory with the name `dev.db` as defined via the environment variable in the `.env` file. Congratulations, you now have your database and tables ready. Let's go and learn how you can send some queries to read and write data! diff --git a/content/100-getting-started/02-setup-prisma/100-start-from-scratch/110-relational-databases/100-connect-your-database.mdx b/content/100-getting-started/02-setup-prisma/100-start-from-scratch/110-relational-databases/100-connect-your-database.mdx index 85f277190d..012a56a11a 100644 --- a/content/100-getting-started/02-setup-prisma/100-start-from-scratch/110-relational-databases/100-connect-your-database.mdx +++ b/content/100-getting-started/02-setup-prisma/100-start-from-scratch/110-relational-databases/100-connect-your-database.mdx @@ -83,7 +83,7 @@ datasource db { } ``` -In this case, the `url` is [set via an environment variable](/concepts/components/prisma-schema#accessing-environment-variables-from-the-schema) which is defined in `.env`: +In this case, the `url` is [set via an environment variable](/orm/prisma-schema#accessing-environment-variables-from-the-schema) which is defined in `.env`: ```bash file=.env DATABASE_URL="mysql://johndoe:randompassword@localhost:3306/mydb" @@ -142,7 +142,7 @@ datasource db { } ``` -You will also need to [set the relation mode type to `prisma`](/concepts/components/prisma-schema/relations/relation-mode#emulate-relations-in-prisma-with-the-prisma-relation-mode) in the `datasource` block: +You will also need to [set the relation mode type to `prisma`](/orm/prisma-schema/relations/relation-mode#emulate-relations-in-prisma-with-the-prisma-relation-mode) in the `datasource` block: ```prisma file=schema.prisma highlight=4;add datasource db { @@ -152,7 +152,7 @@ datasource db { } ``` -The `url` is [set via an environment variable](/concepts/components/prisma-schema#accessing-environment-variables-from-the-schema) which is defined in `.env`: +The `url` is [set via an environment variable](/orm/prisma-schema#accessing-environment-variables-from-the-schema) which is defined in `.env`: ```bash file=.env DATABASE_URL="mysql://janedoe:mypassword@server.us-east-2.psdb.cloud/mydb?sslaccept=strict" @@ -216,7 +216,7 @@ datasource db { } ``` -In this case, the `url` is [set via an environment variable](/concepts/components/prisma-schema#accessing-environment-variables-from-the-schema) which is defined in `.env`: +In this case, the `url` is [set via an environment variable](/orm/prisma-schema#accessing-environment-variables-from-the-schema) which is defined in `.env`: The following example connection URL [uses SQL authentication](/orm/overview/introduction/databases/sql-server), but there are [other ways to format your connection URL](/orm/overview/introduction/databases/sql-server) diff --git a/content/100-getting-started/02-setup-prisma/100-start-from-scratch/110-relational-databases/250-querying-the-database.mdx b/content/100-getting-started/02-setup-prisma/100-start-from-scratch/110-relational-databases/250-querying-the-database.mdx index db4a3805a1..e6a73e3586 100644 --- a/content/100-getting-started/02-setup-prisma/100-start-from-scratch/110-relational-databases/250-querying-the-database.mdx +++ b/content/100-getting-started/02-setup-prisma/100-start-from-scratch/110-relational-databases/250-querying-the-database.mdx @@ -185,9 +185,9 @@ async function main() { -This code creates a new `User` record together with new `Post` and `Profile` records using a [nested write](/concepts/components/prisma-client/relation-queries#nested-writes) query. The `User` record is connected to the two other ones via the `Post.author` ↔ `User.posts` and `Profile.user` ↔ `User.profile` [relation fields](/concepts/components/prisma-schema/relations#relation-fields) respectively. +This code creates a new `User` record together with new `Post` and `Profile` records using a [nested write](/orm/prisma-client/queries/relation-queries#nested-writes) query. The `User` record is connected to the two other ones via the `Post.author` ↔ `User.posts` and `Profile.user` ↔ `User.profile` [relation fields](/orm/prisma-schema/relations#relation-fields) respectively. -Notice that you're passing the [`include`](/concepts/components/prisma-client/select-fields#include-relations-and-select-relation-fields) option to `findMany` which tells Prisma Client to include the `posts` and `profile` relations on the returned `User` objects. +Notice that you're passing the [`include`](/orm/prisma-client/queries/select-fields#include-relations-and-select-relation-fields) option to `findMany` which tells Prisma Client to include the `posts` and `profile` relations on the returned `User` objects. Run the code with this command: diff --git a/content/100-getting-started/02-setup-prisma/100-start-from-scratch/110-relational-databases/index.mdx b/content/100-getting-started/02-setup-prisma/100-start-from-scratch/110-relational-databases/index.mdx index 27054edd42..c4ee5dddbd 100644 --- a/content/100-getting-started/02-setup-prisma/100-start-from-scratch/110-relational-databases/index.mdx +++ b/content/100-getting-started/02-setup-prisma/100-start-from-scratch/110-relational-databases/index.mdx @@ -108,7 +108,7 @@ This creates a `package.json` with an initial setup for a Node.js app. -See [installation instructions](/reference/api-reference/command-reference#installation) to learn how to install Prisma using a different package manager. +See [installation instructions](/orm/reference/prisma-cli-reference#installation) to learn how to install Prisma using a different package manager. @@ -127,7 +127,7 @@ npx prisma init This command does two things: - creates a new directory called `prisma` that contains a file called `schema.prisma`, which contains the Prisma schema with your database connection variable and schema models -- creates the [`.env` file](/guides/development-environment/environment-variables#using-env-files) in the root directory of the project, which is used for defining environment variables (such as your database connection) +- creates the [`.env` file](/orm/more/development-environment/environment-variables/env-files) in the root directory of the project, which is used for defining environment variables (such as your database connection) diff --git a/content/100-getting-started/02-setup-prisma/100-start-from-scratch/120-mongodb/125-creating-the-prisma-schema.mdx b/content/100-getting-started/02-setup-prisma/100-start-from-scratch/120-mongodb/125-creating-the-prisma-schema.mdx index 3f8bafbc50..ece8f719b7 100644 --- a/content/100-getting-started/02-setup-prisma/100-start-from-scratch/120-mongodb/125-creating-the-prisma-schema.mdx +++ b/content/100-getting-started/02-setup-prisma/100-start-from-scratch/120-mongodb/125-creating-the-prisma-schema.mdx @@ -59,7 +59,7 @@ There are also a number of subtle differences in how the schema is setup when co For example, the underlying `ID` field name is always `_id` and must be mapped with `@map("_id")`. -For more information check out the [MongoDB schema reference](/reference/api-reference/prisma-schema-reference#mongodb-2). +For more information check out the [MongoDB schema reference](/orm/reference/prisma-schema-reference#mongodb-2). diff --git a/content/100-getting-started/02-setup-prisma/100-start-from-scratch/120-mongodb/250-querying-the-database.mdx b/content/100-getting-started/02-setup-prisma/100-start-from-scratch/120-mongodb/250-querying-the-database.mdx index a614de7dfe..803e2529f2 100644 --- a/content/100-getting-started/02-setup-prisma/100-start-from-scratch/120-mongodb/250-querying-the-database.mdx +++ b/content/100-getting-started/02-setup-prisma/100-start-from-scratch/120-mongodb/250-querying-the-database.mdx @@ -185,9 +185,9 @@ async function main() { -This code creates a new `User` record together with a new `Post` using a [nested write](/concepts/components/prisma-client/relation-queries#nested-writes) query. The `User` record is connected to the other one via the `Post.author` ↔ `User.posts` [relation fields](/concepts/components/prisma-schema/relations#relation-fields) respectively. +This code creates a new `User` record together with a new `Post` using a [nested write](/orm/prisma-client/queries/relation-queries#nested-writes) query. The `User` record is connected to the other one via the `Post.author` ↔ `User.posts` [relation fields](/orm/prisma-schema/relations#relation-fields) respectively. -Notice that you're passing the [`include`](/concepts/components/prisma-client/select-fields#include-relations-and-select-relation-fields) option to `findMany` which tells Prisma Client to include the `posts` relations on the returned `User` objects. +Notice that you're passing the [`include`](/orm/prisma-client/queries/select-fields#include-relations-and-select-relation-fields) option to `findMany` which tells Prisma Client to include the `posts` relations on the returned `User` objects. Run the code with this command: diff --git a/content/100-getting-started/02-setup-prisma/100-start-from-scratch/120-mongodb/index.mdx b/content/100-getting-started/02-setup-prisma/100-start-from-scratch/120-mongodb/index.mdx index 35fa8db54b..d85b9fab97 100644 --- a/content/100-getting-started/02-setup-prisma/100-start-from-scratch/120-mongodb/index.mdx +++ b/content/100-getting-started/02-setup-prisma/100-start-from-scratch/120-mongodb/index.mdx @@ -87,7 +87,7 @@ npx prisma init This command does two things: - creates a new directory called `prisma` that contains a file called `schema.prisma`, which contains the Prisma schema with your database connection variable and schema models -- creates the [`.env` file](/guides/development-environment/environment-variables#using-env-files) in the root directory of the project, which is used for defining environment variables (such as your database connection) +- creates the [`.env` file](/orm/more/development-environment/environment-variables/env-files) in the root directory of the project, which is used for defining environment variables (such as your database connection) diff --git a/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/100-connect-your-database.mdx b/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/100-connect-your-database.mdx index 4d0fcd3f93..73c0a75fbb 100644 --- a/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/100-connect-your-database.mdx +++ b/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/100-connect-your-database.mdx @@ -72,7 +72,7 @@ datasource db { } ``` -In this case, the `url` is [set via an environment variable](/concepts/components/prisma-schema#accessing-environment-variables-from-the-schema) which is defined in `.env`: +In this case, the `url` is [set via an environment variable](/orm/prisma-schema#accessing-environment-variables-from-the-schema) which is defined in `.env`: ```bash file=.env DATABASE_URL="mysql://johndoe:randompassword@localhost:3306/mydb" @@ -127,7 +127,7 @@ datasource db { } ``` -You will also need to [set the relation mode type to `prisma`](/concepts/components/prisma-schema/relations/relation-mode#emulate-relations-in-prisma-with-the-prisma-relation-mode) in the `datasource` block: +You will also need to [set the relation mode type to `prisma`](/orm/prisma-schema/relations/relation-mode#emulate-relations-in-prisma-with-the-prisma-relation-mode) in the `datasource` block: ```prisma file=schema.prisma highlight=4;add datasource db { @@ -137,7 +137,7 @@ datasource db { } ``` -The `url` is [set via an environment variable](/concepts/components/prisma-schema#accessing-environment-variables-from-the-schema) which is defined in `.env`: +The `url` is [set via an environment variable](/orm/prisma-schema#accessing-environment-variables-from-the-schema) which is defined in `.env`: ```bash file=.env DATABASE_URL="mysql://janedoe:mypassword@server.us-east-2.psdb.cloud/mydb?sslaccept=strict" @@ -197,7 +197,7 @@ datasource db { } ``` -The `url` is [set via an environment variable](/concepts/components/prisma-schema#accessing-environment-variables-from-the-schema), the following example connection URL [uses SQL authentication](/orm/overview/introduction/databases/sql-server), but there are [other ways to format your connection URL](/orm/overview/introduction/databases/sql-server) +The `url` is [set via an environment variable](/orm/prisma-schema#accessing-environment-variables-from-the-schema), the following example connection URL [uses SQL authentication](/orm/overview/introduction/databases/sql-server), but there are [other ways to format your connection URL](/orm/overview/introduction/databases/sql-server) ```bash file=.env DATABASE_URL="sqlserver://localhost:1433;database=mydb;user=sa;password=r@ndomP@$$w0rd;trustServerCertificate=true" diff --git a/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/150-introspection.mdx b/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/150-introspection.mdx index b9acb7d242..9da261ecc5 100644 --- a/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/150-introspection.mdx +++ b/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/150-introspection.mdx @@ -388,13 +388,13 @@ Prisma's data model is a declarative representation of your database schema and Right now, there's a few minor "issues" with the data model: -- The `User` relation field is uppercased and therefore doesn't adhere to Prisma's [naming conventions](/reference/api-reference/prisma-schema-reference#naming-conventions-1) . To express more "semantics", it would also be nice if this field was called `author` to _describe_ the relationship between `User` and `Post` better. -- The `Post` and `Profile` relation fields on `User` as well as the `User` relation field on `Profile` are all uppercased. To adhere to Prisma's [naming conventions](/reference/api-reference/prisma-schema-reference#naming-conventions-1) , both fields should be lowercased to `post`, `profile` and `user`. -- Even after lowercasing, the `post` field on `User` is still slightly misnamed. That's because it actually refers to a [list](/concepts/components/prisma-schema/data-model#type-modifiers) of posts – a better name therefore would be the plural form: `posts`. +- The `User` relation field is uppercased and therefore doesn't adhere to Prisma's [naming conventions](/orm/reference/prisma-schema-reference#naming-conventions-1) . To express more "semantics", it would also be nice if this field was called `author` to _describe_ the relationship between `User` and `Post` better. +- The `Post` and `Profile` relation fields on `User` as well as the `User` relation field on `Profile` are all uppercased. To adhere to Prisma's [naming conventions](/orm/reference/prisma-schema-reference#naming-conventions-1) , both fields should be lowercased to `post`, `profile` and `user`. +- Even after lowercasing, the `post` field on `User` is still slightly misnamed. That's because it actually refers to a [list](/orm/prisma-schema/data-model#type-modifiers) of posts – a better name therefore would be the plural form: `posts`. These changes are relevant for the generated Prisma Client API where using lowercased relation fields `author`, `posts`, `profile` and `user` will feel more natural and idiomatic to JavaScript/TypeScript developers. You can therefore [configure your Prisma Client API](/orm/prisma-client/setup-and-configuration/custom-model-and-field-names). -Because [relation fields](/concepts/components/prisma-schema/relations#relation-fields) are _virtual_ (i.e. they _do not directly manifest in the database_), you can manually rename them in your Prisma schema without touching the database: +Because [relation fields](/orm/prisma-schema/relations#relation-fields) are _virtual_ (i.e. they _do not directly manifest in the database_), you can manually rename them in your Prisma schema without touching the database: ```prisma file=prisma/schema.prisma highlight=8,15,22,23;edit model Post { @@ -423,7 +423,7 @@ model User { } ``` -In this example, the database schema did follow the [naming conventions](/reference/api-reference/prisma-schema-reference#naming-conventions) for Prisma models (only the virtual relation fields that were generated from introspection did not adhere to them and needed adjustment). This optimizes the ergonomics of the generated Prisma Client API. +In this example, the database schema did follow the [naming conventions](/orm/reference/prisma-schema-reference#naming-conventions) for Prisma models (only the virtual relation fields that were generated from introspection did not adhere to them and needed adjustment). This optimizes the ergonomics of the generated Prisma Client API.
Using custom model and field names @@ -451,7 +451,7 @@ const user = await prisma.my_user.create({ }) ``` -If you don't want to use the table and column names from your database in your Prisma Client API, you can configure them with [`@map` and `@@map`](/concepts/components/prisma-schema/data-model#mapping-model-names-to-tables-or-collections): +If you don't want to use the table and column names from your database in your Prisma Client API, you can configure them with [`@map` and `@@map`](/orm/prisma-schema/data-model#mapping-model-names-to-tables-or-collections): ```prisma no-lines model MyUser { @@ -529,7 +529,7 @@ model User { -Refer to the [Prisma schema reference](/orm/reference/prisma-schema-reference) for detailed information about the schema definition. +Refer to the [Prisma schema reference](/orm/reference/prisma-schema-reference) for detailed information about the schema definition. @@ -537,13 +537,13 @@ Prisma's data model is a declarative representation of your database schema and Right now, there's a few minor "issues" with the data model: -- The `User` relation field is uppercased and therefore doesn't adhere to Prisma's [naming conventions](/reference/api-reference/prisma-schema-reference#naming-conventions-1) . To express more "semantics", it would also be nice if this field was called `author` to _describe_ the relationship between `User` and `Post` better. -- The `Post` and `Profile` relation fields on `User` as well as the `User` relation field on `Profile` are all uppercased. To adhere to Prisma's [naming conventions](/reference/api-reference/prisma-schema-reference#naming-conventions-1) , both fields should be lowercased to `post`, `profile` and `user`. -- Even after lowercasing, the `post` field on `User` is still slightly misnamed. That's because it actually refers to a [list](/concepts/components/prisma-schema/data-model#type-modifiers) of posts – a better name therefore would be the plural form: `posts`. +- The `User` relation field is uppercased and therefore doesn't adhere to Prisma's [naming conventions](/orm/reference/prisma-schema-reference#naming-conventions-1) . To express more "semantics", it would also be nice if this field was called `author` to _describe_ the relationship between `User` and `Post` better. +- The `Post` and `Profile` relation fields on `User` as well as the `User` relation field on `Profile` are all uppercased. To adhere to Prisma's [naming conventions](/orm/reference/prisma-schema-reference#naming-conventions-1) , both fields should be lowercased to `post`, `profile` and `user`. +- Even after lowercasing, the `post` field on `User` is still slightly misnamed. That's because it actually refers to a [list](/orm/prisma-schema/data-model#type-modifiers) of posts – a better name therefore would be the plural form: `posts`. These changes are relevant for the generated Prisma Client API where using lowercased relation fields `author`, `posts`, `profile` and `user` will feel more natural and idiomatic to JavaScript/TypeScript developers. You can therefore [configure your Prisma Client API](/orm/prisma-client/setup-and-configuration/custom-model-and-field-names). -Because [relation fields](/concepts/components/prisma-schema/relations#relation-fields) are _virtual_ (i.e. they _do not directly manifest in the database_), you can manually rename them in your Prisma schema without touching the database: +Because [relation fields](/orm/prisma-schema/relations#relation-fields) are _virtual_ (i.e. they _do not directly manifest in the database_), you can manually rename them in your Prisma schema without touching the database: ```prisma file=prisma/schema.prisma highlight=8,17,24,25;edit model Post { @@ -574,7 +574,7 @@ model User { } ``` -In this example, the database schema did follow the [naming conventions](/reference/api-reference/prisma-schema-reference#naming-conventions) for Prisma models (only the virtual relation fields that were generated from introspection did not adhere to them and needed adjustment). This optimizes the ergonomics of the generated Prisma Client API. +In this example, the database schema did follow the [naming conventions](/orm/reference/prisma-schema-reference#naming-conventions) for Prisma models (only the virtual relation fields that were generated from introspection did not adhere to them and needed adjustment). This optimizes the ergonomics of the generated Prisma Client API. Sometimes though, you may want to make additional changes to the names of the columns and tables that are exposed in the Prisma Client API. A common example is to translate _snake_case_ notation which is often used in database schemas into _PascalCase_ and _camelCase_ notations which feel more natural for JavaScript/TypeScript developers. @@ -599,7 +599,7 @@ const user = await prisma.my_user.create({ }) ``` -If you don't want to use the table and column names from your database in your Prisma Client API, you can configure them with [`@map` and `@@map`](/concepts/components/prisma-schema/data-model#mapping-model-names-to-tables-or-collections): +If you don't want to use the table and column names from your database in your Prisma Client API, you can configure them with [`@map` and `@@map`](/orm/prisma-schema/data-model#mapping-model-names-to-tables-or-collections): ```prisma no-lines model MyUser { @@ -675,13 +675,13 @@ Prisma's data model is a declarative representation of your database schema and Right now, there's a few minor "issues" with the data model: -- The `User` relation field is uppercased and therefore doesn't adhere to Prisma's [naming conventions](/reference/api-reference/prisma-schema-reference#naming-conventions-1) . To express more "semantics", it would also be nice if this field was called `author` to _describe_ the relationship between `User` and `Post` better. -- The `Post` and `Profile` relation fields on `User` as well as the `User` relation field on `Profile` are all uppercased. To adhere to Prisma's [naming conventions](/reference/api-reference/prisma-schema-reference#naming-conventions-1) , both fields should be lowercased to `post`, `profile` and `user`. -- Even after lowercasing, the `post` field on `User` is still slightly misnamed. That's because it actually refers to a [list](/concepts/components/prisma-schema/data-model#type-modifiers) of posts – a better name therefore would be the plural form: `posts`. +- The `User` relation field is uppercased and therefore doesn't adhere to Prisma's [naming conventions](/orm/reference/prisma-schema-reference#naming-conventions-1) . To express more "semantics", it would also be nice if this field was called `author` to _describe_ the relationship between `User` and `Post` better. +- The `Post` and `Profile` relation fields on `User` as well as the `User` relation field on `Profile` are all uppercased. To adhere to Prisma's [naming conventions](/orm/reference/prisma-schema-reference#naming-conventions-1) , both fields should be lowercased to `post`, `profile` and `user`. +- Even after lowercasing, the `post` field on `User` is still slightly misnamed. That's because it actually refers to a [list](/orm/prisma-schema/data-model#type-modifiers) of posts – a better name therefore would be the plural form: `posts`. These changes are relevant for the generated Prisma Client API where using lowercased relation fields `author`, `posts`, `profile` and `user` will feel more natural and idiomatic to JavaScript/TypeScript developers. You can therefore [configure your Prisma Client API](/orm/prisma-client/setup-and-configuration/custom-model-and-field-names). -Because [relation fields](/concepts/components/prisma-schema/relations#relation-fields) are _virtual_ (i.e. they _do not directly manifest in the database_), you can manually rename them in your Prisma schema without touching the database: +Because [relation fields](/orm/prisma-schema/relations#relation-fields) are _virtual_ (i.e. they _do not directly manifest in the database_), you can manually rename them in your Prisma schema without touching the database: ```prisma file=prisma/schema.prisma highlight=7,14,22,23;edit model Post { @@ -710,7 +710,7 @@ model User { } ``` -In this example, the database schema did follow the [naming conventions](/reference/api-reference/prisma-schema-reference#naming-conventions) for Prisma models (only the virtual relation fields that were generated from introspection did not adhere to them and needed adjustment). This optimizes the ergonomics of the generated Prisma Client API. +In this example, the database schema did follow the [naming conventions](/orm/reference/prisma-schema-reference#naming-conventions) for Prisma models (only the virtual relation fields that were generated from introspection did not adhere to them and needed adjustment). This optimizes the ergonomics of the generated Prisma Client API.
Using custom model and field names @@ -738,7 +738,7 @@ const user = await prisma.my_user.create({ }) ``` -If you don't want to use the table and column names from your database in your Prisma Client API, you can configure them with [`@map` and `@@map`](/concepts/components/prisma-schema/data-model#mapping-model-names-to-tables-or-collections): +If you don't want to use the table and column names from your database in your Prisma Client API, you can configure them with [`@map` and `@@map`](/orm/prisma-schema/data-model#mapping-model-names-to-tables-or-collections): ```prisma no-lines model MyUser { @@ -815,13 +815,13 @@ model User { -Refer to the [Prisma schema reference](/orm/reference/prisma-schema-reference) for detailed information about the schema definition. +Refer to the [Prisma schema reference](/orm/reference/prisma-schema-reference) for detailed information about the schema definition. Prisma's data model is a declarative representation of your database schema and serves as the foundation for the generated Prisma Client library. Your Prisma Client instance will expose queries that are _tailored_ to these models. -You will then need to add in any missing relations between your data using [relation fields](/concepts/components/prisma-schema/relations#relation-fields): +You will then need to add in any missing relations between your data using [relation fields](/orm/prisma-schema/relations#relation-fields): ```prisma file=prisma/schema.prisma highlight=8,17,27,28;add model Post { @@ -865,7 +865,7 @@ Prisma Migrate will now keep the manually added relation fields. Because relation fields are _virtual_ (i.e. they _do not directly manifest in the database_), you can manually rename them in your Prisma schema without touching the database. -In this example, the database schema follows the [naming conventions](/reference/api-reference/prisma-schema-reference#naming-conventions) for Prisma models. This optimizes the ergonomics of the generated Prisma Client API. +In this example, the database schema follows the [naming conventions](/orm/reference/prisma-schema-reference#naming-conventions) for Prisma models. This optimizes the ergonomics of the generated Prisma Client API.
Using custom model and field names @@ -893,7 +893,7 @@ const user = await prisma.my_user.create({ }) ``` -If you don't want to use the table and column names from your database in your Prisma Client API, you can configure them with [`@map` and `@@map`](/concepts/components/prisma-schema/data-model#mapping-model-names-to-tables-or-collections): +If you don't want to use the table and column names from your database in your Prisma Client API, you can configure them with [`@map` and `@@map`](/orm/prisma-schema/data-model#mapping-model-names-to-tables-or-collections): ```prisma no-lines model MyUser { @@ -971,13 +971,13 @@ Prisma's data model is a declarative representation of your database schema and Right now, there's a few minor "issues" with the data model: -- The `User` relation field is uppercased and therefore doesn't adhere to Prisma's [naming conventions](/reference/api-reference/prisma-schema-reference#naming-conventions-1) . To express more "semantics", it would also be nice if this field was called `author` to _describe_ the relationship between `User` and `Post` better. -- The `Post` and `Profile` relation fields on `User` as well as the `User` relation field on `Profile` are all uppercased. To adhere to Prisma's [naming conventions](/reference/api-reference/prisma-schema-reference#naming-conventions-1) , both fields should be lowercased to `post`, `profile` and `user`. -- Even after lowercasing, the `post` field on `User` is still slightly misnamed. That's because it actually refers to a [list](/concepts/components/prisma-schema/data-model#type-modifiers) of posts – a better name therefore would be the plural form: `posts`. +- The `User` relation field is uppercased and therefore doesn't adhere to Prisma's [naming conventions](/orm/reference/prisma-schema-reference#naming-conventions-1) . To express more "semantics", it would also be nice if this field was called `author` to _describe_ the relationship between `User` and `Post` better. +- The `Post` and `Profile` relation fields on `User` as well as the `User` relation field on `Profile` are all uppercased. To adhere to Prisma's [naming conventions](/orm/reference/prisma-schema-reference#naming-conventions-1) , both fields should be lowercased to `post`, `profile` and `user`. +- Even after lowercasing, the `post` field on `User` is still slightly misnamed. That's because it actually refers to a [list](/orm/prisma-schema/data-model#type-modifiers) of posts – a better name therefore would be the plural form: `posts`. These changes are relevant for the generated Prisma Client API where using lowercased relation fields `author`, `posts`, `profile` and `user` will feel more natural and idiomatic to JavaScript/TypeScript developers. You can therefore [configure your Prisma Client API](/orm/prisma-client/setup-and-configuration/custom-model-and-field-names). -Because [relation fields](/concepts/components/prisma-schema/relations#relation-fields) are _virtual_ (i.e. they _do not directly manifest in the database_), you can manually rename them in your Prisma schema without touching the database: +Because [relation fields](/orm/prisma-schema/relations#relation-fields) are _virtual_ (i.e. they _do not directly manifest in the database_), you can manually rename them in your Prisma schema without touching the database: ```prisma file=prisma/schema.prisma highlight=8,15,22,23;edit model Post { @@ -1006,7 +1006,7 @@ model User { } ``` -In this example, the database schema did follow the [naming conventions](/reference/api-reference/prisma-schema-reference#naming-conventions) for Prisma models (only the virtual relation fields that were generated from introspection did not adhere to them and needed adjustment). This optimizes the ergonomics of the generated Prisma Client API. +In this example, the database schema did follow the [naming conventions](/orm/reference/prisma-schema-reference#naming-conventions) for Prisma models (only the virtual relation fields that were generated from introspection did not adhere to them and needed adjustment). This optimizes the ergonomics of the generated Prisma Client API.
Using custom model and field names @@ -1034,7 +1034,7 @@ const user = await prisma.my_user.create({ }) ``` -If you don't want to use the table and column names from your database in your Prisma Client API, you can configure them with [`@map` and `@@map`](/concepts/components/prisma-schema/data-model#mapping-model-names-to-tables-or-collections): +If you don't want to use the table and column names from your database in your Prisma Client API, you can configure them with [`@map` and `@@map`](/orm/prisma-schema/data-model#mapping-model-names-to-tables-or-collections): ```prisma no-lines model MyUser { diff --git a/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/170-baseline-your-database.mdx b/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/170-baseline-your-database.mdx index 5e0fb672f6..88f71c91ac 100644 --- a/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/170-baseline-your-database.mdx +++ b/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/170-baseline-your-database.mdx @@ -13,7 +13,7 @@ To use Prisma Migrate with the database you introspected in the last section, yo Baselining refers to initializing your migration history for a database that might already contain data and **cannot be reset**, such as your production database. Baselining tells Prisma Migrate to assume that one or more migrations have already been applied to your database. -To baseline your database, use [`prisma migrate diff`](/reference/api-reference/command-reference#migrate-diff) to compare your schema and database, and save the output into a SQL file. +To baseline your database, use [`prisma migrate diff`](/orm/reference/prisma-cli-reference#migrate-diff) to compare your schema and database, and save the output into a SQL file. First, create a `migrations` directory and add a directory inside with your preferred name for the migration. In this example, we will use `0_init` as the migration name: diff --git a/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/200-install-prisma-client.mdx b/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/200-install-prisma-client.mdx index 7aeff88bf6..841bf540d8 100644 --- a/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/200-install-prisma-client.mdx +++ b/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/200-install-prisma-client.mdx @@ -15,7 +15,7 @@ To get started with Prisma Client, you need to install the `@prisma/client` pack npm install @prisma/client ``` -Notice that the [`@prisma/client` node module](/concepts/components/prisma-client/working-with-prismaclient/generating-prisma-client#the-prismaclient-npm-package) references a folder named `.prisma/client`. The `.prisma/client` folder contains your generated Prisma Client, and is modified each time you change the schema and run the following command: +Notice that the [`@prisma/client` node module](/orm/prisma-client/setup-and-configuration/generating-prisma-client#the-prismaclient-npm-package) references a folder named `.prisma/client`. The `.prisma/client` folder contains your generated Prisma Client, and is modified each time you change the schema and run the following command: ```terminal copy npx prisma generate diff --git a/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/250-querying-the-database.mdx b/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/250-querying-the-database.mdx index dd7fcb5eae..40479b2d2c 100644 --- a/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/250-querying-the-database.mdx +++ b/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/250-querying-the-database.mdx @@ -195,9 +195,9 @@ async function main() { -This code creates a new `User` record together with new `Post` and `Profile` records using a [nested write](/concepts/components/prisma-client/relation-queries#nested-writes) query. The `User` record is connected to the two other ones via the `Post.author` ↔ `User.posts` and `Profile.user` ↔ `User.profile` [relation fields](/concepts/components/prisma-schema/relations#relation-fields) respectively. +This code creates a new `User` record together with new `Post` and `Profile` records using a [nested write](/orm/prisma-client/queries/relation-queries#nested-writes) query. The `User` record is connected to the two other ones via the `Post.author` ↔ `User.posts` and `Profile.user` ↔ `User.profile` [relation fields](/orm/prisma-schema/relations#relation-fields) respectively. -Notice that you're passing the [`include`](/concepts/components/prisma-client/select-fields#include-relations-and-select-relation-fields) option to `findMany` which tells Prisma Client to include the `posts` and `profile` relations on the returned `User` objects. +Notice that you're passing the [`include`](/orm/prisma-client/queries/select-fields#include-relations-and-select-relation-fields) option to `findMany` which tells Prisma Client to include the `posts` and `profile` relations on the returned `User` objects. diff --git a/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/275-evolve-your-schema.mdx b/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/275-evolve-your-schema.mdx index de4f4019a9..79d450cc4e 100644 --- a/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/275-evolve-your-schema.mdx +++ b/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/275-evolve-your-schema.mdx @@ -9,7 +9,7 @@ toc: false ## Add a `Tag` model to your schema -In this section, you will evolve your Prisma schema and then generate and apply the migration to your database with [`prisma migrate dev`](/reference/api-reference/command-reference#migrate-dev). +In this section, you will evolve your Prisma schema and then generate and apply the migration to your database with [`prisma migrate dev`](/orm/reference/prisma-cli-reference#migrate-dev). For the purpose of this guide, we'll make the following changes to the Prisma schema: diff --git a/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/index.mdx b/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/index.mdx index 7d77e136e4..82644f592f 100644 --- a/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/index.mdx +++ b/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/110-relational-databases/index.mdx @@ -90,7 +90,7 @@ npx prisma -See [installation instructions](/reference/api-reference/command-reference#installation) to learn how to install Prisma using a different package manager. +See [installation instructions](/orm/reference/prisma-cli-reference#installation) to learn how to install Prisma using a different package manager. @@ -103,7 +103,7 @@ npx prisma init This command does two things: - creates a new directory called `prisma` that contains a file called `schema.prisma`, which contains the Prisma schema with your database connection variable and schema models -- creates the [`.env` file](/guides/development-environment/environment-variables#using-env-files) in the root directory of the project, which is used for defining environment variables (such as your database connection) +- creates the [`.env` file](/orm/more/development-environment/environment-variables/env-files) in the root directory of the project, which is used for defining environment variables (such as your database connection) diff --git a/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/120-mongodb/125-introspection.mdx b/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/120-mongodb/125-introspection.mdx index f634b67997..2b5d5fa1c9 100644 --- a/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/120-mongodb/125-introspection.mdx +++ b/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/120-mongodb/125-introspection.mdx @@ -88,7 +88,7 @@ model User { ## Tweaking the Schema -To be able to join data using Prisma Client, you can add the [`@relation`](/reference/api-reference/prisma-schema-reference#relation) attributes to our models: +To be able to join data using Prisma Client, you can add the [`@relation`](/orm/reference/prisma-schema-reference#relation) attributes to our models: ```prisma file=prisma/schema.prisma highlight=14;add|20;add datasource db { diff --git a/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/120-mongodb/250-querying-the-database.mdx b/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/120-mongodb/250-querying-the-database.mdx index 57997e273a..2fa145ae98 100644 --- a/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/120-mongodb/250-querying-the-database.mdx +++ b/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/120-mongodb/250-querying-the-database.mdx @@ -186,9 +186,9 @@ async function main() { -This code creates a new `User` record together with a new `Post` using a [nested write](/concepts/components/prisma-client/relation-queries#nested-writes) query. The `User` record is connected to the other one via the `Post.author` ↔ `User.posts` [relation fields](/concepts/components/prisma-schema/relations#relation-fields) respectively. +This code creates a new `User` record together with a new `Post` using a [nested write](/orm/prisma-client/queries/relation-queries#nested-writes) query. The `User` record is connected to the other one via the `Post.author` ↔ `User.posts` [relation fields](/orm/prisma-schema/relations#relation-fields) respectively. -Notice that you're passing the [`include`](/concepts/components/prisma-client/select-fields#include-relations-and-select-relation-fields) option to `findMany` which tells Prisma Client to include the `posts` relations on the returned `User` objects. +Notice that you're passing the [`include`](/orm/prisma-client/queries/select-fields#include-relations-and-select-relation-fields) option to `findMany` which tells Prisma Client to include the `posts` relations on the returned `User` objects. Run the code with this command: diff --git a/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/120-mongodb/index.mdx b/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/120-mongodb/index.mdx index e333b6d87b..e4097cf5ad 100644 --- a/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/120-mongodb/index.mdx +++ b/content/100-getting-started/02-setup-prisma/200-add-to-existing-project/120-mongodb/index.mdx @@ -65,7 +65,7 @@ npx prisma init This command does two things: - creates a new directory called `prisma` that contains a file called `schema.prisma`, which contains the Prisma schema with your database connection variable and schema models -- creates the [`.env` file](/guides/development-environment/environment-variables#using-env-files) in the root directory of the project, which is used for defining environment variables (such as your database connection) +- creates the [`.env` file](/orm/more/development-environment/environment-variables/env-files) in the root directory of the project, which is used for defining environment variables (such as your database connection) diff --git a/content/100-getting-started/index.mdx b/content/100-getting-started/index.mdx index b7f4f66a14..b3bbe4ed13 100644 --- a/content/100-getting-started/index.mdx +++ b/content/100-getting-started/index.mdx @@ -8,13 +8,13 @@ metaDescription: 'Get started' Welcome to the Prisma getting started section! 👋 -Explore our range of products defined to make working with data easy: +Explore our range of products defined to make working with data easy: [**Prisma ORM**](/orm/overview/introduction/what-is-prisma) is an [open source](https://github.com/prisma/prisma) next-generation Node.js and TypeScript ORM that unlocks a new level of developer experience when working with databases thanks to its intuitive data model, automated migrations, type-safety & auto-completion. -[**Prisma Accelerate**](/accelerate/what-is-accelerate) is a global database cache with scalable connection pooling. +[**Prisma Accelerate**](/accelerate/what-is-accelerate) is a global database cache with scalable connection pooling. -[**Prisma Pulse**](/pulse/what-is-pulse) allows you to build reactive, real-time applications in a type-safe manner. +[**Prisma Pulse**](/pulse/what-is-pulse) allows you to build reactive, real-time applications in a type-safe manner. diff --git a/content/200-orm/050-overview/100-introduction/250-should-you-use-prisma.mdx b/content/200-orm/050-overview/100-introduction/250-should-you-use-prisma.mdx index 5684b221e4..060c5fbb2e 100644 --- a/content/200-orm/050-overview/100-introduction/250-should-you-use-prisma.mdx +++ b/content/200-orm/050-overview/100-introduction/250-should-you-use-prisma.mdx @@ -80,13 +80,13 @@ Prisma is a lot more than "just another ORM". We are building a database toolkit - querying (with [Prisma Client](/orm/prisma-client)) - data modeling (in the [Prisma schema](/orm/prisma-schema)) - migrations (with [Prisma Migrate](/orm/prisma-migrate)) -- prototyping (via [`prisma db push`](/reference/api-reference/command-reference#db-push)) -- seeding (via [`prisma db seed`](/reference/api-reference/command-reference#db-seed)) +- prototyping (via [`prisma db push`](/orm/reference/prisma-cli-reference#db-push)) +- seeding (via [`prisma db seed`](/orm/reference/prisma-cli-reference#db-seed)) - visual viewing and editing (with [Prisma Studio](https://www.prisma.io/studio)) ### ... you value type-safety -Prisma is the only _fully_ type-safe ORM in the TypeScript ecosystem. The generated Prisma Client ensures typed query results even for partial queries and relations. You can learn more about this in the [type-safety comparison with TypeORM](/concepts/more/comparisons/prisma-and-typeorm#type-safety). +Prisma is the only _fully_ type-safe ORM in the TypeScript ecosystem. The generated Prisma Client ensures typed query results even for partial queries and relations. You can learn more about this in the [type-safety comparison with TypeORM](/orm/more/comparisons/prisma-and-typeorm#type-safety). ### ... you want an ORM with a transparent development process, proper maintenance & support diff --git a/content/200-orm/050-overview/100-introduction/50-what-is-prisma.mdx b/content/200-orm/050-overview/100-introduction/50-what-is-prisma.mdx index e957d9de48..8e138baeb1 100644 --- a/content/200-orm/050-overview/100-introduction/50-what-is-prisma.mdx +++ b/content/200-orm/050-overview/100-introduction/50-what-is-prisma.mdx @@ -18,7 +18,7 @@ Prisma is an [open source](https://github.com/prisma/prisma) next-generation ORM -Prisma Client can be used in _any_ Node.js (supported versions) or TypeScript backend application (including serverless applications and microservices). This can be a [REST API](../prisma-in-your-stack/rest), a [GraphQL API](../prisma-in-your-stack/graphql), a gRPC API, or anything else that needs a database. +Prisma Client can be used in _any_ Node.js (supported versions) or TypeScript backend application (including serverless applications and microservices). This can be a [REST API](/orm/overview/prisma-in-your-stack/rest), a [GraphQL API](/orm/overview/prisma-in-your-stack/graphql), a gRPC API, or anything else that needs a database.