使用PostgreSQL v.MySQL时,为什么Rails上的整数大小限制不同?

Joh*_*hir 9 ruby mysql postgresql ruby-on-rails

我正在将我的应用程序从MySQL迁移到Postgres.如果我这样做rake db:schema:load,它会很好地加载到Postgres中,并且我的所有测试都会通过.

如果我这样做rake db:migrate:reset,那么我之前设置的整数列将:limit => 1被设置为具有:limit => 2.

我的迁移设置如下:

t.integer "foo", :limit => 1, :null => false
Run Code Online (Sandbox Code Playgroud)

仅仅是Postgres的最小尺寸较小的问题吗?

Erw*_*ter 6

PostgreSQL中的smallint类型占用两个字节,并接受-32768到+32767之间的数字.

tinyint在MySQL中没有类似占用1个字节并接受-128到127的数字.