diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2013-03-16 16:01:03 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2013-03-22 16:22:00 -0700 |
commit | f20b2f4e54d27f7f98ca537ac69b1be8f88fc2a5 (patch) | |
tree | 4e32a1164fd0ed376a8f4d85afc7c390574e4594 /activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb | |
parent | f84cf418f607c69d3e71fc6e7a161d224fc7fb86 (diff) | |
download | rails-f20b2f4e54d27f7f98ca537ac69b1be8f88fc2a5.tar.gz rails-f20b2f4e54d27f7f98ca537ac69b1be8f88fc2a5.tar.bz2 rails-f20b2f4e54d27f7f98ca537ac69b1be8f88fc2a5.zip |
push alter table add column sql in to the schema modification visitor
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb')
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb b/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb index 08e8d3ca20..6631a278ab 100644 --- a/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb +++ b/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb @@ -355,9 +355,9 @@ module ActiveRecord # Adds a new column to the named table. # See TableDefinition#column for details of the options you can use. def add_column(table_name, column_name, type, options = {}) - add_column_sql = "ALTER TABLE #{quote_table_name(table_name)} ADD #{quote_column_name(column_name)} #{type_to_sql(type, options[:limit], options[:precision], options[:scale])}" - add_column_options!(add_column_sql, options) - execute(add_column_sql) + at = create_alter_table table_name + at.add_column(column_name, type, options) + execute schema_creation.accept at end # Removes the given columns from the table definition. @@ -829,6 +829,10 @@ module ActiveRecord TableDefinition.new native_database_types, name, temporary, options end + def create_alter_table(name) + AlterTable.new create_table_definition(name, false, {}) + end + def update_table_definition(table_name, base) Table.new(table_name, base) end |