Php Wordpress插件:检查表是否存在,创建表并插入大量数据
我目前有一个wordpress插件,它工作得很好,但现在我面临的问题是确保它可以部署在任何服务器实例上。基本上,我正试图让插件创建我需要的表,并在激活插件时自动插入大量数据(11k+行)。我已经导出了包含所有表(3.8MB)的sql文件 下面是我计划实现和定制的代码,但我不确定如何引用SQL文件,以及如何创建5个单独的表来插入所有数据Php Wordpress插件:检查表是否存在,创建表并插入大量数据,php,mysql,wordpress,Php,Mysql,Wordpress,我目前有一个wordpress插件,它工作得很好,但现在我面临的问题是确保它可以部署在任何服务器实例上。基本上,我正试图让插件创建我需要的表,并在激活插件时自动插入大量数据(11k+行)。我已经导出了包含所有表(3.8MB)的sql文件 下面是我计划实现和定制的代码,但我不确定如何引用SQL文件,以及如何创建5个单独的表来插入所有数据 //action hook for plugin activation register_activation_hook( __FILE__, 'callback
//action hook for plugin activation
register_activation_hook( __FILE__, 'callback_plugin' );
//callback function
function callback_plugin(){
global $wpdb;
$table_name = $wpdb->prefix . "your-table-name";
if($wpdb->get_var("SHOW TABLES LIKE '$table_name'") != $table_name) {
$sql = "CREATE TABLE $table_name (
id int NOT NULL AUTO_INCREMENT,
name tinytext NOT NULL
);";
//reference to upgrade.php file
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
dbDelta( $sql );
}
}
非常感谢您的任何帮助 取决于您是在自己的服务器上部署,还是在未知服务器上部署 在一次运行中需要执行大量SQL操作。我会考虑把它构建成一个队列系统,并通过一个基于Ajax的导入来运行,即:导入11000的行1或其他。例如,您可能会执行10行的批处理 所以有人激活了插件 将他们重定向到“安装屏幕”,并说“这可能需要几分钟” 点击安装按钮 jQuery现在循环遍历一个列表,一次添加10行(例如),然后在完成后显示一条消息 如果你在一家廉价的共享主机公司上尝试,你会有超时、部分数据导入等情况。。有点乱