I run script/generate model query
edit query.rb in models..
class Query < ActiveRecord::Base #I even tried Migrations instead of Base
def sef.up
create table :queries do|t|
t.string :name
end
end
def self.down
drop_table :queries
end
end
,run rake db:migrate.
and what I see in db is this:
mysql> desc queries;
+------------+----------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+----------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| created_at | datetime | YES | | NULL | |
| updated_at | datetime | YES | | NULL | |
+------------+----------+------+-----+---------+----------------+
Where is the “name” field?
HELP ! Cheers !
What you want is
script/generate migration your_migration_name.Edit #1
I’ll explain better:
Actually, when you run
script/generate model querysome files were created, includingmodels/query.rbanddb/migrate/XXX_create_query.rb. To createqueriestable you must edit the second file (db/migrate/XXX_create_query.rb) and insert the code you posted:and then run
rake db:migrate.Edit #2
As JacobM pointed, as you already run
rake db:migrate, now you just need to create another migrationscript/generate migration add_name_column_to_queries_tableedit the
db/migrate/XXX_add_name_column_to_queries_table.rbfile to insert your newnamecolumn and then runrake db:migrateagain.