0
A
回答
0
遷移和移民管理爲DB-代碼版本的變更管理一個龐大而複雜的問題。沒有短的帖子可以巧妙地解決它,但在這裏我去...
通常,如果您使用像Eloquent或框架的ORM他們有一個遷移機制,如果架構和模型代碼更新,您運行遷移開發數據庫。然後,當您實時推送該代碼時,可以在實時服務器上運行該代碼。
正如對您的文章發表評論所指出的,存在許多第三方工具,但對於大多數基本情況,您可以使用簡單的遷移文件來管理更改。但是,如果您對數據庫進行非代碼相關更改(如索引更改或數據添加/刪除),工具很有用。這裏是MySQL自己的工具:http://www.mysql.com/products/workbench/migrate/
現在我假設你使用的是某種版本控制,所以如果你不是帶有內置遷移支持工具的orm,那麼你可以簡單地保留一個sql遷移腳本的目錄手動給出提交級別的代碼。將開發分支代碼合併到生產分支並推送時,在生產數據庫上運行遷移alter table腳本。這些腳本應該包含所有更改和手動插入。然後,您可以保留一個遷移表並跟蹤您運行的遷移腳本。
對於獎勵積分,您可以創建遷移的回滾版本。通過這種方式,您可以在返回到之前的代碼版本之前申請(因爲您可能需要回滾生產版本來處理錯誤或其他問題)。然後,如果沒有合作伙伴回滾,請不要進行遷移。
例如,如果我添加新的屬性的用戶類,地址2:
migration_1_add_address_2_to_user.sql;
alter table user add column address2 varchar(64);
rollback_1_add_address_2_to_user.sql
alter table user drop column address2;
祝您好運!
相關問題
- 1. 開發和生產數據庫
- 2. mySQL數據庫同步 - 開發生產
- 3. 開發vs生產fusebox.xml
- 4. Php.ini生產vs開發
- 5. 遷移一個開發MySQL數據庫到生產數據庫
- 6. 使用生產數據庫值填充開發數據庫
- 7. 將生產數據庫設置複製到開發數據庫
- 8. Mysql的innodb的數據庫VS生產
- 9. 從生產到開發添加數據到數據庫
- 10. 如何從開發數據庫導入生產數據?
- 11. iOS最佳實踐開發vs生產
- 12. ZF3開發模式VS生產模式
- 13. Laravel「universal to」開發vs生產
- 14. 開發vs生產:連接字符串
- 15. Maven配置文件 - 開發vs生產
- 16. 運行Rails站點:開發vs生產
- 17. 在Rails中使用Sqlite3測試數據庫和Postgres開發/生產數據庫
- 18. 將更改從開發數據庫傳輸到生產數據庫
- 19. 如何將Heroku上的生產數據庫克隆到開發數據庫
- 20. 如何將oracle生產數據庫同步到開發數據庫
- 21. 如何使用不同的數據庫開發生產
- 22. magento:生產,分期和開發之間的數據庫同步
- 23. 如何從開發到生產獲取數據庫?
- 24. 如何在開發,測試和生產中管理數據庫?
- 25. 如何將開發數據庫轉移到生產?
- 26. 從開發到生產遷移數據庫 - 軌道
- 27. 獨立開發和生產實例和數據庫
- 28. 不同的開發/生產數據庫中scalaquery
- 29. 爲大型生產數據庫創建開發環境
- 30. rails admin_data顯示開發數據庫而非生產
爲您所做的任何數據庫更改創建升級腳本,然後將它們全部在活動服務器上運行。 –
看看http://stackoverflow.com/questions/225772/compare-two-mysql-databases。有一些工具可以在兩個環境之間自動同步數據庫模式。 – qux
http://stackoverflow.com/questions/8418814/db-migration-tool-liquibase-or-flyway/ –