Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Drop support for sqlplus, sqlcl Liquibase ci/cd #63

Open
yevon opened this issue Sep 2, 2021 · 8 comments
Open

Drop support for sqlplus, sqlcl Liquibase ci/cd #63

yevon opened this issue Sep 2, 2021 · 8 comments
Labels
enhancement New feature or request

Comments

@yevon
Copy link
Collaborator

yevon commented Sep 2, 2021

What do you think about dropping support for sqlplus? I say it because I plan to add sqlcl liquibase ci/cd compatibility in liquibase, and for me I don't see any advantages of mantaining two different implementations as sqlcl can do everything and more than sqlplus can do.

@true-hb
Copy link

true-hb commented Sep 2, 2021

sorry, I need sqlplus, because we are still working with Oracle 11 in our company. I guess, I'm not the only one.

@yevon
Copy link
Collaborator Author

yevon commented Sep 2, 2021

mmm ok, we will have to limit some features only if you have installed sqlcl.

@mickeypearce
Copy link
Owner

Yes, no problem, I think that SqlCl is set to execute by default, so no problem if some features don't work if you switch to sqlplus.

@mickeypearce
Copy link
Owner

hej! Latest version of sqlcl has some additional liquibase fatures... https://www.thatjeffsmith.com/archive/2021/10/versions-21-3-of-sqlcl-ords-sqldev-web-now-available/

@yevon
Copy link
Collaborator Author

yevon commented Oct 6, 2021

Wow very interesting, I was waiting for this as standard Liquibase has support for this. I will try to have a look at it. We might even replace curent schema sql generator with sqlcl generator. I found it quite slow generating changelogs, it might have improved. I will have a look at this.

@mickeypearce mickeypearce added the enhancement New feature or request label Oct 8, 2021
@yevon
Copy link
Collaborator Author

yevon commented Oct 14, 2021

SQLcl Liquibase file structure is a bit different than oradew project structure, what do you thing about renaming some of the object type's to liquibase ones?

(Liquibase -> Current in oradew)

apex -> APEX
db_link -> New object type
function -> FUNCTIONS
index -> New object type
job -> New object type
object_grant -> New object type
package_body -> PACKAGE_BODIES
package_spec -> PACKAGES
procedure -> PROCEDURES
ref_constraint -> New object type
sequence -> New object type
synonym -> SYNONYMS
table -> TABLES
trigger -> TRIGGERS
type_body -> TYPE_BODIES
type_spec -> TYPES
view -> VIEWS

@yevon
Copy link
Collaborator Author

yevon commented Oct 14, 2021

I will just create two new command, like import liquibase and deploy liquibase for keeping current compatibility.

@mickeypearce
Copy link
Owner

mickeypearce commented Oct 14, 2021

We already use a mapping for object types, I think we can extend it or create sth similar for luqibase:

const mapToOraObjectType = {
packageSpec: "PACKAGE",
procedure: "PROCEDURE",
function: "FUNCTION",
packageBody: "PACKAGE BODY",
view: "VIEW",
trigger: "TRIGGER",
typeSpec: "TYPE",
typeBody: "TYPE BODY",
table: "TABLE",
synonym: "SYNONYM",
apex: "APEX",
};
const mapToOraObjectTypeAlt = {
packageSpec: "PACKAGE_SPEC",
packageBody: "PACKAGE_BODY",
typeSpec: "TYPE_SPEC",
typeBody: "TYPE_BODY",
};
const mapfromOraObjectType = invert(mapToOraObjectType);

const objectTypeOra = mapToOraObjectType[objectType] || objectType;
const objectTypeOraAlt = mapToOraObjectTypeAlt[objectType] || objectTypeOra;

...
const type = mapfromOraObjectType[oraType] || oraType;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants