提交 24eb440b 编写于 作者: R Ryuta Kamizono

The short-hand methods should be able to define multiple columns

上级 8fade125
......@@ -35,90 +35,96 @@ def primary_key(name, type = :primary_key, **options)
super
end
def xml(*args)
options = args.extract_options!
column(args[0], :xml, options)
def bigserial(*args, **options)
args.each { |name| column(name, :bigserial, options) }
end
def tsvector(*args)
options = args.extract_options!
column(args[0], :tsvector, options)
def bit(*args, **options)
args.each { |name| column(name, :bit, options) }
end
def int4range(name, options = {})
column(name, :int4range, options)
def bit_varying(*args, **options)
args.each { |name| column(name, :bit_varying, options) }
end
def int8range(name, options = {})
column(name, :int8range, options)
def cidr(*args, **options)
args.each { |name| column(name, :cidr, options) }
end
def tsrange(name, options = {})
column(name, :tsrange, options)
def citext(*args, **options)
args.each { |name| column(name, :citext, options) }
end
def tstzrange(name, options = {})
column(name, :tstzrange, options)
def daterange(*args, **options)
args.each { |name| column(name, :daterange, options) }
end
def numrange(name, options = {})
column(name, :numrange, options)
def hstore(*args, **options)
args.each { |name| column(name, :hstore, options) }
end
def daterange(name, options = {})
column(name, :daterange, options)
def inet(*args, **options)
args.each { |name| column(name, :inet, options) }
end
def hstore(name, options = {})
column(name, :hstore, options)
def int4range(*args, **options)
args.each { |name| column(name, :int4range, options) }
end
def ltree(name, options = {})
column(name, :ltree, options)
def int8range(*args, **options)
args.each { |name| column(name, :int8range, options) }
end
def inet(name, options = {})
column(name, :inet, options)
def json(*args, **options)
args.each { |name| column(name, :json, options) }
end
def cidr(name, options = {})
column(name, :cidr, options)
def jsonb(*args, **options)
args.each { |name| column(name, :jsonb, options) }
end
def macaddr(name, options = {})
column(name, :macaddr, options)
def ltree(*args, **options)
args.each { |name| column(name, :ltree, options) }
end
def uuid(name, options = {})
column(name, :uuid, options)
def macaddr(*args, **options)
args.each { |name| column(name, :macaddr, options) }
end
def json(name, options = {})
column(name, :json, options)
def money(*args, **options)
args.each { |name| column(name, :money, options) }
end
def jsonb(name, options = {})
column(name, :jsonb, options)
def numrange(*args, **options)
args.each { |name| column(name, :numrange, options) }
end
def citext(name, options = {})
column(name, :citext, options)
def point(*args, **options)
args.each { |name| column(name, :point, options) }
end
def point(name, options = {})
column(name, :point, options)
def serial(*args, **options)
args.each { |name| column(name, :serial, options) }
end
def bit(name, options = {})
column(name, :bit, options)
def tsrange(*args, **options)
args.each { |name| column(name, :tsrange, options) }
end
def bit_varying(name, options = {})
column(name, :bit_varying, options)
def tstzrange(*args, **options)
args.each { |name| column(name, :tstzrange, options) }
end
def money(name, options = {})
column(name, :money, options)
def tsvector(*args, **options)
args.each { |name| column(name, :tsvector, options) }
end
def uuid(*args, **options)
args.each { |name| column(name, :uuid, options) }
end
def xml(*args, **options)
args.each { |name| column(name, :xml, options) }
end
end
......
......@@ -13,7 +13,7 @@ def setup
end
def with_change_table
yield ConnectionAdapters::Table.new(:delete_me, @connection)
yield ActiveRecord::Base.connection.update_table_definition(:delete_me, @connection)
end
def test_references_column_type_adds_id
......@@ -131,6 +131,24 @@ def test_string_creates_string_column
end
end
if current_adapter?(:PostgreSQLAdapter)
def test_json_creates_json_column
with_change_table do |t|
@connection.expect :add_column, nil, [:delete_me, :foo, :json, {}]
@connection.expect :add_column, nil, [:delete_me, :bar, :json, {}]
t.json :foo, :bar
end
end
def test_xml_creates_xml_column
with_change_table do |t|
@connection.expect :add_column, nil, [:delete_me, :foo, :xml, {}]
@connection.expect :add_column, nil, [:delete_me, :bar, :xml, {}]
t.xml :foo, :bar
end
end
end
def test_column_creates_column
with_change_table do |t|
@connection.expect :add_column, nil, [:delete_me, :bar, :integer, {}]
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册