A Question about Model and Database?

hi i m new to rails i need to know the => which is the best way to
create
Database table in Rails?

  1. rails generate model User name:string email:string
    this will create a migration file with something like this

class CreateUsers < ActiveRecord::Migration
def change
create_table :users do |t|
t.string :name # see here name column is already made becoz we
have passed a parameters

t.string :email # same as above

  t.timestamps
end

endend

this is one method

  1. rails generate model Page
    this will create a empty migration file something like this

class CreatePages < ActiveRecord::Migration
def change
create_table :users do |t|
===>> now we can add here like t.string “name” to create column
manually
========>>>>>
t.timestamps
end
endend

So which is the good way to do above things example 1 or example 2?
Please tell.

and if i have to write a drop_table method in migration, can i write in
the
way which i showed below

class CreateSubjects < ActiveRecord::Migration
def change
create_table :subjects do |t|
t.string “name”

  t.timestamps
end

end

def self.down
drop_table :subjects
end
end

So again same question which is the good way to do above things example
1
( model with parameter ) or example 2 ( model without parameter )?

Thanks for Taking Time to Read.

please help me

Rails is smart enough to determine if you want to create or drop a table
if
you have done the migration with change
def change
#code here
end

it only depends on how you write the commands
if you do
rake db:migrate
then it will create the db (if the code inside change is about it) and
if
you do
rake db:rollback
it will drop that table
in other case then

def up
#create table here
end

def down
#drop table here
end

take a look here

and then here

there is a lot more on google

JavierQ

use def change
forget up and down def

cheers
Fahim Babar Patel

On 7 September 2012 22:08, ACK [email protected] wrote:

passed a parameters
2) rails generate model Page
end

So which is the good way to do above things example 1 or example 2?
Please tell.

It is entirely up to you, do whichever you prefer.

Colin

thanks for reply