Commit 47e5df14 authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Génération du script SQL de clonage de schéma: ajout d'order by pour garantir...

Génération du script SQL de clonage de schéma: ajout d'order by pour garantir l'ordre de parcours des objets.
parent 41545a46
Loading
Loading
Loading
Loading
+14 −1
Original line number Diff line number Diff line
@@ -303,6 +303,7 @@ EOS;
SELECT DBMS_METADATA.GET_DDL ('SEQUENCE', sequence_name, sequence_owner) as sql
FROM all_sequences
where sequence_owner = '$schemaName'
order by sequence_name

UNION ALL

@@ -315,6 +316,7 @@ SELECT DBMS_METADATA.get_ddl ('TABLE', table_name, owner) as sql
FROM   all_tables
WHERE  owner = '$schemaName' and
  table_name not in (select mview_name from all_mviews) -- exclusion des tables liées à des vues matérialisées
order by table_name

UNION ALL

@@ -329,6 +331,7 @@ WHERE constraint_type in ('U') and -- unique type
      index_name is null and -- écarte les contraintes liées automatiquement à un index car créées avec la table
      table_name not in (select mview_name from all_mviews) -- exclusion des tables liées à des vues matérialisées
      and owner = '$schemaName'
order by constraint_name

UNION ALL

@@ -341,6 +344,7 @@ SELECT DBMS_METADATA.get_ddl ('INDEX', index_name, owner) as sql
FROM   all_indexes i
WHERE  not exists (select * from user_constraints where index_name = i.index_name) -- écarte les index créés automatiquement car liés à une contrainte 
  and owner = '$schemaName'
order by index_name

--   select * from all_indexes WHERE  owner = '$schemaName';

@@ -354,18 +358,20 @@ UNION ALL
SELECT DBMS_METADATA.get_ddl ('VIEW', view_name, owner) as sql
FROM   all_views
WHERE  owner      = '$schemaName'
order by view_name

UNION ALL


--
-- packages
-- packages specs
--

SELECT DBMS_METADATA.get_ddl ('PACKAGE_SPEC', OBJECT_NAME, owner) as sql
FROM   SYS.ALL_OBJECTS
WHERE  owner = '$schemaName'
       and UPPER(OBJECT_TYPE) = 'PACKAGE'
order by OBJECT_NAME

UNION ALL

@@ -378,11 +384,13 @@ SELECT DBMS_METADATA.get_ddl ('PROCEDURE', OBJECT_NAME, owner) as sql
FROM   SYS.ALL_OBJECTS
WHERE  owner = '$schemaName'
       and UPPER(OBJECT_TYPE) = 'PROCEDURE'
order by OBJECT_NAME
UNION ALL
SELECT DBMS_METADATA.get_ddl ('FUNCTION', OBJECT_NAME, owner) as sql
FROM   SYS.ALL_OBJECTS
WHERE  owner = '$schemaName'
       and UPPER(OBJECT_TYPE) = 'FUNCTION'
order by OBJECT_NAME

UNION ALL

@@ -395,6 +403,7 @@ SELECT DBMS_METADATA.get_ddl ('PACKAGE_BODY', OBJECT_NAME, owner) as sql
FROM   SYS.ALL_OBJECTS
WHERE  owner = '$schemaName'
       and UPPER(OBJECT_TYPE) = 'PACKAGE BODY'
order by OBJECT_NAME

UNION ALL

@@ -406,6 +415,7 @@ UNION ALL
SELECT DBMS_METADATA.get_ddl ('TRIGGER', trigger_NAME, owner) as sql
FROM   ALL_TRIGGERS
WHERE  owner = '$schemaName'
order by trigger_NAME

UNION ALL

@@ -417,6 +427,7 @@ UNION ALL
SELECT DBMS_METADATA.get_ddl ('MATERIALIZED_VIEW', mview_name, owner) as sql
FROM   all_mviews
WHERE  owner      = '$schemaName'
order by mview_name

EOS;

@@ -450,11 +461,13 @@ EOS;
--from all_constraints
--where owner = '$schemaName'
--      and constraint_type = 'P'
--order by constraint_name
--union all
select DBMS_METADATA.GET_DDL('REF_CONSTRAINT', constraint_name, owner) as sql
from all_constraints
where owner = '$schemaName'
      and constraint_type = 'R'
order by constraint_name

EOS;