railsdb:migrate在手动更改数据库后不起作用

9rbhqvlz  于 2021-06-24  发布在  Mysql
关注(0)|答案(1)|浏览(371)

我对rails还是个新手,对于rails迁移我有一些问题。
我使用的是Rails5和Windows8。我生成了一个模型并编写了一些代码来创建一个包含列的表。然后我从我的开发数据库(mysql)中删除了这个表,并尝试再次执行db:migrate,以查看它是否会创建在迁移文件中写入的表和列。在执行db:migrate之后,它没有在终端中显示任何消息,也没有创建表和列。
根据我的观察,从schema_migrations中删除迁移文件的版本并再次运行db:migrate,它工作并创建了表和列。
我想问一下rails开发的优点,为什么会发生这种情况,以及当我开始开发大型数据库模型时应该怎么做。
我还想了解一些关于学习rubyonrails的优秀资源材料的建议。
谢谢!

eqzww0vc

eqzww0vc1#

是因为 rake db:migrate 仅为尚未运行的当前环境运行迁移。因此,如果您运行db:migrate,然后手动删除表表单db,您的应用程序就不会知道这一点。
迁移指南

相关问题