Re: Oracle Apex Resource/Links Needed
Date: Thu, 9 Jan 2020 20:01:32 +0000
Message-ID: <CAP=5zEgLF-1LTHXfdM=Z9dFJVMbZ=7F-M+p1opsibKUyWdRP3Q_at_mail.gmail.com>
BTW: In the linked SQLcl article I said there was a bug. There isn't. The problem was me. I wasn't granting the CREATE TRIGGER privilege, which is necessary when using SQLcl and Liquibase in the "automatic approach". Just got schooled by Jeff Smith. :)
Cheers
Tim...
On Thu, Jan 9, 2020 at 8:00 PM Tim Hall <tim_at_oracle-base.com> wrote:
> 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-lReceived on Thu Jan 09 2020 - 21:01:32 CET