2 заметки с тегом

alter table

Конвертируем поле json в jsonb в PostgreSQL

На чистом SQL это можно сделать так:

ALTER TABLE table_name ALTER COLUMN column_with_json SET DATA TYPE jsonb USING column_with_json::jsonb

Если делать миграцию на Yii2, то можно сделать так:

public function safeUp()
{
    $this->execute('ALTER TABLE table_name ALTER COLUMN column_with_json SET DATA TYPE jsonb USING column_with_json::jsonb');
}
2017   alter column   alter table   json   jsonb   migrate   php   PostgreSQL   sql

PostgreSQL: преобразование типа поля VARCHAR в INTEGER

Стандартными средствами sql это можно сделать так:

ALTER TABLE table_name ALTER COLUMN column_name TYPE integer USING (column_name::integer);

А миграцией в Yii2 можно сделать так:

public function safeUp()
{
    $this->execute('alter table {{%table_name}} alter column column_name TYPE integer USING (column_name::integer);');
}

В итоге мы получим преобразованное поле Integer.

UPD, в некоторых случаях необходимо сделать:

update "table_name" set column_name=null;
2017   alter table   PostgreSQL   sql   yii2