mirror of
https://github.com/hasura/graphql-engine.git
synced 2024-12-18 04:51:35 +03:00
4d74c79fce
Co-authored-by: Rikin Kachhia <54616969+rikinsk@users.noreply.github.com> GitOrigin-RevId: 646a781999b4ec6af5dfc2350f5c752fdb2a299e
77 lines
2.1 KiB
ReStructuredText
77 lines
2.1 KiB
ReStructuredText
.. meta::
|
|
:description: Resetting Hasura migrations
|
|
:keywords: hasura, docs, migration, reset migrations, clear migrations
|
|
|
|
.. _reset_migration:
|
|
|
|
Resetting Hasura migrations
|
|
===========================
|
|
|
|
.. contents:: Table of contents
|
|
:backlinks: none
|
|
:depth: 1
|
|
:local:
|
|
|
|
Introduction
|
|
------------
|
|
|
|
This page explains how to reset the state of migrations and create new migrations from the state that is on the server.
|
|
This can be useful if the current migration state on your local machine is corrupted.
|
|
|
|
Step 1: Delete the local migration files
|
|
----------------------------------------
|
|
|
|
Move all your migrations to a backup folder, in case you may need them later.
|
|
|
|
You can use the following command:
|
|
|
|
.. code-block:: bash
|
|
|
|
# move the contents of the migrations folder into the migrations_backup folder
|
|
|
|
mv migrations migrations_backup
|
|
|
|
Step 2: Reset the migration history on the server
|
|
-------------------------------------------------
|
|
|
|
`coming soon`
|
|
|
|
Step 3: Pull the schema and metadata from the server
|
|
----------------------------------------------------
|
|
|
|
If the migrations were reset, then we will set up fresh migrations by pulling the schema and metadata from the server using the following commands:
|
|
|
|
.. code-block:: bash
|
|
|
|
## create migration files - "this will only export public schema from postgres"
|
|
|
|
hasura migrate create "init" --from-server --database <database-name>
|
|
|
|
.. code-block:: bash
|
|
|
|
## note down the version
|
|
## mark the migration as applied on this server
|
|
|
|
hasura migrate apply --version "<version>" --skip-execution --database <database-name>
|
|
|
|
.. code-block:: bash
|
|
|
|
## to also export the Hasura metadata and save it in the ``/metadata`` directory
|
|
|
|
hasura metadata export
|
|
|
|
.. note::
|
|
|
|
If you are using schemas other than ``public``, use the ``--schema <schema_name>`` flag to indicate each one of them in the create command. This flag can be used multiple times.
|
|
|
|
Step 4: Verify the status of the migrations
|
|
-------------------------------------------
|
|
|
|
Run the following command to verify the migration status:
|
|
|
|
.. code-block:: bash
|
|
|
|
hasura migrate status --database <database-name>
|
|
|
|
You should see the new migrations!
|