rake migrate question!

I have followed the tutorial at http://godbit.com/article/beginners-guide-to-rails-part-1
to learn rake migrate. I created a database and have the database
information in my database.yml correct.

I ran ruby to generate migrate for table and in the ruby code I added
the following

class ContactDB < ActiveRecord::Migration --- was already there
  def self.up --- was
already
     create_table "people" do |t|
        t.column "id", :integer
        t.column "name", :string
     end
  end

  def self.down
     drop_table :people
  end
end

when I ran 'rake migrate' I get an error like the following

== ContactDb: migrating ==========================
--- create_table("people")
rake aborted
MySql::Error: #420000You 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), 'name' varchar(255) DEFAULT NULL)
ENGINE=InnoDB' at line 1 CREATE TABLE people ('id' int(11) DEFAULT
NULL auto_increment PRIMARY KEY(11), 'name' varchar(255) DEFAULT NULL)
ENGINE=InnoDB

(See full trace by running task with --trace)

Could some one tell me what am I doing wrong?

Thanks.

DBC User wrote:

I have followed the tutorial at http://godbit.com/article/beginners-guide-to-rails-part-1
to learn rake migrate. I created a database and have the database
information in my database.yml correct.

I ran ruby to generate migrate for table and in the ruby code I added
the following

class ContactDB < ActiveRecord::Migration --- was already there
  def self.up --- was
already
     create_table "people" do |t|
        t.column "id", :integer
        t.column "name", :string
     end
  end

  def self.down
     drop_table :people
  end
end

when I ran 'rake migrate' I get an error like the following

== ContactDb: migrating ==========================
--- create_table("people")
rake aborted
MySql::Error: #420000You 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), 'name' varchar(255) DEFAULT NULL)
ENGINE=InnoDB' at line 1 CREATE TABLE people ('id' int(11) DEFAULT
NULL auto_increment PRIMARY KEY(11), 'name' varchar(255) DEFAULT NULL)
ENGINE=InnoDB

(See full trace by running task with --trace)

Could some one tell me what am I doing wrong?

Thanks.
  

Rails automatically adds the "id" field. You do not need to (must not) include that in your schema.

I don't think there are any other errors, but I'm sleepy :smiley:

Cheers
Mohit.

Thank you so much, it worked. Now I remember, in the begining when I
using MySql I ran into the same problem.
Thanks again.