summaryrefslogtreecommitdiff
path: root/config/initializers/postgresql_adapter_patch.rb
diff options
context:
space:
mode:
authorerdgeist <erdgeist@erdgeist.org>2026-06-24 04:13:16 +0200
committererdgeist <erdgeist@erdgeist.org>2026-06-24 04:13:16 +0200
commite0a7e0fec760ba12c8067a37e10c96f1f05876e2 (patch)
treed0cf745592a46aee4d4913911fd34c7c24515220 /config/initializers/postgresql_adapter_patch.rb
parent6424e10be5a89f175a74c71c55660412a169b8b8 (diff)
Stage 1 complete: Rails 2.3.5 to Rails 3.2.22.5 upgrade
- Converted plugins to gems (Gemfile) - Updated config structure (application.rb, boot.rb, environment.rb) - Converted routes to Rails 3 DSL - Converted named_scope to scope throughout models - Converted find(:all, :conditions) to where() chains - Fixed has_many :order to use ordering scope - Updated session store and secret token configuration - Fixed exception_notification middleware configuration - Patched Ruby 2.4 / Rails 3.2 incompatibilities: - Integer/Float duration arithmetic (ActiveSupport) - Arel visit_Integer for PostgreSQL adapter - create_database String/Integer coercion - ActionController consider_all_requests_local - Migrated taggings schema for acts-as-taggable-on - Replaced dynamic_form gem with custom form_error_messages helper - Fixed Rails 3 block helper syntax (form_for, form_tag, fields_for) - Fixed admin layout yield - Updated test suite for Rails 3 APIs
Diffstat (limited to 'config/initializers/postgresql_adapter_patch.rb')
-rw-r--r--config/initializers/postgresql_adapter_patch.rb30
1 files changed, 30 insertions, 0 deletions
diff --git a/config/initializers/postgresql_adapter_patch.rb b/config/initializers/postgresql_adapter_patch.rb
new file mode 100644
index 0000000..57df6a2
--- /dev/null
+++ b/config/initializers/postgresql_adapter_patch.rb
@@ -0,0 +1,30 @@
1require 'active_record/connection_adapters/postgresql_adapter'
2
3module ActiveRecord
4 module ConnectionAdapters
5 class PostgreSQLAdapter
6 def create_database(name, options = {})
7 options = options.reverse_merge(:encoding => "utf8")
8
9 option_string = options.symbolize_keys.inject("") do |memo, (key, value)|
10 memo + case key
11 when :owner
12 " OWNER = \"#{value}\""
13 when :template
14 " TEMPLATE = \"#{value}\""
15 when :encoding
16 " ENCODING = '#{value}'"
17 when :tablespace
18 " TABLESPACE = \"#{value}\""
19 when :connection_limit
20 " CONNECTION LIMIT = #{value}"
21 else
22 ""
23 end
24 end
25
26 execute "CREATE DATABASE #{quote_table_name(name)}#{option_string}"
27 end
28 end
29 end
30end