Laravel工匠迁移部署生产

时间:2017-02-21 18:07:05

标签: php laravel jenkins deployment laravel-5.3

在我的部署策略中,我想执行以下操作:

  1. 从git
  2. 获取代码
  3. 通过composer安装依赖项(dev需求)
  4. 运行测试(phpunit等)
  5. 安装生产依赖项(将删除开发人员要求)
  6. 邮编
  7. 复制到服务器
  8. 解压
  9. 将符号链接更改为当前版本(如果还原则保留2个旧版本)
  10. 此时我可以运行php artisan migrate来更新数据库吗?

    考虑:

    清除应用程序缓存文件(实际上它们是空的,就像全新安装一样)。 迁移查询是否会检查架构以了解是否需要更新?

    总而言之

    我可以安全地在生产中运行php artisan migrate而没有以前的应用程序缓存吗?

    migrate任务如何知道表的历史以及需要做什么?

1 个答案:

答案 0 :(得分:1)

当您第一次运行迁移时,Laravel会创建一个migrations表,以帮助您了解迁移的时间点。

我建议始终备份,无论如何,如果您在生产中应用它们之前在本地测试它们,您可以毫无问题地更新表格,最重要的是,您不会编辑旧的迁移但是而是添加新的迁移,事件编辑现有的表(添加/删除列)。

PS:如果你使用git,你为什么需要符号链接?我只是标记一个工作版本。 如果您能够获得对托管服务器的ssh访问权限,即使是沙盒版本也只能访问您的站点文件夹,您可以使用git直接部署。避免因文件副本失败而导致任何问题的最佳方法。