Hallo zusammen,
bei der Plugin Entwicklung möchte ich mein DB-Schema aktualisieren, falls die Tabelle bereits existiert.
Dazu habe ich folgende Code in meiner install-Methode:
$tool = new SchemaTool($this->container->get('models'));
$classes = [
   $this->container->get('models')->getClassMetadata(FfbSupplier::class)
];
$tool->updateSchema($classes);
Nach dem Aufruf von updateSchema sind alle Tabellen bis auf die Plugin Tabelle weg.
Die Methode updateSchemaSql
    /**
     * Updates the database schema of the given classes by comparing the ClassMetadata
     * instances to the current database schema that is inspected. If $saveMode is set
     * to true the command is executed in the Database, else SQL is returned.
     *
     * @param array $classes
     * @param boolean $saveMode
     *
     * @return void
     */
    public function updateSchema(array $classes, $saveMode = false)
    {
        $updateSchemaSql = $this->getUpdateSchemaSql($classes, $saveMode);
        var_dump($updateSchemaSql);die();
gibt mir ein Array mit 290 Einträgen zurück.
Hier ein Auschnitt, man sieht die Drop Table Befehle drin:
array(290) {
  string(28) "DROP TABLE s_core_subscribes"
  [183]=>
  string(21) "DROP TABLE s_core_tax"
  [184]=>
  string(27) "DROP TABLE s_core_tax_rules"
  [185]=>
  string(27) "DROP TABLE s_core_templates"
  [186]=>
  string(43) "DROP TABLE s_core_templates_config_elements"
  [187]=>
  string(41) "DROP TABLE s_core_templates_config_layout"
  [188]=>
  string(38) "DROP TABLE s_core_templates_config_set"
  [189]=>
  string(41) "DROP TABLE s_core_templates_config_values"
  [190]=>
  string(32) "DROP TABLE s_core_theme_settings"
  [191]=>
  string(30) "DROP TABLE s_core_translations"
  [192]=>
  string(23) "DROP TABLE s_core_units"
  [193]=>
  string(30) "DROP TABLE s_core_widget_views"
  [194]=>
  string(25) "DROP TABLE s_core_widgets"
  [195]=>
  string(20) "DROP TABLE s_crontab"
  [196]=>
  string(31) "DROP TABLE s_emarketing_banners"
  [197]=>
  string(42) "DROP TABLE s_emarketing_banners_attributes"
  [198]=>
  string(42) "DROP TABLE s_emarketing_banners_statistics"
  [199]=>
  string(36) "DROP TABLE s_emarketing_lastarticles"
  [200]=>
  string(31) "DROP TABLE s_emarketing_partner"
  [201]=>
  string(42) "DROP TABLE s_emarketing_partner_attributes"
  [202]=>
  string(31) "DROP TABLE s_emarketing_referer"
  [203]=>
  string(35) "DROP TABLE s_emarketing_tellafriend"
  [204]=>
  string(37) "DROP TABLE s_emarketing_voucher_codes"
  [205]=>
  string(32) "DROP TABLE s_emarketing_vouchers"
  [206]=>
  string(43) "DROP TABLE s_emarketing_vouchers_attributes"
  [207]=>
  string(20) "DROP TABLE s_emotion"
  [208]=>
  string(31) "DROP TABLE s_emotion_attributes"
  [209]=>
  string(31) "DROP TABLE s_emotion_categories"
  [210]=>
  string(28) "DROP TABLE s_emotion_element"
  [211]=>
  string(34) "DROP TABLE s_emotion_element_value"
  [212]=>
  string(38) "DROP TABLE s_emotion_element_viewports"
  [213]=>
  string(26) "DROP TABLE s_emotion_shops"
  [214]=>
  string(30) "DROP TABLE s_emotion_templates"
  [215]=>
  string(23) "DROP TABLE s_es_backlog"
  [216]=>
  string(19) "DROP TABLE s_export"
  [217]=>
  string(28) "DROP TABLE s_export_articles"
  [218]=>
  string(30) "DROP TABLE s_export_attributes"
  [219]=>
  string(30) "DROP TABLE s_export_categories"
  [220]=>
  string(29) "DROP TABLE s_export_suppliers"
  [221]=>
  string(19) "DROP TABLE s_filter"
  [222]=>
  string(28) "DROP TABLE s_filter_articles"
  [223]=>
  string(30) "DROP TABLE s_filter_attributes"
  [224]=>
  string(27) "DROP TABLE s_filter_options"
  [225]=>
  string(38) "DROP TABLE s_filter_options_attributes"
  [226]=>
  string(29) "DROP TABLE s_filter_relations"
  [227]=>
  string(26) "DROP TABLE s_filter_values"
  [228]=>
  string(37) "DROP TABLE s_filter_values_attributes"
  [229]=>
  string(30) "DROP TABLE s_library_component"
  [230]=>
  string(36) "DROP TABLE s_library_component_field"
  [231]=>
  string(18) "DROP TABLE s_media"
  [232]=>
  string(24) "DROP TABLE s_media_album"
  [233]=>
  string(33) "DROP TABLE s_media_album_settings"
  [234]=>
  string(30) "DROP TABLE s_media_association"
  [235]=>
  string(29) "DROP TABLE s_media_attributes"
  [236]=>
  string(30) "DROP TABLE s_multi_edit_backup"
  [237]=>
  string(30) "DROP TABLE s_multi_edit_filter"
  [238]=>
  string(29) "DROP TABLE s_multi_edit_queue"
  [239]=>
  string(38) "DROP TABLE s_multi_edit_queue_articles"
  [240]=>
  string(18) "DROP TABLE s_order"
  [241]=>
  string(29) "DROP TABLE s_order_attributes"
  [242]=>
  string(25) "DROP TABLE s_order_basket"
  [243]=>
  string(36) "DROP TABLE s_order_basket_attributes"
  [244]=>
  string(33) "DROP TABLE s_order_billingaddress"
  [245]=>
  string(44) "DROP TABLE s_order_billingaddress_attributes"
  [246]=>
  string(30) "DROP TABLE s_order_comparisons"
  [247]=>
  string(26) "DROP TABLE s_order_details"
  [248]=>
  string(37) "DROP TABLE s_order_details_attributes"
  [249]=>
  string(28) "DROP TABLE s_order_documents"
  [250]=>
  string(39) "DROP TABLE s_order_documents_attributes"
  [251]=>
  string(22) "DROP TABLE s_order_esd"
  [252]=>
  string(26) "DROP TABLE s_order_history"
  [253]=>
  string(24) "DROP TABLE s_order_notes"
  [254]=>
  string(25) "DROP TABLE s_order_number"
  [255]=>
  string(34) "DROP TABLE s_order_shippingaddress"
  [256]=>
  string(45) "DROP TABLE s_order_shippingaddress_attributes"
  [257]=>
  string(35) "DROP TABLE s_plugin_recommendations"
  [258]=>
  string(33) "DROP TABLE s_plugin_widgets_notes"
  [259]=>
  string(29) "DROP TABLE s_premium_dispatch"
  [260]=>
  string(40) "DROP TABLE s_premium_dispatch_attributes"
  [261]=>
  string(40) "DROP TABLE s_premium_dispatch_categories"
  [262]=>
  string(39) "DROP TABLE s_premium_dispatch_countries"
  [263]=>
  string(38) "DROP TABLE s_premium_dispatch_holidays"
  [264]=>
  string(42) "DROP TABLE s_premium_dispatch_paymentmeans"
  [265]=>
  string(29) "DROP TABLE s_premium_holidays"
  [266]=>
  string(34) "DROP TABLE s_premium_shippingcosts"
  [267]=>
  string(28) "DROP TABLE s_product_streams"
  [268]=>
  string(37) "DROP TABLE s_product_streams_articles"
  [269]=>
  string(39) "DROP TABLE s_product_streams_attributes"
  [270]=>
  string(38) "DROP TABLE s_product_streams_selection"
  [271]=>
  string(27) "DROP TABLE s_schema_version"
  [272]=>
  string(26) "DROP TABLE s_search_fields"
  [273]=>
  string(25) "DROP TABLE s_search_index"
  [274]=>
  string(28) "DROP TABLE s_search_keywords"
  [275]=>
  string(26) "DROP TABLE s_search_tables"
  [276]=>
  string(42) "DROP TABLE s_statistics_article_impression"
  [277]=>
  string(36) "DROP TABLE s_statistics_currentusers"
  [278]=>
  string(28) "DROP TABLE s_statistics_pool"
  [279]=>
  string(31) "DROP TABLE s_statistics_referer"
  [280]=>
  string(30) "DROP TABLE s_statistics_search"
  [281]=>
  string(32) "DROP TABLE s_statistics_visitors"
  [282]=>
  string(17) "DROP TABLE s_user"
  [283]=>
  string(27) "DROP TABLE s_user_addresses"
  [284]=>
  string(38) "DROP TABLE s_user_addresses_attributes"
  [285]=>
  string(28) "DROP TABLE s_user_attributes"
  [286]=>
  string(32) "DROP TABLE s_user_billingaddress"
  [287]=>
  string(43) "DROP TABLE s_user_billingaddress_attributes"
  [288]=>
  string(33) "DROP TABLE s_user_shippingaddress"
  [289]=>
  string(44) "DROP TABLE s_user_shippingaddress_attributes"
}
Ist es ein SW-Bug oder mache ich hier komplett etwas falsch?
