activerecord-postgis-adapter 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/test/tc_ddl.rb DELETED
@@ -1,279 +0,0 @@
1
- require 'minitest/autorun'
2
- require 'rgeo/active_record/adapter_test_helper'
3
-
4
- module RGeo
5
- module ActiveRecord # :nodoc:
6
- module PostGISAdapter # :nodoc:
7
- module Tests # :nodoc:
8
- class TestDDL < ::MiniTest::Test # :nodoc:
9
- DATABASE_CONFIG_PATH = ::File.dirname(__FILE__)+'/database.yml'
10
- OVERRIDE_DATABASE_CONFIG_PATH = ::File.dirname(__FILE__)+'/database_local.yml'
11
- include AdapterTestHelper
12
-
13
- define_test_methods do
14
- def test_create_simple_geometry
15
- klass_ = create_ar_class
16
- klass_.connection.create_table(:spatial_test) do |t_|
17
- t_.column 'latlon', :geometry
18
- end
19
- assert_equal(1, klass_.connection.select_value("SELECT COUNT(*) FROM geometry_columns WHERE f_table_name='spatial_test'").to_i)
20
- col_ = klass_.columns.last
21
- assert_equal(::RGeo::Feature::Geometry, col_.geometric_type)
22
- assert_equal(true, col_.has_spatial_constraints?)
23
- assert_equal(false, col_.geographic?)
24
- assert_equal(0, col_.srid)
25
- assert(klass_.cached_attributes.include?('latlon'))
26
- klass_.connection.drop_table(:spatial_test)
27
- assert_equal(0, klass_.connection.select_value("SELECT COUNT(*) FROM geometry_columns WHERE f_table_name='spatial_test'").to_i)
28
- end
29
-
30
- # no_constraints no longer supported in PostGIS 2.0
31
- def _test_create_no_constraints_geometry
32
- klass_ = create_ar_class
33
- klass_.connection.create_table(:spatial_test) do |t_|
34
- t_.column 'geom', :geometry, :limit => {:no_constraints => true}
35
- end
36
- assert_equal(0, klass_.connection.select_value("SELECT COUNT(*) FROM geometry_columns WHERE f_table_name='spatial_test'").to_i)
37
- col_ = klass_.columns.last
38
- assert_equal(::RGeo::Feature::Geometry, col_.geometric_type)
39
- assert_equal(false, col_.geographic?)
40
- assert_equal(false, col_.has_spatial_constraints?)
41
- assert_nil(col_.srid)
42
- assert(klass_.cached_attributes.include?('geom'))
43
- klass_.connection.drop_table(:spatial_test)
44
- assert_equal(0, klass_.connection.select_value("SELECT COUNT(*) FROM geometry_columns WHERE f_table_name='spatial_test'").to_i)
45
- end
46
-
47
- def test_create_simple_geography
48
- klass_ = create_ar_class
49
- klass_.connection.create_table(:spatial_test) do |t_|
50
- t_.column 'latlon', :geometry, :geographic => true
51
- end
52
- col_ = klass_.columns.last
53
- assert_equal(::RGeo::Feature::Geometry, col_.geometric_type)
54
- assert_equal(true, col_.has_spatial_constraints?)
55
- assert_equal(true, col_.geographic?)
56
- assert_equal(4326, col_.srid)
57
- assert(klass_.cached_attributes.include?('latlon'))
58
- assert_equal(0, klass_.connection.select_value("SELECT COUNT(*) FROM geometry_columns WHERE f_table_name='spatial_test'").to_i)
59
- end
60
-
61
- def test_create_point_geometry
62
- klass_ = create_ar_class
63
- klass_.connection.create_table(:spatial_test) do |t_|
64
- t_.column 'latlon', :point
65
- end
66
- assert_equal(::RGeo::Feature::Point, klass_.columns.last.geometric_type)
67
- assert(klass_.cached_attributes.include?('latlon'))
68
- end
69
-
70
- def test_create_geometry_with_index
71
- klass_ = create_ar_class
72
- klass_.connection.create_table(:spatial_test) do |t_|
73
- t_.column 'latlon', :geometry
74
- end
75
- klass_.connection.change_table(:spatial_test) do |t_|
76
- t_.index([:latlon], :spatial => true)
77
- end
78
- assert(klass_.connection.indexes(:spatial_test).last.spatial)
79
- end
80
-
81
- def test_add_geometry_column
82
- klass_ = create_ar_class
83
- klass_.connection.create_table(:spatial_test) do |t_|
84
- t_.column('latlon', :geometry)
85
- end
86
- klass_.connection.change_table(:spatial_test) do |t_|
87
- t_.column('geom2', :point, :srid => 4326)
88
- t_.column('name', :string)
89
- end
90
- assert_equal(2, klass_.connection.select_value("SELECT COUNT(*) FROM geometry_columns WHERE f_table_name='spatial_test'").to_i)
91
- cols_ = klass_.columns
92
- assert_equal(::RGeo::Feature::Geometry, cols_[-3].geometric_type)
93
- assert_equal(0, cols_[-3].srid)
94
- assert_equal(true, cols_[-3].has_spatial_constraints?)
95
- assert_equal(::RGeo::Feature::Point, cols_[-2].geometric_type)
96
- assert_equal(4326, cols_[-2].srid)
97
- assert_equal(false, cols_[-2].geographic?)
98
- assert_equal(true, cols_[-2].has_spatial_constraints?)
99
- assert_nil(cols_[-1].geometric_type)
100
- assert_equal(false, cols_[-1].has_spatial_constraints?)
101
- end
102
-
103
- # no_constraints no longer supported in PostGIS 2.0
104
- def _test_add_no_constraints_geometry_column
105
- klass_ = create_ar_class
106
- klass_.connection.create_table(:spatial_test) do |t_|
107
- t_.column('latlon', :geometry)
108
- end
109
- klass_.connection.change_table(:spatial_test) do |t_|
110
- t_.column('geom2', :geometry, :no_constraints => true)
111
- t_.column('name', :string)
112
- end
113
- assert_equal(1, klass_.connection.select_value("SELECT COUNT(*) FROM geometry_columns WHERE f_table_name='spatial_test'").to_i)
114
- cols_ = klass_.columns
115
- assert_equal(::RGeo::Feature::Geometry, cols_[-3].geometric_type)
116
- assert_equal(0, cols_[-3].srid)
117
- assert_equal(true, cols_[-3].has_spatial_constraints?)
118
- assert_equal(::RGeo::Feature::Geometry, cols_[-2].geometric_type)
119
- assert_nil(cols_[-2].srid)
120
- assert_equal(false, cols_[-2].geographic?)
121
- assert_equal(false, cols_[-2].has_spatial_constraints?)
122
- assert_nil(cols_[-1].geometric_type)
123
- assert_equal(false, cols_[-1].has_spatial_constraints?)
124
- end
125
-
126
- def test_add_geography_column
127
- klass_ = create_ar_class
128
- klass_.connection.create_table(:spatial_test) do |t_|
129
- t_.column('latlon', :geometry)
130
- end
131
- klass_.connection.change_table(:spatial_test) do |t_|
132
- t_.column('geom2', :point, :srid => 4326, :geographic => true)
133
- t_.column('name', :string)
134
- end
135
- assert_equal(1, klass_.connection.select_value("SELECT COUNT(*) FROM geometry_columns WHERE f_table_name='spatial_test'").to_i)
136
- cols_ = klass_.columns
137
- assert_equal(::RGeo::Feature::Geometry, cols_[-3].geometric_type)
138
- assert_equal(0, cols_[-3].srid)
139
- assert_equal(true, cols_[-3].has_spatial_constraints?)
140
- assert_equal(::RGeo::Feature::Point, cols_[-2].geometric_type)
141
- assert_equal(4326, cols_[-2].srid)
142
- assert_equal(true, cols_[-2].geographic?)
143
- assert_equal(true, cols_[-2].has_spatial_constraints?)
144
- assert_nil(cols_[-1].geometric_type)
145
- assert_equal(false, cols_[-1].has_spatial_constraints?)
146
- end
147
-
148
- def test_drop_geometry_column
149
- klass_ = create_ar_class
150
- klass_.connection.create_table(:spatial_test) do |t_|
151
- t_.column('latlon', :geometry)
152
- t_.column('geom2', :point, :srid => 4326)
153
- end
154
- klass_.connection.change_table(:spatial_test) do |t_|
155
- t_.remove('geom2')
156
- end
157
- assert_equal(1, klass_.connection.select_value("SELECT COUNT(*) FROM geometry_columns WHERE f_table_name='spatial_test'").to_i)
158
- cols_ = klass_.columns
159
- assert_equal(::RGeo::Feature::Geometry, cols_[-1].geometric_type)
160
- assert_equal('latlon', cols_[-1].name)
161
- assert_equal(0, cols_[-1].srid)
162
- assert_equal(false, cols_[-1].geographic?)
163
- end
164
-
165
- def test_drop_geography_column
166
- klass_ = create_ar_class
167
- klass_.connection.create_table(:spatial_test) do |t_|
168
- t_.column('latlon', :geometry)
169
- t_.column('geom2', :point, :srid => 4326, :geographic => true)
170
- t_.column('geom3', :point, :srid => 4326)
171
- end
172
- klass_.connection.change_table(:spatial_test) do |t_|
173
- t_.remove('geom2')
174
- end
175
- assert_equal(2, klass_.connection.select_value("SELECT COUNT(*) FROM geometry_columns WHERE f_table_name='spatial_test'").to_i)
176
- cols_ = klass_.columns
177
- assert_equal(::RGeo::Feature::Point, cols_[-1].geometric_type)
178
- assert_equal('geom3', cols_[-1].name)
179
- assert_equal(false, cols_[-1].geographic?)
180
- assert_equal(::RGeo::Feature::Geometry, cols_[-2].geometric_type)
181
- assert_equal('latlon', cols_[-2].name)
182
- assert_equal(false, cols_[-2].geographic?)
183
- end
184
-
185
- def test_create_simple_geometry_using_shortcut
186
- klass_ = create_ar_class
187
- klass_.connection.create_table(:spatial_test) do |t_|
188
- t_.geometry 'latlon'
189
- end
190
- assert_equal(1, klass_.connection.select_value("SELECT COUNT(*) FROM geometry_columns WHERE f_table_name='spatial_test'").to_i)
191
- col_ = klass_.columns.last
192
- assert_equal(::RGeo::Feature::Geometry, col_.geometric_type)
193
- assert_equal(false, col_.geographic?)
194
- assert_equal(0, col_.srid)
195
- assert(klass_.cached_attributes.include?('latlon'))
196
- klass_.connection.drop_table(:spatial_test)
197
- assert_equal(0, klass_.connection.select_value("SELECT COUNT(*) FROM geometry_columns WHERE f_table_name='spatial_test'").to_i)
198
- end
199
-
200
- # no_constraints no longer supported in PostGIS 2.0
201
- def _test_create_no_constraints_geometry_using_shortcut
202
- klass_ = create_ar_class
203
- klass_.connection.create_table(:spatial_test) do |t_|
204
- t_.spatial 'geom', :no_constraints => true
205
- end
206
- assert_equal(0, klass_.connection.select_value("SELECT COUNT(*) FROM geometry_columns WHERE f_table_name='spatial_test'").to_i)
207
- col_ = klass_.columns.last
208
- assert_equal(::RGeo::Feature::Geometry, col_.geometric_type)
209
- assert_equal(false, col_.geographic?)
210
- assert_nil(col_.srid)
211
- assert(klass_.cached_attributes.include?('geom'))
212
- klass_.connection.drop_table(:spatial_test)
213
- assert_equal(0, klass_.connection.select_value("SELECT COUNT(*) FROM geometry_columns WHERE f_table_name='spatial_test'").to_i)
214
- end
215
-
216
- def test_create_simple_geography_using_shortcut
217
- klass_ = create_ar_class
218
- klass_.connection.create_table(:spatial_test) do |t_|
219
- t_.geometry 'latlon', :geographic => true
220
- end
221
- col_ = klass_.columns.last
222
- assert_equal(::RGeo::Feature::Geometry, col_.geometric_type)
223
- assert_equal(true, col_.geographic?)
224
- assert_equal(4326, col_.srid)
225
- assert(klass_.cached_attributes.include?('latlon'))
226
- assert_equal(0, klass_.connection.select_value("SELECT COUNT(*) FROM geometry_columns WHERE f_table_name='spatial_test'").to_i)
227
- end
228
-
229
- def test_create_point_geometry_using_shortcut
230
- klass_ = create_ar_class
231
- klass_.connection.create_table(:spatial_test) do |t_|
232
- t_.point 'latlon'
233
- end
234
- assert_equal(::RGeo::Feature::Point, klass_.columns.last.geometric_type)
235
- assert(klass_.cached_attributes.include?('latlon'))
236
- end
237
-
238
- def test_create_geometry_with_options
239
- klass_ = create_ar_class
240
- klass_.connection.create_table(:spatial_test) do |t_|
241
- t_.column 'region', :polygon, :has_m => true, :srid => 3785
242
- end
243
- assert_equal(1, klass_.connection.select_value("SELECT COUNT(*) FROM geometry_columns WHERE f_table_name='spatial_test'").to_i)
244
- col_ = klass_.columns.last
245
- assert_equal(::RGeo::Feature::Polygon, col_.geometric_type)
246
- assert_equal(false, col_.geographic?)
247
- assert_equal(false, col_.has_z?)
248
- assert_equal(true, col_.has_m?)
249
- assert_equal(3785, col_.srid)
250
- assert_equal({:has_m => true, :type => 'polygon', :srid => 3785}, col_.limit)
251
- assert(klass_.cached_attributes.include?('region'))
252
- klass_.connection.drop_table(:spatial_test)
253
- assert_equal(0, klass_.connection.select_value("SELECT COUNT(*) FROM geometry_columns WHERE f_table_name='spatial_test'").to_i)
254
- end
255
-
256
- def test_create_geometry_using_limit
257
- klass_ = create_ar_class
258
- klass_.connection.create_table(:spatial_test) do |t_|
259
- t_.spatial 'region', :limit => {:has_m => true, :srid => 3785, :type => :polygon}
260
- end
261
- assert_equal(1, klass_.connection.select_value("SELECT COUNT(*) FROM geometry_columns WHERE f_table_name='spatial_test'").to_i)
262
- col_ = klass_.columns.last
263
- assert_equal(::RGeo::Feature::Polygon, col_.geometric_type)
264
- assert_equal(false, col_.geographic?)
265
- assert_equal(false, col_.has_z)
266
- assert_equal(true, col_.has_m)
267
- assert_equal(3785, col_.srid)
268
- assert_equal({:has_m => true, :type => 'polygon', :srid => 3785}, col_.limit)
269
- assert(klass_.cached_attributes.include?('region'))
270
- klass_.connection.drop_table(:spatial_test)
271
- assert_equal(0, klass_.connection.select_value("SELECT COUNT(*) FROM geometry_columns WHERE f_table_name='spatial_test'").to_i)
272
- end
273
-
274
- end
275
- end
276
- end
277
- end
278
- end
279
- end
@@ -1,126 +0,0 @@
1
- require 'minitest/autorun'
2
- require 'rgeo/active_record/adapter_test_helper'
3
-
4
-
5
- module RGeo
6
- module ActiveRecord # :nodoc:
7
- module PostGISAdapter # :nodoc:
8
- module Tests # :nodoc:
9
-
10
- class TestSpatialQueries < ::MiniTest::Test # :nodoc:
11
-
12
- DATABASE_CONFIG_PATH = ::File.dirname(__FILE__)+'/database.yml'
13
- OVERRIDE_DATABASE_CONFIG_PATH = ::File.dirname(__FILE__)+'/database_local.yml'
14
- include AdapterTestHelper
15
-
16
- define_test_methods do
17
-
18
-
19
- def populate_ar_class(content_)
20
- klass_ = create_ar_class
21
- case content_
22
- when :mercator_point
23
- klass_.connection.create_table(:spatial_test) do |t_|
24
- t_.column 'latlon', :point, :srid => 3785
25
- end
26
- when :latlon_point_geographic
27
- klass_.connection.create_table(:spatial_test) do |t_|
28
- t_.column 'latlon', :point, :srid => 4326, :geographic => true
29
- end
30
- when :path_linestring
31
- klass_.connection.create_table(:spatial_test) do |t_|
32
- t_.column 'path', :line_string, :srid => 3785
33
- end
34
- end
35
- klass_
36
- end
37
-
38
-
39
- def test_query_point
40
- klass_ = populate_ar_class(:mercator_point)
41
- obj_ = klass_.new
42
- obj_.latlon = @factory.point(1.0, 2.0)
43
- obj_.save!
44
- id_ = obj_.id
45
- obj2_ = klass_.where(:latlon => @factory.multi_point([@factory.point(1.0, 2.0)])).first
46
- refute_nil(obj2_)
47
- assert_equal(id_, obj2_.id)
48
- obj3_ = klass_.where(:latlon => @factory.point(2.0, 2.0)).first
49
- assert_nil(obj3_)
50
- end
51
-
52
-
53
- def test_query_point_wkt
54
- klass_ = populate_ar_class(:mercator_point)
55
- obj_ = klass_.new
56
- obj_.latlon = @factory.point(1.0, 2.0)
57
- obj_.save!
58
- id_ = obj_.id
59
- obj2_ = klass_.where(:latlon => 'SRID=3785;POINT(1 2)').first
60
- refute_nil(obj2_)
61
- assert_equal(id_, obj2_.id)
62
- obj3_ = klass_.where(:latlon => 'SRID=3785;POINT(2 2)').first
63
- assert_nil(obj3_)
64
- end
65
-
66
-
67
- if ::RGeo::ActiveRecord.spatial_expressions_supported?
68
-
69
-
70
- def test_query_st_distance
71
- klass_ = populate_ar_class(:mercator_point)
72
- obj_ = klass_.new
73
- obj_.latlon = @factory.point(1.0, 2.0)
74
- obj_.save!
75
- id_ = obj_.id
76
- obj2_ = klass_.where(klass_.arel_table[:latlon].st_distance('SRID=3785;POINT(2 3)').lt(2)).first
77
- refute_nil(obj2_)
78
- assert_equal(id_, obj2_.id)
79
- obj3_ = klass_.where(klass_.arel_table[:latlon].st_distance('SRID=3785;POINT(2 3)').gt(2)).first
80
- assert_nil(obj3_)
81
- end
82
-
83
-
84
- def test_query_st_distance_from_constant
85
- klass_ = populate_ar_class(:mercator_point)
86
- obj_ = klass_.new
87
- obj_.latlon = @factory.point(1.0, 2.0)
88
- obj_.save!
89
- id_ = obj_.id
90
- obj2_ = klass_.where(::Arel.spatial('SRID=3785;POINT(2 3)').st_distance(klass_.arel_table[:latlon]).lt(2)).first
91
- refute_nil(obj2_)
92
- assert_equal(id_, obj2_.id)
93
- obj3_ = klass_.where(::Arel.spatial('SRID=3785;POINT(2 3)').st_distance(klass_.arel_table[:latlon]).gt(2)).first
94
- assert_nil(obj3_)
95
- end
96
-
97
-
98
- def test_query_st_length
99
- klass_ = populate_ar_class(:path_linestring)
100
- obj_ = klass_.new
101
- obj_.path = @factory.line(@factory.point(1.0, 2.0), @factory.point(3.0, 2.0))
102
- obj_.save!
103
- id_ = obj_.id
104
- obj2_ = klass_.where(klass_.arel_table[:path].st_length.eq(2)).first
105
- refute_nil(obj2_)
106
- assert_equal(id_, obj2_.id)
107
- obj3_ = klass_.where(klass_.arel_table[:path].st_length.gt(3)).first
108
- assert_nil(obj3_)
109
- end
110
-
111
-
112
- else
113
-
114
- puts "WARNING: The current Arel does not support named functions. Spatial expression tests skipped."
115
-
116
- end
117
-
118
-
119
- end
120
-
121
- end
122
-
123
- end
124
- end
125
- end
126
- end
data/test/tc_tasks.rb DELETED
@@ -1,112 +0,0 @@
1
- require 'minitest/autorun'
2
- require 'rgeo/active_record/adapter_test_helper'
3
-
4
- module RGeo
5
- module ActiveRecord # :nodoc:
6
- module PostGISAdapter # :nodoc:
7
- module Tests # :nodoc:
8
- class TestTasks < ::MiniTest::Test # :nodoc:
9
- DATABASE_CONFIG_PATH = ::File.dirname(__FILE__)+'/database.yml'
10
- OVERRIDE_DATABASE_CONFIG_PATH = ::File.dirname(__FILE__)+'/database_local.yml'
11
-
12
- class << self
13
- def before_open_database(args_)
14
- @new_database_config = args_[:config].merge('database' => 'postgis_adapter_test2')
15
- @new_database_config.stringify_keys!
16
- end
17
- attr_reader :new_database_config
18
- end
19
-
20
- include AdapterTestHelper
21
-
22
- def cleanup_tables
23
- ::ActiveRecord::Base.remove_connection
24
- ::ActiveRecord::Base.clear_active_connections!
25
- TestTasks::DEFAULT_AR_CLASS.connection.execute("DROP DATABASE IF EXISTS \"postgis_adapter_test2\"")
26
- end
27
-
28
- define_test_methods do
29
- def test_create_database_from_extension_in_public_schema
30
- ::ActiveRecord::Tasks::DatabaseTasks.create(TestTasks.new_database_config)
31
- ::ActiveRecord::Base.connection.select_values("SELECT * from public.spatial_ref_sys")
32
- end
33
-
34
- def test_empty_sql_dump
35
- filename_ = ::File.expand_path('../tmp/tmp.sql', ::File.dirname(__FILE__))
36
- ::FileUtils.rm_f(filename_)
37
- ::FileUtils.mkdir_p(::File.dirname(filename_))
38
- ::ActiveRecord::Tasks::DatabaseTasks.create(TestTasks.new_database_config.merge('schema_search_path' => 'public,postgis'))
39
- ::ActiveRecord::Tasks::DatabaseTasks.structure_dump(TestTasks.new_database_config, filename_)
40
- sql_ = ::File.read(filename_)
41
- assert(sql_ !~ /CREATE/)
42
- end
43
-
44
- def test_basic_geography_sql_dump
45
- filename_ = ::File.expand_path('../tmp/tmp.sql', ::File.dirname(__FILE__))
46
- ::FileUtils.rm_f(filename_)
47
- ::FileUtils.mkdir_p(::File.dirname(filename_))
48
- ::ActiveRecord::Tasks::DatabaseTasks.create(TestTasks.new_database_config.merge('schema_search_path' => 'public,postgis'))
49
- ::ActiveRecord::Base.connection.create_table(:spatial_test) do |t_|
50
- t_.point "latlon", :geographic => true
51
- end
52
- ::ActiveRecord::Tasks::DatabaseTasks.structure_dump(TestTasks.new_database_config, filename_)
53
- data_ = ::File.read(filename_)
54
- assert(data_.index('latlon geography(Point,4326)'))
55
- end
56
-
57
- def test_empty_schema_dump
58
- filename_ = ::File.expand_path('../tmp/tmp.rb', ::File.dirname(__FILE__))
59
- ::FileUtils.rm_f(filename_)
60
- ::FileUtils.mkdir_p(::File.dirname(filename_))
61
- ::ActiveRecord::Tasks::DatabaseTasks.create(TestTasks.new_database_config.merge('schema_search_path' => 'public,postgis'))
62
- require 'active_record/schema_dumper'
63
- ::File.open(filename_, "w:utf-8") do |file_|
64
- ::ActiveRecord::SchemaDumper.dump(::ActiveRecord::Base.connection, file_)
65
- end
66
- data_ = ::File.read(filename_)
67
- assert(data_.index('ActiveRecord::Schema'))
68
- end
69
-
70
- def test_basic_geometry_schema_dump
71
- filename_ = ::File.expand_path('../tmp/tmp.rb', ::File.dirname(__FILE__))
72
- ::FileUtils.rm_f(filename_)
73
- ::FileUtils.mkdir_p(::File.dirname(filename_))
74
- ::ActiveRecord::Tasks::DatabaseTasks.create(TestTasks.new_database_config.merge('schema_search_path' => 'public,postgis'))
75
- conn_ = ::ActiveRecord::Base.connection
76
- conn_.create_table(:spatial_test) do |t_|
77
- t_.geometry 'object1'
78
- t_.spatial "object2", :limit => {:srid=>conn_.default_srid, :type=>"geometry"}
79
- end
80
- require 'active_record/schema_dumper'
81
- ::File.open(filename_, "w:utf-8") do |file_|
82
- ::ActiveRecord::SchemaDumper.dump(conn_, file_)
83
- end
84
- data_ = ::File.read(filename_)
85
- assert(data_.index("t.spatial \"object1\", limit: {:srid=>#{conn_.default_srid}, :type=>\"geometry\"}"))
86
- assert(data_.index("t.spatial \"object2\", limit: {:srid=>#{conn_.default_srid}, :type=>\"geometry\"}"))
87
- end
88
-
89
- def test_basic_geography_schema_dump
90
- filename_ = ::File.expand_path('../tmp/tmp.rb', ::File.dirname(__FILE__))
91
- ::FileUtils.rm_f(filename_)
92
- ::FileUtils.mkdir_p(::File.dirname(filename_))
93
- ::ActiveRecord::Tasks::DatabaseTasks.create(TestTasks.new_database_config.merge('schema_search_path' => 'public,postgis'))
94
- conn_ = ::ActiveRecord::Base.connection
95
- conn_.create_table(:spatial_test) do |t_|
96
- t_.point "latlon1", :geographic => true
97
- t_.spatial "latlon2", :limit => {:srid=>4326, :type=>"point", :geographic=>true}
98
- end
99
- require 'active_record/schema_dumper'
100
- ::File.open(filename_, "w:utf-8") do |file_|
101
- ::ActiveRecord::SchemaDumper.dump(conn_, file_)
102
- end
103
- data_ = ::File.read(filename_)
104
- assert(data_.index('t.spatial "latlon1", limit: {:srid=>4326, :type=>"point", :geographic=>true}'))
105
- assert(data_.index('t.spatial "latlon2", limit: {:srid=>4326, :type=>"point", :geographic=>true}'))
106
- end
107
- end
108
- end
109
- end
110
- end
111
- end
112
- end