firevel/mysql-to-spanner

Laravel 工具,用于将 MySQL 架构转换为 Cloud Spanner 数据定义语言 (DDL)

0.1.2 2021-11-22 19:04 UTC

This package is auto-updated.

Last update: 2024-09-23 01:35:34 UTC


README

Latest Version on Packagist

从 MySQL 迁移到 Cloud Spanner

从这里开始:从 MySQL 迁移到 Cloud Spanner

请确保

  • 所有表都有主键。
  • 可以忽略 AUTO_INCREMENT(Cloud Spanner 不支持)。

安装

您可以通过 composer 安装此包

composer require firevel/mysql-to-spanner

用法

MySQL 导出

您可以使用以下命令导出您的 MySQL 数据库

php artisan db:spanner-dump

支持的参数

  • 使用 --connection 指定源(MySQL)连接名称。
  • 使用 --file 指定输出文件,例如:php artisan db:spanner-dump --file=storage/spanner-ddl.txt
  • 使用 --disk--file 一起使用,将输出保存到在 /config/filesystems.php 中定义的存储中,例如:php artisan db:spanner-dump --disk=gcs --file=exports/spanner-ddl.txt
  • 使用 --ignore-table 指定在导出时忽略的表,例如:php artisan db:spanner-dump --ignore-table=password_resetsphp artisan db:spanner-dump --ignore-table=tmp_*php artisan db:spanner-dump --ignore-table=table1,table2
  • 使用 --default-primary-key 指定默认主键,例如:php artisan db:spanner-dump --default-primary-key=id
  • 使用 --only 指定要导出的表,例如:php artisan db:spanner-dump --only=table1,table2

MySQL 到 Spanner 迁移

您可以使用以下命令将 MySQL 数据迁移到 Spanner

php artisan db:spanner-migrate

默认情况下,只有架构将被迁移,如果您想同时迁移架构和数据,请运行

php artisan db:spanner-migrate --data

支持的参数

  • 使用 --connection 指定源(MySQL)连接名称。
  • 使用 --spanner-connection 指定连接名称(默认为 spanner)。
  • 使用 --fresh 在创建架构之前删除数据库。
  • 使用 --data 迁移行。
  • 使用 --chunk-size 指定数据迁移中使用的块大小。
  • 使用 --schema=false 跳过架构迁移。
  • 使用 --ignore-table 指定在导出时忽略的表,例如:php artisan db:spanner-dump --ignore-table=password_resetsphp artisan db:spanner-dump --ignore-table=tmp_*php artisan db:spanner-dump --ignore-table=table1,table2
  • 使用 --default-primary-key 指定默认主键,例如:php artisan db:spanner-dump --default-primary-key=id
  • 使用 --only 指定要导出的表,例如:php artisan db:spanner-dump --only=table1,table2

鸣谢

许可证

MIT 许可证(MIT)。请参阅 许可证文件 获取更多信息。