User Tools

Site Tools


supported_patch_file_changes

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

supported_patch_file_changes [2013/07/25 21:00]
127.0.0.1 external edit
supported_patch_file_changes [2013/07/30 07:50] (current)
admin Update according to new features in Lure V3
Line 12: Line 12:
 |Index | |  ✔  | | | |  | |Index | |  ✔  | | | |  |
 |Constraint | |  ✔  | | | |  | |Constraint | |  ✔  | | | |  |
-|Database Link | |  ✔  | | | | |  
 |Cluster | |  ✔  | | | | | |Cluster | |  ✔  | | | | |
 </​box>​ </​box>​
Line 28: Line 27:
  
   - Should not contain any CREATE or DROP statements, only ALTER statements. ​   - Should not contain any CREATE or DROP statements, only ALTER statements. ​
-  - Should only contain ALTER statements to update the objects that map to the corresponding source file. (In other words the patch file ''​AAA.index.patch''​ should not update indexes that are in file ''​BBB.index''​.)+  - Should only contain ALTER statements to update the objects that map to the corresponding source file. (In other words the patch file ''​AAA.idx.lsql.lpatch''​ should not update indexes that are in file ''​BBB.idx.lsql''​.)
   - May contain anonymous PL/SQL blocks but only if such PL/SQL blocks comply with the above rules. ​   - May contain anonymous PL/SQL blocks but only if such PL/SQL blocks comply with the above rules. ​
    
Line 34: Line 33:
  
   - Should not contain any CREATE TABLE statements, only ALTER TABLE and DROP TABLE statements. ​   - Should not contain any CREATE TABLE statements, only ALTER TABLE and DROP TABLE statements. ​
-  - Should only contain ALTER TABLE statements to update tables that map to the corresponding source file. (In other words the patch file ''​AAA.table.patch''​ should not update a table with name BBB.)+  - Should only contain ALTER TABLE statements to update tables that map to the corresponding source file. (In other words the patch file ''​AAA.table.lsql.lpatch''​ should not update a table with name BBB.)
   - May contain anonymous PL/SQL blocks but only if such PL/SQL blocks comply with the above rules.   - May contain anonymous PL/SQL blocks but only if such PL/SQL blocks comply with the above rules.
   - May contain any DML statements (i.e. INSERT, UPDATE, etc.)    - May contain any DML statements (i.e. INSERT, UPDATE, etc.) 
Line 41: Line 40:
  
   - May contain any combination of CREATE TABLE, ALTER TABLE and DROP TABLE statements. ​   - May contain any combination of CREATE TABLE, ALTER TABLE and DROP TABLE statements. ​
-  - May update tables corresponding to other source files. (In other words the patch file ''​AAA.table.patch.r45''​ may update a table with name BBB.)+  - May update tables corresponding to other source files. (In other words the patch file ''​AAA.table.lsql.r45.lpatch''​ may update a table with name BBB.)
   - May not contain statements that explicitly update any other object types. (For example, by dropping a column Oracle will automatically drop an index on the column as well. However, do not explicitly add the DROP INDEX statement within the versioned patch file.) ​   - May not contain statements that explicitly update any other object types. (For example, by dropping a column Oracle will automatically drop an index on the column as well. However, do not explicitly add the DROP INDEX statement within the versioned patch file.) ​
   - May contain anonymous PL/SQL blocks but only if such PL/SQL blocks comply with the above rules.   - May contain anonymous PL/SQL blocks but only if such PL/SQL blocks comply with the above rules.
Line 47: Line 46:
  
  
-It is necessary to allow versioned patch files to update other tables as well since often table changes are related. For example when changing the relationship between two tables from one to many to a many to many relationship,​ it is necessary to first create a new table, then populate it with the foreign key and primary key columns of the "​many"​ table and then to drop the foreign key column from the "​many"​ table. These changes have to happen ​together ​in a specific order and should therefor appear ​in the same patch file. +It is necessary to allow versioned patch files to update other tables as well since often table changes are related. For example when changing the relationship between two tables from one to many to a many to many relationship,​ it is necessary to first create a new table, then populate it with the foreign key and primary key columns of the "​many"​ table and then to drop the foreign key column from the "​many"​ table. These changes have to happen in a specific order and putting the statements ​in the same patch file guarantees the order.
    
 Lure does not currently enforce these restrictions but by ignoring this guidance you are likely to break the integrity of the import process. ​ Lure does not currently enforce these restrictions but by ignoring this guidance you are likely to break the integrity of the import process. ​
supported_patch_file_changes.txt · Last modified: 2013/07/30 07:50 by admin

Page Tools