aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkennyj <kennyj@gmail.com>2012-05-23 03:37:02 +0900
committerkennyj <kennyj@gmail.com>2012-06-12 19:34:24 +0900
commit34492af710e9309f58eb740029f5076d0f59ea18 (patch)
treefc551a8889b51f06d7268116e6746c721d403753
parent122f6de2e038dbbece4ee59ddcfcf75ae9c49f63 (diff)
downloadrails-34492af710e9309f58eb740029f5076d0f59ea18.tar.gz
rails-34492af710e9309f58eb740029f5076d0f59ea18.tar.bz2
rails-34492af710e9309f58eb740029f5076d0f59ea18.zip
Create hstore extension when building PostgreSQL databases.
-rw-r--r--activerecord/Rakefile10
-rw-r--r--guides/source/contributing_to_ruby_on_rails.textile2
2 files changed, 12 insertions, 0 deletions
diff --git a/activerecord/Rakefile b/activerecord/Rakefile
index 7feb0b75a0..a29d7b0e99 100644
--- a/activerecord/Rakefile
+++ b/activerecord/Rakefile
@@ -114,6 +114,16 @@ namespace :postgresql do
config = ARTest.config['connections']['postgresql']
%x( createdb -E UTF8 #{config['arunit']['database']} )
%x( createdb -E UTF8 #{config['arunit2']['database']} )
+
+ # prepare hstore
+ version = %x( createdb --version ).strip.gsub(/(.*)(\d\.\d\.\d)$/, "\\2")
+ %w(arunit arunit2).each do |db|
+ if version < "9.1.0"
+ puts "Please prepare hstore data type. See http://www.postgresql.org/docs/9.0/static/hstore.html"
+ else
+ %x( psql #{config[db]['database']} -c "CREATE EXTENSION hstore;" )
+ end
+ end
end
desc 'Drop the PostgreSQL test databases'
diff --git a/guides/source/contributing_to_ruby_on_rails.textile b/guides/source/contributing_to_ruby_on_rails.textile
index acf75d41cd..92c607b6f5 100644
--- a/guides/source/contributing_to_ruby_on_rails.textile
+++ b/guides/source/contributing_to_ruby_on_rails.textile
@@ -190,6 +190,8 @@ $ rake postgresql:build_databases
NOTE: Using the rake task to create the test databases ensures they have the correct character set and collation.
+NOTE: You'll see the following warning (or localized warning) during activating HStore extension in PostgreSQL 9.1.x or earlier: "WARNING: => is deprecated as an operator".
+
If you’re using another database, check the files under +activerecord/test/connections+ for default connection information. You can edit these files to provide different credentials on your machine if you must, but obviously you should not push any such changes back to Rails.
You can now run the tests as you did for +sqlite3+. The tasks are respectively