oracle-object-mapping 1.0.0.dev2

Creator: railscoder56

Last updated:

Add to Cart

Description:

oracleobjectmapping 1.0.0.dev2

Oracle Object Mapping
Requirements

Python 3.7+

Install
pip install oracle-object-mapping

Example
Types definition
import datetime
from typing import Optional

from oracle_object_mapping import objects, fields


class TABLE_VARCHARS(objects.Collection[str]):
pass


class TABLE_CLOBS(objects.Collection[str]):
package = 'LIBRARY'
database_type = fields.CLOB()


class BOOK(objects.Object):
package = 'LIBRARY'
ID: Optional[int]
TITLE: Optional[str]
AUTHORS: Optional[TABLE_VARCHARS]
DEDICATION: Optional[str] = fields.CLOB()
PAGES: Optional[TABLE_CLOBS]
PUBLISH_DATE: Optional[datetime.datetime]

Manipulate objects
data = ["a" * x for x in range(10)]

table_a = TABLE_VARCHARS()
for x in data:
table_a.append(x)

table_b = TABLE_VARCHARS.from_data(data)

# table_a == table_b

book_a = BOOK()
book_a.TITLE = 'Hello'
book_a.AUTHORS = TABLE_VARCHARS.from_data(['Alberto', 'José'])

# ba.to_data() == {'TITLE': 'HELLO', 'AUTHORS': ['Alberto', 'José']}

data = {'TITLE': 'HELLO', 'AUTHORS': ['Alberto', 'José']}
book_b = BOOK.from_data(data)

# book_a == book_b

Call function
from oracle_object_mapping import utils

connection: cx_Oracle.connection
name = 'LIBRARY.CREATE_BOOK'
return_type = BOOK
new_book = utils.call_function(connection, name, return_type, args=[book_a])
print(new_book.ID)

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.