ruby-on-rails - rake db :migrate do? 究竟是什么

标签 ruby-on-rails migration rake

rake db:migrate 是只添加新的迁移,还是删除所有迁移/更改并构建新的所有内容?

我认为 rake 正在抛出错误,因为它试图访问在迁移 042 中删除的迁移 040 中的表属性。不知何故,我的数据库和 rake 不同步,我想修复它们。

对于您那里的专家 - rake 与迁移不同步是很常见的吗?我怎样才能避免这种情况(不,我不会手动编辑我的架构或 rake 文件)。

最佳答案

每次使用脚本(如脚本/生成模型...)创建迁移时,都会将新迁移添加到正确的目录中,准备与真实数据库同步。

实际上 rake db:migrate 只是检查哪些丢失的迁移仍然需要应用于数据库而不关心以前的迁移。

当然,如果您使用其他方式修改数据库,则通常会获得不同步的内容,因为正如您所说,您会发现自己将迁移应用于下面已更改的内容。

关于ruby-on-rails - rake db :migrate do? 究竟是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1007187/

相关文章:

ruby-on-rails - 无论顺序如何,是否有可能从两个动态数组中获得差异?

ruby-on-rails - 在 Rails 中从 SASS/SCSS 自动更新 CSS?

python - Django Makemigrations 和 Migrate 很慢

ruby-on-rails - 迁移时出现Sqlite3错误,捆绑安装时出现nokogiri错误,迁移到Rails3并进行一些合并后,gem冲突。 (苹果电脑)

php - Rails/PHP 共存

ruby-on-rails - rake 数据库 :test:prepare not creating all tables

ruby-on-rails - Rake 和未初始化常量

ruby-on-rails - 如何在 ActiveAdmin 0.5.0 中为资源全局指定预先加载?

ruby-on-rails - rake db :migrate doesn't work after ruby 2. 2.2 到 2.2.3 通过 RVM 升级

ruby-on-rails - 使用带有 nginx 的 phusion 乘客 3.0.17 运行多个 Rails 网站