2011-02-09 2 views
1

LONGTEXT列に多くのテキストを格納するRuby on Railsアプリケーションを開発しています。私はHeroku(PostgreSQLを使用しています)にデプロイされたときに、2つの列サイズが大きすぎるために挿入例外が発生することに気付きました。 PostgreSQLでタグ付きの大文字カラム型を取得するためには特別なことがありますか?PGSQLとMySQLの移行でLONGTEXTが有効

これらは、Railsの移行では「文字列」データ型として定義されていました。

答えて

2

PostgreSQLでlongtextデータ型を使用する場合は、作成してください。 domainが行います。

CREATE DOMAIN longtext AS text; 

CREATE TABLE foo(bar longtext); 
+0

Railsがそれをどのようにバインドしているかを見ていきますが、単に "text"を列の型として使用するか、またはオーバーライドするだけで十分です。 –

1

PostgreSQLでは、必要なタイプはtextです。ドキュメントのCharacter Typesセクションを参照してください。

0

「テキスト」にモデルのデータ型を更新し、新たな移行作業を行う必要があります。データベースを再起動することを忘れないでください。それでも問題が解決しない場合は、「heroku console」であなたのモデルを見て、モデル名を入力してください。

データベースを再起動しても問題が解決しない場合は、「heroku pg:reset」を使用してデータベースをリセットするしか方法はありません。すでにデータベースに重要なデータがある場合は面白い方法ではありません。

関連する問題