Я хочу иметь таблицу категорий I18N. Я последовал примеру jobeet .
Схема и данные крепления приведены ниже.
./symfony doctrine:build --db --all-classes --and-migrate
./symfony doctrine:data-load data/fixtures/category.yml
Когда я запускаю эти команды, никакие данные не вставляются в базу данных, и в красном поле с ошибками отображается: SQLSTATE [23000]: нарушение ограничения целостности: 1062 Повторяющаяся запись '1-et' для ключа 'PRIMARY'
Запросы, выполняемые в задаче загрузки данных (записывается с помощью «mysqld --log = logfile»):
1 Query DELETE FROM my_category
2 Query START TRANSACTION
3 Query SELECT k.id AS k__id, k.position AS k__position FROM my_category k ORDER BY k.position desc LIMIT 1
4 Query INSERT INTO my_category (gender, position, created_at, updated_at) VALUES ('female', '1', '2011-01-14 12:33:05', '2011-01-14 12:33:05')
5 Query SELECT k.id AS k__id, k.lang AS k__lang, k.slug AS k__slug FROM my_category_translation k WHERE (k.slug LIKE 'name-value%' AND k.lang = 'et' AND k.name = 'Name value')
6 Query INSERT INTO my_category_translation (id, lang, name, seeking_label, seeking, slug) VALUES ('1', 'et', 'Name value', 'Label value', 'Value', 'name-value')
7 Query SELECT k.id AS k__id, k.lang AS k__lang, k.slug AS k__slug FROM my_category_translation k WHERE (k.slug LIKE '%' AND k.lang = 'et_EE' AND k.name IS NULL)
8 Query INSERT INTO my_category_translation (id, lang, slug) VALUES ('1', 'et_EE', '')
9 Query rollback
10 Quit
Когда я вручную запускаю эти команды в только что созданной базе данных. Запросы с 3 по 6 выше выполняются нормально и вставляют данные.
Запрос №. 7 не выводит данные и запрос №. 8 - неудачный. (Поскольку идентификатор 1 уже существует, вставлен на шаге 6).
Проблема должна быть в запросе №. 7. "k.lang = 'et_EE'" Я уверен, что это должно быть 'et'?
Почему запрос № 7 является необходимым, похоже на запрос №. 5 но без и / или испорченных значений?
Что я получил, или это ошибка?
schema.yml
myCategory:
actAs:
Timestampable: ~
Sortable: ~
I18n:
fields: [name, seeking_label, seeking]
actAs:
Sluggable:
fields: [name]
uniqueBy: [lang, name]
builder: [mySluggableTranslit, urlize]
columns:
name: { type: string(255), notnull: true }
gender: { type: string(6) }
seeking_label: { type: string(255) }
seeking: { type: string(255) }
Данные / приборы / category.yml
myCategory:
category-1:
gender: female
position: '1'
Translation:
et:
name: 'Name value'
seeking_label: 'Label value'
seeking: 'Value'