| Article: |
Cookin' with Ruby on Rails - May | |
| Subject: | Migration Error on Linux | |
| Date: | 2007-07-11 06:36:36 | |
| From: | bill_walton | |
|
Response to: Migration Error on Linux
|
||
|
Hi Waylon,
|
||
Showing messages 1 through 3 of 3.
-
Migration Error on Linux
2007-07-29 03:00:52 Geldart [View]
-
Migration Error on Linux
2007-07-22 10:23:19 DaveMatuszek [View]
I had the same problem using InstantRails 1.7 with
Ruby 1.8.6 and Rails 1.2.3. Capitalization of "Recipes" doesn't seem to be important, but "string" must be :string.
The error (evaluating nil.[]) occurs in
.../schema_statements.rb:272:in 'type_to_sql'
the line reads:
limit ||= native[:limit]
I also found
native = native_database_types[type]
and
def native_database_types
{}
end
and no additions to this hash. My Ruby isn't yet
good enough to figure out why this can ever work....
-
Migration Error
2007-08-14 11:25:56 ezosoro [View]
It took looking at the screen shot of the command prompt window before I got this to work correctly, as it shows something totally different then the screen shot of the "002_add_contributor_name" file.
If you use this for the "add_column" line it should work correctly...
add_column("Recipes", "contributor_name", :string, {:default => "Unknown"})
It was missing the brackets around the default value and string needs a colon and no quotations afterwards. Hope it helps everyone out ;).



Exactly the same problem here (Ubuntu 7.04, Ruby 1.8.5, Rails 1.2.1). Fix needed seems to be two things:
i.e.:
class AddContributorName < ActiveRecord::Migration
def self.up
add_column("recipes", "contributor_name", :string, :default => "Unknown")
end
def self.down
remove_column("recipes", "contributor_name")
end
end