2013-05-31 122 views
0

我正在運行Kohana 3.3並希望將數據庫遷移添加到我的項目中。如何使用Minion任務遷移進行數據庫遷移

我添加了以下模具https://github.com/kohana-minion/tasks-migrations,但不知道如何讓它工作。

我可以看到運行./minion migrations:new --help的幫助文件,但我不明白需要什麼group值。從文檔它說:

--group=group_name 

This is a required config option, use it specify in which group the 
migration should be stored. Migrations are stored in a `migrations` 
directory followed by the group name specified. By default, the `migrations` 
directory is created in `APPPATH` but that can be changed with `--location` 

--location=modules/auth 

Specified the path of the migration (without the `migrations` directory). 
This value is defaulted to `APPPATH` 

# The migration will be created in `modules/myapp/migrations/myapp/` 
--group=myapp --location=modules/myapp 

--description="Description of migration here" 

This is an arbitrary description of the migration, used to build the 
filename. It is required but can be changed manually later on without 
affecting the integrity of the migration. 

我一直在尋找的例子,但還沒有找到一個。我有一個現有的數據庫,所以我想從該基礎中獲取該模式,然後再運行進一步的遷移。這是如何tasks-migrations模塊的作品?

回答

1

組方法用於告訴你它是什麼樣的遷移。如果它是你的核心應用程序的遷移,那麼core將是合適的。

但是,也許你爲自己的應用程序建立了一個模塊,它擁有自己的表格,從而自己進行遷移。因此最好使用組module_name

這樣你可以在更適合的部分分割你的遷移,並能輕鬆地檢查只是你的模塊的遷移,而無需通過其他遷移進行搜索。

讓新移民

./minion migrations:new --group=core 

運行遷移

./minion migrations:run 

PS:不要忘記將遷移表添加到數據庫

+0

感謝,順便說一句,它在運行時創建的遷移表第一次遷移。 – xylar

+0

順便說一句,當它創建表時,當你使用innodb時,你也可以將它改爲innodb。如果使用快速複製方法,混合表類型會導致數據庫備份問題。 – RJD22

0

該組是移植版本號,例如

./minion migrations:new --group=0-1

創建在應用/遷移/ 0.1與上下方法的文件夾和文件的遷移。