Не удалось найти исходную таблицу 'props' в ОШИБКЕ базы данных во время инициализации платформы - PullRequest
0 голосов
/ 13 декабря 2018

Hybris: 6.6.0.12

mySQL: 5.6.42

MySQL DB Driver: 5.1.44

При инициализации на моем локальном компьютере появляется ошибка «Не удается найти исходную таблицу 'props' в базе данных" ».Я попытался удалить схему БД, создать новую и выполнить инициализацию платформы, но происходит та же ошибка.

Журналы ниже:

     [java] shutting down hybris registry..
     [java] Exception in thread "main" java.lang.reflect.InvocationTargetException
     [java]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     [java]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
     [java]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     [java]     at java.lang.reflect.Method.invoke(Method.java:498)
     [java]     at de.hybris.bootstrap.loader.Loader.execute(Loader.java:142)
     [java]     at de.hybris.bootstrap.loader.Loader.main(Loader.java:118)
     [java] Caused by: java.lang.IllegalArgumentException: Can't find source table 'props' in database.
     [java]     at de.hybris.bootstrap.ddl.tools.TablesStructureCopier.requireValidTablesMapping(TablesStructureCopier.java:52)
     [java]     at de.hybris.bootstrap.ddl.tools.TablesStructureCopier.getCopyStatements(TablesStructureCopier.java:36)
     [java]     at de.hybris.bootstrap.ddl.tools.MigrateTypeSystemProps.createTypeSystemPropsTable(MigrateTypeSystemProps.java:67)
     [java]     at de.hybris.bootstrap.ddl.tools.MigrateTypeSystemProps.getStatementsToExecute(MigrateTypeSystemProps.java:57)
     [java]     at de.hybris.bootstrap.ddl.tools.TypeSystemHelper.assureTypeSystemStructureIsUpToDate(TypeSystemHelper.java:123)
     [java]     at de.hybris.platform.core.AbstractTenant.assureTypeSystemStructureIsUpToDate(AbstractTenant.java:827)
     [java]     at de.hybris.platform.core.AbstractTenant.doStartupSafe(AbstractTenant.java:735)
     [java]     at de.hybris.platform.core.AbstractTenant.doStartUp(AbstractTenant.java:683)
     [java]     at de.hybris.platform.core.Registry.assureTenantStarted(Registry.java:657)
     [java]     at de.hybris.platform.core.Registry.activateTenant(Registry.java:718)
     [java]     at de.hybris.platform.core.Registry.setCurrentTenant(Registry.java:565)
     [java]     at de.hybris.platform.core.Registry.activateMasterTenantForInit(Registry.java:634)
     [java]     at de.hybris.platform.util.ClientExecuter.execute(ClientExecuter.java:39)
     [java]     ... 6 more
     [java] INFO  [Thread-0] [HybrisContextFactory] Loading <<global>> spring config from extension (core) located in (global-core-spring.xml,core-cache.xml,global-servicelayer-spring.xml,global-core-jmx-spring.xml,global-statistics-spring.xml) took: (398.7 ms)
     [java] INFO  [Thread-0] [HybrisContextFactory] Loading <<global>> spring config from extension (solrfacetsearch) located in (global-solrfacetsearch-spring.xml) took: (53.91 ms)
     [java] INFO  [Thread-0] [HybrisContextFactory] Loading <<global>> spring config from extension (cockpit) located in (global-cockpit-spring.xml) took: (38.67 ms)
     [java] INFO  [Thread-0] [HybrisContextFactory] - Refreshing SpringContext (Global context) took: (556.6 ms)
     [java] INFO  [Thread-0] [HybrisContextFactory] Initializing <<global>> Spring ApplicationContext took: (2.072 s)
     [java] error notifying tenant listener : ListableBeanFactory must not be null
     [java] java.lang.IllegalArgumentException: ListableBeanFactory must not be null
     [java]     at org.springframework.util.Assert.notNull(Assert.java:134)
     [java]     at org.springframework.beans.factory.BeanFactoryUtils.beansOfTypeIncludingAncestors(BeanFactoryUtils.java:287)
     [java]     at de.hybris.platform.jmx.MBeanRegisterUtilities.refreshMBeans(MBeanRegisterUtilities.java:157)
     [java]     at de.hybris.platform.jmx.MBeanRegisterUtilities.getRegisteredBeans(MBeanRegisterUtilities.java:134)
     [java]     at de.hybris.platform.core.JMXBeanLoader.beforeTenantShutDown(JMXBeanLoader.java:116)
     [java]     at de.hybris.platform.core.AbstractTenant.notifyTenantListenersBeforeShutdown(AbstractTenant.java:1266)
     [java]     at de.hybris.platform.core.AbstractTenant.doShutdown(AbstractTenant.java:947)
     [java]     at de.hybris.platform.core.AbstractTenant.doShutDown(AbstractTenant.java:908)
     [java]     at de.hybris.platform.core.Registry.destroy(Registry.java:330)
     [java]     at de.hybris.platform.util.RedeployUtilities.shutdown(RedeployUtilities.java:75)
     [java]     at de.hybris.platform.util.RedeployUtilities$1.internalRun(RedeployUtilities.java:39)
     [java]     at de.hybris.platform.core.threadregistry.RegistrableThread.run(RegistrableThread.java:135)
     [java] INFO  [Thread-0] [EHCacheRegion] EHCacheRegion entityCacheRegion, eviction policy FIFO, size 200000
     [java] INFO  [Thread-0] [EHCacheRegion] EHCacheRegion queryCacheRegion, eviction policy FIFO, size 40000
     [java] INFO  [Thread-0] [EHCacheRegion] EHCacheRegion sessionCacheRegion, eviction policy LRU, size 50000
     [java] INFO  [Thread-0] [DefaultCacheController] Regioncache initialized with region count 7
     [java] INFO  [Thread-0] [DefaultCacheController] Cache region: Name: typesystemCacheRegion, size: 0, types: [81, 82, 83, 84, 87], statistics: true, class: class de.hybris.platform.regioncache.region.impl.UnlimitedCacheRegion
     [java] INFO  [Thread-0] [DefaultCacheController] Cache region: Name: entityCacheRegion, size: 200000, types: [__ALL_TYPES__, __NO_QUERY__], exclusive computation: false, statistics: true, class: class de.hybris.platform.regioncache.region.impl.EHCacheRegion
     [java] INFO  [Thread-0] [DefaultCacheController] Cache region: Name: queryCacheRegion, size: 40000, types: [__QUERY_CACHE__], exclusive computation: false, statistics: true, class: class de.hybris.platform.regioncache.region.impl.EHCacheRegion
     [java] INFO  [Thread-0] [DefaultCacheController] Cache region: Name: mediaCacheRegion, size: 0, types: [__MEDIA__cache], statistics: true, class: class de.hybris.platform.media.storage.impl.MediaCacheRegion
     [java] INFO  [Thread-0] [DefaultCacheController] Cache region: Name: scriptsCacheRegion, size: 0, types: [__SCRIPT__], statistics: true, class: class de.hybris.platform.scripting.engine.internal.cache.impl.ScriptsCacheRegion
     [java] INFO  [Thread-0] [DefaultCacheController] Cache region: Name: sessionCacheRegion, size: 50000, types: [__SESSION__], exclusive computation: false, statistics: true, class: class de.hybris.platform.regioncache.region.impl.EHCacheRegion
     [java] INFO  [Thread-0] [DefaultCacheController] Cache region: Name: facetSearchConfigCacheRegion, size: 0, types: [__FACET_SEARCH_CONFIG__], statistics: true, class: class de.hybris.platform.solrfacetsearch.config.cache.impl.FacetSearchConfigCacheRegion
     [java] INFO  [Thread-0] [DefaultCacheController] Registered Listener RegionCacheAdapter(1206648899) - <<master>> on cache controller. Currently registered 1
     [java] WARN  [Thread-0] [RegionCacheAdapter] Check licence skipped since system is already shutting down
     [java] INFO  [Thread-0] [DefaultCacheController] Removed listener from cache controller. Currently registered 0
     [java] INFO  [Thread-0] [DefaultClusterNodeManagementService] Unregistering assigned cluster node id 0...

