先说明一下,本人刚刚学 Rails,所以问题可能有点白痴。勿怪!
在学习 Rails 时,在本地可以进行快速的迭代,即使修改数据库结构,也无须重启服务器都可以马上查看到效果。这点很爽,很赞!
最近,我看着 @happypeter 的视频,将我学习中的一个项目部署到了 VPS 上。因为在本地都已经调试过了,而且数据库修改的命令(migrate)都在本地都执行过了(进过我的观察,貌似会生出一些文件名中带时间戳的文件)。原以为再到服务器上部署时,因为修改已经在本地执行过,已经生成过迁移脚本了,再在服务器上执行修改操作时会很麻烦,没想到只需要两条指令:
rake db:create
rake db:migrate
数据库以及表结构都创建好了。
启动服务器(使用的是 unicorn + nginx),OK,一切运行正常。
我的问题来了:
在服务器部署完成后,如果本地修改了代码, 表结构也变了 ,在这些修改上传到服务器上之后, 能否做到不重启服务器,直接修改表结构就让应用的变化生效?如果能,如何做?如果不能,如何做,删除数据库,重建数据库结构,然后重启服务器吗?是使用如下指令吗?
rake db:migrate
注:生成数据库时,有配置使用生产(product)模式的参数,不过这里我没有写明。