maikmichel / dbflux Goto Github PK
View Code? Open in Web Editor NEWVSCode Extension to build PL/SQL and export APEX Apps and REST Moduls
License: MIT License
VSCode Extension to build PL/SQL and export APEX Apps and REST Moduls
License: MIT License
Hallo Maik
Ich habe dbFlow konfiguriert und den Ordner in VS Code geöffnet. dbFlux hat den Order erkannt und zeigt mir in der Statusbar "dbFlow" an. Static Files lassen sich bequem in die Datenbank hochladen. Soweit, so gut.
Die Funktion dbFlux: Export Static Application Files jedoch führt zu einem Fehler und es werden keine Dateien geladen.
Hier ist die Ausgabe vom Terminal
Connection: developer_app/localhost:1521/pdb1
AppID: 129
File:
Target: static/f129/src
15.09.2022 18:33:25 >> exporting Files from 129 to static/129/src
15.09.2022 18:33:25 >> ... this may take a while
Picked up JAVA_TOOL_OPTIONS: -Duser.language=en -Duser.region=US -Dfile.encoding=UTF-8
15.09.2022 18:33:29 >> Decoding exported static file ...
15.09.2022 18:33:29 >> Unzipping exported schema file ...
Archive: static/f129/src.zip
End-of-central-directory signature not found. Either this file is not
a zipfile, or it constitutes one disk of a multi-part archive. In the
latter case the central directory and zipfile comment will be found on
the last disk(s) of this archive.
unzip: cannot find zipfile directory in one of static/f129/src.zip or
static/f129/src.zip.zip, and cannot find static/f129/src.zip.ZIP, period.
15.09.2022 18:33:29 >> export done
Ich verwende Windows10. Pfadnamen enthalten keine Leerzeichen.
Hast Du eine Idee was hier schief läuft?
Gruß Mark
Die Benamung der Spalten vorzugeben ist okay, aber es wäre cooler wenn man es individuell anpassen könnte.
I was setting up a single schema project and dbFlux asked me about a project name which is used as schema name in Create User and Create Workspace scripts.
The Create Workspace script, however, sets the primary schema to SCHEMANAME_APP. So I guess, in Single Schema Mode, the _APP must be omitted here.
Hi! I was trying to setup the extension under windows 11. I have installed properly sqlcl and the bash command is recognized under the default WSL. The first time, there was some java asking for permissions to execute, and after that, a create_dbflow.sh is opened, but just it, the folder structure doesn't get created and nothing is imported. I can't see any details about what failed. What could it be? thanks!
Notified from user:
"When running a command, which calls a bash script, an error is displayed which tells us, that the script is not executable."
It seems like the tasks running sqlcl or sqlplus can not handle passwords that contain spaces.
The task output showed an error by sqlplus saying that the file "abcde" (the part of the password behind the first space) could not be found.
Probably the calls to sql or sqlplus contain the schema password without double quotes - them d**n double quotes again ;)
Would be nice to have, although I was free to help myself out by changing the schema password.
On the first question of the "initialize project structure" task, it might be a bit unclear to the developer that the project name will be (part of) the schema name(s) in the database. Also, dbFlux does not care at all whether the given project name (and thus, the schemas to create) contains blanks.
To improve user experience, you could extend the first question and provide the hint that the project name will be used in db schema names. And maybe show an error/warning when project name contains blanks/whitespaces.
Hallo Maik
Dein Beitrag in der Red Stack über dbFlux kam genau richtig. Die neusten Sicherheitsrichtlinien verhindern den Download von JS Dateien aus den Shared Components und der "Download as Zip" Button tut nichts. Laut DB-Betrieb ein Apex Bug (?). Hier könnte dbFlux die Lücke schließen und gewaltig Zeit im täglichen gebrauch sparen. Glückwunsch, geiles Werkzeug erdacht!
Wenn man selbst DBA-Rechte hat kann man gut damit leben das hier vorgedachte Namen vergeben werden. Allerdings in meinem Fall werden die Schema- und Workspacenamen vom Datenbankbetrieb vergeben, bzw. abgeleitet.
Idee: Ich fände es gut wenn der Schema- und Workspacenamen während der Projekterstellung festgelegt werden könnten. Somit könnte dbFlux auch für bereits bestehnde Apex-Installationen verwendet werden.
Frage: Besteht die Möglichkeit diese Parameter im Workspace-Speicher zu verändern?
Gruß Mark
Besides the APEX export options given in dbFlux (skipExportDate and split), it would be nice to be able to customize these options in the vscode workspace settings for dbFlux.
Other projects might require to export e.g. private report settings or developer comments or might want to export in a different format (e.g. READABLE_JSON).
Hey Maik,
I find it "uncomfortable" that the path to my project directory may (or should) not contain any spaces. I like to name my directories in proper language. Say, I want to organize my projects according to the context in directories like D:\Own Projects\APEX Apps or D:\Own Projects\APEX Plugins or D:\work\My Client\APEX and so on, and I dislike using things like camel case notation or underscores.
Now, while I totally agree with avoiding spaces in paths and file names within the project structure, the path to the project root should allow such spaces.
The particular problem, dbFlux causes, that made me write this issue, is within the "build" (rather upload) task of a javascript file. The upload works without problems. After the upload, dbFlux tries to move the generated sql file to f100/dist/js. Now, my project root is in D:\private\APEX Plugins. Due to the space in "APEX Plugins", the MV command tries to move D:\private\APEX to Plugins\myPlugin\static\f100\dist\js\myPlugin.js.sql which fortunately fails because the target is not a directory - which is exactly what the error message of MV says.
Connection: apex_plugins@localhost:1521/xepdb1
Sourcefile: static/f100/src/js/myPlugin.js (Trigger only: NO)
OS-Now: 30.01.23_08:44:18,31699
DB-User: APEX_PLUGINS
DB-Name: XEPDB1
DB-Now: 30.01.23 08:44:26,646491000 +01:00
... File uploaded as: js/myPlugin.js
... File uploaded as: js/myPlugin.min.js
... File uploaded as: js/myPlugin.js.map
PL/SQL-Prozedur erfolgreich abgeschlossen.
Successful 30.01.23 08:44:28,051397000 +01:00
mv: target 'Plugins/my_plugin/static/f100/dist/js/myPlugin.js.sql' is not a directory
Reference file by using: #APP_FILES#js/myPlugin#MIN#.js
-----------------------------------------------------
* Terminal will be reused by tasks, press any key to close it.
I am sure that this is not the only spot where spaces in the path to the project cause problems. It's just the most recent one. Uploading CSS files will most likely have the same effect. I can provide more spots once i stumble upon them.
I'd love to see dbFlux being able to handle this. Should be working, when using double quotes on bash operations that receive a path as parameter.
Thanks and thumbsup for this great extension!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.