Init(Core): create and add project

This commit is contained in:
2026-05-02 01:58:10 +03:30
commit 4928901a08
14 changed files with 1022 additions and 0 deletions

58
database/migrations.php Normal file
View File

@@ -0,0 +1,58 @@
<?php
// Prevent direct access
if (!defined('ABSPATH')) {
exit;
}
/**
* Database migrations for Sodino plugin
*/
function sodino_create_tables() {
global $wpdb;
$charset_collate = $wpdb->get_charset_collate();
// Rules table
$rules_table = $wpdb->prefix . 'sodino_rules';
$rules_sql = "CREATE TABLE $rules_table (
id mediumint(9) NOT NULL AUTO_INCREMENT,
name varchar(255) NOT NULL,
conditions longtext NOT NULL,
actions longtext NOT NULL,
priority int(11) NOT NULL DEFAULT 10,
start_date datetime NULL,
end_date datetime NULL,
enabled tinyint(1) DEFAULT 1,
condition_type varchar(100) DEFAULT NULL,
condition_value varchar(255) DEFAULT NULL,
action_type varchar(100) DEFAULT NULL,
action_value varchar(255) DEFAULT NULL,
created_at datetime DEFAULT CURRENT_TIMESTAMP,
updated_at datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (id)
) $charset_collate;";
// Upsell table
$upsell_table = $wpdb->prefix . 'sodino_upsells';
$upsell_sql = "CREATE TABLE $upsell_table (
id mediumint(9) NOT NULL AUTO_INCREMENT,
name varchar(255) NOT NULL,
triggers longtext NOT NULL,
suggestions longtext NOT NULL,
discount_type varchar(50) DEFAULT 'percentage',
discount_value varchar(50) DEFAULT '0',
enabled tinyint(1) DEFAULT 1,
priority int(11) NOT NULL DEFAULT 10,
created_at datetime DEFAULT CURRENT_TIMESTAMP,
updated_at datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (id)
) $charset_collate;";
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
dbDelta($rules_sql);
dbDelta($upsell_sql);
// Add version option
add_option('sodino_db_version', '1.1');
}