akeneo-pim-system-info_2016-06-16_14-41.txt
Mungkin sama seperti di https://github.com/akeneo/pim-community-dev/issues/2644 (yang ditutup tanpa penjelasan)
Saat menambahkan nilai ke daya tarik produk melalui edit massal, pembuatan versi diperbarui dengan stempel waktu yang benar, tetapi stempel waktu yang diperbarui produk tidak.
Ini dapat diverifikasi dengan mengedit massal satu produk dan menjalankan php app/console --env=prod pim:product:query '[{"field":"updated","operator":">= WITH TIME","value":"YYYY-MM-DD HH:mm:ss"}]'
Ini berdampak besar pada beberapa profil ekspor yang menggunakan opsi EnhancedConnectors fromLastExecution
.
Catatan. MongoDB sedang digunakan -> Edit massal akan menggunakan \Pim\Bundle\CatalogBundle\Doctrine\MongoDBODM\Saver\ProductSaver::saveAll
Jadi, ini mungkin ada hubungannya dengan fakta bahwa \Pim\Bundle\CatalogBundle\EventSubscriber\TimestampableSubscriber
hanya mendengarkan acara Doctrines prePersist
dan preUpdate
. \Pim\Bundle\CatalogBundle\Doctrine\MongoDBODM\Saver\ProductSaver::saveAll
sekali tidak mengirimkan acara tersebut.
Setelah memeriksanya, tanggal dibuat di \Pim\Bundle\TransformBundle\Normalizer\MongoDB\ProductNormalizer::normalize
saat menjalankan saveAll
. Masih menjadi misteri mengapa EnhancedConnectors fromLastExecution
tidak memperhitungkan produk ini. Apakah ada kesalahan zona waktu yang tidak cocok di suatu tempat?
Tampaknya MondoDB normalizedData.updated
tidak diperbarui ...
Hai Matias,
Apa yang dimaksud dengan "Saat menambahkan nilai ke atribut produk"? Apakah Anda mencoba mengubah nilai produk yang umum? Saya mencoba mereproduksinya pada penginstalan baru tetapi bidang produk updated_at
telah diperbarui dengan baik.
Dalam info sistem Anda, tidak ada EnhancedConnectors
, normal?
Apa yang dimaksud dengan "Saat menambahkan nilai ke atribut produk"? Apakah Anda mencoba mengubah nilai produk yang umum? Saya mencoba mereproduksinya pada instalasi baru tetapi bidang produk updated_at telah diperbarui dengan baik.
Ya, ubah atribut mana saja sehingga produk tersebut ditandai untuk diubah, sehingga dipertahankan.
Di info sistem Anda, tidak ada EnhancedConnectors, normal?
Tidak relevan
Saat melakukan pengeditan massal (metode apa pun yang akan memanggil \Pim\Bundle\CatalogBundle\Doctrine\MongoDBODM\Saver\ProductSaver::saveAll
), berikut ini akan disebut \Pim\Bundle\TransformBundle\Normalizer\MongoDB\ProductNormalizer::normalize
Karena kita berada di cabang 1.4.x, lihatlah dengan baik bahwa nilai produk _updated_ diperbarui di sini
https://github.com/akeneo/pim-community-dev/blob/v1.4.25/src/Pim/Bundle/TransformBundle/Normalizer/MongoDB/ProductNormalizer.php#L87
Tetapi pertanyaan melalui penangan mongo ditargetkan terhadap produk normalizedData
dan itu tidak diperbarui dengan stempel waktu created
dan updated
(https://github.com/akeneo /pim-community-dev/blob/v1.4.25/src/Pim/Bundle/TransformBundle/Normalizer/MongoDB/ProductNormalizer.php#L99).
Sebagai solusinya, kami mendengarkan acara akeneo.storage.pre_save_all
dan memperbarui stempel waktu produk di sana.
Berhubungan / diduplikasi oleh # 5006
@ aRn0D ini bukan pertanyaan, ini bug; sesuai # 5006 berfungsi dalam mode ORM tetapi tidak di ODM
Naik.
Saya mereproduksi bug itu dalam contoh PIM kami.
Normalizer memperbarui bidang "root" yang diperbarui dengan cepat tetapi tidak memperbaruinya ke objek produk. Jadi, seperti yang dikatakan @mathewrapid :
Bidang produk diperbarui dan normalizedData.updated selalu tidak sinkron. NormalizedData terlambat satu langkah.
Saya pikir normalizer tidak perlu melakukan $data['updated'] = $this->mongoFactory->createMongoDate();
jika data disetel dalam model produk. Ini adalah normalizer, bukan pembaru.
Faktanya adalah bahwa produk harus diperbarui (bidang jadi diperbarui) sebelum normalisasi.
+1
Hai @mathewrapid , @jlestel , @bmarrot !
FYI, masalah ini (PIM-6038) telah diperbaiki di versi berikut,
Salam Hormat,
Imo. bisa ditutup. Opini?
Seperti yang ditunjukkan @nidup di https://github.com/akeneo/pim-community-dev/issues/4620#issuecomment -279428030, ini telah diperbaiki di PIM-6038.
Komentar yang paling membantu
Imo. bisa ditutup. Opini?