json? У меня ограничение в 512 символов стоит
А вы покажите это ваше ограничение.
Когда через ORM пытаюсь что-то туда залить, то выходит value too long for type character varying(512)
alter table TTT alter column CCC type varchar;
Не совсем понял для чего это
Уберёт ограничение на длину поля
Но при этом не поменяется на varchar?
Поменяется. В Постгресе varchar без указания размера - это неограниченный размер, а не varchar(1) как во многих других БД.
Понял, спасибо. Сейчас попробую так сделать. Надеюсь ORM будет работать с полем varchar)
Все фигня идите писать миграции с нормальной схемой где json это jsonb
У вас там почти наверняка варчар. Может быть кто-то знает как сделать поле типа json ограниченной длины? contrib_regression=# create table ttt (ccc json(5)); ERROR: type modifier is not allowed for type "json" LINE 1: create table ttt (ccc json(5)); ^ contrib_regression=# create table ttt (ccc varchar(5)); CREATE TABLE
Извините, пожалуйста, я не так немного понял ошибку. Похожие названия были, перепутал слегка. БД именно ругалась на строчку, а с json всё в порядке
Можно и на json constain check повесить https://sqlize.online/sql/psql14/7e1f72dee903d2d1362d9dd2b01b2d1a/
Ага, но есть тонкая разница: ERROR: new row for relation "t" violates check constraint "t_j_check" value too long for type character varying(512) Наверное можно сделать триггер, который будет выкидывать "нужную" ошибку, но наверняка дело не в этом :)
Обсуждают сегодня