activerecord-postgis-adapter 0.5.1 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Documentation.rdoc +322 -0
- data/History.rdoc +5 -0
- data/README.rdoc +42 -290
- data/Version +1 -1
- data/lib/active_record/connection_adapters/postgis_adapter.rb +35 -21
- data/lib/active_record/connection_adapters/postgis_adapter/rails3/create_connection.rb +96 -0
- data/lib/active_record/connection_adapters/postgis_adapter/{databases.rake → rails3/databases.rake} +7 -1
- data/lib/active_record/connection_adapters/postgis_adapter/{main_adapter.rb → rails3/main_adapter.rb} +9 -9
- data/lib/active_record/connection_adapters/postgis_adapter/{spatial_column.rb → rails3/spatial_column.rb} +4 -8
- data/lib/active_record/connection_adapters/postgis_adapter/{spatial_table_definition.rb → rails3/spatial_table_definition.rb} +5 -9
- data/lib/active_record/connection_adapters/postgis_adapter/rails4/create_connection.rb +88 -0
- data/lib/active_record/connection_adapters/postgis_adapter/rails4/databases.rake +52 -0
- data/lib/active_record/connection_adapters/postgis_adapter/rails4/main_adapter.rb +310 -0
- data/lib/active_record/connection_adapters/postgis_adapter/rails4/postgis_database_tasks.rb +232 -0
- data/lib/active_record/connection_adapters/postgis_adapter/rails4/spatial_column.rb +220 -0
- data/lib/active_record/connection_adapters/postgis_adapter/rails4/spatial_table_definition.rb +140 -0
- data/lib/active_record/connection_adapters/postgis_adapter/railtie.rb +3 -28
- data/lib/active_record/connection_adapters/postgis_adapter/{arel_tosql.rb → shared/arel_tosql.rb} +3 -7
- data/lib/active_record/connection_adapters/postgis_adapter/shared/jdbc_compat.rb +133 -0
- data/lib/active_record/connection_adapters/postgis_adapter/shared/railtie.rb +66 -0
- data/lib/active_record/connection_adapters/postgis_adapter/shared/setup.rb +57 -0
- data/lib/active_record/connection_adapters/postgis_adapter/{version.rb → shared/version.rb} +1 -1
- data/lib/activerecord-postgis-adapter.rb +37 -0
- data/lib/rgeo/active_record/postgis_adapter/railtie.rb +1 -1
- data/test/tc_basic.rb +43 -16
- data/test/tc_ddl.rb +2 -2
- data/test/tc_nested_class.rb +2 -2
- data/test/tc_spatial_queries.rb +14 -9
- data/test/tc_tasks.rb +110 -0
- metadata +27 -14
- data/lib/active_record/connection_adapters/postgis_adapter/jdbc_connection.rb +0 -78
- data/lib/active_record/connection_adapters/postgis_adapter/pg_connection.rb +0 -27
data/Version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.6.0
|
@@ -34,25 +34,16 @@
|
|
34
34
|
;
|
35
35
|
|
36
36
|
|
37
|
-
require 'rgeo/active_record'
|
38
|
-
require 'active_record/connection_adapters/postgresql_adapter'
|
39
|
-
|
40
|
-
if defined?(::RUBY_ENGINE) && ::RUBY_ENGINE == 'jruby'
|
41
|
-
require 'active_record/connection_adapters/postgis_adapter/jdbc_connection'
|
42
|
-
else
|
43
|
-
require 'active_record/connection_adapters/postgis_adapter/pg_connection'
|
44
|
-
end
|
45
|
-
|
46
|
-
|
47
37
|
# The activerecord-postgis-adapter gem installs the *postgis*
|
48
38
|
# connection adapter into ActiveRecord.
|
49
39
|
|
50
40
|
module ActiveRecord
|
51
41
|
|
52
42
|
# All ActiveRecord adapters go in this namespace.
|
43
|
+
# This adapter is installed into the PostGISAdapter submodule.
|
53
44
|
module ConnectionAdapters
|
54
45
|
|
55
|
-
# The PostGIS Adapter
|
46
|
+
# The PostGIS Adapter lives in this namespace.
|
56
47
|
module PostGISAdapter
|
57
48
|
|
58
49
|
# The name returned by the adapter_name method of this adapter.
|
@@ -66,15 +57,38 @@ module ActiveRecord
|
|
66
57
|
end
|
67
58
|
|
68
59
|
|
69
|
-
|
70
|
-
require 'active_record/connection_adapters/postgis_adapter/main_adapter.rb'
|
71
|
-
require 'active_record/connection_adapters/postgis_adapter/spatial_table_definition.rb'
|
72
|
-
require 'active_record/connection_adapters/postgis_adapter/spatial_column.rb'
|
73
|
-
require 'active_record/connection_adapters/postgis_adapter/arel_tosql.rb'
|
60
|
+
# :stopdoc:
|
74
61
|
|
62
|
+
require 'active_record'
|
63
|
+
require 'active_record/connection_adapters/postgresql_adapter'
|
64
|
+
require 'rgeo/active_record'
|
65
|
+
|
66
|
+
case ::ActiveRecord::VERSION::MAJOR
|
67
|
+
when 3
|
68
|
+
require 'active_record/connection_adapters/postgis_adapter/shared/version.rb'
|
69
|
+
require 'active_record/connection_adapters/postgis_adapter/rails3/main_adapter.rb'
|
70
|
+
require 'active_record/connection_adapters/postgis_adapter/rails3/spatial_table_definition.rb'
|
71
|
+
require 'active_record/connection_adapters/postgis_adapter/rails3/spatial_column.rb'
|
72
|
+
require 'active_record/connection_adapters/postgis_adapter/shared/arel_tosql.rb'
|
73
|
+
require 'active_record/connection_adapters/postgis_adapter/shared/setup.rb'
|
74
|
+
require 'active_record/connection_adapters/postgis_adapter/rails3/create_connection'
|
75
|
+
when 4
|
76
|
+
require 'active_record/connection_adapters/postgis_adapter/shared/version.rb'
|
77
|
+
require 'active_record/connection_adapters/postgis_adapter/rails4/main_adapter.rb'
|
78
|
+
require 'active_record/connection_adapters/postgis_adapter/rails4/spatial_table_definition.rb'
|
79
|
+
require 'active_record/connection_adapters/postgis_adapter/rails4/spatial_column.rb'
|
80
|
+
require 'active_record/connection_adapters/postgis_adapter/shared/arel_tosql.rb'
|
81
|
+
require 'active_record/connection_adapters/postgis_adapter/shared/setup.rb'
|
82
|
+
require 'active_record/connection_adapters/postgis_adapter/rails4/create_connection'
|
83
|
+
require 'active_record/connection_adapters/postgis_adapter/rails4/postgis_database_tasks.rb'
|
84
|
+
else
|
85
|
+
raise "Unsupported ActiveRecord version #{::ActiveRecord::VERSION::STRING}"
|
86
|
+
end
|
87
|
+
|
88
|
+
::ActiveRecord::ConnectionAdapters::PostGISAdapter.initial_setup
|
89
|
+
|
90
|
+
if defined?(::Rails::Railtie)
|
91
|
+
load 'active_record/connection_adapters/postgis_adapter/shared/railtie'
|
92
|
+
end
|
75
93
|
|
76
|
-
|
77
|
-
ignore_tables_ << 'geometry_columns' unless ignore_tables_.include?('geometry_columns')
|
78
|
-
ignore_tables_ << 'spatial_ref_sys' unless ignore_tables_.include?('spatial_ref_sys')
|
79
|
-
ignore_tables_ << 'layer' unless ignore_tables_.include?('layer')
|
80
|
-
ignore_tables_ << 'topology' unless ignore_tables_.include?('topology')
|
94
|
+
# :startdoc:
|
@@ -0,0 +1,96 @@
|
|
1
|
+
# -----------------------------------------------------------------------------
|
2
|
+
#
|
3
|
+
# PostGIS adapter for ActiveRecord
|
4
|
+
#
|
5
|
+
# -----------------------------------------------------------------------------
|
6
|
+
# Copyright 2010-2012 Daniel Azuma
|
7
|
+
#
|
8
|
+
# All rights reserved.
|
9
|
+
#
|
10
|
+
# Redistribution and use in source and binary forms, with or without
|
11
|
+
# modification, are permitted provided that the following conditions are met:
|
12
|
+
#
|
13
|
+
# * Redistributions of source code must retain the above copyright notice,
|
14
|
+
# this list of conditions and the following disclaimer.
|
15
|
+
# * Redistributions in binary form must reproduce the above copyright notice,
|
16
|
+
# this list of conditions and the following disclaimer in the documentation
|
17
|
+
# and/or other materials provided with the distribution.
|
18
|
+
# * Neither the name of the copyright holder, nor the names of any other
|
19
|
+
# contributors to this software, may be used to endorse or promote products
|
20
|
+
# derived from this software without specific prior written permission.
|
21
|
+
#
|
22
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
23
|
+
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
24
|
+
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
25
|
+
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
26
|
+
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
27
|
+
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
28
|
+
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
29
|
+
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
30
|
+
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
31
|
+
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
32
|
+
# POSSIBILITY OF SUCH DAMAGE.
|
33
|
+
# -----------------------------------------------------------------------------
|
34
|
+
;
|
35
|
+
|
36
|
+
|
37
|
+
module ActiveRecord # :nodoc:
|
38
|
+
|
39
|
+
class Base # :nodoc:
|
40
|
+
|
41
|
+
class << self
|
42
|
+
|
43
|
+
|
44
|
+
if defined?(::RUBY_ENGINE) && ::RUBY_ENGINE == 'jruby'
|
45
|
+
|
46
|
+
|
47
|
+
require 'active_record/connection_adapters/jdbcpostgresql_adapter'
|
48
|
+
require 'active_record/connection_adapters/postgis_adapter/shared/jdbc_compat'
|
49
|
+
|
50
|
+
|
51
|
+
def postgis_connection(config_)
|
52
|
+
::ActiveRecord::ConnectionAdapters::PostGISAdapter.create_jdbc_connection(self, config_)
|
53
|
+
end
|
54
|
+
|
55
|
+
alias_method :jdbcpostgis_connection, :postgis_connection
|
56
|
+
|
57
|
+
|
58
|
+
else
|
59
|
+
|
60
|
+
|
61
|
+
require 'pg'
|
62
|
+
|
63
|
+
|
64
|
+
# ActiveRecord looks for the postgis_connection factory method in
|
65
|
+
# this class.
|
66
|
+
#
|
67
|
+
# Based on the default <tt>postgresql_connection</tt> definition from
|
68
|
+
# ActiveRecord.
|
69
|
+
|
70
|
+
def postgis_connection(config_)
|
71
|
+
config_ = config_.symbolize_keys
|
72
|
+
host_ = config_[:host]
|
73
|
+
port_ = config_[:port] || 5432
|
74
|
+
username_ = config_[:username].to_s if config_[:username]
|
75
|
+
password_ = config_[:password].to_s if config_[:password]
|
76
|
+
|
77
|
+
if config_.key?(:database)
|
78
|
+
database_ = config_[:database]
|
79
|
+
else
|
80
|
+
raise ::ArgumentError, "No database specified. Missing argument: database."
|
81
|
+
end
|
82
|
+
|
83
|
+
# The postgres drivers don't allow the creation of an unconnected PGconn object,
|
84
|
+
# so just pass a nil connection object for the time being.
|
85
|
+
::ActiveRecord::ConnectionAdapters::PostGISAdapter::MainAdapter.new(nil, logger, [host_, port_, nil, nil, database_, username_, password_], config_)
|
86
|
+
end
|
87
|
+
|
88
|
+
|
89
|
+
end
|
90
|
+
|
91
|
+
|
92
|
+
end
|
93
|
+
|
94
|
+
end
|
95
|
+
|
96
|
+
end
|
data/lib/active_record/connection_adapters/postgis_adapter/{databases.rake → rails3/databases.rake}
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
# -----------------------------------------------------------------------------
|
2
2
|
#
|
3
|
-
#
|
3
|
+
# PostGIS adapter for ActiveRecord
|
4
4
|
#
|
5
5
|
# -----------------------------------------------------------------------------
|
6
6
|
# Copyright 2010-2012 Daniel Azuma
|
@@ -34,6 +34,9 @@
|
|
34
34
|
;
|
35
35
|
|
36
36
|
|
37
|
+
# :stopdoc:
|
38
|
+
|
39
|
+
|
37
40
|
require 'rgeo/active_record/task_hacker'
|
38
41
|
|
39
42
|
|
@@ -214,3 +217,6 @@ end
|
|
214
217
|
drop_database(config_)
|
215
218
|
create_database(config_)
|
216
219
|
end
|
220
|
+
|
221
|
+
|
222
|
+
# :startdoc:
|
@@ -34,16 +34,14 @@
|
|
34
34
|
;
|
35
35
|
|
36
36
|
|
37
|
-
# :
|
37
|
+
module ActiveRecord # :nodoc:
|
38
38
|
|
39
|
-
module
|
39
|
+
module ConnectionAdapters # :nodoc:
|
40
40
|
|
41
|
-
|
41
|
+
module PostGISAdapter # :nodoc:
|
42
42
|
|
43
|
-
module PostGISAdapter
|
44
43
|
|
45
|
-
|
46
|
-
class MainAdapter < PostgreSQLAdapter
|
44
|
+
class MainAdapter < PostgreSQLAdapter # :nodoc:
|
47
45
|
|
48
46
|
|
49
47
|
SPATIAL_COLUMN_CONSTRUCTORS = ::RGeo::ActiveRecord::DEFAULT_SPATIAL_COLUMN_CONSTRUCTORS.merge(
|
@@ -179,7 +177,11 @@ module ActiveRecord
|
|
179
177
|
|
180
178
|
spatial_ = indtype_ == 'gist' && columns_.size == 1 && (columns_.values.first[1] == 'geometry' || columns_.values.first[1] == 'geography')
|
181
179
|
column_names_ = columns_.values_at(*indkey_).compact.map{ |a_| a_[0] }
|
182
|
-
column_names_.empty?
|
180
|
+
if column_names_.empty?
|
181
|
+
nil
|
182
|
+
else
|
183
|
+
::RGeo::ActiveRecord::SpatialIndexDefinition.new(table_name_, index_name_, unique_, column_names_, nil, nil, nil, spatial_ ? true : false)
|
184
|
+
end
|
183
185
|
end.compact
|
184
186
|
end
|
185
187
|
|
@@ -333,5 +335,3 @@ module ActiveRecord
|
|
333
335
|
end
|
334
336
|
|
335
337
|
end
|
336
|
-
|
337
|
-
# :startdoc:
|
@@ -34,16 +34,14 @@
|
|
34
34
|
;
|
35
35
|
|
36
36
|
|
37
|
-
# :
|
37
|
+
module ActiveRecord # :nodoc:
|
38
38
|
|
39
|
-
module
|
39
|
+
module ConnectionAdapters # :nodoc:
|
40
40
|
|
41
|
-
|
41
|
+
module PostGISAdapter # :nodoc:
|
42
42
|
|
43
|
-
module PostGISAdapter
|
44
43
|
|
45
|
-
|
46
|
-
class SpatialColumn < ConnectionAdapters::PostgreSQLColumn
|
44
|
+
class SpatialColumn < ConnectionAdapters::PostgreSQLColumn # :nodoc:
|
47
45
|
|
48
46
|
|
49
47
|
FACTORY_SETTINGS_CACHE = {}
|
@@ -195,5 +193,3 @@ module ActiveRecord
|
|
195
193
|
end
|
196
194
|
|
197
195
|
end
|
198
|
-
|
199
|
-
# :startdoc:
|
@@ -34,13 +34,11 @@
|
|
34
34
|
;
|
35
35
|
|
36
36
|
|
37
|
-
# :
|
37
|
+
module ActiveRecord # :nodoc:
|
38
38
|
|
39
|
-
module
|
39
|
+
module ConnectionAdapters # :nodoc:
|
40
40
|
|
41
|
-
|
42
|
-
|
43
|
-
module PostGISAdapter
|
41
|
+
module PostGISAdapter # :nodoc:
|
44
42
|
|
45
43
|
TableDefinitionSuperclass = if defined?(ConnectionAdapters::PostgreSQLAdapter::TableDefinition)
|
46
44
|
ConnectionAdapters::PostgreSQLAdapter::TableDefinition
|
@@ -48,7 +46,7 @@ module ActiveRecord
|
|
48
46
|
ConnectionAdapters::TableDefinition
|
49
47
|
end
|
50
48
|
|
51
|
-
class SpatialTableDefinition < TableDefinitionSuperclass
|
49
|
+
class SpatialTableDefinition < TableDefinitionSuperclass # :nodoc:
|
52
50
|
|
53
51
|
def column(name_, type_, options_={})
|
54
52
|
if (info_ = @base.spatial_column_constructor(type_.to_sym))
|
@@ -88,7 +86,7 @@ module ActiveRecord
|
|
88
86
|
end
|
89
87
|
|
90
88
|
|
91
|
-
module SpatialColumnDefinitionMethods
|
89
|
+
module SpatialColumnDefinitionMethods # :nodoc:
|
92
90
|
|
93
91
|
def spatial_type
|
94
92
|
@spatial_type
|
@@ -145,5 +143,3 @@ module ActiveRecord
|
|
145
143
|
end
|
146
144
|
|
147
145
|
end
|
148
|
-
|
149
|
-
# :startdoc:
|
@@ -0,0 +1,88 @@
|
|
1
|
+
# -----------------------------------------------------------------------------
|
2
|
+
#
|
3
|
+
# PostGIS adapter for ActiveRecord
|
4
|
+
#
|
5
|
+
# -----------------------------------------------------------------------------
|
6
|
+
# Copyright 2010-2012 Daniel Azuma
|
7
|
+
#
|
8
|
+
# All rights reserved.
|
9
|
+
#
|
10
|
+
# Redistribution and use in source and binary forms, with or without
|
11
|
+
# modification, are permitted provided that the following conditions are met:
|
12
|
+
#
|
13
|
+
# * Redistributions of source code must retain the above copyright notice,
|
14
|
+
# this list of conditions and the following disclaimer.
|
15
|
+
# * Redistributions in binary form must reproduce the above copyright notice,
|
16
|
+
# this list of conditions and the following disclaimer in the documentation
|
17
|
+
# and/or other materials provided with the distribution.
|
18
|
+
# * Neither the name of the copyright holder, nor the names of any other
|
19
|
+
# contributors to this software, may be used to endorse or promote products
|
20
|
+
# derived from this software without specific prior written permission.
|
21
|
+
#
|
22
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
23
|
+
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
24
|
+
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
25
|
+
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
26
|
+
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
27
|
+
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
28
|
+
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
29
|
+
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
30
|
+
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
31
|
+
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
32
|
+
# POSSIBILITY OF SUCH DAMAGE.
|
33
|
+
# -----------------------------------------------------------------------------
|
34
|
+
;
|
35
|
+
|
36
|
+
|
37
|
+
module ActiveRecord # :nodoc:
|
38
|
+
|
39
|
+
module ConnectionHandling # :nodoc:
|
40
|
+
|
41
|
+
|
42
|
+
if defined?(::RUBY_ENGINE) && ::RUBY_ENGINE == 'jruby'
|
43
|
+
|
44
|
+
require 'active_record/connection_adapters/jdbcpostgresql_adapter'
|
45
|
+
require 'active_record/connection_adapters/postgis_adapter/shared/jdbc_compat'
|
46
|
+
|
47
|
+
|
48
|
+
def postgis_connection(config_)
|
49
|
+
::ActiveRecord::ConnectionAdapters::PostGISAdapter.create_jdbc_connection(self, config_)
|
50
|
+
end
|
51
|
+
|
52
|
+
alias_method :jdbcpostgis_connection, :postgis_connection
|
53
|
+
|
54
|
+
|
55
|
+
else
|
56
|
+
|
57
|
+
|
58
|
+
require 'pg'
|
59
|
+
|
60
|
+
|
61
|
+
# Based on the default <tt>postgresql_connection</tt> definition from
|
62
|
+
# ActiveRecord.
|
63
|
+
|
64
|
+
def postgis_connection(config_)
|
65
|
+
# FULL REPLACEMENT because we need to create a different class.
|
66
|
+
conn_params_ = config_.symbolize_keys
|
67
|
+
|
68
|
+
conn_params_.delete_if { |_, v_| v_.nil? }
|
69
|
+
|
70
|
+
# Map ActiveRecords param names to PGs.
|
71
|
+
conn_params_[:user] = conn_params_.delete(:username) if conn_params_[:username]
|
72
|
+
conn_params_[:dbname] = conn_params_.delete(:database) if conn_params_[:database]
|
73
|
+
|
74
|
+
# Forward only valid config params to PGconn.connect.
|
75
|
+
conn_params_.keep_if { |k_, _| VALID_CONN_PARAMS.include?(k_) }
|
76
|
+
|
77
|
+
# The postgres drivers don't allow the creation of an unconnected PGconn object,
|
78
|
+
# so just pass a nil connection object for the time being.
|
79
|
+
::ActiveRecord::ConnectionAdapters::PostGISAdapter::MainAdapter.new(nil, logger, conn_params_, config_)
|
80
|
+
end
|
81
|
+
|
82
|
+
|
83
|
+
end
|
84
|
+
|
85
|
+
|
86
|
+
end
|
87
|
+
|
88
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
# -----------------------------------------------------------------------------
|
2
|
+
#
|
3
|
+
# PostGIS adapter for ActiveRecord
|
4
|
+
#
|
5
|
+
# -----------------------------------------------------------------------------
|
6
|
+
# Copyright 2010-2012 Daniel Azuma
|
7
|
+
#
|
8
|
+
# All rights reserved.
|
9
|
+
#
|
10
|
+
# Redistribution and use in source and binary forms, with or without
|
11
|
+
# modification, are permitted provided that the following conditions are met:
|
12
|
+
#
|
13
|
+
# * Redistributions of source code must retain the above copyright notice,
|
14
|
+
# this list of conditions and the following disclaimer.
|
15
|
+
# * Redistributions in binary form must reproduce the above copyright notice,
|
16
|
+
# this list of conditions and the following disclaimer in the documentation
|
17
|
+
# and/or other materials provided with the distribution.
|
18
|
+
# * Neither the name of the copyright holder, nor the names of any other
|
19
|
+
# contributors to this software, may be used to endorse or promote products
|
20
|
+
# derived from this software without specific prior written permission.
|
21
|
+
#
|
22
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
23
|
+
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
24
|
+
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
25
|
+
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
26
|
+
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
27
|
+
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
28
|
+
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
29
|
+
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
30
|
+
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
31
|
+
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
32
|
+
# POSSIBILITY OF SUCH DAMAGE.
|
33
|
+
# -----------------------------------------------------------------------------
|
34
|
+
;
|
35
|
+
|
36
|
+
|
37
|
+
# :stopdoc:
|
38
|
+
|
39
|
+
|
40
|
+
namespace :db do
|
41
|
+
namespace :gis do
|
42
|
+
desc "Setup PostGIS data in the database"
|
43
|
+
task :setup => [:load_config, :rails_env] do
|
44
|
+
configs_for_environment.each do |config_|
|
45
|
+
::ActiveRecord::ConnectionAdapters::PostGISAdapter::PostGISDatabaseTasks.new(config_).setup_gis
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
|
52
|
+
# :startdoc:
|