Advertisement
Guest User

Untitled

a guest
Jul 30th, 2015
239
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.28 KB | None | 0 0
  1. #
  2. # Atualização do banco de dados necessária para a feature/GC-214
  3. #
  4.  
  5. drop database if exists test;
  6. create database test;
  7. use test;
  8. create table result (
  9. queries varchar(255) default ''
  10. );
  11. drop procedure if exists update_databases;
  12.  
  13. delimiter //
  14.  
  15. create procedure update_databases()
  16. begin
  17. declare database_name char(255);
  18. declare done_cursor_databases int default 0;
  19. declare done_update_cursor_databases int default 0;
  20. declare cursor_databases cursor for select schema_name from information_schema.schemata group by schema_name;
  21. declare continue handler for not found set done_cursor_databases = 1;
  22. -- declare continue handler for sqlstate '42S21' SET @x = 1;
  23. -- declare continue handler for sqlstate '42000' SET @x = 1;
  24.  
  25. open cursor_databases;
  26.  
  27. filter_cursor: loop
  28. fetch cursor_databases into database_name;
  29.  
  30. if done_cursor_databases then
  31. leave filter_cursor;
  32. end if;
  33.  
  34. if substr(database_name, 1, 7) = 'g3nesis' and database_name <> 'g3nesis_v2' then
  35. set @database_name = database_name;
  36.  
  37. set @sql_query = concat('DROP TABLE IF EXISTS ', @database_name, '.g3n_email_templates;');
  38. prepare delete_template from @sql_query;
  39. execute delete_template;
  40. deallocate prepare delete_template;
  41.  
  42. set @sql_query = concat(
  43. 'CREATE TABLE IF NOT EXISTS ', @database_name, '.g3n_email_templates (',
  44. '`id` int(11) NOT NULL AUTO_INCREMENT,',
  45. '`name` varchar(255) NOT NULL,',
  46. '`subject` varchar(255) NOT NULL,',
  47. '`html` text NOT NULL,',
  48. '`email_variable` varchar(15) DEFAULT NULL,',
  49. '`json` text NOT NULL,',
  50. '`deleted` int(1) NOT NULL DEFAULT 0,',
  51. '`created_at` datetime default CURRENT_TIMESTAMP,',
  52. '`last_update` datetime default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,',
  53. 'PRIMARY KEY (`id`),',
  54. 'UNIQUE KEY(`name`)',
  55. ') ENGINE=InnoDB;'
  56. );
  57. insert into test.result (queries) value (@sql_query);
  58. prepare create_template from @sql_query;
  59. execute create_template;
  60. deallocate prepare create_template;
  61. end if;
  62. end loop;
  63.  
  64. close cursor_databases;
  65. end;
  66. //
  67.  
  68. delimiter ;
  69. call test.update_databases;
  70. select * from test.result;
  71. drop procedure if exists update_databases;
  72. drop database test;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement