Only use the db functions for migrations if USE_DB_FUNCTIONS is set

in the environment. This could possibly be revisited when we move to
rails 2.3 by using a nested transaction to try the function without
causing the surrounding transaction to abort.
This commit is contained in:
Tom Hughes 2009-05-27 15:25:28 +00:00
parent 044febd3aa
commit 9bc483ad98
2 changed files with 4 additions and 4 deletions

View file

@ -2,7 +2,7 @@ require 'lib/migrate'
class TileNodes < ActiveRecord::Migration
def self.upgrade_table(from_table, to_table, model)
begin
if ENV["USE_DB_FUNCTIONS"]
execute <<-END_SQL
INSERT INTO #{to_table} (id, latitude, longitude, user_id, visible, tags, timestamp, tile)
SELECT id, ROUND(latitude * 10000000), ROUND(longitude * 10000000),
@ -11,7 +11,7 @@ class TileNodes < ActiveRecord::Migration
CAST(ROUND(longitude * 10000000) AS INTEGER))
FROM #{from_table}
END_SQL
rescue ActiveRecord::StatementInvalid => ex
else
execute <<-END_SQL
INSERT INTO #{to_table} (id, latitude, longitude, user_id, visible, tags, timestamp, tile)
SELECT id, ROUND(latitude * 10000000), ROUND(longitude * 10000000),