在開發領域,版本控制系統的做用有很是重要的做用,開發者都會用代碼管理系統來作開發,有着極大的方便。 那麼對數據庫的管理開發工做怎麼進行版本控制呢?
接下來咱們看一款你們都在試用的數據庫版本控制管理軟件PHINX.
Phinx 是用PHP語言開發的,Phinx 能夠讓開發者簡潔的修改和維護數據庫,今後不用人爲的手寫 SQL 語句。
開發者能夠使用PHINX管理數據庫遷移。 Phinx 還能夠方便的進行不一樣數據庫之間數據遷移。也能夠追蹤到哪些遷移腳本被執行,總而言之,功能很強大。
通常咱們都在windows系統下進行開發工做,那麼接下來介紹下win7 平臺下PHINX的安裝和使用。php
1.安裝composer,win7下安裝composer這裏就不做介紹了。讀者能夠自行搜索相關資料。mysql
2.在D盤建立項目目錄d:/phinx,控制檯進去,執行sql
composer require robmorgan/phinx
這樣就phinx就安裝成功了數據庫
3.接下來進入目錄D:phinxvendorbin,執行windows
phinx.bat init
這樣就初始化成功了,PHINX會在當前目錄下生成配置文件phinx.ymlcomposer
默認生成的配置文件內容爲:post
paths: migrations: '%%PHINX_CONFIG_DIR%%/db/migrations' seeds: '%%PHINX_CONFIG_DIR%%/db/seeds' environments: default_migration_table: phinxlog default_database: development production: adapter: mysql host: localhost name: production_db user: root pass: '' port: 3306 charset: utf8 development: adapter: mysql host: localhost name: development_db user: root pass: '' port: 3306 charset: utf8 testing: adapter: mysql host: localhost name: testing_db user: root pass: '' port: 3306 charset: utf8 version_order: creation
4.接下來修改配置文件,配置數據庫和路徑,修改phinx.yml以下所示:ui
paths: migrations: 'd:/phinx/db/migrations' seeds: 'd:/phinx/db/seeds' environments: default_migration_table: phinxlog default_database: development production: adapter: mysql host: 192.168.1.111 name: production_db user: root pass: 'aaa123' port: 3306 charset: utf8 development: adapter: mysql host: localhost name: development_db user: root pass: 'aaa123' port: 3306 charset: utf8 testing: adapter: mysql host: localhost name: testing_db user: root pass: 'yeko123' port: 3306 charset: utf8 version_order: creation
其中migrations和seeds目錄配置成絕對目錄,根據您的項目所在目錄配置,而後就是生產環境和開發環境的數據庫帳戶密碼配置this
5.在根目錄下建立文件夾db/migrations和db/seedsspa
6.接下來在控制檯執行
phinx create MyMigration
系統會在db/migrations下生成日期+名稱的文件20180420031540_my_migration.php
<?php use Phinx\Migration\AbstractMigration; class MyMigration extends AbstractMigration { public function change() { } }
7.修改剛剛生成的文件
<?php use Phinx\Migration\AbstractMigration; class MyMigration extends AbstractMigration { public function up() { $table = $this->table('userinfo'); $table->addColumn('user_id', 'integer') ->addColumn('user_name', 'string') ->create(); } }
在控制執行
phinx migrate -e development
就會執行上面的文件,數據庫生成表。
8.生成種子數據。在控制檯執行
phinx seed:create Userseeder
系統會在db/seeds下生成文件UserSeeder.php
修改爲
<?php use Phinx\Seed\AbstractSeed; class UserSeeder extends AbstractSeed { public function run() { $data = array( array( 'user_id' => '1', 'user_name' => 'ethan1', ), array( 'user_id' => '2', 'user_name' => 'ethan1', ) ); $posts = $this->table('userinfo'); $posts->insert($data) ->save(); } }
在控制檯執行
phinx seed:run
數據庫就插入了數據了,如圖所示
Win7下PHINX的安裝和使用(二)更多內容待續....