如何使用 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;
我正在使用 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;