BUILD FAILED
C:\HY66_12\hybris\bin\platform\build.xml:123: The following error occurred while executing this line:
C:\HY66_12\hybris\bin\platform\resources\ant\antmacros.xml:1026: The following error occurred while executing this line:
C:\HY66_12\hybris\bin\platform\resources\ant\platformadministration.xml:51: The following error occurred while executing this line:
C:\HY66_12\hybris\bin\platform\resources\ant\antmacros.xml:883: Java returned: 1

Ответы [ 2 ]

0 голосов
/ 04 февраля 2019

Для этого есть обходной путь.Вы можете выполнить:

ant initialize -DdryRun=true

, а затем взять вывод из: $HYBRIS_HOME/hybris/temp/hybris/init_master_schema.sql, использовать его для создания правильной схемы базы данных вручную, а затем попытаться снова запустить

ant initialize

.При наличии соответствующих таблиц он больше не должен жаловаться на таблицу «props».

РЕДАКТИРОВАТЬ: Также в local.properties есть свойство для отключения инициализации системы:

# Prevent init
system.unlocking.disabled=true

Пожалуйста, убедитесь, что эта строка либо закомментирована, либо удалена, либо установлено значение false.

0 голосов
/ 13 декабря 2018

Проблема временно исправлена.Я говорю «временно», потому что я еще не нашел основную причину.

Дополнительный фон: Мы переходим на Hybris 6.6 (из Hybris 5.7), и я использовал ту же самую локальнуюСвойства от Hybris 5.7.Когда я использовал local.properties моего коллеги, инициализация платформы прошла успешно.Итак, я предполагаю, что может быть свойство из моих старых local.properties, которое вызвало проблему "реквизита".

У меня нет времени проверять сейчас, но я рассмотрю это позже.(и надеюсь также обновить этот ответ)

...