From f4369d55e518fbe74b7697427838b05e2172caf9 Mon Sep 17 00:00:00 2001 From: Kang Ming Date: Tue, 16 May 2023 16:51:40 +0800 Subject: [PATCH 01/13] update google & azure oauth guide --- .../guides/auth/social-login/auth-azure.mdx | 15 +++++++++++++ .../guides/auth/social-login/auth-google.mdx | 22 ++++++++++--------- 2 files changed, 27 insertions(+), 10 deletions(-) diff --git a/apps/docs/pages/guides/auth/social-login/auth-azure.mdx b/apps/docs/pages/guides/auth/social-login/auth-azure.mdx index 57f398456b0..d2ee9f865f7 100644 --- a/apps/docs/pages/guides/auth/social-login/auth-azure.mdx +++ b/apps/docs/pages/guides/auth/social-login/auth-azure.mdx @@ -91,6 +91,21 @@ async function signout() { } ``` +## Obtain the provider refresh token + +Azure OAuth2.0 doesn't return the `provider_refresh_token` by default. If you need the `provider_refresh_token` returned, you will need to include the following scope: + +```js +async function signInWithAzure() { + const { data, error } = await supabase.auth.signInWithOAuth({ + provider: 'azure', + options: { + scopes: 'offline_access', + }, + }) +} +``` + ## Resources - [Azure Developer Account](https://portal.azure.com) diff --git a/apps/docs/pages/guides/auth/social-login/auth-google.mdx b/apps/docs/pages/guides/auth/social-login/auth-google.mdx index 0e9cbe5fc3d..f4afe453b52 100644 --- a/apps/docs/pages/guides/auth/social-login/auth-google.mdx +++ b/apps/docs/pages/guides/auth/social-login/auth-google.mdx @@ -83,6 +83,18 @@ async function signInWithGoogle() { } ``` +You can view the full list of query parameters and their descriptions [here](https://developers.google.com/identity/protocols/oauth2/web-server#creatingclient). + +When your user signs out, call [signOut()](/docs/reference/javascript/auth-signout) to remove them from the browser session and any objects from localStorage: + +```js +async function signout() { + const { error } = await supabase.auth.signOut() +} +``` + +## Obtain the provider refresh token + Google OAuth2.0 doesn't return the `provider_refresh_token` by default. If you need the `provider_refresh_token` returned, you will need to add additional query parameters: ```js @@ -99,16 +111,6 @@ async function signInWithGoogle() { } ``` -You can view the full list of query parameters and their descriptions [here](https://developers.google.com/identity/protocols/oauth2/web-server#creatingclient). - -When your user signs out, call [signOut()](/docs/reference/javascript/auth-signout) to remove them from the browser session and any objects from localStorage: - -```js -async function signout() { - const { error } = await supabase.auth.signOut() -} -``` - ## Resources - [Supabase Account - Free Tier OK](https://supabase.com) From a651809ff678a4227e8e9af5b8196da59a79c4bd Mon Sep 17 00:00:00 2001 From: Austin Coleman Date: Wed, 17 May 2023 00:27:48 -0700 Subject: [PATCH 02/13] small fix: line break Removes an unnecessary line break. --- apps/docs/pages/guides/getting-started/architecture.mdx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/apps/docs/pages/guides/getting-started/architecture.mdx b/apps/docs/pages/guides/getting-started/architecture.mdx index 9e46c449c47..9d2f24b5efe 100644 --- a/apps/docs/pages/guides/getting-started/architecture.mdx +++ b/apps/docs/pages/guides/getting-started/architecture.mdx @@ -156,8 +156,7 @@ As the profile of a developer changes over time, Supabase will continue to evolv ### Support existing tools -Supabase supports existing tools and communities wherever possible. Supabase is more like a "community of communities" - each tool typically has its own community -which we work with. +Supabase supports existing tools and communities wherever possible. Supabase is more like a "community of communities" - each tool typically has its own community which we work with. Open source is something we approach [collaboratively](https://supabase.com/blog/supabase-series-b#giving-back): we employ maintainers, sponsor projects, invest in businesses, and develop our own open source tools. export const Page = ({ children }) => From cbf47d52c0e1552a0ebb0eb410ce4da30e1437e8 Mon Sep 17 00:00:00 2001 From: TzeYiing Date: Wed, 17 May 2023 18:22:08 +0800 Subject: [PATCH 03/13] fix: hides recharts ticks properly --- studio/components/to-be-cleaned/Charts/ChartRenderer.tsx | 2 +- studio/components/ui/Charts/AreaChart.tsx | 2 +- studio/components/ui/Charts/BarChart.tsx | 2 +- studio/components/ui/Charts/StackedBarChart.tsx | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/studio/components/to-be-cleaned/Charts/ChartRenderer.tsx b/studio/components/to-be-cleaned/Charts/ChartRenderer.tsx index 88812c5307e..3e0651f0825 100644 --- a/studio/components/to-be-cleaned/Charts/ChartRenderer.tsx +++ b/studio/components/to-be-cleaned/Charts/ChartRenderer.tsx @@ -214,7 +214,7 @@ export function BarChart({ interval={data ? data.length - 2 : 0} angle={0} // stroke="#4B5563" - tick={{ fontSize: '0px', color: CHART_COLORS.TICK }} + tick={false} axisLine={{ stroke: CHART_COLORS.AXIS }} tickLine={{ stroke: CHART_COLORS.AXIS }} /> diff --git a/studio/components/ui/Charts/AreaChart.tsx b/studio/components/ui/Charts/AreaChart.tsx index 8bcbacc9b62..f83fcf91625 100644 --- a/studio/components/ui/Charts/AreaChart.tsx +++ b/studio/components/ui/Charts/AreaChart.tsx @@ -97,7 +97,7 @@ const AreaChart: React.FC = ({ interval={data.length - 2} angle={0} // hide the tick - tick={{ fontSize: '0px' }} + tick={false} // color the axis axisLine={{ stroke: CHART_COLORS.AXIS }} tickLine={{ stroke: CHART_COLORS.AXIS }} diff --git a/studio/components/ui/Charts/BarChart.tsx b/studio/components/ui/Charts/BarChart.tsx index 539de0212c7..2da9cf9a76e 100644 --- a/studio/components/ui/Charts/BarChart.tsx +++ b/studio/components/ui/Charts/BarChart.tsx @@ -92,7 +92,7 @@ const BarChart: React.FC = ({ interval={data.length - 2} angle={0} // hide the tick - tick={{ fontSize: '0px' }} + tick={false} // color the axis axisLine={{ stroke: CHART_COLORS.AXIS }} tickLine={{ stroke: CHART_COLORS.AXIS }} diff --git a/studio/components/ui/Charts/StackedBarChart.tsx b/studio/components/ui/Charts/StackedBarChart.tsx index a508960b1fd..aceea8560d3 100644 --- a/studio/components/ui/Charts/StackedBarChart.tsx +++ b/studio/components/ui/Charts/StackedBarChart.tsx @@ -84,7 +84,7 @@ const StackedBarChart: React.FC = ({ dataKey={xAxisKey} interval={data.length - 2} angle={0} - tick={{ fontSize: '0px' }} + tick={false} axisLine={{ stroke: CHART_COLORS.AXIS }} tickLine={{ stroke: CHART_COLORS.AXIS }} /> From 4d865cc9b58a48988389f8def64010d98db9ba97 Mon Sep 17 00:00:00 2001 From: Copple <10214025+kiwicopple@users.noreply.github.com> Date: Wed, 17 May 2023 12:16:34 -0700 Subject: [PATCH 04/13] Starting some docs on the maturity model --- .../NavigationMenu.constants.ts | 6 ++- .../pages/guides/platform/access-control.mdx | 8 ++- .../pages/guides/platform/going-into-prod.mdx | 13 +---- .../pages/guides/platform/maturity-model.mdx | 50 +++++++++++++++++++ 4 files changed, 62 insertions(+), 15 deletions(-) create mode 100644 apps/docs/pages/guides/platform/maturity-model.mdx diff --git a/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts b/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts index bf1353c87fe..da8dae4bbbc 100644 --- a/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts +++ b/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts @@ -939,7 +939,11 @@ export const platform = { name: 'Shared Responsibility Model', url: '/guides/platform/shared-responsibility-model', }, - { name: 'Going into Production', url: '/guides/platform/going-into-prod' }, + { + name: 'Maturity Model', + url: '/guides/platform/maturity-model', + }, + { name: 'Production Checklist', url: '/guides/platform/going-into-prod' }, ], }, { diff --git a/apps/docs/pages/guides/platform/access-control.mdx b/apps/docs/pages/guides/platform/access-control.mdx index b12d566cc0c..4c1788c28f9 100644 --- a/apps/docs/pages/guides/platform/access-control.mdx +++ b/apps/docs/pages/guides/platform/access-control.mdx @@ -36,8 +36,8 @@ If you are transferring ownership of your organization to someone else, you will The table below shows the corresponding permissions for each available role you can assign a team member in the Dashboard. -| Permissions | Owner | Administrator | Developer | -| ------------------------ | ----------------------- | ----------------------- | ----------------------- | +| Permissions | Owner | Administrator | Developer | Read only [^2] | +| ------------------------ | ----------------------- | ----------------------- | ----------------------- | ----------------------- | | **Organization** | | Change organization name | | | | | Delete organization | | | | @@ -70,6 +70,8 @@ The table below shows the corresponding permissions for each available role you | Pause a project | | | | | Resume a project | | | | | Restart a project | | | | +| Manage tables | | | | +| View Data | | | | | [^1]: Invites sent from a SSO account can only be accepted by another SSO account @@ -77,6 +79,8 @@ The table below shows the corresponding permissions for each available role you prevents accidental invites to accounts not managed by your company's enterprise systems. +[^2]: Available on the Teams and Enterprise Tiers. + export const Page = ({ children }) => export default Page diff --git a/apps/docs/pages/guides/platform/going-into-prod.mdx b/apps/docs/pages/guides/platform/going-into-prod.mdx index 1c39911aec0..7e5b95a4daa 100644 --- a/apps/docs/pages/guides/platform/going-into-prod.mdx +++ b/apps/docs/pages/guides/platform/going-into-prod.mdx @@ -2,7 +2,7 @@ import Layout from '~/layouts/DefaultGuideLayout' export const meta = { id: 'going-into-prod', - title: 'Going into Production', + title: 'Production Checklist', description: 'Things to do before making your app publicly available', } @@ -85,17 +85,6 @@ After developing your project and deciding it's Production Ready, you should run - When working with enterprise systems, email scanners may scan and make a `GET` request to the reset password link or sign up link in your email. Since links in Supabase Auth are single use, a user who opens an email post-scan to click on a link will receive an error. To get around this problem, consider altering the email template to replace the original magic link with a link to a domain you control. The domain can present the user with a "Sign-in" button which redirect the user to the original magic link URL when clicked. -### Restricted Access Levels for Team Members - -As your team grows, consider the different [access levels](/docs/guides/platform/access-control) that your team requires. - -- Free and Pro: Supabase provides access controls within the Dashboard for Developers and Administrators. -- Teams and Enterprise: these tiers include advanced access controls, such as read-only Dashboard roles. - -For a more secure setup, consider running your workload across several organizations. It's a common pattern to have a Production organization which is restricted to only those team members who are qualified to have direct access to production databases. - -One other small tip: the [PGAudit](/docs/guides/database/extensions/pgaudit) extension tracks changes to your database. You can use it to track schema changes. - ## Next steps This checklist is always growing so be sure to check back frequently, and also feel free to suggest additions and amendments by making a PR on [GitHub](https://github.com/supabase/supabase). diff --git a/apps/docs/pages/guides/platform/maturity-model.mdx b/apps/docs/pages/guides/platform/maturity-model.mdx new file mode 100644 index 00000000000..1b24b99d042 --- /dev/null +++ b/apps/docs/pages/guides/platform/maturity-model.mdx @@ -0,0 +1,50 @@ +import Layout from '~/layouts/DefaultGuideLayout' + +export const meta = { + id: 'maturity-model', + title: 'Maturity Model', + description: 'Growing with your application.', +} + +Supabase is great for building something very fast _and_ for scaling up. Keep in mind however, that as your application and team grows, the practices you use for managing an application in production should not be the same as the practices you used for prototyping. + +## Prototyping + +When you are prototyping, the Dashboard we provide is a great way to build your application. We still strongly recommend using [Migrations](/docs/guides/getting-started/local-development#database-migrations) to manage your database changes. + +## Collaborating + +As soon as you start collaborating with team members, all changes should be in version control. At this point we strongly recommend moving away from using the Dashboard for making database changes. Use Migrations to manage your database, and check them into your codebase to track every change. + +Resources: + +- [Database migrations](/docs/guides/getting-started/local-development#database-migrations) +- [PGAudit for Postgres](/docs/guides/database/extensions/pgaudit) + +## In Production + +Once your application is live, you should never change your database using the Dashboard. Read the [Production Checklist](docs/guides/platform/going-into-prod) and make sure that your organization is aware of the [Shared Responsibilities](/docs/guides/platform/shared-responsibility-model) between your organizaiton and Supabase. Supabase provides various [access levels](https://supabase.com/docs/guides/platform/access-control) for the Dashboard. You should [design a secure workflow](https://supabase.com/docs/guides/platform/shared-responsibility-model#you-decide-your-own-workflow) for managing your database. + +We strongly recommend running [multiple environments](/docs/guides/cli/managing-environments) as part of your development workflow (`local` -> `staging` -> `prod`). + +Resources: + +- [Database migrations](/docs/guides/getting-started/local-development#database-migrations) +- [PGAudit for Postgres](/docs/guides/database/extensions/pgaudit) +- [Managing environments](/docs/guides/cli/managing-environments) +- [Access Control](/docs/guides/platform/access-control) + +Resources: + +- [Database migrations](/docs/guides/getting-started/local-development#database-migrations) +- [PGAudit for Postgres](/docs/guides/getting-started/local-development#database-migrations) + +## Enterprise + +For a more secure setup, consider running your workload across several organizations. It's a common pattern to have a Production organization which is restricted to only those team members who are qualified to have direct access to production databases. + +Reach out to [growth@supabase.com](mailto:growth@supabase.com) if you need help designing a secure development workflow for your organization. + +export const Page = ({ children }) => + +export default Page From b1e20ac594994d7b7e0e787fe5f523f9ba1523f6 Mon Sep 17 00:00:00 2001 From: Copple <10214025+kiwicopple@users.noreply.github.com> Date: Wed, 17 May 2023 12:18:37 -0700 Subject: [PATCH 05/13] spelling --- apps/docs/pages/guides/platform/maturity-model.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/pages/guides/platform/maturity-model.mdx b/apps/docs/pages/guides/platform/maturity-model.mdx index 1b24b99d042..3b3b95298f6 100644 --- a/apps/docs/pages/guides/platform/maturity-model.mdx +++ b/apps/docs/pages/guides/platform/maturity-model.mdx @@ -23,7 +23,7 @@ Resources: ## In Production -Once your application is live, you should never change your database using the Dashboard. Read the [Production Checklist](docs/guides/platform/going-into-prod) and make sure that your organization is aware of the [Shared Responsibilities](/docs/guides/platform/shared-responsibility-model) between your organizaiton and Supabase. Supabase provides various [access levels](https://supabase.com/docs/guides/platform/access-control) for the Dashboard. You should [design a secure workflow](https://supabase.com/docs/guides/platform/shared-responsibility-model#you-decide-your-own-workflow) for managing your database. +Once your application is live, you should never change your database using the Dashboard. Read the [Production Checklist](docs/guides/platform/going-into-prod) and make sure that your organization is aware of the [Shared Responsibilities](/docs/guides/platform/shared-responsibility-model) between your organization and Supabase. Supabase provides various [access levels](https://supabase.com/docs/guides/platform/access-control) for the Dashboard. You should [design a secure workflow](https://supabase.com/docs/guides/platform/shared-responsibility-model#you-decide-your-own-workflow) for managing your database. We strongly recommend running [multiple environments](/docs/guides/cli/managing-environments) as part of your development workflow (`local` -> `staging` -> `prod`). From b57b4f05dec3cd575f396c77aef4cb18d6d60c29 Mon Sep 17 00:00:00 2001 From: Copple <10214025+kiwicopple@users.noreply.github.com> Date: Wed, 17 May 2023 12:19:42 -0700 Subject: [PATCH 06/13] dupicates --- apps/docs/pages/guides/platform/maturity-model.mdx | 5 ----- 1 file changed, 5 deletions(-) diff --git a/apps/docs/pages/guides/platform/maturity-model.mdx b/apps/docs/pages/guides/platform/maturity-model.mdx index 3b3b95298f6..3511f39a7b2 100644 --- a/apps/docs/pages/guides/platform/maturity-model.mdx +++ b/apps/docs/pages/guides/platform/maturity-model.mdx @@ -34,11 +34,6 @@ Resources: - [Managing environments](/docs/guides/cli/managing-environments) - [Access Control](/docs/guides/platform/access-control) -Resources: - -- [Database migrations](/docs/guides/getting-started/local-development#database-migrations) -- [PGAudit for Postgres](/docs/guides/getting-started/local-development#database-migrations) - ## Enterprise For a more secure setup, consider running your workload across several organizations. It's a common pattern to have a Production organization which is restricted to only those team members who are qualified to have direct access to production databases. From 3a3fa7bc5b911f81ca9f46be8087563afaeefa34 Mon Sep 17 00:00:00 2001 From: Copple <10214025+kiwicopple@users.noreply.github.com> Date: Wed, 17 May 2023 12:20:59 -0700 Subject: [PATCH 07/13] managing access in both sections --- apps/docs/pages/guides/platform/maturity-model.mdx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/docs/pages/guides/platform/maturity-model.mdx b/apps/docs/pages/guides/platform/maturity-model.mdx index 3511f39a7b2..c6e6dd9c88c 100644 --- a/apps/docs/pages/guides/platform/maturity-model.mdx +++ b/apps/docs/pages/guides/platform/maturity-model.mdx @@ -19,6 +19,7 @@ As soon as you start collaborating with team members, all changes should be in v Resources: - [Database migrations](/docs/guides/getting-started/local-development#database-migrations) +- [Managing access on the Dashboard](/docs/guides/platform/access-control) - [PGAudit for Postgres](/docs/guides/database/extensions/pgaudit) ## In Production @@ -30,9 +31,9 @@ We strongly recommend running [multiple environments](/docs/guides/cli/managing- Resources: - [Database migrations](/docs/guides/getting-started/local-development#database-migrations) +- [Managing access on the Dashboard](/docs/guides/platform/access-control) - [PGAudit for Postgres](/docs/guides/database/extensions/pgaudit) - [Managing environments](/docs/guides/cli/managing-environments) -- [Access Control](/docs/guides/platform/access-control) ## Enterprise From 36bbf63ad850dbe99b96182f6a2ee669b7335f24 Mon Sep 17 00:00:00 2001 From: Copple <10214025+kiwicopple@users.noreply.github.com> Date: Wed, 17 May 2023 12:38:25 -0700 Subject: [PATCH 08/13] cleaning up the formating --- apps/docs/pages/guides/platform/maturity-model.mdx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/apps/docs/pages/guides/platform/maturity-model.mdx b/apps/docs/pages/guides/platform/maturity-model.mdx index c6e6dd9c88c..107560ae53b 100644 --- a/apps/docs/pages/guides/platform/maturity-model.mdx +++ b/apps/docs/pages/guides/platform/maturity-model.mdx @@ -24,9 +24,12 @@ Resources: ## In Production -Once your application is live, you should never change your database using the Dashboard. Read the [Production Checklist](docs/guides/platform/going-into-prod) and make sure that your organization is aware of the [Shared Responsibilities](/docs/guides/platform/shared-responsibility-model) between your organization and Supabase. Supabase provides various [access levels](https://supabase.com/docs/guides/platform/access-control) for the Dashboard. You should [design a secure workflow](https://supabase.com/docs/guides/platform/shared-responsibility-model#you-decide-your-own-workflow) for managing your database. +Once your application is live, you should never change your database using the Dashboard. Supabase provides various [access levels](https://supabase.com/docs/guides/platform/access-control) for the Dashboard. -We strongly recommend running [multiple environments](/docs/guides/cli/managing-environments) as part of your development workflow (`local` -> `staging` -> `prod`). +- Read the [Production Checklist](docs/guides/platform/going-into-prod). +- Make your team aware of the [Shared Responsibilities](/docs/guides/platform/shared-responsibility-model) between your organization and Supabase. +- Design a [safe workflow](https://supabase.com/docs/guides/platform/shared-responsibility-model#you-decide-your-own-workflow) for managing your database. We strongly recommend running [multiple environments](/docs/guides/cli/managing-environments) as part of your development workflow (`local` -> `staging` -> `prod`). +- As your database to grows, we strongly recommend moving to [Point-in-Time Recovery](/docs/guides/platform/backups#point-in-time-recovery). This is safer, and has less impact on your database performance during maintainance windows. Resources: From 3305cd23a6e14a54eb229f8a5c924ea89898d311 Mon Sep 17 00:00:00 2001 From: Copple <10214025+kiwicopple@users.noreply.github.com> Date: Wed, 17 May 2023 12:38:53 -0700 Subject: [PATCH 09/13] grammar --- apps/docs/pages/guides/platform/maturity-model.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/pages/guides/platform/maturity-model.mdx b/apps/docs/pages/guides/platform/maturity-model.mdx index 107560ae53b..ae8b5225f77 100644 --- a/apps/docs/pages/guides/platform/maturity-model.mdx +++ b/apps/docs/pages/guides/platform/maturity-model.mdx @@ -29,7 +29,7 @@ Once your application is live, you should never change your database using the D - Read the [Production Checklist](docs/guides/platform/going-into-prod). - Make your team aware of the [Shared Responsibilities](/docs/guides/platform/shared-responsibility-model) between your organization and Supabase. - Design a [safe workflow](https://supabase.com/docs/guides/platform/shared-responsibility-model#you-decide-your-own-workflow) for managing your database. We strongly recommend running [multiple environments](/docs/guides/cli/managing-environments) as part of your development workflow (`local` -> `staging` -> `prod`). -- As your database to grows, we strongly recommend moving to [Point-in-Time Recovery](/docs/guides/platform/backups#point-in-time-recovery). This is safer, and has less impact on your database performance during maintainance windows. +- As your database to grows, we strongly recommend moving to [Point-in-Time Recovery](/docs/guides/platform/backups#point-in-time-recovery). This is safer and has less impact on your database performance during maintainance windows. Resources: From 8ed56780c6e23798806922bea4530e3d2c36dbfb Mon Sep 17 00:00:00 2001 From: Copple <10214025+kiwicopple@users.noreply.github.com> Date: Wed, 17 May 2023 12:44:56 -0700 Subject: [PATCH 10/13] cleans up the formatting --- apps/docs/pages/guides/platform/maturity-model.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/docs/pages/guides/platform/maturity-model.mdx b/apps/docs/pages/guides/platform/maturity-model.mdx index ae8b5225f77..aa3c31f2936 100644 --- a/apps/docs/pages/guides/platform/maturity-model.mdx +++ b/apps/docs/pages/guides/platform/maturity-model.mdx @@ -10,11 +10,11 @@ Supabase is great for building something very fast _and_ for scaling up. Keep in ## Prototyping -When you are prototyping, the Dashboard we provide is a great way to build your application. We still strongly recommend using [Migrations](/docs/guides/getting-started/local-development#database-migrations) to manage your database changes. +The Dashboard is a quick and easy tool for building applications while you are prototyping. That said, we strongly recommend using [Migrations](/docs/guides/getting-started/local-development#database-migrations) to manage your database changes. You can use our CLI to [capture any changes](/docs/reference/cli/supabase-db-diff) you have made on the Dashboard so that you can commit them a version control system, like git. ## Collaborating -As soon as you start collaborating with team members, all changes should be in version control. At this point we strongly recommend moving away from using the Dashboard for making database changes. Use Migrations to manage your database, and check them into your codebase to track every change. +As soon as you start collaborating with team members, all project changes should be in version control. At this point we strongly recommend moving away from using the Dashboard for schema changes. Use migrations to manage your database, and check them into your version control system to track every change. Resources: @@ -24,7 +24,7 @@ Resources: ## In Production -Once your application is live, you should never change your database using the Dashboard. Supabase provides various [access levels](https://supabase.com/docs/guides/platform/access-control) for the Dashboard. +Once your application is live, you should never change your database using the Dashboard. Supabase provides various [access levels](https://supabase.com/docs/guides/platform/access-control) for the Dashboard that can help enforce this. Some other important things to consider at this point include: - Read the [Production Checklist](docs/guides/platform/going-into-prod). - Make your team aware of the [Shared Responsibilities](/docs/guides/platform/shared-responsibility-model) between your organization and Supabase. From 83e05a8947f06a855baa75ab3dc5a2126ed73386 Mon Sep 17 00:00:00 2001 From: Copple <10214025+kiwicopple@users.noreply.github.com> Date: Wed, 17 May 2023 12:50:44 -0700 Subject: [PATCH 11/13] fix spelling --- apps/docs/pages/guides/platform/maturity-model.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/pages/guides/platform/maturity-model.mdx b/apps/docs/pages/guides/platform/maturity-model.mdx index aa3c31f2936..7c65fbfef7c 100644 --- a/apps/docs/pages/guides/platform/maturity-model.mdx +++ b/apps/docs/pages/guides/platform/maturity-model.mdx @@ -29,7 +29,7 @@ Once your application is live, you should never change your database using the D - Read the [Production Checklist](docs/guides/platform/going-into-prod). - Make your team aware of the [Shared Responsibilities](/docs/guides/platform/shared-responsibility-model) between your organization and Supabase. - Design a [safe workflow](https://supabase.com/docs/guides/platform/shared-responsibility-model#you-decide-your-own-workflow) for managing your database. We strongly recommend running [multiple environments](/docs/guides/cli/managing-environments) as part of your development workflow (`local` -> `staging` -> `prod`). -- As your database to grows, we strongly recommend moving to [Point-in-Time Recovery](/docs/guides/platform/backups#point-in-time-recovery). This is safer and has less impact on your database performance during maintainance windows. +- As your database to grows, we strongly recommend moving to [Point-in-Time Recovery](/docs/guides/platform/backups#point-in-time-recovery). This is safer and has less impact on your database performance during maintenance windows. Resources: From 3683c30aba99196508d13a187cd85061f92bdf84 Mon Sep 17 00:00:00 2001 From: Copple <10214025+kiwicopple@users.noreply.github.com> Date: Wed, 17 May 2023 22:30:00 +0200 Subject: [PATCH 12/13] Update apps/docs/pages/guides/platform/maturity-model.mdx --- apps/docs/pages/guides/platform/maturity-model.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/pages/guides/platform/maturity-model.mdx b/apps/docs/pages/guides/platform/maturity-model.mdx index 7c65fbfef7c..8bd38da5cf7 100644 --- a/apps/docs/pages/guides/platform/maturity-model.mdx +++ b/apps/docs/pages/guides/platform/maturity-model.mdx @@ -6,7 +6,7 @@ export const meta = { description: 'Growing with your application.', } -Supabase is great for building something very fast _and_ for scaling up. Keep in mind however, that as your application and team grows, the practices you use for managing an application in production should not be the same as the practices you used for prototyping. +Supabase is great for building something very fast _and_ for scaling up. However, it's important to note that as your application matures and your team expands, the practices you use for managing an application in production should not be the same as the practices you used for prototyping. ## Prototyping From c8987e52d56f29d4f5b98f82286657d4713b20eb Mon Sep 17 00:00:00 2001 From: Greg Richardson Date: Wed, 17 May 2023 16:50:22 -0600 Subject: [PATCH 13/13] docs: fix edge function rate limit link to github --- apps/docs/pages/guides/functions/examples/rate-limiting.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/pages/guides/functions/examples/rate-limiting.mdx b/apps/docs/pages/guides/functions/examples/rate-limiting.mdx index 6c99592a8fc..32486fadc48 100644 --- a/apps/docs/pages/guides/functions/examples/rate-limiting.mdx +++ b/apps/docs/pages/guides/functions/examples/rate-limiting.mdx @@ -18,7 +18,7 @@ export const meta = { [Upstash](https://upstash.com/) provides an HTTP/REST based Redis client which is ideal for serverless use-cases and therefore works well with Supabase Edge Functions. -Find the code on [GitHub](https://github.com/supabase/supabase/tree/master/examples/edge-functions/supabase/functions/upstash-redis-ratelimit). +Find the code on [GitHub](https://github.com/supabase/supabase/tree/master/examples/edge-functions/supabase/functions/upstash-redis-counter). export const Page = ({ children }) =>