Re: Oracle Apex Resource/Links Needed

From: Tim Hall <tim_at_oracle-base.com>
Date: Thu, 9 Jan 2020 20:00:06 +0000
Message-ID: <CAP=5zEj4EqYftKqZGJM6B6aVeczuD5egFeeTJAoNeeAsdaUtaQ_at_mail.gmail.com>



Hi.

Work tends to get split such that people work on a single app at once and complete there work. This isn't always the case, but it happens a lot because we are small. There is a tendency to break up anything big into smaller chunks, so make team work easier, assuming something big is happening. I'm an APEX noob, so look for advice on this type of thing elsewhere, from someone who knows. :)

Any with any team-based work, coordination has to happen. If people are altering the same package on the DB, you will have the same issues.

Cheers

Tim...

On Mon, Jan 6, 2020 at 7:07 PM Ethan Post <post.ethan_at_gmail.com> wrote:

> Quick follow up. Are your developers using a single DB for dev or are they
> able to each have their own? I am thinking about how Apex changes would get
> merged. Are files exported, diffed, and changes merged if there have been
> changes by another team member? I am sure I will figure more of this out
> once I get into the weeds, just wondering at the moment.
>
> <plug>
> I am interested in getting deep into Apex in coming year and as such I am
> open to paid opportunities to work with it. Apex is important in rounding
> out the skills I already have to build the things I want to build. If
> anyone hears about anything (75% remote, no relo, part of full time, I am
> U.S. CST based), let me know.
> </plug>
>
> Thanks!
> Ethan
> e-t-h-a-n.com
>
>
> On Fri, Jan 3, 2020 at 9:20 AM Ethan Post <post.ethan_at_gmail.com> wrote:
>
>> 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 Thu Jan 09 2020 - 21:00:06 CET

Original text of this message