Issue is that I can't change a column type to 'Text'

This is the error I am seeing:

DarkBook:playground Justin$ rake migrate_up
(in /Users/Justin/Dropbox/Business/datamapper/playground)
 ~ Starting Migration
 == Performing Up Migration #1: create_person_table
   CREATE TABLE `people` (`id` SERIAL PRIMARY KEY, `name` VARCHAR(2),
`age` INTEGER) ENGINE = InnoDB CHARACTER SET utf8 COLLATE
utf8_general_ci
   -> 0.0112s
 -> 0.0129s
 == Performing Up Migration #2: change_name_constraints
rake aborted!
uninitialized constant SQL::TableModifier::Text
/Users/Justin/Dropbox/Business/datamapper/playground/rakefile.rb:61:in
`block (3 levels) in <top (required)>'
(See full trace by running task with --trace)

Rake script I'm using to test DataMapper:
https://gist.github.com/818143

It **seems** as though the change_column method within the
TableModifier class isn't converting the column change statement to
MySQL correctly. Other seemingly related errors are that if I try to
convert a column to a String of longer length I get this:

DarkBook:playground Justin$ rake migrate_up
(in /Users/Justin/Dropbox/Business/datamapper/playground)
 ~ Starting Migration
 == Performing Up Migration #2: change_name_constraints
   ALTER TABLE `people` ALTER COLUMN `name` TYPE String
 ~ 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 'TYPE String' at line 1 (code: 1064, sql state: 42000, query:
ALTER TABLE `people` ALTER COLUMN `name` TYPE String, uri:
mysql://root:@127.0.0.1datamapper_test)
rake aborted!
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 'TYPE String' at line 1
/Users/Justin/Dropbox/Business/datamapper/playground/rakefile.rb:60:in
`block (2 levels) in <top (required)>'
(See full trace by running task with --trace)

According to what I've read about MySQL, "ALTER TABLE `people` ALTER
COLUMN `name` TYPE String" is not a valid MySQL query command. TYPE
shouldn't be there and String should be converted to VARCHAR.

Looking inside the change_column method I see it's just a straight
pass through of the type I'm providing. This is making me think
perhaps I'm not supposed to be calling the change_column method
directly?

Once I get this figured out and I'm well on my way, I'm documenting
this stuff as figuring out DataMapper's migration api has been
hellish.

Thanks in advance for your help guys

Justin

-- 
You received this message because you are subscribed to the Google Groups 
"DataMapper" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/datamapper?hl=en.

Reply via email to