Part of 3d-inventory project.
This server was generated by the swagger-codegen project. By using the OpenAPI-Spec from a remote server, you can easily generate a server stub.
- Simple commonjs (backend) api depends on oracledb
- Generated by Swagger v3.
- API is in
/src
- Oracle db in docker (statefull)
To run the API server:
npm run api-install
npm run nodemon
To view the Swagger UI interface:
open http://localhost:8080/docs
This project leverages the mega-awesome swagger-tools middleware which does most all the work.
https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#componentsObject
- Make backup
npm run swagger:backup-before-generate
-->cp -v ./src/service/* ./backup
- Update jars
swagger:get-jars
- Generate api by docker
swagger:v3-docker-generate
- Edit openapi by swagger editor:
swagger:v3-editor
andswagger:v3-editor-open
- Generate api by jars
swagger:v3-generate
When run in podman
db create at 172.17.0.2
. To connect db i use Oracle SQLcl
.
After your service is created, you can connect to it via the following properties:
Hostname:
oracle (from within another container)
localhost or 127.0.0.1 (from the host directly)
Port: 1521
Service name: FREEPDB1
Database App User: my_user
Database App Password: password_i_should_change
$ ./sql sys/3dinventory@127.0.0.1:1521/FREEPDB1 as sysdba
# call shell
docker exec -it 5c6a4a0c10638e88b0d1a5e35867ed908b78d8dc7fae4df804fc8cbcf1d78921 sh
# change password
docker exec -d 5c6a4a0c1063 ./setPassword.sh babilon5
# run some other command in container like sql scripts
docker exec -ti 5c6a4a0c1063 sh -c "echo a && echo b"
sql sys/babilon5@172.17.0.2:1521/orclpdb1 as sysdba
This images have more options to configure pass and faststart: https://hub.docker.com/r/gvenzl/oracle-xe
I use db-oracle-21-faststart
simple as this:
docker run -d -p 1521:1521 -e ORACLE_PASSWORD=babilon5 \
-v oracle-volume:/opt/oracle/oradata \
gvenzl/oracle-xe:21.3.0-faststart
podman run -d -p 1521:1521 -e ORACLE_PASSWORD=3dinventory docker://gvenzl/oracle-free
sqlplus sys/LetsTest1@localhost/XE as sysdba
podman exec -ti oracle-xe sqlplus sys/LetsTest1@localhost/XE as sysdba
CREATE PLUGGABLE DATABASE test ADMIN USER test IDENTIFIED BY LetsTest1 FILE_NAME_CONVERT=('pdbseed','test');
ALTER PLUGGABLE DATABASE test OPEN;
ALTER PLUGGABLE DATABASE test SAVE STATE;
ALTER SESSION SET CONTAINER=test;
GRANT CONNECT, RESOURCE, CREATE VIEW, UNLIMITED TABLESPACE TO test;
exit;
- Create instance db from offical build: 19.3.0