Re: Oracle Apex Resource/Links Needed

From: Ethan Post <post.ethan_at_gmail.com>
Date: Fri, 3 Jan 2020 09:20:38 -0600
Message-ID: <CAMNhnU01cpujiqWWKdW4PhOz4aErgTh1a1kAp5eK7Xp5sUfhBg_at_mail.gmail.com>



Big thanks. This is good.

On Fri, Jan 3, 2020 at 2:15 AM Tim Hall <tim_at_oracle-base.com> wrote:

> Hi.
>
> We are playing around with this at the moment. This is a very rough plan,
> but I'm interested to get any feedback if someone out there knows better.
>
> Development:
>
> How to get apps exported consistently? Humans have a habit of forgetting
> to pick the right options. :) Use APEXExport.
>
> https://oracle-base.com/articles/misc/apexexport
>
> Presumably, it's going into Git. We use BitBucket, but anything will do.
>
> Deployment:
>
> The export gives you a SQL file, so you can just run it in a database. You
> can manually script a load, but it makes sense to include this into a
> normal database deploy process. There are a number of things you can use
> here. I know Flyway is popular, but we are starting to use Liquibase. These
> articles are not "live", as I'm waiting for a SQLcl bug to be fixed to
> release both, but the bug doesn't affect how I normally use SQLcl for this
> task.
>
>
> https://oracle-base.com/articles/misc/liquibase-automating-your-database-deployments
>
>
> https://oracle-base.com/articles/misc/sqlcl-automating-your-database-deployments-using-sqlcl-and-liquibase
>
>
> We will probably use the SQLcl version going forward, as it's a little
> neater than the original implementation IMHO.
>
> The good thing about Liquibase (and others) is you can make the APEX
> deployment part of your normal process, which includes table and code
> changes and seed data scripts. The changelog controls the order the stuff
> is loaded into the database, so the commit of a change the changelog will
> trigger the CI/CD pipeline. We use TeamCity, but I use GitLab Pipelines for
> one project. They all do pretty much the same thing. So the pipeline will
> do something like this:
>
> - Pull the latest stuff from Git for the relevant branch. (DDL, DML,
> stored procedures etc.)
> - Run Liquibase using the changelog, which applies everything (not already
> applied) in order.
>
> We do CI/CD for Java and I use it for an infrastructure project where it
> redeploys apps to an infrastructure build on Docker. We have all the pieces
> for this APEX deployment, but haven't yet threaded it all together. I don't
> think it will be hard to finalise the set up, but getting people on-bard to
> use it instead of doing their typical random crap is a bigger task. :) The
> issue is you really need everyone on board for CI/CD to work properly and a
> lot of our database development has very little discipline. The middle tier
> folks have more commitment to this sort of stuff.
>
> Cheers
>
> Tim...
>
>
> On Fri, Jan 3, 2020 at 4:48 AM Ethan Post <post.ethan_at_gmail.com> wrote:
>
>> So I am playing around with Apex, impressed so far. The questions are
>> coming up in terms of how one builds a CI/CD/upgrade/patch pipeline with
>> APEX.
>>
>> Some tables contain seed data? Where is that stored? How to I ensure
>> things like old see data is updated in case A, in case B left alone if
>> exists, in case C, entire table is replaced?
>>
>> Additions/deletions of columns over time. How are the changes managed.
>> How do I inject conversion script before or after.
>>
>> So basically all the complexities that come with managing an application
>> that is alive in the open at multiple customer sites (hot patches and all),
>> and make a change, build, and deploy, reliably.
>>
>> Looking for a resource which covers this type of content and deals with
>> plenty of use cases and edge cases.
>>
>> Does this exist? If so please let me know.
>>
>> Thanks,
>> Ethan Post
>> e-t-h-a-n.com
>> _at_poststop
>>
>>
>>

--
http://www.freelists.org/webpage/oracle-l
Received on Fri Jan 03 2020 - 16:20:38 CET

Original text of this message