What options do you have for hiding that column in other environments?
- Don't migrate the change - use your source control processes to only move it when it's ready. This isn't always practical, nor the intent, particularly since you can programatically set the status.
- Add server condition on database name - we can use an expression such as
sys_context('userenv','db_name') = 'dev'This isn't bad, I have a common function I call for this sort of thing. But it's quite granular.
- Build Options - under-utilised silent catalyst that can help us turn a group features off/on at the flick of a switch.
In Oracle APEX 5.1, Build Options are an attribute of each column, in addition to just about every other component in the builder.
|APEX 5.1 Column Attributes|
Prior to APEX 5.1, column definitions were one of few components that don't have a declarative option. However, we still have the magic of dictionary views.
|Pre 5.1 Build Option on Column|
select null from apex_application_build_options where build_option_name like 'My build option' and build_option_status = 'Include' and application_id = :APP_IDAgain, you could put this in a re-usable function/view, not that you would need it often.