According to their developer docs, it seemed fit this use case exactly:
Manage a collection of updates and insertions as a unit before incorporating them into production data
Workspace Manager lets you review changes and roll back undesirable ones before making the changes public. Until you make the changes public, they are invisible to other users of the database, who will access only the regular production data. You can organize the changes in a simple set of workspaces or in a complex workspace hierarchy. A typical example might be a life sciences application in which Workspace Manager supports the discovery and quality assurance (QA) processes by managing a collection of updates before they are merged with the production data.
You could think of Oracle Workspace Manager as light "git"-like db versioning.
Simply put:
- You create a workspace (branch)...
- You make your changes there.. other people can connect to your workspace .. also make changes... or alternatively create their own branch from yours.
- You can refresh (fetch / merge) your workspace and resolve any conflicts that arise.
- Once everything is sorted and all is well with your changes you merge it back into the "LIVE" (origin: develop / master) workspace.
I used an existing Docker image of a oracle standard edition version. Oracle Workspace manager is not available on XE unfortunately. This is a rather large image, and it does take a couple minutes to initialise. The image is available on here on Docker Hub.
To setup the initial DB I tried out Flyway. All quite simple and easy to implement.
Under resources/db/migration there are a number of sql files that do the initial database setup.
When you enable versioning the following happens, the table is renamed and a view is created allowing the "recording" of changes that occur.
Reference: (oracle presentation available here)
So after the initial setup you will seen a number of tables and views:
To try this out...
To check the current workspace:
GET: http://localhost:9119/poc/workspace
To select all the information from the code table for the current workspace:
GET: http://localhost:9119/poc/workspace/data/code
Create code in the current workspace:
POST: http://localhost:9119/poc/workspace/data/code
BODY:
{
"id":2,
"descr": "some code",
"type": 1
}
To change workspace (LIVE is default and available):
PUT: http://localhost:9119/poc/workspace/{workspaceName}
To create a workspace:
POST: http://localhost:9119/poc/workspace/{workspaceName}
To remove a workspace:
DELETE: http://localhost:9119/poc/workspace/{workspaceName}
These REST resources just wrap some of the functions from the DBMS_WM Package.
This is maybe just the tip of a iceberg, as there is a ton of functionality available from this package.
All the code is available here.
Connect database with following setting:
hostname: localhost
port: 1521
sid: xe
service name: xe.oracle.docker
username: system
password: oracle
To
connect using sqlplus:
sqlplus
system/oracle@//localhost:1521/xe.oracle.docker
To connect on mac os - install instantclient and run from there:
./instantclient_12_1/sqlplus system/oracle@local
To setup the initial DB I tried out Flyway. All quite simple and easy to implement.
Under resources/db/migration there are a number of sql files that do the initial database setup.
When you enable versioning the following happens, the table is renamed and a view is created allowing the "recording" of changes that occur.
Reference: (oracle presentation available here)
So after the initial setup you will seen a number of tables and views:
To try this out...
- Get the Oracle Docker image
- Once the DB is started... run the boot DataApplication.
- Use Postman on the REST resources below
To check the current workspace:
GET: http://localhost:9119/poc/workspace
To select all the information from the code table for the current workspace:
GET: http://localhost:9119/poc/workspace/data/code
Create code in the current workspace:
POST: http://localhost:9119/poc/workspace/data/code
BODY:
{
"id":2,
"descr": "some code",
"type": 1
}
To change workspace (LIVE is default and available):
PUT: http://localhost:9119/poc/workspace/{workspaceName}
To create a workspace:
POST: http://localhost:9119/poc/workspace/{workspaceName}
To remove a workspace:
DELETE: http://localhost:9119/poc/workspace/{workspaceName}
To merge a workspace:
PUT: http://localhost:9119/poc/workspace/merge/{workspaceName}
PUT: http://localhost:9119/poc/workspace/merge/{workspaceName}
These REST resources just wrap some of the functions from the DBMS_WM Package.
This is maybe just the tip of a iceberg, as there is a ton of functionality available from this package.
All the code is available here.
This comment has been removed by a blog administrator.
ReplyDeleteIf truth be told informative and valuable detail is here.Small Business ERP Software
DeleteThis Server is based on the Open Source Xen.org hypervisor, an industry open standard for virtualization with broad adoption from major ISVs like Oracle, IBM, HP, Sun, Dell, Red Hat, Novel, Debian, Citrix and the Linux community. salesforce custom dashboard
ReplyDeleteReally interesting and great bblog
ReplyDeleteExceptionally valuable information.
ReplyDeleteBefore you start buying games that you think your kids will enjoy, try renting them beforehand. Most of the time, you can't return a video game you don't want. Rentals give you a chance to try out the game for only a fraction of the cost of a purchase.
ReplyDeleteNetflix Gift Card Codes Generator 2019 Online – Free Netflix Accounts
6 Instagram Password Crackers – How Easy It Is To Crack Any Instagram
This blog is honestly beneficial concerning all educational understanding I earned. It covered a wonderful region of issue that may help some of needy humans. everything cited here is obvious and without a doubt beneficial. CSIR NET Online test
ReplyDeletehgvcfx
ReplyDeleteCustomized Digital Marketing Courses for Beginners with Live Projects & Premium marketing tools.Enroll Now and get trained by Industry Experts. If you are looking for Digital Marketing Courses then visit our website to know more information.
ReplyDeletehttps://onlineidealab.com/digital-marketing-training/
Cognex offer AWS Training and certification in Chennai. And also cognex offers various courses according to the students requirements. Offering both online and offline classes. Other courses are microsoft azure, prince2 foundation, ITI V4 foundation,etc,
ReplyDelete"I’m going to read this. I’ll be sure to come back. thanks for sharing. and also This article gives the light in which we can observe the reality. this is very nice one and gives indepth information. thanks for this nice article...
ReplyDelete" basic knowledge hub
39 years old Video Producer Kristopher from La Prairie, has
ReplyDeletehobbies and interests for example model railways,
and scrabble. that covered going to Tyre.출장안마
Download Cricket Mazza 11 live match cricket score app, Live Line & Fastest Score. Get Fastest Live cricket score app, Scorecard, Commentary, Match Info, and Schedules of All International & Domestic Matches, Series wise Stats, Records, Analysis and Facts, Trending News and Tweets, Recent ICC Player and Team Rankings. Also Download live cricket score apps for IOS, including real Cricket, Cricket T20 Fever 3D and other top answers suggested and ranked.
ReplyDeleteI will always let you and your words become noticed this weblog. Lastly something not a junk, which we undergo readers will also experience how I feel after reading your article 토토사이트검증
ReplyDeleteappreciate your information in this article. It’s smart the good performance of your site. You can also check my article you made it mice 메이저검증업체
ReplyDeleteI look forward to your kind cooperation. Guess I will just bookmark this site 토토추천
ReplyDeleteThe blog is instructive additionally 메이저사이트 This post is invaluable
ReplyDeleteThe Design looks very good You’re incredible! Thank you! 먹튀폴리스ㅍ
ReplyDeleteĐặt vé tại phòng vé Aivivu, tham khảo
ReplyDeletekinh nghiệm mua vé máy bay đi Mỹ giá rẻ
đăng ký từ mỹ về việt nam
ve may bay tư duc ve viet nam
bao giờ có chuyến bay từ nga về việt nam
khi nào có chuyến bay từ anh về việt nam
vé máy bay từ pháp về việt nam giá rẻ
chi phí vé máy bay cho chuyên gia nước ngoài
Pandaranol can lead a horse to water AND make it drink 메이저놀이터
ReplyDeleteJust wish to say your article is as amazing. The clearness in your
ReplyDeletepost is simply great and i could assume you’re an expert on this subject.
Well with your permission let me to grab your feed to keep up to date
with forthcoming post. Thanks a million and please continue
the rewarding work.경마
google 2239
ReplyDeletegoogle 2240
google 2241
google 2242
google 2243
google 2244
google 2245
That's a great article! The neatly organized content is good to see. Can I quote a blog and write it on my blog? My blog has a variety of communities including these articles. Would you like to visit me later? keo nhacai
ReplyDeletethis is to be Best Private Universities in India for student placement
ReplyDeleteBest University of Yoga and Naturopathy in Uttarakhand
How can you think of this? I thought about this, but I couldn't solve it as well as you.샌즈카지노I am so amazing and cool you are. I think you will help me. I hope you can help me.
ReplyDeleteYour posts are always informative. This post was a very interesting topic for me too. 파워볼사이트 I wish I could visit the site I run and exchange opinions with each other. So have a nice day.
ReplyDeleteIt's really great. Thank you for providing a quality article. There is something you might be interested in. Do you know 바카라사이트 ? If you have more questions, please come to my site and check it out!
ReplyDeleteDiscover the harmony of IT management with our guide on Oracle Workspace Manager POC using Spring Boot and Flyleaf. Learn the fundamental techniques for seamless integration and optimization in this insightful tutorial.
ReplyDeleteShopify Ecommerce Audits
Your posts are always informative. This post was a very interesting topic for me too. You can also check my website too - Website Design company in delhi
ReplyDeleteThis is one of the best oracle workspace , visit Full stack web development training in agra
ReplyDelete