侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

laravel框架的数据库迁移包:PlanetScale

Laravel  /  管理员 发布于 2年前   464

PlanetScale包为你的Laravel应用程序添加了一个artisan pscale:migrate命令。

这个命令可以帮助你使用PlanetScale的API来管理数据库迁移,这个过程与使用内置的migrate命令略有不同,在部署过程中, 你会运行下面的命令而不是migrate, 

因为migrate会做所有必要的事情来更新你的数据库模式:

php artisan pscale:migrate

安装

通过Composer安装

composer require x7media/laravel-planetscale

配置和使用

1.登录到你的PlanetScale账户,从组织设置中获得你的服务令牌和服务令牌ID。

   同时记下你的组织名称和生产分支名称,以便接下来的步骤。

2.在你的服务令牌上为你的应用程序的数据库添加以下数据库级别的权限:

create_branch - 创建一个数据库分支
delete_branch - 删除一个数据库分支
connect_branch - 连接到数据库分支,或为其创建密码和证书
create_deploy_request - 创建一个数据库部署请求
read_deploy_request - 读取数据库部署请求

3.在PlanetScale的数据库设置界面,点击复选标记,启用 "自动复制迁移数据 "设置。

从迁移框架的下拉菜单中选择 "Laravel",它应该在迁移表的名称中填写 "migrations"。

然后保存数据库设置。这将允许迁移状态在PlanetScale数据库分支之间同步。

4.在你的应用程序中设置以下环境变量,并赋予适当的值:

planetscale_organization=
planetscale_production_branch =
planetscale_service_token_id=
planetscale_service_token=

另外,你需要确保你的数据库名称被设置在:

DB_DATABASE=

或

你可以选择发布该配置:

php artisan vendor:publish --tag=laravel-planetscale-config

然后自定义配置中的值。

注意: 

如果你采取这种方法,我们强烈建议你仍然使用环境变量或其他一些秘密存储,至少为你的服务令牌和服务令牌ID提供安全保障。


在你的部署脚本或过程中,用这个命令取代php artisan migrate命令:

php artisan pscale:migrate

注意: 

pscale:migrate命令支持与Laravel内置的迁移命令相同的选项, 当它到达过程中的那一步时, 会将这些选项传递给它.



为什么需要这个命令?

你可能会问,为什么需要这个命令而不是直接使用migrate命令。

根据软件包的自述:

https://github.com/x7media/laravel-planetscale/blob/b3fcf63f2830d4f3752d4be0b0896c985704efe3/readme.md#why-is-this-necessary

PlantScale处理迁移的方式与你通常看到的数据库的方式不同:

当把PlanetScale作为你的应用程序的生产数据库时,它有很多优点。

然而,它以一种不寻常的方式处理你的数据库和模式迁移。

它为你的数据库使用分支。

分支可以是生产型的,也可以是开发型的...


这个包使用PlanetScale的公共API:

https://api-docs.planetscale.com/

来自动创建一个新的开发分支, 将你的应用程序连接到开发分支, 

在开发分支上运行你的Laravel迁移, 将其合并到你的生产分支, 并删除开发分支.

要开始使用这个软件包,

请查看GitHub上的软件包设置说明:

https://github.com/x7media/laravel-planetscale

相关的:

说到PlanetScale和数据库,

Aaron Francis:

https://twitter.com/aarondfrancis/

出版了

MySQL for Developers:

https://laravel-news.com/mysql-for-developers-course

我们强烈建议你去看看,以提高你的数据库技能。

转:

https://laravel-news.com/planetscale-database-migrations-for-laravel

  • 上一条:
    测试框架PEST 2.0已发布
    下一条:
    go语言中在一个列表上迭代元素、在[]字符串(数组)上进行迭代代码示例
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • Laravel 11.15版本发布 - Eloquent Builder中添加的泛型(0个评论)
    • Laravel 11.14版本发布 - 新的字符串助手和ServeCommand改进(0个评论)
    • Laravel 11.12版本发布 - Artisan的`make`命令自动剪切`.php `扩展(0个评论)
    • Laravel的轻量型购物车扩展包:binafy/laravel-cart(0个评论)
    • Laravel 11.11版本发布 - 查看模型中的第三方关系:show(0个评论)
    • 近期文章
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • 在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例(0个评论)
    • 在go语言中实现IP/CIDR的ip和netmask互转及IP段形式互转及ip是否存在IP/CIDR(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2017-07
    • 2017-08
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2020-07
    • 2020-08
    • 2020-09
    • 2020-10
    • 2020-11
    • 2021-01
    • 2021-02
    • 2021-03
    • 2021-04
    • 2021-05
    • 2021-06
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-11
    • 2021-12
    • 2022-01
    • 2022-02
    • 2022-03
    • 2022-04
    • 2022-05
    • 2022-06
    • 2022-07
    • 2022-08
    • 2022-09
    • 2022-10
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-04
    • 2023-05
    • 2023-06
    • 2023-07
    • 2023-08
    • 2023-09
    • 2023-10
    • 2023-11
    • 2023-12
    • 2024-01
    • 2024-02
    • 2024-03
    • 2024-04
    • 2024-05
    • 2024-06
    • 2024-07
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客