From 75e6eb59ecd21735c87eb53eb68d510760580b3f Mon Sep 17 00:00:00 2001 From: Andrey Kumanyaev Date: Wed, 10 Oct 2012 03:41:14 +0400 Subject: [PATCH] patch rails to ignore text limit --- config/initializers/postgresql_limit_fix.rb | 26 +++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 config/initializers/postgresql_limit_fix.rb diff --git a/config/initializers/postgresql_limit_fix.rb b/config/initializers/postgresql_limit_fix.rb new file mode 100644 index 00000000000..0cb3aaf4d24 --- /dev/null +++ b/config/initializers/postgresql_limit_fix.rb @@ -0,0 +1,26 @@ +if defined?(ActiveRecord::ConnectionAdapters::PostgreSQLAdapter) + class ActiveRecord::ConnectionAdapters::PostgreSQLAdapter + class TableDefinition + def text(*args) + options = args.extract_options! + options.delete(:limit) + column_names = args + type = :text + column_names.each { |name| column(name, type, options) } + end + end + + def add_column_with_limit_filter(table_name, column_name, type, options = {}) + options.delete(:limit) if type == :text + add_column_without_limit_filter(table_name, column_name, type, options) + end + + def change_column_with_limit_filter(table_name, column_name, type, options = {}) + options.delete(:limit) if type == :text + change_column_without_limit_filter(table_name, column_name, type, options) + end + + alias_method_chain :add_column, :limit_filter + alias_method_chain :change_column, :limit_filter + end +end -- GitLab