如何使用 rails 应用程序的 mysql 向现有 table 添加新的 table/column?

How to add a new table/column to an existing table using mysql for a rails application?

我正在使用 MySQL 在 rails 5 中开发一个仅 API 的应用程序。我可以直接在 MySQL 数据库中向现有的 table 或新的 table 添加新列,而不是使用 rail generator(rails generate migration add_email_to_users email:string / rails 生成模型 User)?

如果是,如何为此创建迁移?

You should do this by executing migrations. 

但是,如果你想直接,那么你可以在 mysql.

中执行 alter table 语句

例如:

ALTER TABLE users
ADD email varchar(30);

您可以在 rails 控制台中完成:

$ rails c
> ActiveRecord::Migration.add_column :users, :email, :string

这一定对你有帮助

statement = "Your SQL statement HERE"

然后执行您的 SQL 语句:

 ActiveRecord::Base.transaction do
     connection.execute(statement)
end

尝试使用 ALTER 命令

示例:

ALTER TABLE contacts ADD email VARCHAR(60);

第一个语句会将电子邮件列添加到 table 的末尾。要在特定列(例如名称)之后插入新列,请使用以下语句:

ALTER TABLE contacts ADD email VARCHAR(60) AFTER name;

如果您希望新列排在第一位,请使用此语句:

ALTER TABLE contacts ADD email VARCHAR(60) FIRST;