ホームページ  >  記事  >  バックエンド開発  >  symfony がデータベーステーブルエンティティを生成し、データベースを移行する方法の説明

symfony がデータベーステーブルエンティティを生成し、データベースを移行する方法の説明

巴扎黑
巴扎黑オリジナル
2017-07-23 10:34:542169ブラウズ

2 日間接触した後、laravel と symfony のどちらを学ぶべきか迷っていましたが、ドキュメントと学習教材が少なすぎることがわかりました。すぐに symfony に目を向けたところ、laravle と同様の機能があることがわかりました。それで、一週間 laravle を観察しましたが、無駄ではありませんでした。しかし今日、Java に似た非常に優れた関数を見つけました。私は symfony3.0 を使用しているのですが、数回クリックするだけでデータベース テーブル エンティティを自動的に生成する方法を共有したいと思います。データベース エンティティ固有の接続データベース設定情報を生成します。接続設定情報は app/config/parameters.yml ファイルにあります。詳しく調べたい場合は、ドキュメントを参照してください。私も酔っ払ってその文書について話しているとき、意味を理解するためにすべての文を百度翻訳にコピーしました。

データベーステーブルからエンティティを生成する


1.データベースからモデルを生成する:
php bin/console doctrine:mapping:convert --from-database yml D:db
D:\test_backend>php bin/console doctrine:mapping:convert --from-database yml D:\db\
Processing entity "AppUser"
Processing entity "Channel"
Processing entity "MigrationVersions"

Exporting "yml" mapping information to "D:\db"
(モデルはパスの最初の行が変更されます。それ以外の場合、インスタンス テーブル構造で次のようにエラーが報告されます:)

クラス 'AppBundleEntityAppUser' のマッピング ファイル 'AppBundle.Entity.AppUser.orm.yml' が無効です。
例:
app_userテーブルで生成されたモデル 1行目: 'AppUser:'; これを「AppBundleEntityAppUser:」に変更するには
->瞞子鱼
2. テーブル構造ファイルをコピーします。 : AppBundleResourcesconfigdoctrine
php bin/console doctrine:generate:entities AppBundle/Entity/ --path src/
インスタンス単一テーブル構造(SiteChannel)
php bin/console doctrine:generate:entities AppBundle/Entity/SiteChannel --path src/
D:\test_backend>php bin/console doctrine:generate:entities AppBundle/Entity/AppUser --path src/Generating entities for namespace "AppBundle\Entity\AppUser"
  > backing up AppUser.php to AppUser.php~
  > generating AppBundle\Entity\AppUser
データベース移行 (データベースへの symfony ローカル移行):
データベース移行の開始: Composer require doctrine/doctrine-migrations-bundle "^1.0"
データベースへのエンティティ更新
Resources-> ;エンティティ
(比較) php bin/console doctrine:migrations:diff
(移行)
php bin/console doctrine:migrations:merge
->窞子鱼

以上がsymfony がデータベーステーブルエンティティを生成し、データベースを移行する方法の説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。