我正在为WordPress创建一个插件。这个插件需要将数据保存到数据库中。在我使用过的其他编程框架中,有一些叫做“数据库迁移”的系统。这些迁移是
ALTER TABLE或CREATE TABLE语句/脚本一个示例迁移系统拉勒维尔的。
WordPress是否有一个类似迁移的系统?如果没有,是否有一种规范的方法(通过特定的钩子、插件注册等)来打包新的数据库表和/或更改我的插件需要的现有WordPress表?
发布于 2016-09-24 01:16:41
令人惊讶的是没有。相反,您需要使用以下函数,只要插件被激活,它就会运行。
define( 'YOUR_PLUGIN_VERSION', '1.0.0' );
register_activation_hook( __FILE__, 'your_plugin_activation_function' );
function your_plugin_activation_function() {
// Do activation tasks here.
your_install_function();
your_upgrade_migration_function();
}运行安装脚本。
function your_install_function() {
// Set the current version of the plugin in the db.
update_option( 'your_plugin_version', YOUR_PLUGIN_VERSION );
}然后,对每个新版本进行比较,基本上执行数据库迁移,等等。
function your_upgrade_migration_function() {
// Using a version prior to 1.1.1
if ( version_compare( YOUR_PLUGIN_VERSION, '1.1.1', '<' ) ) {
// Do upgrade things unique for this version.
}
// Using a version prior to 1.2.0
if ( version_compare( YOUR_PLUGIN_VERSION, '1.2.0', '<' ) ) {
// Do upgrade things unique for this version.
}
}https://wordpress.stackexchange.com/questions/240403
复制相似问题