處理數據庫遷移
處理關系型數據庫的變更需要特別注意。
關系型數據庫既存儲數據又存儲數據結構。升級數據庫與升級程序相比有一些其他的挑戰。一般來說,當升級一個程序的二進制文件時,我們停止應用程序,再升級,然后再啟動它。我們并不太在意應用的狀態,那是在程序之外處理的。
當升級數據庫時,我們需要考慮狀態。因為一個數據庫幾乎沒有什么邏輯和結構,但是有許多的狀態。
為了描述一個數據庫的結構變更,我們發出一條命令來改變結構。
數據庫結構變更前后,在數據庫里需要能夠查看到各自的版本。我們怎么來維護數據庫的版本呢?