docs/docs/hasura-cloud/projects/move-project-manual.mdx
import HeadingIcon from '@site/src/components/HeadingIcon'; import ProductBadge from '@site/src/components/ProductBadge';
To transfer a project you will have to create a new Hasura Project and configure it with the same Hasura Metadata and other configuration as in the previous project.
The following is a guide to achieve this.
See exporting metadata to get a copy of the current Hasura Metadata on your project.
Do ensure no further changes are made to the Hasura Metadata post this.
See Step 1 of creating projects to create a new Hasura Cloud project.
After project creation, update the Hasura Cloud configuration of the new project with the same configuration as the earlier project. i.e. add the same ENV vars, custom domains, collaborators, billing, etc.
See applying metadata to apply the earlier exported Metadata to the new project.
The new project should now be generating the same GraphQL API as the earlier project.
See deleting projects to delete the earlier project.
If you are using Hasura Migrations on your project, please mark all existing Migrations as applied on the new project using the following Hasura CLI command:
hasura migrate apply --skip-execution --endpoint <new-project-endpoint> --admin-secret <new-project-admin-secret> --all-databases
You can rename your new project to the same name as the earlier project if you wish.
If you haven't renamed your new project or set up a custom domain for your project, you might want to update any clients consuming the GraphQL API to point to the new project's GraphQL endpoint.
To achieve a zero-downtime transfer, you will need to have a custom domain attached to your Cloud project. Once the new project is set up identically as the old one, you can update the DNS entries for your custom domain to the new project to have a seamless transfer of traffic to the new project.
If you simply want to avoid updating your clients with the new project's API endpoint, you can simply rename your new project with the same name as the earlier project. This will cause a short downtime of your API after you delete your old project until you rename the new one.
You will lose the following data from your earlier project in the process:
If you would like these to be transferred to the new project as well please get in touch with support regarding this before deleting the old project.