2013-04-29 24 views
16

Stackoverflow和MySQL的通過命令行n00b在這裏,請溫柔!我一直在四處尋找我的問題的答案,但只能通過GitHub查找有關GitHubbing MySQL轉儲(如在數據轉儲中)的協作或MySQL「版本控制」的主題,這兩者都不告訴我我想知道什麼:如何在GitHub上包含MySQL數據庫模式?

如何在GitHub上使用PHP項目包含MySQL數據庫模式/信息?

我想在GitHub上共享一個PHP項目,該項目依賴於某些表的MySQL數據庫的存在。如果有人想要複製/使用這個項目,他們需要使用這些特定的表格來使腳本正常工作(除了一個表格之外,其他表格在開始時都是空的,並且只能由用戶通過腳本隨時填充;非空表從一開始就包含三個值)。如何去做這件事,什麼是常見做法

  • 請問我只是得到一個(完整)轉儲我自己的數據庫/表文件,然後 刪除所有數據部分(除了一個非空 表),將所有自動遞增爲零,然後上傳該.sql文件 GitHub以及該項目的其餘部分? OR
  • 它是最好的/更好的做法寫(PHP)腳本與該 (也許不那麼有經驗的)用戶可以在不 創建這些表不必使用mysqldump /命令行的魔力?

如果解決方案#1是要走的路,我會進一步說明如何使用這樣的.sql文件嗎?

很抱歉,如果我的問題聽起來很傻,但正如我上面說的,我自己是新來使用的MySQL相關的東西的命令行,並只使用過的phpMyAdmin的,直到昨天(當我創造了我的第一個轉儲文件使用mysqldump - 好極了!)。

回答

6

通常的做法是包含一個安裝腳本來創建必要的表格,所以解決方案#2將是最佳選擇。

該腳本可能只是重播轉儲。 ;)

您可能也有興趣遷移:How to automate migration (schema and data) for PHP/MySQL application

+0

哈,我真的認爲這將是廉價和容易(和不那麼高興不那麼精明的用戶)解決方案#1! 意味着我將不得不在項目中增加一些工作。 :) 謝謝你的幫助! – Kay 2013-04-30 20:29:17

+0

+1用於遷移​​。允許您將更改與初始數據庫架構分開。我一直在使用Phinx,來自Laravel背景相對簡單。 – thorne51 2017-07-05 14:36:19