Files
roi-theme/wp-content/plugins/thrive-ultimatum/thrive-dashboard/inc/app-notification/classes/DbMigration.php
root a22573bf0b Commit inicial - WordPress Análisis de Precios Unitarios
- WordPress core y plugins
- Tema Twenty Twenty-Four configurado
- Plugin allow-unfiltered-html.php simplificado
- .gitignore configurado para excluir wp-config.php y uploads

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 21:04:30 -06:00

46 lines
1.4 KiB
PHP
Executable File

<?php
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
class TD_DbMigration {
static $tableName = 'td_app_notifications';
public static function migrate() {
global $wpdb;
$charsetCollate = $wpdb->get_charset_collate();
$table = $wpdb->prefix . static::$tableName;
if ( $wpdb->get_var("SHOW TABLES LIKE '$table'") != $table ) {
$sql = "CREATE TABLE $table (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`slug` varchar(255) NOT NULL,
`title` text NOT NULL,
`content` longtext NOT NULL,
`type` varchar(64) NOT NULL,
`level` text NOT NULL,
`notification_id` bigint(20) unsigned DEFAULT NULL,
`notification_name` varchar(255) DEFAULT NULL,
`start` datetime DEFAULT NULL,
`end` datetime DEFAULT NULL,
`button1_label` varchar(255) DEFAULT NULL,
`button1_action` varchar(255) DEFAULT NULL,
`button2_label` varchar(255) DEFAULT NULL,
`button2_action` varchar(255) DEFAULT NULL,
`dismissed` tinyint(1) NOT NULL DEFAULT 0,
`created` datetime NOT NULL,
`updated` datetime NOT NULL,
PRIMARY KEY (id),
KEY ian_dates (start, end),
KEY ian_type (type),
KEY ian_dismissed (dismissed)
) $charsetCollate;";
dbDelta($sql);
}
$index_exists = $wpdb->get_results("SHOW INDEX FROM $table WHERE Key_name = 'ian_slug'");
if ($index_exists) {
$wpdb->query("ALTER TABLE $table DROP INDEX ian_slug");
}
}
}