Rails - Table 在 rails 销毁脚手架和 drop_table 迁移后仍在 schema.rb

Rails - Table still in schema.rb after rails destroy scaffold and drop_table migration

我正在尝试删除旧模型等,这是我通过构建过去的几次迁移创建的。所以我遵循了 this 线程和 运行 中的建议 drop_table 迁移和 rails d scaffold Modelname 命令(也许我先做了,现在不确定了)。

据我所知,删除了 table 和脚手架创建的所有其他文件,但我的问题是 schema.rb 仍然包含 table!我读过 here 我可能可以通过 运行 rails db:drop db:create db:migrate 解决这个问题,但我想知道 是否有一种方法可以解决 schema.rb 而无需完全重置数据库?(不幸的是,我在向我的应用程序添加部件而不是编写适当的种子文件时开始通过控制台填充我的数据库。)

您可以从 rails 控制台删除 table,例如模型是 user 那么您的 table 将是 users

$rails 控制台

然后输入:

ActiveRecord::Migration.drop_table(:users)

用户问题的补充回答:

要更新 schema.rb 中的 table 架构,您可以使用

$耙子db:schema:dump