Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

465
Visualizações
Las migraciones de Doctrine siempre generan una migración hacia arriba () y hacia abajo () vacía con el cambio de clasificación a 'utf8mb4_unicode_ci'

Cuando ejecuto php bin/console doctrine:migrations:diff siempre obtengo la siguiente migración recién generada:

 <?php declare(strict_types=1); namespace DoctrineMigrations; use Doctrine\DBAL\Schema\Schema; use Doctrine\Migrations\AbstractMigration; final class Version20220221174647 extends AbstractMigration { public function getDescription(): string { return ''; } public function up(Schema $schema): void { } public function down(Schema $schema): void { // example with one table but migration generates this for all varchar column, in all tables $this->addSql('ALTER TABLE address CHANGE company_name company_name VARCHAR(100) DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, CHANGE address_line1 address_line1 VARCHAR(100) DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, CHANGE zip_code zip_code VARCHAR(10) DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, CHANGE city city VARCHAR(50) DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, CHANGE country country VARCHAR(50) DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, CHANGE tax_identifier tax_identifier VARCHAR(255) DEFAULT NULL COLLATE `utf8mb4_unicode_ci`'); } }

Mi SHOW CREATE TABLE address

 CREATE TABLE `address` ( `id` int NOT NULL AUTO_INCREMENT, `company_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, `address_line1` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, `zip_code` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, `city` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, `country` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, `updated_at` datetime NOT NULL, `created_at` datetime NOT NULL, `tax_identifier` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=47 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci

SHOW VARIABLES LIKE 'character\_set\_%'; resultado:

Nombre de la variable Valor
conjunto_de_caracteres_cliente utf8mb4
conexión_juego_de_caracteres utf8mb4
conjunto_de_caracteres_base_de_datos utf8mb4
sistema_de_archivos_de_juego_de_caracteres binario
resultado_del_juego_de_caracteres utf8mb3
servidor_juego_de_caracteres utf8mb4
sistema_de_juego_de_caracteres utf8mb3

Y SELECT @@character_set_database, @@collation_database; resultado:

 @@character_set_database: utf8mb4 @@collation_database: utf8mb4_unicode_ci

También configuré la configuración de la doctrina en:

 doctrine: dbal: url: '%env(resolve:DATABASE_URL)%' charset: utf8mb4 default_table_options: charset: utf8mb4 collate: utf8mb4_unicode_ci
over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Seguro que es un bug. Estoy codificando una aplicación usando Symfony y empezó a pasar lo mismo entre las migraciones con las versiones 2022.02.08 y 2022.02.09.

Editar: revisando mi composer.json , entre estas dos versiones, actualicé PHP de 8.0 a 8.1 y Symfony de 5.4.* a 6.0.*. Todavía creo que es un error en Symfony...

over 4 years ago · Santiago Trujillo Relatório

0

Esto es un error. Se arreglará. Como solución alternativa, puede usar la solución propuesta en el problema de github DoctrineBundle/1468

 doctrine: dbal: url: '%env(resolve:DATABASE_URL)%' charset: utf8mb4 default_table_options: charset: utf8mb4 collate: utf8mb4_unicode_ci collation: utf8mb4_unicode_ci

Observe la collation adicional

PD: parece que ya hay un PR para abordar esto , por lo que es probable que en unos meses esta solución no sea necesaria con la versión actualizada. Sin embargo, confirmo que esto sucede con la doctrina-bundle@2.5.6

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda