我有以下问题。我有一个插件,这是巨大的,因为所有需要的数据。这些数据是世界上所有国家和城市的数据,也是一个最大的数据。mmdb数据库。
1-问题
目前,我在插件中打包了所有内容,这使得一个20mb的插件,这给上传大小有限的用户带来了问题,迫使他们解压缩并通过FTP手动上传整个插件。
2-使用以下代码加载我在激活时加载的所有城市的6个csv文件:
if ($wpdb->get_var( "SHOW TABLES LIKE \'{$city_table_name}\'") != $city_table_name) {
dbDelta( $city_table );
for ( $i = 1; $i <= 6; $i ++ ) {
$csv_file = dirname( __FILE__ ) . \'/data/cities\' . $i . \'.csv\';
$load_data = "LOAD DATA LOCAL INFILE \'{$csv_file}\' INTO TABLE `{$wpdb->base_prefix}geot_cities` CHARACTER SET UTF8 FIELDS TERMINATED BY \',\' ENCLOSED BY \'\\"\' ESCAPED BY \'\\\\\\\' LINES TERMINATED BY \'\\\\n\' ( `country_code` , `city`);";
$wpdb->query( $load_data );
}
}
这几乎适用于所有主机,但在其中一些主机(例如WPEngine)中失败。
可行的解决方案,所以我在想,也许要同时解决这两个问题,我可以将所有数据上传到我的亚马逊实例,一旦插件激活,用户只需单击一个按钮即可下载并安装所有数据。
问题是,使用WordPress功能这是可行的还是可行的,或者我将面临其他托管不兼容问题。有人有过使用这种东西的经验吗如果这是可行的,那么存储数据的最佳方式是什么?因为不是加载csv,我必须将其替换为某种插入数据查询,以使其更兼容我希望有人能对此有所了解。谢谢