【问题标题】:How to Migrate Laravel solution from MS SQL Server to MySQL如何将 Laravel 解决方案从 MS SQL Server 迁移到 MySQL
【发布时间】:2021-12-16 20:42:04
【问题描述】:

我是 Laravel 5 和 6 的新手。我有一个非常具体的问题,解决方案是使用 laravel 和 MSSQL 服务器作为数据库服务器开发的。现在我想将数据库从 MSSQL 更改为 MySQL,有没有自动化的方法来实现这个?或者这个过程有多繁琐,实现这一目标的步骤是什么?

感谢和问候

【问题讨论】:

    标签: php mysql sql-server laravel database-migration


    【解决方案1】:

    如果有解决方案,你的意思是迁移逻辑而不关心数据。

    • 只需在 MySQL 中创建一个新数据库。
    • 配置.env文件以使用所述db,例如:
      DB_CONNECTION=mysql
      DB_HOST=127.0.0.1
      DB_PORT=3306
      DB_DATABASE=my-db-name-here
      DB_USERNAME=root
      DB_PASSWORD=
      
    • 清除所有缓存,例如:
      php artisan config:clear --no-ansi
      php artisan cache:clear --no-ansi
      composer dump-autoload
      php artisan view:clear --no-ansi
      php artisan route:clear --no-ansi
      
    • 测试路由是否有效,例如:
      php artisan route:list --no-ansi
      
    • 最后,重新创建数据库结构,如:
      php artisan migrate --no-ansi
      

    如果您的项目是新项目,则没有种子,否则另一个有用的命令是:

    php artisan db:seed --no-ansi
    

    但如果需要数据:

    步骤基本同上;

    但是您需要按照以下说明操作: https://www.thegeekstuff.com/2014/03/mssql-to-mysql/

    这显示了如何直接将数据从源数据库复制到目标。

    或者您需要:

    • 将您的 MS SQL Server 导出为 SQL 文件(或 zip)。
    • 查找/选择一个工具,它将 SQL 文件从“MS SQL Server”语法/格式转换为“MySQL”格式。
    • 在 MySQL 中导入生成的 SQL 文件。

    【讨论】:

    • 谢谢高手回复。我确实关心数据。我也在没有数据的情况下尝试这个。
    • @user940959 查看更新! - 通常我的 Laravel 应用程序不依赖于数据(迁移就足够了),但我知道在某些情况下它是必需的 ;-)
    猜你喜欢
    • 2010-09-18
    • 2011-09-25
    • 1970-01-01
    • 2011-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-09
    • 1970-01-01
    相关资源
    最近更新 更多