常常我們在測試 DB 環境
不會馬上上到正式環境
但都是分開改 alter table
之前有在 Dbeaver 有 migrate table 功能
但大致上我們工程師沒有 DB 的權限
要如何快速產生 alter table 語法呢?
其實之前有寫過 MySQL 比較兩個資料庫方法 | 程式狂想筆記
但一樣沒有產生 alter table sql 語法…
裡面的範例也沒有使用過
今天我發現 github 裡面有一個 schemalex
可以輕鬆產生 alter table 語法
schemalex
schemalex/schemalex: Generate difference sql of two mysql schema
1 | -- old.sql |
1 | -- new.sql |
schemalex old.sql new.sql
就會印出 Alter table SQL
好處只要用phpmyadmin 匯出 create table 就可以完成!!
更多用法可以參考官網文件schemalex/schemalex: Generate difference sql of two mysql schema
快速產生 create sql 語法
1 | SHOW CREATE TABLE tbl_name |
相關查詢資料:
MySQL :: MySQL 8.0 Reference Manual :: 13.7.7.10 SHOW CREATE TABLE Statement
Go言語のデータベース用のライブラリを比較する - Koichi Ishida blog
schemalex/git-schemalex: database migration tool for mysql schema is managed via git
k0kubun/sqldef: Idempotent MySQL/PostgreSQL schema management by SQL
rubenv/sql-migrate: SQL schema migration tool for Go.
如何快速比對資料庫結構差異並產生同步指令 - Yowko’s Notes
SchemaCrawler - Free database schema discovery and comprehension tool