mirror of
https://github.com/ebean-orm/ebean.git
synced 2026-11-14 06:45:21 +00:00
Fix: HANA always requires stored procedures (similar to SqlServer), Fix: default value on intermediate alters
This commit is contained in:
1 parent
897a97d415
commit
bf99f9d08d
7 files changed
+75
-7
No files matched your search
@@ -32,7 +32,7 @@ declare exit handler for sql_error_code 397 begin end;
|
||||
exec 'alter table migtest_e_basic drop constraint ck_migtest_e_basic_status2';
|
||||
end;
|
||||
$$;
|
||||
alter table migtest_e_basic alter ( status2 nclob default 'N' not null);
|
||||
alter table migtest_e_basic alter ( status2 nclob not null);
|
||||
alter table migtest_e_basic alter ( status2 nvarchar(1) default 'N' not null);
|
||||
alter table migtest_e_basic add constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I'));
|
||||
delimiter $$
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
-- Inital script to create stored procedures etc for the hana platform
|
||||
delimiter $$
|
||||
--
|
||||
-- PROCEDURE: usp_ebean_drop_foreign_keys TABLE, COLUMN
|
||||
-- deletes all constraints and foreign keys referring to TABLE.COLUMN
|
||||
--
|
||||
CREATE OR REPLACE PROCEDURE usp_ebean_drop_foreign_keys(IN table_name NVARCHAR(256), IN column_name NVARCHAR(256))
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE foreign_key_names TABLE(CONSTRAINT_NAME NVARCHAR(256), TABLE_NAME NVARCHAR(256));
|
||||
DECLARE i INT;
|
||||
|
||||
foreign_key_names = SELECT CONSTRAINT_NAME, TABLE_NAME FROM SYS.REFERENTIAL_CONSTRAINTS WHERE SCHEMA_NAME=CURRENT_SCHEMA AND TABLE_NAME=UPPER(:table_name) AND COLUMN_NAME=UPPER(:column_name);
|
||||
|
||||
FOR I IN 1 .. RECORD_COUNT(:foreign_key_names) DO
|
||||
EXEC 'ALTER TABLE "' || ESCAPE_DOUBLE_QUOTES(:foreign_key_names.TABLE_NAME[i]) || '" DROP CONSTRAINT "' || ESCAPE_DOUBLE_QUOTES(:foreign_key_names.CONSTRAINT_NAME[i]) || '"';
|
||||
END FOR;
|
||||
|
||||
END;
|
||||
$$
|
||||
|
||||
delimiter $$
|
||||
--
|
||||
-- PROCEDURE: usp_ebean_drop_column TABLE, COLUMN
|
||||
-- deletes the column and ensures that all indices and constraints are dropped first
|
||||
--
|
||||
CREATE OR REPLACE PROCEDURE usp_ebean_drop_column(IN table_name NVARCHAR(256), IN column_name NVARCHAR(256))
|
||||
AS
|
||||
BEGIN
|
||||
CALL usp_ebean_drop_foreign_keys(table_name, column_name);
|
||||
EXEC 'ALTER TABLE "' || UPPER(ESCAPE_DOUBLE_QUOTES(table_name)) || '" DROP ("' || UPPER(ESCAPE_DOUBLE_QUOTES(column_name)) || '")';
|
||||
END;
|
||||
$$
|
||||
@@ -1,7 +1,8 @@
|
||||
-745347271, I__create_procs.sql
|
||||
513351138, 1.0__initial.sql
|
||||
-1152055114, 1.1.sql
|
||||
1830946249, 1.2__dropsFor_1.1.sql
|
||||
1073423108, 1.3.sql
|
||||
744723875, 1.3.sql
|
||||
201970227, 1.4__dropsFor_1.3.sql
|
||||
1906063401, R__order_views_hana.sql
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
# Note: You need a running docker container. See howto-test.md for details
|
||||
datasource.default=hana
|
||||
datasource.hana.username=SYSTEM
|
||||
datasource.hana.password=VeryVerySecret#1234
|
||||
datasource.hana.url=jdbc:sap://localhost:39041/
|
||||
|
||||
Reference in new issue
Block a user