この記事では、PHP のデータベース移行ツールである Phinx に関する関連知識を共有します。Phinx は、開発、テスト、オンライン データベース同期フィールド情報、データ情報、データの生成と同期に特に適しています。テスト データ。お待ちください。皆さんのお役に立てば幸いです。
#ドキュメントのアドレス: https://tsy12321.gitbooks.io/phinx-doc/content1. インストール
composer require nhzex/think-phinx
2.
php vendor/bin/phinx
もう 1 つの方法は、php ファイルを直接使用して構成ファイルを作成することです。php ベンダー/bin/phinx init を直接実行して構成ファイルを生成します。もう 1 つの方法は、php ファイルを直接使用することです。 php ファイルを使用して、設定ファイル File
3 を作成します。phinx.php を使用して、
<?php $config = array( 'DB_HOST' => 'localhost', 'DB_NAME' => 'root', 'DB_USER' => 'root', 'DB_PWD' => '', ); $settings = $config; #phinx.php <?php require 'db_config.php'; return array( "paths" => array( "migrations" => "db/migrations", "seeds" => "db/seeds" ), "environments" => array( "defaut_migration_table" => "phinxlog", "default_database" => "lleg", "default_environment" => "development" "production" => array( "adapter" => "mysql", "host" => $settings["DB_HOST"], "name" => $settings["DB_NAME"], "user" => $settings["DB_USER"], "pass" => $settings["DB_PWD"], "port" => 3306, "charset" => "utf8" ), "development" => array( "adapter" => "mysql", "host" => $settings["DB_HOST"], "name" => $settings["DB_NAME"], "user" => $settings["DB_USER"], "pass" => $settings["DB_PWD"], "port" => 3306, "charset" => "utf8" ) ) );
4 を設定します。実行します。 php Vendor/bin/phinx status 接続状態を確認します
#5. php Vendor/bin/phinx create migrationを実行します
6. /db/migrations/20180310020523_migration.phpが作成されました。このファイルを編集し、データベース作成コンテンツを追加します。
public function change() { $user = $this->table('user'); $user->addColumn('open_id', 'string', ['limit'=>64]); $user->addColumn('register_time', 'timestamp', ['default' => 'CURRENT_TIMESTAMP']); $user->addColumn('favorite_music', 'integer', ['default'=> 0, 'comment'=>'喜欢的音乐']); $user->addColumn('favorite_vedio', 'integer', ['default'=> 0, 'comment'=>'喜欢的视频数']); $user->addColumn('favorite_article', 'integer', ['default'=> 0, 'comment'=>'喜欢的文章数']); $user->addColumn('baby_birthday', 'date', ['null'=>true, 'comment'=>'宝宝生日']); $user->addColumn('baby_sex', 'boolean', ['null'=>true, 'comment'=>'宝宝性别']); $user->addColumn('last_login', 'datetime', ['null'=>true, 'comment'=>'最后登陆日期']); $user->save(); }
php ベンダー/bin/phinx 移行を実行します
8. データを初期化します
php Vendor/bin/phinx seed:create categorySeederを実行します
システムは自動的に作成された ./db/seeds/CategorySeeder.php を作成します# 9.CategorySeeder.phpを変更します
#php Vendor/bin/phinx seed:run とすべての Seed を実行します
10. 実行したい場合 指定したシードを -s パラメータで指定する必要がありますphp Vendor/bin/phinx seed:run -s categorySeeder
11. テーブル構造を更新するテーブル構造を更新する必要がある場合は、移行を作成する必要がありますExecute php Vendor/bin/phinx create ChangeArtist
次に、更新する必要があります。内容は変更関数に書き込まれます。public function change() { $this->execute('alter table resource drop column artist ;'); $resource = $this->table('resource'); $resource->addColumn('artist', 'string', ['limit'=>128, 'default'=>'']); $resource->update(); }
php vendor/bin/phinx rollback
php vendor/bin/phinx seed:create UserSeeder php vendor/bin/phinx seed:run -e product
<?php use Phinx\Seed\AbstractSeed; class UserSeeder extends AbstractSeed { /** * 插入数据 */ public function run() { $data = array( array( 'id' => 1, ), array( 'id' => 2, ) ); $posts = $this->table('users'); $posts->insert($data)->save(); } }
PHP ビデオ チュートリアル
」以上がPHPデータベース移行ツール「Phinx」の使い方を教えますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。