ホームページ  >  記事  >  PHPフレームワーク  >  thinkPHP が mitigate を使用してデータベース移行を実装する方法

thinkPHP が mitigate を使用してデータベース移行を実装する方法

藏色散人
藏色散人転載
2020-07-29 13:41:454094ブラウズ

thinkphp フレームワーク の次のチュートリアル コラムでは、thinkPHP が mitigate を使用してデータベース移行を実装する方法を紹介します。

thinkPHP が mitigate を使用してデータベース移行を実装する方法

thinkPHP は、Migrate を使用してデータベース移行を実装します

thinkPHP のデータベース移行ツール: topthink/think-migration

1: topthink/think-migration をインストールします

ここで、topthink/think-migration をインストールするときは、thinkPHP のバージョンに注意する必要があることに注意してください。ここでの thinkPHP のバージョンは 5.1 なので、topthink/ のバージョン 2.0 をインストールできます。 think-migration.、バージョン 3.0 はインストールできません。インストールするのに適したバージョンを選択してください

composer require topthink/think-migration=2.0.*

インストールが完了したら、コマンド ラインで実行します:

php think

次は、移行インストールは成功しました

thinkPHP が mitigate を使用してデータベース移行を実装する方法

2: topthink/think-migration を使用してデータベース移行を実装します

1: 移行クラスを作成します

実行コマンドラインで

php think migrate:create CreateUser

実行が完了したら、./database/migrationionsディレクトリに移行移行ファイルを作成します

thinkPHP が mitigate を使用してデータベース移行を実装する方法

#2:データベース移行の実装

移行メソッドの使用方法に関するドキュメント: http://docs.phinx.org/en/latest/migrations.html

[1]: 移行コードの説明:

mite には 3 つのメソッドがあります

up: when merge:run 実行 (ファイルに変更メソッドが存在しない場合)

down: merge:rollback 時に実行 (ファイル内に変更メソッドが存在しない場合)ファイル内にchangeメソッドが存在しません)

change:migrate:runとmaigrate:rollback (このメソッドが存在する場合、upとdownは実行されません)

通常は変更を削除します移行ファイル内のメソッド。up メソッドはテーブルの追加と更新に特に使用され、down メソッドはテーブルの配置とフィールドの削除操作

(1)テーブルの追加:

// create the table
$table = $this->table('user', ['id' => 'user_id', 'comment' => '用户表', 'engine' => 'MyISAM', '']);
$table->addColumn('user_name', 'string', ['limit' => 15, 'default' => '', 'comment' => '用户名'])
    ->addColumn('password', 'string', ['limit' => 15, 'default' => '', 'comment' => '密码',])
    ->addColumn('status', 'boolean', ['limit' => 1, 'default' => 0, 'comment' => '状态'])
    ->addIndex(['user_name'], ['unique' => true])//为user_name创建索引并设置唯一(唯一索引)
    ->addTimestamps()//默认生成create_time和update_time两个字段
    ->create();

(2 )テーブルの更新:


$this->table('user')
    ->addColumn('test', 'string', ['limit' => 15, 'default' => '', 'comment' => '测试'])//在user表中增加一个test字段
    ->update();

(3)テーブルの削除:

$this->table('user')->drop();

(4)フィールドの削除

$this->table('user')
    ->removeColumn('test')//删除user表中的test字段
    ->save();

[2]: 移行コマンド:

移行には一般的に使用されるコマンドが 3 つあります。

php think migrate:create CreateUser  #创建一个迁移类
php think migrate:run  #执行迁移
php think migrate:rollback #迁移回滚

以上がthinkPHP が mitigate を使用してデータベース移行を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。