mysql quotation wonky

Why would, in an upgrade from 3.0.1 to 3.0.3, a rake db:migrate run
this:

SELECT "schema_migrations"."version" FROM "schema_migrations"

vs this ?

SELECT `schema_migrations`.`version` FROM `schema_migrations`

__ rake db:migrate output __
rake aborted!
Mysql::Error: You have an error in your SQL syntax; check the manual
that corresponds to your MySQL server version for the right syntax to
use near '."version" FROM "schema_migrations"' at line 1: SELECT
"schema_migrations"."version" FROM "schema_migrations"

I have this issue in Rails 3.0.4 as well

Mysql::Error: You have an error in your SQL syntax; check the manual
that corresponds to your MySQL server version for the right syntax to
use near '."version" FROM "schema_migrations"' at line 1: SELECT
"schema_migrations"."version" FROM "schema_migrations"

Anyone?

Mine are running ok in 3.0.3 (and I will try 3.0.4 tomorrow). What environment are you running on (os, ruby, gems, etc)?

this is happening in production only it would seem. Running 1.9.2 with
an isolated gem env via rvm

Fedora release 8 (Werewolf)

Gems included by the bundle:
  * ZenTest (4.4.0)
  * abstract (1.0.0)
  * actionmailer (3.0.4)
  * actionpack (3.0.4)
  * activemerchant (1.5.1)
  * activemodel (3.0.4)
  * activerecord (3.0.4)
  * activeresource (3.0.4)
  * activesupport (3.0.4)
  * ar_mailer_rails3 (2.1.10)
  * arel (2.0.8)
  * authlogic (2.1.6)
  * awesome_print (0.3.0)
  * aws (2.3.20)
  * aws-s3 (0.6.2)
  * bind (0.2.8)
  * bitly (0.5.3)
  * builder (2.1.2)
  * bundler (1.0.10)
  * commander (4.0.3)
  * configuration (1.1.0)
  * countries (0.3.0)
  * crack (0.1.8)
  * currencies (0.2.1)
  * daemons (1.1.0)
  * delayed_job (2.1.0.pre2)
  * diff-lcs (1.1.2)
  * erubis (2.6.6)
  * factory_girl (1.3.2)
  * factory_girl_rails (1.0)
  * faker (0.3.1)
  * ffi (0.6.3)
  * fuubar (0.0.2)
  * haml (3.0.18)
  * haml-rails (0.2)
  * highline (1.6.1)
  * hoptoad_notifier (2.4.2)
  * http_connection (1.3.0)
  * httparty (0.6.1)
  * i18n (0.5.0)
  * infinity (0.0.8)
  * json_pure (1.4.6)
  * jspec (4.3.3)
  * launchy (0.3.7)
  * mail (2.2.15)
  * mime-types (1.16)
  * mocha (0.9.11)
  * mustache (0.11.2)
  * mysql (2.8.1)
  * newrelic_rpm (2.13.4)
  * nokogiri (1.4.3.1)
  * polyglot (0.3.1)
  * rack (1.2.1)
  * rack-mount (0.6.13)
  * rack-test (0.5.7)
  * rails (3.0.4)
  * rails3-generators (0.13.0)
  * railties (3.0.4)
  * rake (0.8.7)
  * recurly (0.1.4)
  * rspec (2.0.1)
  * rspec-core (2.0.1)
  * rspec-expectations (2.0.1)
  * rspec-instafail (0.1.4)
  * rspec-mocks (2.0.1)
  * rspec-rails (2.0.1)
  * rstats (0.0.4)
  * ruby-progressbar (0.0.9)
  * sentient_user (0.3.0)
  * simplecov (0.3.5)
  * simplecov-html (0.3.8)
  * sinatra (1.0)
  * snogmetrics (0.1.6)
  * sqlite3 (0.1.1)
  * thor (0.14.6)
  * treetop (1.4.9)
  * tzinfo (0.3.24)
  * unicorn (1.1.2)
  * uuidtools (2.1.1)
  * webrat (0.7.1)
  * will_paginate (3.0.pre2)

then I run a rake job:

  namespace :test do
    desc 'reset test db'
    task :reset => :environment do
      rails_env = Rails.env
      Rails.env = 'test'
      if ActiveRecord::Migrator.new(:up, 'db/
migrate').pending_migrations.size > 0 or ENV['FORCE']
        puts "Resetting test database"
        Rake::Task["db:migrate:reset"].invoke
      end
      Rails.env = rails_env
    end
  end

and it's this rake job which fails.

running just RACK_ENV=test db:migrate:reset on it's own is successful
however.

so it would seem it's just this task on production which fails.

So I solved it by doing a RACK_ENV=test before running my task. I
suspect a bug since this probably shouldn't have been required and
luckily all my related tasks here were to do with test, but they may
not have been.

Anyway, FYI

So I solved it by doing a RACK_ENV=test before running my task. I
suspect a bug since this probably shouldn't have been required and
luckily all my related tasks here were to do with test, but they may
not have been.

Anyway, FYI