yii2 migrate -- Ошибка Can't write; duplicate key in table

При попытке применить миграцию для создания таблицы с внешним ключом (foreign key), возникает ошибка:

'SQLSTATE[23000]: Integrity constraint violation: 1022 Can't write; duplicate key in table '#sql-36f_c'
The SQL being executed was: ALTER TABLE `corrections` ADD CONSTRAINT `goodId` FOREIGN KEY (`goodId`) REFERENCES `goods` (`id`) ON DELETE CASCADE ON UPDATE CASCADE'

yii2 migrate -- Ошибка Cannot add foreign key constraint

При попытке применить миграцию для создания таблицы с внешним ключом (foreign key), возникает ошибка:

General error: 1215 Cannot add foreign key constraint
The SQL being executed was: ALTER TABLE `images` ADD CONSTRAINT `goodId` FOREIGN KEY (`goodId`) REFERENCES `goods` (`id`) ON DELETE CASCADE'

В моём случае это происходило по причине того, что поле, которое предлагалось сделать внешним ключом таблицы не совпадало по типу со связанным полем первичной таблицы.

yii2 Создание/удаление таблицы с внешним ключом (foreign key, миграция)

  1. Для начала прописываем в консоли команду для создания таблицы в базе данных с помощью миграции:
    ./yii migrate/create create_name_table

    Подробнее о миграциях здесь

joomla Модули Компоненты Плагины -- что это такое и какая разница

Скажем так:

  1. Расширение -- это то, что мы устанавливаем из каких то файлов, расширение может нести в себе коспоненты, модули и плагины
  2. Модуль -- может вмешивать во внешний вид страницы, что-то выводя в каком-то месте шаблона

joomla Unable to write entry .tar.gz

Если вы заливаете tar.gz -- то просто распакуйте его и упакуйте назад как zip. В Linux это можно сделать одной командой.

linux Конвертировать tar.gz в .ZIP архив -- команда терминала (для всех файлов в папке, bash)

Делаем так:

  1. Переходим в папку (лучше создать отдельную, чтобы ничего не удалилось) где лежит наш архив .tar.gz (или много таких архивов).
  2. Копипастим вот такую команду (копируем целиком и вставляем в терминал):
    for f in *.tar.gz;\
    do rm -rf ${f%.tar.gz} ;\
      mkdir ${f%.tar.gz} ;\
      tar -zxvf $f  -C ${f%.tar.gz}  ;\
      zip -r ${f%.tar.gz}.zip ${f%.tar.gz}  ;\
      rm -rf ${f%.tar.gz} ;\
    done

Как это работает

Как она работает (для каждого файла .tar.gz на уровне папки запуска -- bash скрипт, использующий цикл):

php-fpm Content Encoding Error -- ошибка. Исправление

php-fpm Content Encoding Error

Причина

проблема может быть в том, что ваш движок сжимает в gzip и это же делает ещё и сервер -- а надо что-бы кто-то один.

Поэтому, например, можно выключить в движке сжатие -- в джумле так:

public $gzip = '0';

Pages

Subscribe to fkn+antitotal RSS