我正在使用MySQL在rails 5中开发一个仅API应用程序。我可以直接在MySQL数据库中添加新列到现有表或新表而不是使用轨道生成器(rails生成迁移add_email_to_users email:string / rails generate model User)?
如果是,如何为此创建迁移?
答案 0 :(得分:1)
尝试使用ALTER命令
示例:
ALTER TABLE contacts ADD email VARCHAR(60);
此第一个语句会将电子邮件列添加到表的末尾。要在特定列(例如name)之后插入新列,请使用以下语句:
ALTER TABLE contacts ADD email VARCHAR(60) AFTER name;
如果您希望新列首先使用此语句:
ALTER TABLE contacts ADD email VARCHAR(60) FIRST;
答案 1 :(得分:0)
You should do this by executing migrations.
但是,如果你想直接,那么你可以在mysql中执行alter table
语句。
例如:
ALTER TABLE users
ADD email varchar(30);
答案 2 :(得分:0)
您可以在rails控制台中执行此操作:
$ rails c
> ActiveRecord::Migration.add_column :users, :email, :string
答案 3 :(得分:0)
这必须帮助您
statement = "Your SQL statement HERE"
然后执行您的SQL语句:
ActiveRecord::Base.transaction do
connection.execute(statement)
end