Hi,
I am doing my first steps with RoR and I have the following problem:
I execute my migration file with the following content on a
MySQL-database via Rake:
<code>
class CreateUsers < ActiveRecord::Migration
def self.up
create_table :users do |t|
t.integer :id
t.string :username, :size => 100
t.string :password, :size => 100
t.string :email, :size => 100
t.timestamps
end
end
def self.down
drop_table :users
end
end
</code>
I get the following error message by Rake:
<code>
>rake db:migrate
(in D:/InstantRails/rails_apps/EHA)
== 1 CreateUsers: migrating
===================================================rake aborted!
-- create_table(:users)
Mysql::Error: #42000You have an error in your SQL syntax; check the
manual that corresponds to your MySQL server version for the right
syntax to use near '(11), `username` varchar(255) DEFAULT NULL,
`password` varchar(255) DEFAULT NULL' at line 1: CREATE TABLE `users`
(`id` int(11) DEFAULT NULL auto_increment PRIMARY KEY(11), `username`
varchar(255) DEFAULT NULL, `password` varchar(255) DEFAULT NULL, `email`
varchar(255) DEFAULT NULL, `created_at` datetime DEFAULT NULL,
`updated_at` datetime DEFAULT NULL) ENGINE=InnoDB
(See full trace by running task with --trace)
>
</code>
The problem is
<code>
`id` int(11) DEFAULT NULL auto_increment PRIMARY KEY(11),
</code>
- behind "PRIMARY KEY" there is a length defined again. If I execute the
statement without this "(11)" behind "PRIMARY KEY", it works. How can I
tell Rails how to create the correct statement?
--
Posted via http://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Talk" 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/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---