【问题标题】:Do Laravel migrations lock the tables they affect?Laravel 迁移会锁定它们影响的表吗?
【发布时间】:2018-03-03 09:59:45
【问题描述】:

我正在使用 MySQL。 The documentation 没有就此事发表任何言论。

如果还有什么我可以澄清的,请告诉我。感谢您的宝贵时间。

【问题讨论】:

    标签: mysql laravel php-7.1 laravel-5.5


    【解决方案1】:

    Laravel 在架构更改期间不控制表锁。这是由数据库本身控制的。

    对于 MySQL

    对于 MySQL >= 5.6,使用 InnoDB,可以进行大多数模式更改,只需要在更改开始时快速排他锁和更改结束时快速排他锁。

    您可以阅读this answer 了解更多信息,或者查看 MySQL 文档。

    【讨论】:

      【解决方案2】:

      我不能肯定迁移不会锁定受影响的表。但是,阅读 Illuminate\Database\Console\Migrations\MigrationCommand.php 类代码,我没有看到任何关于迁移命令发生时锁定表的内容。

      我知道当您使用事务(例如 DB::beginTransactions()、DB::commit() 和 DB::rollback())时,会发生锁定/解锁。

      【讨论】:

        猜你喜欢
        • 2017-11-11
        • 2011-03-01
        • 2020-04-28
        • 2019-08-11
        • 1970-01-01
        • 1970-01-01
        • 2018-09-28
        • 2021-03-09
        • 2019-07-02
        相关资源
        最近更新 更多