- B
- C
- D
- E
- H
- I
- J
- L
- M
- N
- O
- P
- S
- T
- U
- X
實體公開方法
bigserial(*names, **options) 連結
來源:在 GitHub 上
# File activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb, line 57
bit(*names, **options) 連結
來源:在 GitHub 上
# File activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb, line 61
bit_varying(*names, **options) 連結
來源:在 GitHub 上
# File activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb, line 65
box(*names, **options) 連結
來源:在 GitHub 上
# File activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb, line 137
cidr(*names, **options) 連結
來源:在 GitHub 上
# File activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb, line 69
circle(*names, **options) 連結
來源:在 GitHub 上
# File activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb, line 149
citext(*names, **options) 連結
來源:在 GitHub 上
# File activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb, line 73
daterange(*names, **options) 連結
來源:在 GitHub 上
# File activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb, line 77
enum(*names, **options) 連結
來源:顯示 | 在 GitHub 上
# File activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb, line 184 included do define_column_methods :bigserial, :bit, :bit_varying, :cidr, :citext, :daterange, :hstore, :inet, :interval, :int4range, :int8range, :jsonb, :ltree, :macaddr, :money, :numrange, :oid, :point, :line, :lseg, :box, :path, :polygon, :circle, :serial, :tsrange, :tstzrange, :tsvector, :uuid, :xml, :timestamptz, :enum end
hstore(*names, **options) 連結
來源:在 GitHub 上
# File activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb, line 81
inet(*names, **options) 連結
來源:在 GitHub 上
# File activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb, line 85
int4range(*names, **options) 連結
來源:在 GitHub 上
# File activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb, line 93
int8range(*names, **options) 連結
來源:在 GitHub 上
# File activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb, line 97
interval(*names, **options) 連結
來源:在 GitHub 上
# File activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb, line 89
jsonb(*names, **options) 連結
來源:在 GitHub 上
# File activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb, line 101
line(*names, **options) 連結
來源:在 GitHub 上
# File activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb, line 129
lseg(*names, **options) 連結
來源:在 GitHub 上
# File activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb, line 133
ltree(*names, **options) 連結
來源:在 GitHub 上
# File activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb, line 105
macaddr(*names, **options) 連結
來源:在 GitHub 上
# File activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb, line 109
money(*names, **options) 連結
來源:在 GitHub 上
# File activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb, line 113
numrange(*names, **options) 連結
來源:在 GitHub 上
# File activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb, line 117
oid(*names, **options) 連結
來源:在 GitHub 上
# File activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb, line 121
path(*names, **options) 連結
來源:在 GitHub 上
# File activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb, line 141
point(*names, **options) 連結
來源:在 GitHub 上
# File activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb, line 125
polygon(*names, **options) 連結
來源:在 GitHub 上
# File activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb, line 145
primary_key(name, type = :primary_key, **options) 連結
定義主鍵欄位。支援使用 PostgreSQL 原生的 UUID 類型,可以通過以下方式定義表格來使用:
create_table :stuffs, id: :uuid do |t|
t.string :content
t.timestamps
end
預設情況下,這將使用 `pgcrypto` 擴充功能中的 `gen_random_uuid()` 函數。由於該擴充功能僅在 PostgreSQL 9.4+ 中可用,對於早期版本,可以設定明確的預設值,改為使用 `uuid-ossp` 擴充功能中的 `uuid_generate_v4()`。
create_table :stuffs, id: false do |t|
t.primary_key :id, :uuid, default: "uuid_generate_v4()"
t.uuid :foo_id
t.timestamps
end
要啟用必要的擴充功能,請在您的移轉中使用 `enable_extension` 方法。
要在沒有任何擴充功能的情況下使用 UUID 主鍵,請將 `:default` 選項設定為 `nil`。
create_table :stuffs, id: false do |t|
t.primary_key :id, :uuid, default: nil
t.uuid :foo_id
t.timestamps
end
您也可以傳遞一個自定義的預存程序,該程序返回 UUID 或使用來自其他函式庫的不同 UUID 生成函數。
請注意,將 UUID 主鍵預設值設定為 `nil` 將要求您確保在儲存記錄之前始終提供 UUID 值(因為主鍵不能為 `nil`)。例如,這可以通過 `SecureRandom.uuid` 方法和 `before_save` 回調來完成。
來源:顯示 | 在 GitHub 上
# File activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb, line 48 def primary_key(name, type = :primary_key, **options) if type == :uuid options[:default] = options.fetch(:default, "gen_random_uuid()") end super end
serial(*names, **options) 連結
來源:在 GitHub 上
# File activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb, line 153
timestamptz(*names, **options) 連結
來源:在 GitHub 上
# File activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb, line 177
tsrange(*names, **options) 連結
來源:在 GitHub 上
# File activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb, line 157
tstzrange(*names, **options) 連結
來源:在 GitHub 上
# File activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb, line 161
tsvector(*names, **options) 連結
來源:在 GitHub 上
# File activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb, line 165
uuid(*names, **options) 連結
來源:在 GitHub 上
# File activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb, line 169
xml(*names, **options) 連結
來源:在 GitHub 上
# File activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb, line 173