¿Symfony Doctrine – Cómo usar este ORM?

¿Cómo usar Symfony Doctrine ORM?

En este artículo veremos cómo funciona doctrine el ORM que utiliza por defecto el framework symfony 5.

¿Cómo trabajar con doctrine en Symfony 5?

Primero tenemos que configurar el archivo .env ubicado en nameProject / .env , en este ejemplo lo haremos con mysql, pero puedes usar postgresql, sqlite o lo que prefieras, recuerda que las líneas que comienzan con # son partes comentadas del código.


	# In all environments, the following files are loaded if they exist,
	# the latter taking precedence over the former:
	#
	#  * .env                contains default values for the environment variables needed by the app
	#  * .env.local          uncommitted file with local overrides
	#  * .env.$APP_ENV       committed environment-specific defaults
	#  * .env.$APP_ENV.local uncommitted environment-specific overrides
	#
	# Real environment variables win over .env files.
	#
	# DO NOT DEFINE PRODUCTION SECRETS IN THIS FILE NOR IN ANY OTHER COMMITTED FILES.
	#
	# Run "composer dump-env prod" to compile .env files for production use (requires symfony/flex >=1.2).
	# https://symfony.com/doc/current/best_practices.html#use-environment-variables-for-infrastructure-configuration

	###> symfony/framework-bundle ###
	APP_ENV=dev
	APP_SECRET=97d5bfbd4870e52b7fcfb210725a567e
	###< symfony/framework-bundle ### ###> symfony/mailer ###
	# MAILER_DSN=smtp://localhost
	###< symfony/mailer ### ###> doctrine/doctrine-bundle ###
	# Format described at https://www.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#connecting-using-a-url
	# IMPORTANT: You MUST configure your server version, either here or in config/packages/doctrine.yaml
	#
	# DATABASE_URL="sqlite:///%kernel.project_dir%/var/data.db"
	# DATABASE_URL="mysql://db_user:db_password@127.0.0.1:3306/db_name?serverVersion=5.7"
	# We are interested in this line to connect to mysql
	  DATABASE_URL="mysql://root:123@127.0.0.1:3306/name_db?serverVersion=5.7"
	# DATABASE_URL="postgresql://db_user:db_password@127.0.0.1:5432/db_name?serverVersion=13&charset=utf8"
	###< doctrine/doctrine-bundle ###
		

Luego ejecutamos el siguiente comando, en una terminal, en la raíz del proyecto, ejemplo cd / nameProject , ahora crearíamos una base de datos, para nuestro ejemplo se llamaría name_db .


	php bin/console doctrine:database:create
		

¿Cómo eliminar base de datos con doctrine?

Ahora, si quisiéramos eliminar esta base de datos, podemos hacer lo siguiente y eliminaríamos la base de datos.


	php bin/console doctrine:database:drop --force
		

Si buscas como trabajar con data de prueba lee el siguiente articulo,  y estas son algunas de las muchas cosas que podemos hacer con doctrine orm .