9 Replies Latest reply on Dec 9, 2013 7:41 PM by user12004212

    dev --> test --> prod

    user12004212

      Hi,

       

      Let's say you have dev, test and prod environments for APEX.

      you develop an application in dev, export and import it into test, and later transfer it to the production environment.

      People are happy in production, they use it.

      Then they would like functionality to be added or minor changes to be made to the application.

      You make those changes in dev, want to transfer these changes to the test environment.

       

      How would you transfer just these application changes from dev to test without having to completely delete and import the new copy?

      In the meantime I will take a peek at the tables in Oracle for the workspaces to see if I can isolate which ones containt the application per se, and which ones contain its data.

      Maybe I can export just the app-related items and exp/imp those to the test workspace schema, leaving the data tables alone.

      Has anyone done this?  I imagine yes, I can't imagine running a large web environment where you can't roll out changes without blowing away all your data every time a button or a page is added.

       

      Pat.

        • 1. Re: dev --> test --> prod
          TexasApexDeveloper

          When you export/import and application, you do NOT export/import the application data (unless you included that in the installation script).  You are exporting a pl/sql script that gets installed in your workspace in test/prod..  Some people export/import just pages that  have been updated but I and quite a few others would suggest instead to do a complete application export/import..

           

          Thank you,

           

          Tony Miller

          LuvMuffin Software

          • 2. Re: dev --> test --> prod
            user12004212

            and when you import the app, do you get constraint violations because the old app is already in the target environment?

            • 3. Re: dev --> test --> prod
              Judy

              Yes, recieving ORA-00001: unique constraint voilations even when replace application is selected.  Any ideas how to get this to work?  This is the second deploy/replace.  The first time there were no errors and the deploy was successful.

              • 4. Re: dev --> test --> prod
                Stewed

                Are exporting and importing shared objects? Are violations against Application Express Cnstraints or against your data objects

                • 5. Re: dev --> test --> prod
                  xarg-Xrc

                  Copying apps from one environment to another will not modify the data in the tables in parsing schema.

                   

                  Best way (especially for PROD environment) to apply an application is from command line in SQLPlus. Especially for very bulky apps (10MB+)

                   

                  sqlplus to the parsing schema and run the @fxxxx,sql to install it.

                   

                  I occasionally got (in 4.2) unique constraint errors when I delete an app in PROD to replace with newer version from Dev/Test workspace. Never had issues when I do it via command prompt  (keeps DBAs happy who doesnt like changing things in Workspaces).

                  • 6. Re: dev --> test --> prod
                    user12004212

                    which f*******.sql script would that be for an app built in-house... most of the scripts I see in the apex_4.2 folder structure have to do with packaged apps or language translations..

                     

                    [oracle@hostname apex_4.2]# find . -name f*.sql

                    ./apex/builder/de/f4000_de.sql

                    ./apex/builder/de/f4050_de.sql

                    ./apex/builder/de/f4155_de.sql

                    ./apex/builder/de/f4300_de.sql

                    ./apex/builder/de/f4350_de.sql

                    ./apex/builder/de/f4400_de.sql

                    ./apex/builder/de/f4411_de.sql

                    ./apex/builder/de/f4500_de.sql

                    ./apex/builder/de/f4550_de.sql

                    ./apex/builder/de/f4600_de.sql

                    ./apex/builder/de/f4700_de.sql

                    ./apex/builder/de/f4800_de.sql

                    ./apex/builder/de/f4850_de.sql

                    ./apex/builder/de/f4900_de.sql

                    ./apex/builder/es/f4000_es.sql

                    ./apex/builder/es/f4050_es.sql

                    ./apex/builder/es/f4155_es.sql

                    ./apex/builder/es/f4300_es.sql

                    ./apex/builder/es/f4350_es.sql

                    ./apex/builder/es/f4400_es.sql

                    ./apex/builder/es/f4411_es.sql

                    ./apex/builder/es/f4500_es.sql

                    ./apex/builder/es/f4550_es.sql

                    ./apex/builder/es/f4600_es.sql

                    ./apex/builder/es/f4700_es.sql

                    ./apex/builder/es/f4800_es.sql

                    ./apex/builder/es/f4850_es.sql

                    ./apex/builder/es/f4900_es.sql

                    ./apex/builder/f4000.sql

                    ./apex/builder/f4050.sql

                    ./apex/builder/f4155.sql

                    ./apex/builder/f4300.sql

                    ./apex/builder/f4350.sql

                    ./apex/builder/f4400.sql

                    ./apex/builder/f4411.sql

                    ./apex/builder/f4500.sql

                    ./apex/builder/f4550.sql

                    ./apex/builder/f4600.sql

                    ./apex/builder/f4700.sql

                    ./apex/builder/f4800.sql

                    ./apex/builder/f4850.sql

                    ./apex/builder/f4900.sql

                    ./apex/builder/fr/f4000_fr.sql

                    ./apex/builder/fr/f4050_fr.sql

                    ./apex/builder/fr/f4155_fr.sql

                    ./apex/builder/fr/f4300_fr.sql

                    ./apex/builder/fr/f4350_fr.sql

                    ./apex/builder/fr/f4400_fr.sql

                    ./apex/builder/fr/f4411_fr.sql

                    ./apex/builder/fr/f4500_fr.sql

                    ./apex/builder/fr/f4550_fr.sql

                    ./apex/builder/fr/f4600_fr.sql

                    ./apex/builder/fr/f4700_fr.sql

                    ./apex/builder/fr/f4800_fr.sql

                    ./apex/builder/fr/f4850_fr.sql

                    ./apex/builder/fr/f4900_fr.sql

                    ./apex/builder/it/f4000_it.sql

                    ./apex/builder/it/f4050_it.sql

                    ./apex/builder/it/f4155_it.sql

                    ./apex/builder/it/f4300_it.sql

                    ./apex/builder/it/f4350_it.sql

                    ./apex/builder/it/f4400_it.sql

                    ./apex/builder/it/f4411_it.sql

                    ./apex/builder/it/f4500_it.sql

                    ./apex/builder/it/f4550_it.sql

                    ./apex/builder/it/f4600_it.sql

                    ./apex/builder/it/f4700_it.sql

                    ./apex/builder/it/f4800_it.sql

                    ./apex/builder/it/f4850_it.sql

                    ./apex/builder/it/f4900_it.sql

                    ./apex/builder/ja/f4000_ja.sql

                    ./apex/builder/ja/f4050_ja.sql

                    ./apex/builder/ja/f4155_ja.sql

                    ./apex/builder/ja/f4300_ja.sql

                    ./apex/builder/ja/f4350_ja.sql

                    ./apex/builder/ja/f4400_ja.sql

                    ./apex/builder/ja/f4411_ja.sql

                    ./apex/builder/ja/f4500_ja.sql

                    ./apex/builder/ja/f4550_ja.sql

                    ./apex/builder/ja/f4600_ja.sql

                    ./apex/builder/ja/f4700_ja.sql

                    ./apex/builder/ja/f4800_ja.sql

                    ./apex/builder/ja/f4850_ja.sql

                    ./apex/builder/ja/f4900_ja.sql

                    ./apex/builder/ko/f4000_ko.sql

                    ./apex/builder/ko/f4050_ko.sql

                    ./apex/builder/ko/f4155_ko.sql

                    ./apex/builder/ko/f4300_ko.sql

                    ./apex/builder/ko/f4350_ko.sql

                    ./apex/builder/ko/f4400_ko.sql

                    ./apex/builder/ko/f4411_ko.sql

                    ./apex/builder/ko/f4500_ko.sql

                    ./apex/builder/ko/f4550_ko.sql

                    ./apex/builder/ko/f4600_ko.sql

                    ./apex/builder/ko/f4700_ko.sql

                    ./apex/builder/ko/f4800_ko.sql

                    ./apex/builder/ko/f4850_ko.sql

                    ./apex/builder/ko/f4900_ko.sql

                    ./apex/builder/pt-br/f4000_pt-br.sql

                    ./apex/builder/pt-br/f4050_pt-br.sql

                    ./apex/builder/pt-br/f4155_pt-br.sql

                    ./apex/builder/pt-br/f4300_pt-br.sql

                    ./apex/builder/pt-br/f4350_pt-br.sql

                    ./apex/builder/pt-br/f4400_pt-br.sql

                    ./apex/builder/pt-br/f4411_pt-br.sql

                    ./apex/builder/pt-br/f4500_pt-br.sql

                    ./apex/builder/pt-br/f4550_pt-br.sql

                    ./apex/builder/pt-br/f4600_pt-br.sql

                    ./apex/builder/pt-br/f4700_pt-br.sql

                    ./apex/builder/pt-br/f4800_pt-br.sql

                    ./apex/builder/pt-br/f4850_pt-br.sql

                    ./apex/builder/pt-br/f4900_pt-br.sql

                    ./apex/builder/zh-cn/f4000_zh-cn.sql

                    ./apex/builder/zh-cn/f4050_zh-cn.sql

                    ./apex/builder/zh-cn/f4155_zh-cn.sql

                    ./apex/builder/zh-cn/f4300_zh-cn.sql

                    ./apex/builder/zh-cn/f4350_zh-cn.sql

                    ./apex/builder/zh-cn/f4400_zh-cn.sql

                    ./apex/builder/zh-cn/f4411_zh-cn.sql

                    ./apex/builder/zh-cn/f4500_zh-cn.sql

                    ./apex/builder/zh-cn/f4550_zh-cn.sql

                    ./apex/builder/zh-cn/f4600_zh-cn.sql

                    ./apex/builder/zh-cn/f4700_zh-cn.sql

                    ./apex/builder/zh-cn/f4800_zh-cn.sql

                    ./apex/builder/zh-cn/f4850_zh-cn.sql

                    ./apex/builder/zh-cn/f4900_zh-cn.sql

                    ./apex/builder/zh-tw/f4000_zh-tw.sql

                    ./apex/builder/zh-tw/f4050_zh-tw.sql

                    ./apex/builder/zh-tw/f4155_zh-tw.sql

                    ./apex/builder/zh-tw/f4300_zh-tw.sql

                    ./apex/builder/zh-tw/f4350_zh-tw.sql

                    ./apex/builder/zh-tw/f4400_zh-tw.sql

                    ./apex/builder/zh-tw/f4411_zh-tw.sql

                    ./apex/builder/zh-tw/f4500_zh-tw.sql

                    ./apex/builder/zh-tw/f4550_zh-tw.sql

                    ./apex/builder/zh-tw/f4600_zh-tw.sql

                    ./apex/builder/zh-tw/f4700_zh-tw.sql

                    ./apex/builder/zh-tw/f4800_zh-tw.sql

                    ./apex/builder/zh-tw/f4850_zh-tw.sql

                    ./apex/builder/zh-tw/f4900_zh-tw.sql

                    ./apex/core/f.sql

                    ./apex/core/file_mgr.sql

                    ./apex/core/fileapi.sql

                    ./apex/core/flow.sql

                    ./apex/core/flow_dml.sql

                    ./apex/core/flow_isc.sql

                    ./apex/core/flow_log.sql

                    ./apex/core/flowc.sql

                    ./apex/core/flowcon.sql

                    ./apex/core/flowg.sql

                    ./apex/core/flowjob.sql

                    ./apex/core/flowl.sql

                    ./apex/core/flowp.sql

                    ./apex/core/flows_files_new.sql

                    ./apex/core/flows_files_new2.sql

                    ./apex/core/flows_files_upgrade.sql

                    ./apex/core/flows_release.sql

                    ./apex/core/flows_version.sql

                    ./apex/core/flowu.sql

                    ./apex/core/form.sql

                    ./apex/core/packaged_apps/f7000.sql

                    ./apex/core/packaged_apps/f7010.sql

                    ./apex/core/packaged_apps/f7020.sql

                    ./apex/core/packaged_apps/f7050.sql

                    ./apex/core/packaged_apps/f7060.sql

                    ./apex/core/packaged_apps/f7090.sql

                    ./apex/core/packaged_apps/f7100.sql

                    ./apex/core/packaged_apps/f7120.sql

                    ./apex/core/packaged_apps/f7130.sql

                    ./apex/core/packaged_apps/f7140.sql

                    ./apex/core/packaged_apps/f7150.sql

                    ./apex/core/packaged_apps/f7170.sql

                    ./apex/core/packaged_apps/f7190.sql

                    ./apex/core/packaged_apps/f7220.sql

                    ./apex/core/packaged_apps/f7230.sql

                    ./apex/core/packaged_apps/f7240.sql

                    ./apex/core/packaged_apps/f7270.sql

                    ./apex/core/packaged_apps/f7280.sql

                    ./apex/core/packaged_apps/f7290.sql

                    ./apex/core/packaged_apps/f7300.sql

                    ./apex/core/packaged_apps/f7600.sql

                    ./apex/core/packaged_apps/f7610.sql

                    ./apex/core/packaged_apps/f7650.sql

                    ./apex/core/packaged_apps/f7800.sql

                    ./apex/core/packaged_apps/f7810.sql

                    ./apex/core/packaged_apps/f7820.sql

                    ./apex/core/packaged_apps/f7830.sql

                    ./apex/core/packaged_apps/f7840.sql

                    ./apex/core/packaged_apps/f7850.sql

                    ./apex/core/packaged_apps/f7860.sql

                    ./apex/core/packaged_apps/f7870.sql

                    ./apex/core/packaged_apps/f7880.sql

                    ./apex/core/packaged_apps/f7890.sql

                    ./apex/core/packaged_apps/f7900.sql

                    ./apex/core/packaged_apps/f7910.sql

                    ./apex/core/packaged_apps/f7920.sql

                    ./apex/core/packaged_apps/f7930.sql

                    ./apex/core/packaged_apps/f7940.sql

                    ./apex/core/packaged_apps/f7950.sql

                    ./apex/core/packaged_apps/f7960.sql

                    ./apex/core/packaged_apps/f7980.sql

                    ./apex/core/packaged_apps/f8950.sql

                    ./apex/images/forms_conversion/forms_conversion_data_insert.sql

                    ./apex/images/forms_conversion/forms_conversion_ddl.sql

                    • 7. Re: dev --> test --> prod
                      Jayson Hanes

                      when you export your app from dev (or wherever) it is exported as f***.sql, where *** is the application ID of your app... so if your app is ID 110, it exports as f110.sql, and in prod you'd run @f110.sql in sqlplus to install it..

                      • 8. Re: dev --> test --> prod
                        user12004212

                        thank you, will try that and see