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