在 symfony 迁移中添加插入查询 file:error

Adding insert query in symfony migration file:error

我需要在 migration 期间在 DATABASE 中插入静态数据。所以在我的迁移文件中我添加了一个插入查询,但不幸的是这给出了错误。在 mysql 控制台中正确地 sql 查询 运行。

$this->addSql('insert into  `Translations` values('fr', 
'{
  "footer_header": "Contactez-nous",
  "footer_address": "Tour Ariane 92088 La Défense",
  "footer_phone": "+33(1) 42 74 83 02",
  "footer_email": "marsh@marsh.com",
  "footer_website": "www.marsh.com",
  "footer_cookies": "Politique relative aux cookie",
  "footer_confidential": "Politique de confidentialité",
  "footer_utilise": "Conditions d’utilisation",
  "footer_link_tou": "https://www.marsh.com/fr/fr/terms-of-use.html",
  "footer_link_privacy": "https://www.marsh.com/fr/fr/privacy-notice.html",
  "footer_link_cookies": "https://www.marsh.com/fr/fr/cookie-notice.html",
  "marketing_contact": "Contact",
  "marketing_address": "Tour Ariane 92088 La Défense",
  "marketing_phone": "+33(1) 42 74 83 02",
  "marketing_email": "marsh@marsh.com",
  "price_lab": "Compte tenu des informations complétées précemment, votre prime s''élève à",
  "price_lab1": "HT",
  "price_lab2": "Taxes",
  "price_lab3": "TTC",
  "price_lab4": "Frais de gestion",
  "price_lab5": "Montant total de votre prime",
  "signature_heading": "Veuillez remplir les informations ci-dessous afin de signer électroniquement votre document :",
  "signature_name1_lab": "<div>Prénom</div>",
  "signature_name1": "Prénom",
  "signature_name2_lab": "<div>Nom</div>",
  "signature_name2": "Nom",
  "signature_phone_lab": "<div>Numéro de téléphone</div>",
  "signature_phone": "Format attendu : +33658968956",
  "signature_otp": "Nous vous avons envoyé votre code, merci de le renseigner ci-dessous.",
  "payment_gateway": "Pour vous permettre de procéder au règlement en ligne par carte bancaire de votre cotisation d’assurance en toute sérénité, MARSH a choisi la solution proposée par son partenaire bancaire : la Société Générale. Le paiement s’effectuant sur un serveur totalement sécurisé, aucune information ne transite par notre site https://connexion.marsh.com. Les échanges se déroulant en mode SSL (Secure Sockets Layer), norme de sécurité de transfert, l’ensemble des données sont cryptées afin d’empêcher leur lecture ou leur interception par des tiers. Ce protocole permet d’établir une connexion sécurisée sur Internet, afin d’exclure toute fraude. Le cadenas placé en barre d’adresse de votre écran témoigne de la sécurisation de la connexion ».",
  "payment_button": "Traiter le paiement",
  "final_page": "Votre demande est bien enregistrée. Nos équipes vont étudier votre dossier et reviendront vers vous par email rapidement. Si vous avez des questions, nous vous invitons à adresser un email à ",
  "final_file_name": "Votre document signé",
  "zipFile_Name": "Fichiers attachés"
}')');

我在执行时出现以下错误。

问题是因为',你需要像这样转义它:

$this->addSql('insert into  `Translations` values(\'fr\', \'{
  "footer_header": "Contactez-nous",
  "footer_address": "Tour Ariane 92088 La Défense",
  "footer_phone": "+33(1) 42 74 83 02",
  "footer_email": "marsh@marsh.com",
  "footer_website": "www.marsh.com",
  "footer_cookies": "Politique relative aux cookie",
  "footer_confidential": "Politique de confidentialité",
  "footer_utilise": "Conditions d’utilisation",
  "footer_link_tou": "https://www.marsh.com/fr/fr/terms-of-use.html",
  "footer_link_privacy": "https://www.marsh.com/fr/fr/privacy-notice.html",
  "footer_link_cookies": "https://www.marsh.com/fr/fr/cookie-notice.html",
  "marketing_contact": "Contact",
  "marketing_address": "Tour Ariane 92088 La Défense",
  "marketing_phone": "+33(1) 42 74 83 02",
  "marketing_email": "marsh@marsh.com",
  "price_lab": "Compte tenu des informations complétées précemment, votre prime s élève à",
  "price_lab1": "HT",
  "price_lab2": "Taxes",
  "price_lab3": "TTC",
  "price_lab4": "Frais de gestion",
  "price_lab5": "Montant total de votre prime",
  "signature_heading": "Veuillez remplir les informations ci-dessous afin de signer électroniquement votre document :",
  "signature_name1_lab": "<div>Prénom</div>",
  "signature_name1": "Prénom",
  "signature_name2_lab": "<div>Nom</div>",
  "signature_name2": "Nom",
  "signature_phone_lab": "<div>Numéro de téléphone</div>",
  "signature_phone": "Format attendu : +33658968956",
  "signature_otp": "Nous vous avons envoyé votre code, merci de le renseigner ci-dessous.",
  "payment_gateway": "Pour vous permettre de procéder au règlement en ligne par carte bancaire de votre cotisation d’assurance en toute sérénité, MARSH a choisi la solution proposée par son partenaire bancaire : la Société Générale. Le paiement s’effectuant sur un serveur totalement sécurisé, aucune information ne transite par notre site https://connexion.marsh.com. Les échanges se déroulant en mode SSL (Secure Sockets Layer), norme de sécurité de transfert, l’ensemble des données sont cryptées afin d’empêcher leur lecture ou leur interception par des tiers. Ce protocole permet d’établir une connexion sécurisée sur Internet, afin d’exclure toute fraude. Le cadenas placé en barre d’adresse de votre écran témoigne de la sécurisation de la connexion ».",
  "payment_button": "Traiter le paiement",
  "final_page": "Votre demande est bien enregistrée. Nos équipes vont étudier votre dossier et reviendront vers vous par email rapidement. Si vous avez des questions, nous vous invitons à adresser un email à ",
  "final_file_name": "Votre document signé",
  "zipFile_Name": "Fichiers attachés"
}\')');