qwazer / scheme2ddl

Command line util for export oracle schema to set of ddl scripts
82 stars 47 forks source link

Added includes section + full name matching #34

Open SirFlex opened 9 years ago

SirFlex commented 9 years ago

Hi,

I added the include section in confuguration file, that allows to include excluded objects.

Also, object name to pattern matching extended for full object name. I mean: full_object_name := schema_name.object_name

A hope these improvements would be useful for base fork.

arno82 commented 9 years ago

Hi. I have a few questions :-)

Could it be that scheme2ddl.config.xml with examples for the includes is missing?

Why do you want to include objects that are defined in the excludes section of scheme2ddl.config.xml ? You could also use -tf and -tfm to get some specific DDL objects and empty your exclude section in the scheme2ddl.config.xml file.

SirFlex commented 9 years ago

Hi, I'm weak in Spring... my implementation requires includes. If you know, how make include not necessary, I'll be grateful for advice. "You could also use -tf and -tfm to get some specific DDL objects "... yes, but by object type only. But I need to include only some objects by name. That's why i added includes in config file.

arno82 commented 9 years ago

Ah ok, so you want to exclude for example every TYPE BODY, except for some named ones in an include list. I see your point.

Maybe you can modifiy the exclude value section to fit your needs withsome regex magic? < util:map id="excludes"> < entry key="TYPE BODY"> < set> < value>((?!json))(|)((?!text_dlist))*< /value> < /set> < /entry>

This will exclude everything from the exclude that start with json or starts with text_dlist :-)

PS: Had to put an whitespace after every < otherwise the comment wouldn't appear...

SirFlex commented 9 years ago

Thank you, but "regex magic" is too difficult in usage... especially when a number of objects to include is great. I want to extends the initial idea that objects may be excluded and... included by specifiing their names (or patterns for their names) (Sorry for my weak English)

qwazer commented 9 years ago

Hello, SirFlex and Arno! Thanks for pull request and discussing.

I try to keep scheme2ddl simple as possible and keep backward compatibility. (But I accidentally broke this in recent versions :confused: ).

I'm not sure, that a lot of options and a lot of various ways for include/exclude functionality is good for keeping it simple.

From this point, Arno, I doubted about https://github.com/qwazer/scheme2ddl/pull/27 but I accepted it in respect for your contributing.

I didn't decide yet what to do with this pull request. I'll think about it.

Thanks in any case :thumbsup: