MS SQL Server: Rename Relationships
An existing relationship can be renamed as follows:
- Console
- CLI
- API
Renaming Local Relationships
- Head to
Data -> [table-name] -> Relationships
in the Console - Click on the
Rename
option for the relationship in question.
![Fill the relationship details](/docs/assets/images/rename-local-rel-step-1-eb3ca73dd275a44464d7a76bbb570b1f.png)
- This will open up a pop-up widget which will allow you to rename and save the relationship
![Fill the relationship details](/docs/assets/images/rename-local-rel-step-2-8d77bcbdc59385be3b3d065349191826.png)
Renaming Remote Relationships
Remote relationships cannot be renamed. They have to dropped and created again with the new name.
You can rename a relationship by changing the relationship name in the tables.yaml
file inside the metadata
directory:
- table:
schema: public
name: articles
object_relationships:
- name: author
using:
foreign_key_constraint_on: author_id
- table:
schema: public
name: authors
Apply the Metadata by running:
hasura metadata apply
You can rename a relationship by using the mssql_rename_relationship Metadata API:
POST /v1/metadata HTTP/1.1
Content-Type: application/json
X-Hasura-Role: admin
{
"type": "mssql_rename_relationship",
"args": {
"source": "<db_name>",
"table": "articles",
"name": "article_details",
"new_name": "article_detail"
}
}
Note
You might not be allowed to drop a relationship if it has been referenced elsewhere (e.g. in a permissions rule).
In this case you will have to delete the references first, rename the relationship, and then re-add the references.