ホームページ > PHPフレームワーク > ThinkPHP > thinkPHP はデータベースを移行するために mitigate を使用します

thinkPHP はデータベースを移行するために mitigate を使用します

リリース: 2020-05-27 09:08:28
転載
4117 人が閲覧しました

thinkPHP はデータベースを移行するために mitigate を使用します

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

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

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

composer require topthink/think-migration=2.0.*
ログイン後にコピー

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

php think
ログイン後にコピー

以下は、移行が正常にインストールされたことを示しています

thinkPHP はデータベースを移行するために mitigate を使用します

##2: topthink/ を使用します。データベース移行を実装するための think-migration

1: 移行クラスの作成

##コマンド ラインで実行

#
php think migrate:create CreateUser
ログイン後にコピー
##実行が完了したら、移行移行ファイルを作成します./database/migrateions ディレクトリ内

2: データベース移行の実装 thinkPHP はデータベースを移行するために mitigate を使用します

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

mitigate の 3 つのメソッド

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

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

change:migrate:run and merge :rollback時に実行されます(このメソッドが存在する場合、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 #迁移回滚
ログイン後にコピー
推奨チュートリアル: TP5>>

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

関連ラベル:
ソース:segmentfault.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート