Advertisement
Guest User

Untitled

a guest
Apr 8th, 2020
422
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 3.04 KB | None | 0 0
  1. CREATE TABLE `wpDusers` (
  2.   `ID` bigint(20) UNSIGNED NOT NULL,
  3.   `user_email` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ''
  4. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
  5.  
  6. CREATE TABLE `wpDusermeta` (
  7.   `umeta_id` bigint(20) UNSIGNED NOT NULL,
  8.   `user_id` bigint(20) UNSIGNED NOT NULL DEFAULT '0',
  9.   `meta_key` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  10.   `meta_value` longtext COLLATE utf8mb4_unicode_ci
  11. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
  12.  
  13. CREATE TABLE `ST_users` (
  14.   `wpid` int(11) NOT NULL,
  15.   `email` varchar(100) NOT NULL,
  16.   `wp_role` varchar(100) NOT NULL,
  17.   `role` varchar(100) AS (MID(`wp_role`, LOCATE('"', `wp_role`)+1, LOCATE('"', MID(`wp_role`, LOCATE('"', `wp_role`)+1 , 50))-1)) PERSISTENT,
  18.   `role_id` int(11) DEFAULT '1'
  19. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  20.  
  21. ALTER TABLE `ST_users`
  22. ADD PRIMARY KEY (`wpid`),
  23. ADD KEY `wpid` (`wpid`);
  24. ALTER TABLE `ST_users`
  25. MODIFY `wpid` int(11) NOT NULL AUTO_INCREMENT;
  26.  
  27. ALTER TABLE `ST_users`
  28.   MODIFY `wpid` int(11) NOT NULL AUTO_INCREMENT;
  29.  
  30. ALTER TABLE `wpDusers`
  31. ADD PRIMARY KEY (`ID`),
  32. ADD KEY `user_email` (`user_email`);
  33. ALTER TABLE `wpDusers`
  34. MODIFY `ID` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;
  35.  
  36. ALTER TABLE `wpDusers`
  37.   MODIFY `ID` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;
  38.  
  39. ALTER TABLE `wpDusermeta`
  40. ADD PRIMARY KEY (`umeta_id`),
  41. ADD KEY `user_id` (`user_id`),
  42. ADD KEY `meta_key` (`meta_key`(191));
  43. ALTER TABLE `wpDusermeta`
  44. MODIFY `umeta_id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;
  45.  
  46. ALTER TABLE `wpDusermeta`
  47.   MODIFY `umeta_id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;
  48.  
  49. -- TRIGGER
  50.  
  51. DELIMITER $$
  52. CREATE TRIGGER `ST_copy_users_v2` AFTER INSERT ON `wpDusers` FOR EACH ROW BEGIN
  53.  
  54. DECLARE id_i int(11);
  55. DECLARE email_i varchar(100);
  56. DECLARE role_i varchar(100);
  57.  
  58. SELECT NEW.ID, NEW.user_email,
  59. wpDusermeta.meta_value into id_i, email_i, role_i
  60. FROM wpDusers
  61. INNER JOIN wpDusermeta ON wpDusers.ID = wpDusermeta.user_id
  62. WHERE wpDusermeta.meta_key = 'wpDcapabilities'
  63. order by wpDusers.ID desc limit 0 , 1;
  64.  
  65. INSERT INTO ST_users (wpid, email, wp_role) VALUES (id_i, email_i, role_i);
  66.  
  67. END
  68. $$
  69. DELIMITER ;
  70.  
  71. -- INSERT USERS
  72.  
  73. INSERT INTO wpdusers (ID, user_email) VALUES (1, 'email@email.com');
  74. INSERT INTO wpDusermeta (umeta_id, user_id, meta_key, meta_value)
  75. VALUES(1, 1, 'wpDcapabilities', '_{_administrator_}_');
  76.  
  77. INSERT INTO wpDusers (ID, user_email)
  78. VALUES(2, 'email2@email.com');
  79. INSERT INTO wpDusermeta (umeta_id, user_id, meta_key, meta_value)
  80. VALUES(2, 2, 'wpDcapabilities', '_{_student_}_');
  81.  
  82. INSERT INTO wpDusers (ID, user_email)
  83. VALUES(3, 'email2@email.com');
  84. INSERT INTO wpDusermeta (umeta_id, user_id, meta_key, meta_value)
  85. VALUES(3, 3, 'wpDcapabilities', '_{_pupil_}_');
  86.  
  87. -- Return Wordpress data
  88.  
  89. SELECT wpDusers.ID, wpDusers.user_email, wpDusermeta.meta_value
  90. FROM wpDusers
  91. INNER JOIN wpDusermeta ON wpDusers.ID = wpDusermeta.user_id
  92. WHERE wpDusermeta.meta_key = 'wpDcapabilities'
  93. order by wpDusers.ID desc limit 1;
  94.  
  95. -- Return ST data
  96.  
  97. SELECT * FROM ST_users
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement