2012-12-19 3 views
5

schob ich eine Ruby on Rails-Testanwendung bis zu Heroku und nach dem Befehl heroku run rake db:migrate erhielt eine Benachrichtigung ausgeführt wird, der sagt:Was ist eine "implizite Datenbanksequenz"?

NOTICE: CREATE TABLE will create implicit sequence "microposts_id_seq" for serial column "microposts.id"

Was ist eine implizite Reihenfolge? Und in diesem Fall ist eine "serielle Spalte" eine andere Möglichkeit, auf einen Primärschlüssel zu verweisen?

Antwort

1

Ihre Tabelle enthält eine Spalte, die als serial definiert ist, die nur eine Kurzform für eine Integer-Spalte ist, deren Standardwert aus einer Sequenz genommen wird. Um dies zu tun, erstellt PostgreSQL automatisch eine Sequenz, die an diese Spalte gebunden ist. Die Nachricht sagt Ihnen lediglich, dass eine solche Sequenz erstellt wurde.

Wenn Sie nicht explizit eine serial Spalte definiert haben, haben Sie sie wahrscheinlich als "autoincremen" definiert oder was auch immer der Ruby Begriff dafür ist.

Für weitere Details lesen Sie bitte das Handbuch: http://www.postgresql.org/docs/current/static/datatype-numeric.html#DATATYPE-SERIAL