MYSQL開發流程我敢肯定,類似的工作流程是常見的,但在我搜索我沒有發現任何記錄的例子。使用Git版本控制腳本
目標:
- 我要管理所有MySQL的(V5.1 +)數據庫定義的 git的,所以我有所有的源代碼控制的好處。
- 我想通過編輯腳本,並 運行的腳本來定義對數據庫的修改,這樣我可以在 編輯數據庫定義我的選擇(VIM)的編輯,而不是mysql外殼,或GUI 應用程序。
另外:我目前使用的是mysql shell,但是想用vim來維護在shell中變得笨拙的例程和事件。
計劃:
我會做的「--no數據」選項得到我最初的劇本最初的轉儲,但從那時起,我希望我的工作流程是:編輯腳本 - >提交 - >運行腳本而不是:執行數據庫更改 - > dump ddl - > commit。
注意事項:
如果我轉儲數據庫中的以下內容:
mysqldump -u [user] -p [password] --no-data --routines > ddl.sql
它包括:
DROP TABLE IF EXISTS `[table]`; CREATE TABLE `[table]` ([table definition])
顯然,這會破壞,並重新創建表,如果我跑劇本。 我想要做的就是更新定義更改表如果表存在,否則創建表的定義。我寧願在一個[table]([table dfinition])塊中定義該表,這個被重用,而不是必須維護多個重複塊。
我會如何改變初始轉儲語法或腳本,這樣我可以使用相同的腳本來更新數據庫,並重新創建在另一個環境中的數據庫定義(無數據)?