在 Rails 上使用命令提示符 *Ruby 在 table 中创建一个字段

Create a field in a table using Command Prompt *Ruby on Rails

如何使用 Ruby 命令提示符在现有 table 中创建新字段?

我创建了模型(并迁移了它)但我忘记添加一个字段 - 我该怎么做?

生成新迁移以将新列添加到 table。

rails g migration add_column_name_to_table_name column_name:type

这将创建一个迁移 class,如下所示:

#config/migration/20150304121554_add_column_name_to_table_name.rb
class AddColumnNameToTableName < ActiveRecord::Migration
  def change
    add_column :table_name, :column_name, :type
  end
end

在这里,column_name、table_name和类型应该是您想要的名称和类型。比 运行 rake db:migrate 命令。

有两种方法可以改变您的情况:

  • 回滚上次迁移
  • 在新迁移中添加新字段

仅当您尚未将迁移推送到 public 服务器时才应撤消上次迁移。方法如下:

  1. 运行 rake db:rollback

  2. 将新字段添加到您最初使用的同一个迁移文件中

  3. 运行 rake db:migrate

选项 2:

要在新迁移中添加字段:

rails g migration AddFieldNameToTableName

例如,如果您的字段是 name 而您的 table 是 users,您将 运行:

rails g migration AddNameToUsers

这将创建一个新的迁移文件,其名称以今天的日期开始并以 add_name_to_users.rb 结束。打开文件并使用 add_column 命令添加字段,如下所示:

class AddNameToUsers < ActiveRecord::Migration
  def change
    add_column :users, :name, :string
  end
end

保存文件,然后运行rake db:migrate.

我鼓励您阅读 Rails migrations guide 以了解更多信息。