我在 PostgreSQL 中有一个表,其中包含一个字符类型 (255) 的列“X”。现在我想迁移该表,以便 'X' 更改为字符 [] (255) 类型,但我希望列原始字符 (255) 值作为 'X 中新数组的一个元素出现在迁移的列中'。
使用 sequelize,有没有办法通过迁移脚本来做到这一点?或者有没有办法在 JavaScript 中使用转换和其他东西来做到这一点?
最好的(或可能唯一的)方式是什么?
a_h*_*ame 12
以下 DDL 会将列转换为数组并使现有值成为第一个数组元素:
alter table the_table
alter column x type varchar(255)[] using array[x];
Run Code Online (Sandbox Code Playgroud)
varchar
是同义词 character varying
要逆转此更改,您可以应用相同的逻辑:
alter table the_table
alter column x type varchar(255) using coalesce(x[1],'');
Run Code Online (Sandbox Code Playgroud)
x[1]
返回第一个元素,但只有null
在数组为空时才会返回。有了coalesce()
这个,然后可以变成一个空字符串''
归档时间: |
|
查看次数: |
4725 次 |
最近记录: |