2011-02-09 2 views
1

LONGTEXT 열에 많은 텍스트를 저장하는 Ruby on Rails 응용 프로그램을 개발 중입니다. 나는 Heroku (PostgreSQL을 사용)에 배포 할 때 두 개의 열 크기가 너무 커서 삽입 예외가 발생하는 것으로 나타났습니다. PostgreSQL에서 태그가 지정된 큰 텍스트 열 유형을 가져 오기 위해 수행해야하는 특별한 것이 있습니까?PGSQL 및 MySQL 용 LONGTEXT가 유효합니다.

이들은 레일스 마이그레이션에서 "문자열"데이터 유형으로 정의되었습니다.

답변

2

PostgreSQL에서도 longtext 데이터 유형을 원한다면 작성하십시오. domain 할 것입니다 :

CREATE DOMAIN longtext AS text; 

CREATE TABLE foo(bar longtext); 
+0

Rails가 어떤 것을 바인딩하고 있는지 살펴볼 것입니다.하지만 단순히 "텍스트"를 열 유형으로 사용하거나이를 오버라이드하는 것으로 충분합니다. –

1

PostgreSQL에서 필요한 유형은 text입니다. 문서의 Character Types 섹션을 참조하십시오.

0

'텍스트'로 모델 데이터 유형을 갱신하는 새로운 마이그레이션 작업을 수행해야합니다. 데이터베이스를 다시 시작하는 것을 잊지 마십시오. 여전히 문제가 있다면, 'heroku console'로 모델을보고 modelname을 입력하십시오.

데이터베이스 재시작으로 문제가 해결되지 않는다면, 알아 낸 유일한 방법은 'heroku pg : reset'으로 데이터베이스를 재설정하는 것이 었습니다. 데이터베이스에 중요한 데이터가 이미 있다면 재미있는 방법이 아닙니다.