Possible bug with sqlite3 win32 gem

  • Thread starter Daniel Sheppard
  • Start date
D

Daniel Sheppard

I know what I'm about to describe is a rails issue - I've raised a rails
ticket (#6768) - I'm raising it here because I think sqlite3-ruby is the
most likely culprit.

I can reproduce the bug on two windows systems using both
sqlite3-ruby-1.1.0.1-mswin32 (_why's sqlite3 install) and the default
sqlite3-ruby-1.1.0-mswin32 gem. Cannot reproduce on gentoo system with
the sqlite3-ruby-1.1.0 gem

Running this migration in rails against an sqlite3 database:

class CreateTestModels < ActiveRecord::Migration
def self.up
create_table :test_models do |t|
t.column :test, :string
end
rename_column :test_models, :test, :test2
rename_column :test_models, :test2, :test3
end

def self.down
drop_table :test_models
end
end

results in the following schema for a sqlite3 database:

CREATE TABLE schema_info (version integer);
CREATE TABLE test_models ("id" INTEGER PRIMARY KEY NOT NULL, "test3"
varchar(255) DEFAULT '''''''''''''''''''''''''''''');

Note the default value - each rename_column (or anything else that uses
the duplicate and rename mechanism) results in the default value being
escaped.

Looking at the rails codebase, when the call is made to look up the
table schema with PRAGMA table_info(#{table_name}), the windows gem
appears to be returning an escaped string for the default value for a
column (rails then passes this escaped value back in the creation,
escaping it first, hence the cascade of quotes).

sqlite guys?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,774
Messages
2,569,598
Members
45,144
Latest member
KetoBaseReviews
Top