我已阅读了很多帖子并用Google搜索,但在我执行操作时找不到要检查以解决以下错误的一组内容:
heroku db:push
我读过这个答案:Rails migrations over an existing database
但它不能解决我遇到的问题。我目前收到以下错误:
messages: 100% |==========================================| Time: 00:00:00
numbers: 0% | | ETA: --:--:--
Saving session to push_201109120849.dat..
!!! Caught Server Exception
HTTP CODE: 500
Taps Server Error: PGError: ERROR: integer out of range
我的Numbers迁移看起来像这样:
class CreateNumbers < ActiveRecord::Migration
def self.up
create_table :numbers do |t|
t.integer :inbound_num
t.boolean :assigned
t.timestamps
end
end
def self.down
drop_table :numbers
end
end
我使用整数数据类型来保存手机号码。我不确定读这篇文章是个好主意:What datatype should be used for storing phone numbers in SQL Server 2005?
事情是数据在本地运行良好,所以我认为我没有选择可怕的数据类型。
我推动的数据库中的数字看起来像这样:
447786201383
447786201387
447786201389 等...
提前非常感谢!
答案 0 :(得分:1)
在您的迁移中,您有类似
的内容t.integer :field
但是在heroku上使用的Postgresql的默认值是4个字节
所以你应该改变你的bigints的内注。
为此,请使用:limit
。例如:
t.integer :field, :limit => 8