2424-- deletes all indices referring to TABLE.COLUMN
2525--
2626CREATE OR ALTER PROCEDURE usp_ebean_drop_indices @tableName nvarchar(255), @columnName nvarchar(255)
27- AS SET NOCOUNT ON
27+ AS
28+ -- play-ebean-start
29+ SET NOCOUNT ON
2830declare @sql nvarchar(1000)
2931declare @indexName nvarchar(255)
3032BEGIN
@@ -44,14 +46,17 @@ BEGIN
4446 CLOSE index_cursor;
4547 DEALLOCATE index_cursor;
4648END
49+ -- play-ebean-end
4750GO
4851
4952--
5053-- PROCEDURE: usp_ebean_drop_default_constraint TABLE, COLUMN
5154-- deletes the default constraint, which has a random name
5255--
5356CREATE OR ALTER PROCEDURE usp_ebean_drop_default_constraint @tableName nvarchar(255), @columnName nvarchar(255)
54- AS SET NOCOUNT ON
57+ AS
58+ -- play-ebean-start
59+ SET NOCOUNT ON
5560declare @tmp nvarchar(1000)
5661BEGIN
5762 select @tmp = t1.name from sys.default_constraints t1
@@ -60,14 +65,17 @@ BEGIN
6065
6166 if @tmp is not null EXEC('alter table [' + @tableName +'] drop constraint ' + @tmp);
6267END
68+ -- play-ebean-end
6369GO
6470
6571--
6672-- PROCEDURE: usp_ebean_drop_constraints TABLE, COLUMN
6773-- deletes constraints and foreign keys refering to TABLE.COLUMN
6874--
6975CREATE OR ALTER PROCEDURE usp_ebean_drop_constraints @tableName nvarchar(255), @columnName nvarchar(255)
70- AS SET NOCOUNT ON
76+ AS
77+ -- play-ebean-start
78+ SET NOCOUNT ON
7179declare @sql nvarchar(1000)
7280declare @constraintName nvarchar(255)
7381BEGIN
@@ -93,14 +101,17 @@ BEGIN
93101 CLOSE name_cursor;
94102 DEALLOCATE name_cursor;
95103END
104+ -- play-ebean-end
96105GO
97106
98107--
99108-- PROCEDURE: usp_ebean_drop_column TABLE, COLUMN
100109-- deletes the column annd ensures that all indices and constraints are dropped first
101110--
102111CREATE OR ALTER PROCEDURE usp_ebean_drop_column @tableName nvarchar(255), @columnName nvarchar(255)
103- AS SET NOCOUNT ON
112+ AS
113+ -- play-ebean-start
114+ SET NOCOUNT ON
104115declare @sql nvarchar(1000)
105116BEGIN
106117 EXEC usp_ebean_drop_indices @tableName, @columnName;
@@ -110,6 +121,7 @@ BEGIN
110121 set @sql = 'alter table [' + @tableName + '] drop column [' + @columnName + ']';
111122 EXECUTE(@sql);
112123END
124+ -- play-ebean-end
113125GO
114126</ddl-script >
115127<ddl-script name =" create procs" platforms =" mysql mariadb" init =" true" >-- Inital script to create stored procedures etc for mysql platform
@@ -121,6 +133,7 @@ delimiter $$
121133-- deletes all constraints and foreign keys referring to TABLE.COLUMN
122134--
123135CREATE PROCEDURE usp_ebean_drop_foreign_keys(IN p_table_name VARCHAR(255), IN p_column_name VARCHAR(255))
136+ -- play-ebean-start
124137BEGIN
125138DECLARE done INT DEFAULT FALSE;
126139DECLARE c_fk_name CHAR(255);
@@ -143,6 +156,7 @@ END LOOP;
143156
144157CLOSE curs;
145158END
159+ -- play-ebean-end
146160$$
147161
148162DROP PROCEDURE IF EXISTS usp_ebean_drop_column;
@@ -153,12 +167,14 @@ delimiter $$
153167-- deletes the column and ensures that all indices and constraints are dropped first
154168--
155169CREATE PROCEDURE usp_ebean_drop_column(IN p_table_name VARCHAR(255), IN p_column_name VARCHAR(255))
170+ -- play-ebean-start
156171BEGIN
157172CALL usp_ebean_drop_foreign_keys(p_table_name, p_column_name);
158173SET @sql = CONCAT('ALTER TABLE `', p_table_name, '` DROP COLUMN `', p_column_name, '`');
159174PREPARE stmt FROM @sql;
160175EXECUTE stmt;
161176END
177+ -- play-ebean-end
162178$$
163179</ddl-script >
164180
@@ -170,6 +186,7 @@ delimiter $$
170186--
171187CREATE OR REPLACE PROCEDURE usp_ebean_drop_foreign_keys(IN table_name NVARCHAR(256), IN column_name NVARCHAR(256))
172188AS
189+ -- play-ebean-start
173190BEGIN
174191DECLARE foreign_key_names TABLE(CONSTRAINT_NAME NVARCHAR(256), TABLE_NAME NVARCHAR(256));
175192DECLARE i INT;
@@ -181,6 +198,7 @@ EXEC 'ALTER TABLE "' || ESCAPE_DOUBLE_QUOTES(:foreign_key_names.TABLE_NAME[i]) |
181198END FOR;
182199
183200END;
201+ -- play-ebean-end
184202$$
185203
186204delimiter $$
@@ -190,10 +208,12 @@ delimiter $$
190208--
191209CREATE OR REPLACE PROCEDURE usp_ebean_drop_column(IN table_name NVARCHAR(256), IN column_name NVARCHAR(256))
192210AS
211+ -- play-ebean-start
193212BEGIN
194213CALL usp_ebean_drop_foreign_keys(table_name, column_name);
195214EXEC 'ALTER TABLE "' || UPPER(ESCAPE_DOUBLE_QUOTES(table_name)) || '" DROP ("' || UPPER(ESCAPE_DOUBLE_QUOTES(column_name)) || '")';
196215END;
216+ -- play-ebean-end
197217$$
198218</ddl-script >
199219</extra-ddl >
0 commit comments