通过Rails迁移删除数据库表列的语法是什么?
当前回答
简单地说,您可以删除列
remove_column :table_name, :column_name
例如,
remove_column :posts, :comment
其他回答
你可以尝试以下方法:
remove_column :table_name, :column_name
(官方文档)
简单地说,您可以删除列
remove_column :table_name, :column_name
例如,
remove_column :posts, :comment
在rails4应用中,也可以使用change方法删除列。第三个参数是data_type,在可选的参数中可以给出选项。它在文档中的“可用转换”部分中有点隐藏。
class RemoveFieldFromTableName < ActiveRecord::Migration
def change
remove_column :table_name, :field_name, :data_type, {}
end
end
在rails控制台中运行即可
ActiveRecord::Base.connection.remove_column("table_name", :column_name, :its_data_type)
or
TableName.find_by_sql(“ALTER TABLE table_name DROP column_name”)
这里还有一个来自rails控制台的例子
ActiveRecord::迁移。remove_column (: table_name column_name):
推荐文章
- 确定ActiveRecord对象是否为New
- Rails中的OO设计:在哪里放置东西
- 如何在Heroku上重新启动rails服务器?
- respond_to块如何工作?
- 使用{merge: true}设置的Firestore与更新之间的差异
- mysql_connect():[2002]没有这样的文件或目录(试图通过unix:///tmp/mysql.sock连接)在
- 使用电子邮件地址为主键?
- 给定一个类,查看实例是否有方法(Ruby)
- rails局部模板中的可选局部变量:如何退出(defined?foo)混乱?
- MongoDB在v4之前不兼容ACID意味着什么?
- 在日历应用程序中建模重复事件的最佳方法是什么?
- Ruby Bundle Symbol not found: _SSLv2_client_method (LoadError)
- 第一次设计数据库:我是否过度设计了?
- 如何创建一个私有类方法?
- rails耙任务是否提供对ActiveRecord模型的访问?