我对rails还是个新手,对于rails迁移我有一些问题。
我使用的是Rails5和Windows8。我生成了一个模型并编写了一些代码来创建一个包含列的表。然后我从我的开发数据库(mysql)中删除了这个表,并尝试再次执行db:migrate,以查看它是否会创建在迁移文件中写入的表和列。在执行db:migrate之后,它没有在终端中显示任何消息,也没有创建表和列。
根据我的观察,从schema_migrations中删除迁移文件的版本并再次运行db:migrate,它工作并创建了表和列。
我想问一下rails开发的优点,为什么会发生这种情况,以及当我开始开发大型数据库模型时应该怎么做。
我还想了解一些关于学习rubyonrails的优秀资源材料的建议。
谢谢!
1条答案
按热度按时间eqzww0vc1#
是因为
rake db:migrate
仅为尚未运行的当前环境运行迁移。因此,如果您运行db:migrate,然后手动删除表表单db,您的应用程序就不会知道这一点。迁移指南