>  기사  >  백엔드 개발  >  Symfony가 데이터베이스 테이블 엔터티를 생성하고 데이터베이스를 마이그레이션하는 방법에 대한 설명

Symfony가 데이터베이스 테이블 엔터티를 생성하고 데이터베이스를 마이그레이션하는 방법에 대한 설명

巴扎黑
巴扎黑원래의
2017-07-23 10:34:542169검색

이틀 동안 연락을 해보니 Symfony가 정말 대단하다는 걸 알게 됐어요. laravel을 배우는 게 좋을지, Symfony를 배우는 게 좋을지 혼란스러워서 일주일 동안 laravel을 배워보니 문서와 학습 자료가 너무 적다는 걸 알게 됐어요. 즉시 Symfony로 전환하여 Laravle과 유사한 기능을 가지고 있음을 발견했습니다. 그래서 일주일 동안 Laravle을 시청했는데 헛되지 않았습니다. 그런데 오늘은 Java와 더 유사한 매우 좋은 기능을 발견했습니다. Java처럼 몇 번의 클릭만으로 데이터베이스 테이블 엔터티를 자동으로 생성하는 방법을 알려 드리겠습니다. 데이터베이스 엔터티별 연결 데이터베이스 구성 정보를 생성합니다. 연결 구성 정보는 app/config/parameters.yml 파일에 있습니다. Symfony는 해당 데이터베이스가 무엇인지 자동으로 식별합니다. 자세히 알아보려면 설명서를 확인하세요. 문서에 대해 이야기할 때도 취해서 의미를 이해하기 위해 모든 문장을 바이두 번역에 복사했습니다.

데이터베이스 테이블에서 엔터티 생성


1. 데이터베이스에서 모델 생성:
 php bin/console 교리: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 테이블에 의해 생성된 모델 첫 번째 줄: 'AppUser:'; 이를 "AppBundleEntityAppUser:"로 변경하려면:"
->瞞子鱼
2. 테이블 구조 파일을 다음 위치에 복사합니다. : AppBundleResourcesconfigdoctrine
 php bin/콘솔 교리: generate:entities AppBundle/Entity/ --path src/
 인스턴스 단일 테이블 구조(SiteChannel)
 php bin/콘솔 교리: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 로컬 마이그레이션):
데이터베이스 마이그레이션 시작: 작곡가 필수 교리/doctrine-migrations-bundle "^1.0"
데이터베이스에 대한 엔터티 업데이트
리소스-> ;Entity
(비교)
 php bin/콘솔 교리:migrations:diff
  (마이그레이션)
  php bin/콘솔 교리:migrations: migration
->窞子鱼

위 내용은 Symfony가 데이터베이스 테이블 엔터티를 생성하고 데이터베이스를 마이그레이션하는 방법에 대한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.