ホームページ > バックエンド開発 > PHPチュートリアル > thinkphp5 でのデータベース移行の移行

thinkphp5 でのデータベース移行の移行

不言
リリース: 2023-03-30 14:14:02
オリジナル
1614 人が閲覧しました

ここでは tp5 merge データベース移行ツールの紹介をします。これは非常にシンプルで実用的です。必要な方はこの記事の例を参照してください。

tp5 は tp3.2 とは大きく異なります。

##Migrate はその 1 つであり、プログラマーは、移行を通じて、PHP コードでデータベース変更のロールバックやその他の操作を作成できます。

まず、移行拡張機能をダウンロードし、現在のプロジェクト ディレクトリでコマンド ラインを実行します。

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

移行が正常にダウンロードされたかどうかは、php think コマンドを使用して確認できます

移行を使用: 移行ファイル名 (大文字のキャメルケース方式) を作成して、データベースの下に移行を生成する ファイル

の作成に失敗し、解決策がないことを示すプロンプトが表示される場合があります。一般に、composer.json ファイル内の移行バージョンを 1 に変更することを検討してください。 .* または ^1.0

を実行して再試行してください。composer update

application の下の database.php でデータベースを設定します。

次のとおりです。は移行ファイルの 1 つの内容です (作成後) デフォルトのメソッド change()、削除します)

 use think\migration\Migrator;
 use think\migration\db\Column;
 
 class CreateUserTable extends Migrator
 {
   
   /**
   * 建立用户表
   */
   public function up(){
     $table = $this->table('user');
     $table->addColumn('username' , 'string' , ['limit' => 30])
        ->addColumn('passwork' , 'string' , ['limit' => 32])
        ->addColumn('email' , 'string' , ['limit' => 25])
        ->addColumn('lastlogin_ip' , 'string' , ['limit' => 15])
        ->addTimestamps('create_time' , 'lastlogin_time')
        ->addColumn('status' , 'integer' , ['limit' => 1 , 'default' => 1])
        ->setId('user_id')
        ->save();
   }
   
   /**
   * 提供回滚的删除用户表方法
   */
   public function down(){
     $this->dropTable('user');
   }
 }
ログイン後にコピー

上記のメソッドの一部については、オンラインで見た公式ドキュメントを参照していませんでした。これは Xiao Teng の説明でした。

merge :run を使用すると、すべての移行アップ メソッドが実行されます。

最後に実行された移行ファイルは、mitigator:rollback を使用してロールバックできます (すべてをロールバックするには、-t 0 パラメータを使用します) )

# merge:status を使用できます。 現在の移行実行状況を確認します。

#run メソッドを実行すると、ユーザー テーブルが正常に作成されます。

# #非常に便利です

上記は記事の全内容です。皆様の学習に役立つことを願っています。その他の関連コンテンツについては、PHP 中国語 Web サイトに注目してください。

関連する推奨事項:

thinkPHP データベースの追加、削除、変更、およびクエリ操作


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

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