什么是"隐式数据库序列"?

Tre*_*ott 5 sql database rake ruby-on-rails heroku

我将Ruby on Rails测试应用程序推送到Heroku,并在运行命令heroku run rake db:migrate后收到一条通知,说明:

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

什么是隐含序列?而且,在这种情况下,"串行列"是另一种引用主键的方式吗?

小智 1

您的表包含一个列,该列定义为serial只是整数列的简写,其默认值取自序列。为了做到这一点,PostgreSQL 自动创建一个绑定到该列的序列。该消息仅告诉您已创建这样的序列。

如果您没有明确定义serial列,您可能会将其定义为“autoincremen”或任何 Ruby 术语。

有关更多详细信息,请阅读手册:http://www.postgresql.org/docs/current/static/datatype-numeric.html#DATATYPE-SERIAL