firevel / mysql-to-spanner
Laravel 工具,用于将 MySQL 架构转换为 Cloud Spanner 数据定义语言 (DDL)
0.1.2
2021-11-22 19:04 UTC
Requires
- php: ^7.2|^8.0
- ext-bcmath: *
- colopl/laravel-spanner: ^3.9.1
- illuminate/contracts: ^7.0|^8.0
- illuminate/support: ^7.0|^8.0
- mgcosta/mysql-to-cloud-spanner: ^0.4.3
Requires (Dev)
- brianium/paratest: ^6.2
- nunomaduro/collision: ^5.3
- orchestra/testbench: ^6.15
- phpunit/phpunit: ^9.3
- spatie/laravel-ray: ^1.23
- vimeo/psalm: ^4.8
README
从 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_resets
,php 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_resets
,php 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)。请参阅 许可证文件 获取更多信息。