lib/desert/plugin_migrations/extensions/schema_statements.rb in desert-0.1.1 vs lib/desert/plugin_migrations/extensions/schema_statements.rb in desert-0.2.0

- old
+ new

@@ -1,38 +1,6 @@ -module ActiveRecord #:nodoc: - module ConnectionAdapters #:nodoc: - module SchemaStatements #:nodoc: - def initialize_schema_information_with_plugins - initialize_schema_information_without_plugins - - begin - execute "CREATE TABLE #{PluginAWeek::PluginMigrations::Migrator.schema_info_table_name} (plugin_name #{type_to_sql(:string)}, version #{type_to_sql(:integer)})" - rescue ActiveRecord::StatementInvalid - # Schema has been initialized - end - end - alias_method_chain :initialize_schema_information, :plugins - - def dump_schema_information_with_plugins - schema_information = [] - - dump = dump_schema_information_without_plugins - schema_information << dump if dump - - begin - plugins = ActiveRecord::Base.connection.select_all("SELECT * FROM #{PluginAWeek::PluginMigrations::Migrator.schema_info_table_name}") - plugins.each do |plugin| - if (version = plugin['version'].to_i) > 0 - plugin_name = ActiveRecord::Base.quote_value(plugin['plugin_name']) - schema_information << "INSERT INTO #{PluginAWeek::PluginMigrations::Migrator.schema_info_table_name} (plugin_name, version) VALUES (#{plugin_name}, #{version})" - end - end - rescue ActiveRecord::StatementInvalid - # No Schema Info - end - - schema_information.join(";\n") - end - alias_method_chain :dump_schema_information, :plugins - end - end +dir = File.dirname(__FILE__) +if ActiveRecord::ConnectionAdapters::SchemaStatements.instance_methods.include?('initialize_schema_information') + require "#{dir}/1.0/schema_statements" +else + require "#{dir}/2.1/schema_statements" end \ No newline at end of file