在我的部署策略中,我想执行以下操作:
此时我可以运行php artisan migrate
来更新数据库吗?
考虑:
清除应用程序缓存文件(实际上它们是空的,就像全新安装一样)。 迁移查询是否会检查架构以了解是否需要更新?
总而言之:
我可以安全地在生产中运行php artisan migrate
而没有以前的应用程序缓存吗?
migrate
任务如何知道表的历史以及需要做什么?
答案 0 :(得分:1)
当您第一次运行迁移时,Laravel会创建一个migrations
表,以帮助您了解迁移的时间点。
我建议始终备份,无论如何,如果您在生产中应用它们之前在本地测试它们,您可以毫无问题地更新表格,最重要的是,您不会编辑旧的迁移但是而是添加新的迁移,事件编辑现有的表(添加/删除列)。
PS:如果你使用git,你为什么需要符号链接?我只是标记一个工作版本。 如果您能够获得对托管服务器的ssh访问权限,即使是沙盒版本也只能访问您的站点文件夹,您可以使用git直接部署。避免因文件副本失败而导致任何问题的最佳方法。