【问题标题】:Rails 3 - How do I remove database tables that have been created?Rails 3 - 如何删除已创建的数据库表?
【发布时间】:2011-04-24 08:00:20
【问题描述】:

我创建了 2 个模型并运行了迁移,对每个模型都尝试了一些工作,现在我想重新开始并以不同的方式处理它们。我是 Rails 新手,从未尝试删除/删除数据库表(除了在迁移它们后立即回滚它们)。

谢谢!

【问题讨论】:

标签: ruby-on-rails database


【解决方案1】:

要在迁移期间删除表,您可以rails g migration DropUsers

class DropUsers < ActiveRecord::Migration
  def up
    drop_table :users
  end

  def down
    # recreate table logic here
  end
end

您也可以从 Rails 控制台删除表

ActiveRecord::Migration.drop_table(:users)

仅供参考,如果您想删除脚手架创建的代码,rails destroy scaffold User

【讨论】:

    【解决方案2】:

    【讨论】:

    • 谢谢。我不知道为什么这没有出现在我的搜索中。
    【解决方案3】:

    如果您从未提交更改或部署应用程序,您可以使用数据库控制台(假设它是 sqlite3 类型 sqlite3 进入 shell 控制台)或数据库管理简单地删除模型文件并从数据库中删除表图形用户界面。

    否则,您将需要使用drop_table 迁移来反映生产系统上的更改。

    【讨论】:

    • 谢谢。我想知道是否可以使用 SQLite DB Browser 来删除表。我也可以删除旧的迁移文件吗?
    【解决方案4】:

    查看问题的最高答案Rails - How to ReCreate the database

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-11
      • 1970-01-01
      • 2011-10-02
      • 1970-01-01
      • 1970-01-01
      • 2011-05-28
      • 2017-06-17
      • 1970-01-01
      相关资源
      最近更新 更多