gpt4 book ai didi

php - Wordpress 插件 : Check if table exists, 创建表并插入大量数据

转载 作者:行者123 更新时间:2023-11-29 05:23:14 25 4
gpt4 key购买 nike

我目前有一个运行良好的 wordpress 插件,但现在面临着确保它可以跨任何服务器实例部署的问题。基本上我正在努力做到这一点,以便插件将创建我需要的表以及在激活插件时自动插入大量数据(11k+ 行)。我有包含所有表的导出 sql 文件 (3.8MB)。

我计划实现和自定义的代码如下,但我不确定如何引用 SQL 文件,以及如何创建 5 个单独的表以及插入所有数据。

//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 的导入运行,即:导入 11,000 行的第 1 行或其他内容。例如,您可能会批量处理 10 行。

所以有人激活了插件。

将他们重定向到“安装屏幕”并说“这可能需要几分钟”

点击安装按钮

jQuery 现在循环遍历列表并执行 admin-ajax 一次添加 10(例如)行,然后在完成后显示一条消息。

如果您在便宜的共享托管公司尝试此操作,您会遇到超时、导入部分数据等问题。有点乱!

关于php - Wordpress 插件 : Check if table exists, 创建表并插入大量数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23161056/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com