Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix broken links and redirects #468

Merged
merged 2 commits into from
Mar 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion content/01-intro/99-example.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ More :)

### Fancy button

<ButtonLink color="dark" type="primary" href="/to/path">
<ButtonLink color="dark" type="primary" href="/intro/example">
Button text
</ButtonLink>

Expand Down
2 changes: 1 addition & 1 deletion content/02-datamodeling/04-tables-tuples-types.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ The major complication is text. The ISO-standard variable-length character type

Space is cheap, unused space doesn't count with `VARCHAR`s, and most tables are unlikely even to get close to a single tuple per page. It's rarely worth haggling over length byte for byte instead of choosing a nice round number like the next order of magnitude (here, 100) or approximate power of 2 (255 is notably also a built-in limit in older database software) above the longest plausible value.

PostgreSQL is a special case: both `CHAR(n)` and `VARCHAR(n)` are recommended _against_, unless a length limit is specifically desired. Instead, the nonstandard `TEXT` type, powered by the [_varlena_ (**var**iable-**len**gth **a**rray)](http://varlena.com/varlena.php) data structure, offers unbounded text storage.
PostgreSQL is a special case: both `CHAR(n)` and `VARCHAR(n)` are recommended _against_, unless a length limit is specifically desired. Instead, the nonstandard `TEXT` type, powered by the [_varlena_ (**var**iable-**len**gth **a**rray)](http://varlena.com) data structure, offers unbounded text storage.

"Large object" types in most RDBMSs are a class of binary and text data types useful for such values as images and documents, which are frequently long enough to make on-page storage impractical. Reading from or writing to large object storage is an extra step on top of reading or writing the page, so inline storage remains preferable at the scale of names, serial numbers, and summaries. The binary sort are collectively referred to as `BLOB`s (**b**inary **l**arge **ob**ject) in most RDBMSs, although Postgres' sole varlena-enabled binary type is `BYTEA`. Large text types may go by `TEXT` or `CLOB`, or in SQL Server [`VARCHAR(MAX)`](https://docs.microsoft.com/en-us/sql/t-sql/data-types/char-and-varchar-transact-sql?view=sql-server-ver15).

Expand Down
1 change: 0 additions & 1 deletion content/04-postgresql/01-benefits-of-postgresql.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,6 @@ Given that caveat, PostgreSQL satisfies more of the SQL specifications than othe

You can find out more about PostgreSQL's SQL conformance with these resources:

- [Comparison of SQL compliance between implementations](https://en.wikipedia.org/wiki/SQL_compliance)
- [PostgreSQL supported features](https://www.postgresql.org/docs/current/features-sql-standard.html)
- [Features not yet supported by PostgreSQL](https://www.postgresql.org/docs/current/unsupported-features-sql-standard.html)

Expand Down
2 changes: 1 addition & 1 deletion content/04-postgresql/03-5-ways-to-host-postgresql.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,7 @@ The following third-party providers offer managed PostgreSQL databases that you
- [Compose](https://www.compose.com/databases/postgresql)
- [ElephantSQL](https://www.elephantsql.com/)
- [Database Labs](https://www.databaselabs.io/pricing/)
- [ScaleGrid](https://scalegrid.io/postgresql.html)
- [ScaleGrid](https://scalegrid.io/postgresql/)

The server and majority of PostgreSQL will be managed by the provider, while you will be able to set up which cloud platform it the database runs on, scaling options, tweak settings, and manage access. You can configure your databases to be connectable from the internet or connect them directly to your applications that are managed by the same provider.

Expand Down
4 changes: 2 additions & 2 deletions content/05-mysql/02-5-ways-to-host-mysql.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,7 @@ An alternative to purchasing databases directly from your cloud provider, you ca
| **Management complexity** | Low |
| **Additional notes** | Third party managed databases have many of <br/> the same benefits as cloud provided databases. <br/> However, by managing your databases through <br/> a third party, you can decouple the database <br/> management from the underlying cloud provider. <br/> This can make it easier to migrate to a different <br/> host in the future and can sometimes allow for <br/> more powerful management options. |

Databases managed by a third party provider often use the same fundamental components as those offered by cloud providers themselves. However, third party providers often work with multiple clouds, spin up resources in your account, and often give you lower-level access if you desire. Instead of using the databases provided by a cloud provider, the service will start up virtual servers on the provider and install and configure MySQL using these. They can tune settings on the operating system and provide you access to the server hosting your instances. An example of third party MySQL providers is [ScaleGrid](https://scalegrid.io/), which currently can manage instances in [four different clouds](https://scalegrid.io/mysql.html#section_top_cloud_providers).
Databases managed by a third party provider often use the same fundamental components as those offered by cloud providers themselves. However, third party providers often work with multiple clouds, spin up resources in your account, and often give you lower-level access if you desire. Instead of using the databases provided by a cloud provider, the service will start up virtual servers on the provider and install and configure MySQL using these. They can tune settings on the operating system and provide you access to the server hosting your instances. An example of third party MySQL providers is [ScaleGrid](https://scalegrid.io/mysql/), which currently can manage instances in four different clouds.

#### Third-party offerings

Expand All @@ -218,7 +218,7 @@ The following third-party providers offer managed MySQL databases that you can p
* [PlanetScale](https://planetscale.com)
* [Aiven](https://aiven.io/mysql)
* [Compose](https://www.compose.com/databases/mysql)
* [ScaleGrid](https://scalegrid.io/mysql.html)
* [ScaleGrid](https://scalegrid.io/mysql/)
* [Cloudways](https://www.cloudways.com/en/mysql-hosting.php)

The server and majority of MySQL will be managed by the provider, while you will be able to set up which cloud platform the database runs on, scaling options, tweak settings, and manage access. You can configure your databases to be connectable from the internet or connect them directly to your applications that are managed by the same provider.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -452,7 +452,7 @@ Bookshelf.js is a pared-down ORM that gives you the standard set of data modelin
- [GitHub](https://github.com/Vincit/objection.js)
- [npm: Objection](https://www.npmjs.com/package/objection)

Objection.js is self-described as more of a "relational query builder" than an ORM. Like Bookshelf.js, it is built on top of the powerful Knex.js query builder library, and so builds ORM-like features on top of a flexible query builder that you can always drop down to. [Objection to ORM Hatred](https://www.jakso.me/blog/objection-to-orm-hatred), written by the creator of the Objection.js library, concisely summarizes its design goals and where it fits in the raw SQL-to-ORM spectrum.
Objection.js is self-described as more of a "relational query builder" than an ORM. Like Bookshelf.js, it is built on top of the powerful Knex.js query builder library, and so builds ORM-like features on top of a flexible query builder that you can always drop down to.

### Popularity

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -274,7 +274,7 @@ Although Bookshelf.js does have `@types` type definitions, these provide the bar

### What is Objection.js?

Objection.js is self-described as more of a "relational query builder" than an ORM. Like Bookshelf.js, it is built on top of the powerful Knex.js query builder library, and so builds ORM-like features on top of a flexible query builder that you can always drop down to. [Objection to ORM Hatred](https://www.jakso.me/blog/objection-to-orm-hatred), written by the creator of the Objection.js library, concisely summarizes its design goals and where it fits in the raw SQL-to-ORM spectrum. Objection.js seems to be more actively maintained and better documented than Bookshelf.js, and many Objection.js developers formerly worked with Bookshelf.js according to [Who uses objection.js in production?](https://github.com/Vincit/objection.js/issues/1069)
Objection.js is self-described as more of a "relational query builder" than an ORM. Like Bookshelf.js, it is built on top of the powerful Knex.js query builder library, and so builds ORM-like features on top of a flexible query builder that you can always drop down to. Objection.js seems to be more actively maintained and better documented than Bookshelf.js, and many Objection.js developers formerly worked with Bookshelf.js according to [Who uses objection.js in production?](https://github.com/Vincit/objection.js/issues/1069)

### Type definitions: built-in

Expand Down Expand Up @@ -350,7 +350,7 @@ Along with MikroORM and Bookshelf.js, Objection.js is an ORM-like library built

### What is MikroORM?

MikroORM is a newer TypeScript ORM that also [supports vanilla JavaScript](https://mikro-orm.io/docs/usage-with-js/). It is a fast growing project that is very active on GitHub and is strongly supported by its developers. Influenced by Doctrine (a PHP ORM), it is a Data Mapper, Identity Map, and Unit of Work influenced ORM. Some of its features include automatic transaction handling, support for multiple databases, a built-in Knex.js-based Query Builder, and Schema and Entity generators.
MikroORM is a newer TypeScript ORM that also [supports vanilla JavaScript](https://mikro-orm.io/docs/usage-with-js). It is a fast growing project that is very active on GitHub and is strongly supported by its developers. Influenced by Doctrine (a PHP ORM), it is a Data Mapper, Identity Map, and Unit of Work influenced ORM. Some of its features include automatic transaction handling, support for multiple databases, a built-in Knex.js-based Query Builder, and Schema and Entity generators.

### Type definitions: built-in

Expand Down Expand Up @@ -472,7 +472,7 @@ For a more focused comparison of Prisma and Mongoose, you can look at our [Mongo

</PrismaOutlinks>

### Type definitions: [@types](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/mongoose)
### Type definitions: @types

To use Typegoose you first have to install Mongoose and its `@types` type definitions. These can be found in the [Definitely Typed](https://github.com/DefinitelyTyped/DefinitelyTyped) repository. They are not built-in to the library.

Expand Down
4 changes: 2 additions & 2 deletions content/09-database-tools/03-connection-pooling.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ In this guide, we'll talk about what connection pooling is, what specific condit

<PrismaOutlinks>

Connection pooling is one of the core features offered by [Prisma Accelerate](https://www.prisma.io/docs/accelerate) on the [Prisma Data Platform](https://console.prisma.io/). If you are using Prisma to work with your database, start a free project to easily manage your connections and browse your data.
Connection pooling is one of the core features offered by [Prisma Accelerate](https://www.prisma.io/docs/accelerate) on the [Prisma Data Platform](https://pris.ly/dg/pdp/). If you are using Prisma to work with your database, start a free project to easily manage your connections and browse your data.

</PrismaOutlinks>

Expand Down Expand Up @@ -118,6 +118,6 @@ Database connection limits can quickly cause problems as your application scales

<PrismaOutlinks>

Connection pooling is one of the core features offered by [Prisma Accelerate](https://www.prisma.io/docs/accelerate) on the [Prisma Data Platform](https://console.prisma.io/). If you are using Prisma to work with your database, start a free project to easily manage your connections and browse your data.
Connection pooling is one of the core features offered by [Prisma Accelerate](https://www.prisma.io/docs/accelerate) on the [Prisma Data Platform](https://pris.ly/dg/pdp/). If you are using Prisma to work with your database, start a free project to easily manage your connections and browse your data.

</PrismaOutlinks>
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ A key component to designing a robust data-driven organization is the data proce

<PrismaOutlinks>

Checkout the [Prisma Data Platform](https://www.prisma.io/data-platform) to manage all of your application data in a single place.
Checkout the [Prisma Data Platform](https://pris.ly/dg/pdp) to manage all of your application data in a single place.

</PrismaOutlinks>

Expand Down Expand Up @@ -73,6 +73,6 @@ Understanding OLAP and OLTP positions you to make the right decisions when desig

<PrismaOutlinks>

Checkout the [Prisma Data Platform](https://www.prisma.io/data-platform) to manage all of your application data in a single place.
Checkout the [Prisma Data Platform](https://pris.ly/dg/pdp) to manage all of your application data in a single place.

</PrismaOutlinks>
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ One of the most important ways that application architecture can affect your env

<PrismaOutlinks>

Checkout the [Prisma Data Platform](https://www.prisma.io/data-platform) to manage all of your application data in a single place.
Checkout the [Prisma Data Platform](https://pris.ly/dg/pdp) to manage all of your application data in a single place.

</PrismaOutlinks>

Expand Down Expand Up @@ -66,6 +66,6 @@ It's important to understand how your choice of architecture will impact differe

<PrismaOutlinks>

Checkout the [Prisma Data Platform](https://www.prisma.io/data-platform) to manage all of your application data in a single place.
Checkout the [Prisma Data Platform](https://pris.ly/dg/pdp) to manage all of your application data in a single place.

</PrismaOutlinks>
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ In this article, we discuss database caching, a technique implemented for databa

<PrismaOutlinks>

Checkout the [Prisma Data Platform](https://www.prisma.io/data-platform) to manage all of your application data in a single place.
Checkout the [Prisma Data Platform](https://pris.ly/dg/pdp) to manage all of your application data in a single place.

</PrismaOutlinks>

Expand Down Expand Up @@ -110,6 +110,6 @@ Configuring a caching strategy that optimizes your cache and database workloads

<PrismaOutlinks>

Checkout the [Prisma Data Platform](https://www.prisma.io/data-platform) to manage all of your application data in a single place.
Checkout the [Prisma Data Platform](https://pris.ly/dg/pdp) to manage all of your application data in a single place.

</PrismaOutlinks>
4 changes: 2 additions & 2 deletions content/10-managing-databases/08-testing-in-production.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ In this guide, we'll explore the idea of testing software changes in production.

<PrismaOutlinks>

The [Prisma Data Platform](https://www.prisma.io/data-platform) can help simplify access to your database in production environments. If you are using [Prisma Client](https://www.prisma.io/docs/orm/prisma-client) to manage your database connections, the Prisma Data Platform may help you manage your production workloads more easily.
The [Prisma Data Platform](https://pris.ly/dg/pdp) can help simplify access to your database in production environments. If you are using [Prisma Client](https://www.prisma.io/docs/orm/prisma-client) to manage your database connections, the Prisma Data Platform may help you manage your production workloads more easily.

</PrismaOutlinks>

Expand Down Expand Up @@ -106,6 +106,6 @@ By getting to know the challenges involved with this approach, you can evaluate

<PrismaOutlinks>

The [Prisma Data Platform](https://www.prisma.io/data-platform) can help simplify access to your database in production environments. If you are using [Prisma Client](https://www.prisma.io/docs/orm/prisma-client) to manage your database connections, the Prisma Data Platform may help you manage your production workloads more easily.
The [Prisma Data Platform](https://pris.ly/dg/pdp) can help simplify access to your database in production environments. If you are using [Prisma Client](https://www.prisma.io/docs/orm/prisma-client) to manage your database connections, the Prisma Data Platform may help you manage your production workloads more easily.

</PrismaOutlinks>
4 changes: 2 additions & 2 deletions content/10-managing-databases/09-backup-considerations.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ In this guide, we'll go over the key decisions you'll have to make when deciding

<PrismaOutlinks>

The [Prisma Data Platform](https://www.prisma.io/data-platform) can help simplify access to your database in production environments. If you are using [Prisma Client](https://www.prisma.io/docs/orm/prisma-client) to manage your database connections, the Prisma Data Platform may help you manage your production workloads more easily.
The [Prisma Data Platform](https://pris.ly/dg/pdp) can help simplify access to your database in production environments. If you are using [Prisma Client](https://www.prisma.io/docs/orm/prisma-client) to manage your database connections, the Prisma Data Platform may help you manage your production workloads more easily.

</PrismaOutlinks>

Expand Down Expand Up @@ -149,6 +149,6 @@ Being familiar with what choices you have as an organization and how different d

<PrismaOutlinks>

The [Prisma Data Platform](https://www.prisma.io/data-platform) can help simplify access to your database in production environments. If you are using [Prisma Client](https://www.prisma.io/docs/orm/prisma-client) to manage your database connections, the Prisma Data Platform may help you manage your production workloads more easily.
The [Prisma Data Platform](https://pris.ly/dg/pdp) can help simplify access to your database in production environments. If you are using [Prisma Client](https://www.prisma.io/docs/orm/prisma-client) to manage your database connections, the Prisma Data Platform may help you manage your production workloads more easily.

</PrismaOutlinks>
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ In this article, we'll introduce the ideas behind full-text search. We'll discus

<PrismaOutlinks>

The [Prisma Data Platform](https://www.prisma.io/data-platform) can help simplify access to your database in production environments. If you are using [Prisma Client](https://www.prisma.io/docs/orm/prisma-client) to manage your database connections, the Prisma Data Platform may help you manage your production workloads more easily.
The [Prisma Data Platform](https://pris.ly/dg/pdp) can help simplify access to your database in production environments. If you are using [Prisma Client](https://www.prisma.io/docs/orm/prisma-client) to manage your database connections, the Prisma Data Platform may help you manage your production workloads more easily.

</PrismaOutlinks>

Expand Down Expand Up @@ -85,6 +85,6 @@ Full-text search is an incredibly broad topic with many nuances, optimizations,

<PrismaOutlinks>

The [Prisma Data Platform](https://www.prisma.io/data-platform) can help simplify access to your database in production environments. If you are using [Prisma Client](https://www.prisma.io/docs/orm/prisma-client) to manage your database connections, the Prisma Data Platform may help you manage your production workloads more easily.
The [Prisma Data Platform](https://pris.ly/dg/pdp) can help simplify access to your database in production environments. If you are using [Prisma Client](https://www.prisma.io/docs/orm/prisma-client) to manage your database connections, the Prisma Data Platform may help you manage your production workloads more easily.

</PrismaOutlinks>
Loading
Loading