Advertisement
matteraf

Migrating from on-prem to RDS/Aurora: to be or not to be, DEFINERS is the question

Jul 17th, 2023 (edited)
354
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 1.48 KB | None | 0 0
  1. create schema migration;
  2.  
  3. use migration;
  4.  
  5. CREATE TABLE persons (
  6.   PersonID int(11) NOT NULL,
  7.   LastName varchar(255) DEFAULT NULL,
  8.   FirstName varchar(255) DEFAULT NULL,
  9.   Address varchar(255) DEFAULT NULL,
  10.   City varchar(255) DEFAULT NULL,
  11.   PRIMARY KEY (PersonID)
  12. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
  13.  
  14.  
  15. insert into persons values (1,'Joey','Koz','USA','N. Carolina');
  16. insert into persons values (2,'Wally','G','ARG','MZA');
  17. insert into persons values (3,'Fer','Matt','ARG','QUI');
  18. insert into persons values (4,'Jake','Davis','USA','Kansas');
  19. insert into persons values (5,'Alok','Pathak','IND','Delhi');
  20.  
  21. CREATE TABLE `persons_audit` (
  22.   `PersonID` int NOT NULL,
  23.   `LastName` varchar(255) DEFAULT NULL,
  24.   `FirstName` varchar(255) DEFAULT NULL,
  25.   `Address` varchar(255) DEFAULT NULL,
  26.   `City` varchar(255) DEFAULT NULL,
  27.   `changedat` datetime DEFAULT NULL,
  28.   PRIMARY KEY (`PersonID`)
  29. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
  30.  
  31.  
  32. DELIMITER $$
  33. CREATE function func_cube (num INT)
  34. returns INT
  35. DETERMINISTIC
  36. begin
  37.   DECLARE totalcube INT;
  38.  
  39.   SET totalcube = num * num * num;
  40.  
  41.   RETURN totalcube;
  42. end $$
  43.  
  44. DELIMITER ;
  45.  
  46. create view v_persons as select PersonID, LastName, FirstName from persons;
  47.  
  48. CREATE TRIGGER `before_persons_update` BEFORE UPDATE ON `persons` FOR EACH ROW
  49. INSERT INTO persons_audit
  50.  SET PersonID = OLD.PersonID,
  51.      LastName = OLD.LastName,
  52.      City     = OLD.City,
  53.      changedat = NOW();
  54. $$
  55.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement