Warum ist die Integer-Größenbeschränkung bei Rails bei der Verwendung von PostgreSQL vs. MySQL anders?

8

Ich migriere meine App von MySQL nach Postgres. Wenn ich ein rake db:schema:load mache, lädt es gut in Postgres, und alle meine Tests bestehen.

Wenn ich rake db:migrate:reset mache, dann wird eine Integer-Spalte, die ich zuvor auf :limit => 1 gesetzt hatte, auf :limit => 2 gesetzt.

Bei meiner Migration ist es so:

%Vor%

Geht es nur darum, dass Postgres eine geringere Mindestgröße hat?

    
John Bachir 11.04.2012, 04:11
quelle

2 Antworten

5

Der smallint -Typ in PostgreSQL belegt zwei Byte und akzeptiert Zahlen von - 32768 bis +32767.

Es gibt kein tinyint wie in MySQL , das 1 Byte belegt und akzeptiert Zahlen von -128 bis 127.

    
Erwin Brandstetter 11.04.2012, 04:21
quelle
2

Postgres bietet keinen 1-Byte-Integer-Typ. Der kleinste Datentyp für Integer ist der 2-Byte-Smallint.

    
Lukas Eklund 11.04.2012 04:22
quelle