通过终端添加列
答
如果你正在与一个团队合作,那么写一个迁移和一个必须是最好的。当你做数据库更改时,每个开发人员的环境也必须更新。否则,你会遇到一些疯狂的开发人员。
rails generate migration AddPartNumberToProducts part_number:string
会产生
class AddPartNumberToProducts < ActiveRecord::Migration
def change
add_column :products, :part_number, :string
end
end
然后运行迁移
rake db:migrate
http://guides.rubyonrails.org/migrations.html
编辑:
为Rails控制台命令行检查@ tadman的答案,或者用什么Bengala提出像
ActiveRecord::Migration.add_column :products, :part_number, :string
答
如果你只是在黑客入侵,使用某种类型的SQLite客户端比通过Rails DB层操纵数据库通常更容易。
如果您正在为一个项目执行此操作,请创建一个适当的迁移文件并运行它。
如果您决定执行此操作,则可通过驱动程序对象ActiveRecord::Base.connection
获取add_column
方法。
答
您可以直接在铁轨控制台rails c
与ActiveRecord::Migration
运行迁移你的目的下一个命令会做什么你请问:
> ActiveRecord::Migration.add_column :table_name, :field_name, :field_type
你使用了哪个数据库? – cdesrosiers 2012-07-13 20:06:40
最好写一个移植 – 2012-07-13 20:07:42
Im使用铁路的默认值,如果我没有弄错,是SQLite ......但是,它应该不重要,因为我通过使用ActiveRecord抽象SQL代码。我生成了一个账户模型,并忘记插入一个电子邮件字段名,并希望添加它... – Sweebo 2012-07-13 20:10:27