mirror of
https://github.com/xataio/pgroll.git
synced 2024-07-14 17:10:33 +03:00
Update the **create table** and **add column** operations so that they support adding [Postgres comments](https://www.postgresql.org/docs/current/sql-comment.html): * **create table**: comments can be added to the table itself and to each of its columns. * **add column**: a comment can be added to the column. A **create table** migration that includes a comment on the table itself and on one of its columns looks like this: ```json { "name": "12_create_employees_table", "operations": [ { "create_table": { "name": "employees", "comment": "This is a comment for the employees table", "columns": [ { "name": "id", "type": "serial", "pk": true }, { "name": "role", "type": "varchar(255)", "comment": "This is a comment for the role column" } ] } } ] } ``` and an **add column** migration that includes a comment looks like this: ```json { "name": "30_add_column_simple_up", "operations": [ { "add_column": { "table": "people", "up": "'temporary-description'", "column": { "name": "description", "type": "varchar(255)", "nullable": false, "comment": "This is a comment for the description column" } } } ] } ``` This allows new tables and columns to be created with comments. Deletion and modification of comments should still be performed with a raw SQL migration. Until we see a use case that requires versioned modification/removal of comments, these operations are best performed directly on the base table with raw SQL.
24 lines
488 B
JSON
24 lines
488 B
JSON
{
|
|
"name": "12_create_employees_table",
|
|
"operations": [
|
|
{
|
|
"create_table": {
|
|
"name": "employees",
|
|
"comment": "This is a comment for the employees table",
|
|
"columns": [
|
|
{
|
|
"name": "id",
|
|
"type": "serial",
|
|
"pk": true
|
|
},
|
|
{
|
|
"name": "role",
|
|
"type": "varchar(255)",
|
|
"comment": "This is a comment for the role column"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|