Ticket #11573: postgresql_adapter.rb.diff
| File postgresql_adapter.rb.diff, 1.7 kB (added by skyeagle, 3 months ago) |
|---|
-
postgresql_adapter.rb
old new 682 682 # Adds a new column to the named table. 683 683 # See TableDefinition#column for details of the options you can use. 684 684 def add_column(table_name, column_name, type, options = {}) 685 default = options[:default] 686 notnull = options[:null] == false 685 add_column_sql = "ALTER TABLE #{quote_table_name(table_name)} ADD COLUMN #{quote_column_name(column_name)} #{type_to_sql(type, options[:limit], options[:precision], options[:scale])}" 686 add_column_options!(add_column_sql, options) 687 687 688 688 # Add the column. 689 execute("ALTER TABLE #{quote_table_name(table_name)} ADD COLUMN #{quote_column_name(column_name)} #{type_to_sql(type, options[:limit], options[:precision], options[:scale])}") 690 691 change_column_default(table_name, column_name, default) if options_include_default?(options) 692 change_column_null(table_name, column_name, false, default) if notnull 689 execute(add_column_sql) 693 690 end 694 691 695 692 # Changes the column of a table. … … 717 714 change_column_null(table_name, column_name, options[:null], options[:default]) if options.key?(:null) 718 715 end 719 716 717 def add_column_options!(sql, options) #:nodoc: 718 sql << " DEFAULT #{quote(options[:default])}" if options_include_default?(options) 719 sql << " NOT NULL" if options[:null] == false 720 end 721 720 722 # Changes the default value of a table column. 721 723 def change_column_default(table_name, column_name, default) 722 724 execute "ALTER TABLE #{quote_table_name(table_name)} ALTER COLUMN #{quote_column_name(column_name)} SET DEFAULT #{quote(default)}"