All Projects → mathebox → django_hana_pyhdb

mathebox / django_hana_pyhdb

Licence: BSD-3-Clause license
Django db backend for SAP HANA

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to django hana pyhdb

hana-shine
SAP HANA INteractive Education (SHINE) is an education content to learn, develop and deploy SAP HANA Application Services (XS Engine) based applications within the SAP HANA Platform
Stars: ✭ 89 (+368.42%)
Mutual labels:  sap-hana
trento
An open cloud-native web console improving on the work day of SAP Applications administrators.
Stars: ✭ 35 (+84.21%)
Mutual labels:  sap-hana
ABAP-Library
Useful ABAP code snippets
Stars: ✭ 118 (+521.05%)
Mutual labels:  sap-hana
hana-shine-xsa
SAP HANA Interactive Education for SAP HANA Extended Application Services, Advanced Model (SHINE for XS Advanced) is an education content to learn, develop, and deploy SAP HANA XS Advanced Model application and is a successor of SHINE for XS Classic.
Stars: ✭ 115 (+505.26%)
Mutual labels:  sap-hana
Linq2db
Linq to database provider.
Stars: ✭ 2,211 (+11536.84%)
Mutual labels:  sap-hana
Typeorm
ORM for TypeScript and JavaScript (ES7, ES6, ES5). Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server, Oracle, SAP Hana, WebSQL databases. Works in NodeJS, Browser, Ionic, Cordova and Electron platforms.
Stars: ✭ 26,559 (+139684.21%)
Mutual labels:  sap-hana
Sqlpad
Web-based SQL editor run in your own private cloud. Supports MySQL, Postgres, SQL Server, Vertica, Crate, ClickHouse, Trino, Presto, SAP HANA, Cassandra, Snowflake, BigQuery, SQLite, and more with ODBC
Stars: ✭ 4,113 (+21547.37%)
Mutual labels:  sap-hana
btp-full-stack-typescript-app
A sample project to demonstrate how to implement a full-stack app with SAP Cloud Application Programming Model, plus SAPUI5 and TypeScript.
Stars: ✭ 27 (+42.11%)
Mutual labels:  sap-hana
hana-native-adapters
Since SAP HANA SPS09 supports writing new adapters for Smart Data Access, Batch Data Loading, ETL, Realtime Replication, and Realtime Transformations. While common adapters are provided by SAP, everyone can write their own adapters using the SAP HANA Adapter SDK. This project aims to provide additional adapters for using them or as samples.
Stars: ✭ 30 (+57.89%)
Mutual labels:  sap-hana
teched2021-developer-keynote
SAP TechEd 2021 Developer Keynote: Improving Developers' Lives.
Stars: ✭ 23 (+21.05%)
Mutual labels:  sap-hana
devtoberfest-2021
The home of Devtoberfest 2021 - an open celebration of what makes us developers - coding and collaboration!
Stars: ✭ 212 (+1015.79%)
Mutual labels:  sap-hana
hana-ml-samples
This project provides code examples for SAP HANA Predictive and Machine Learning scenarios and is educational content. It covers simple Predictive Analysis Library SQL examples as well as complete SAP HANA design-time “ML scenario”-application content or HANA-ML Python Notebook examples.
Stars: ✭ 67 (+252.63%)
Mutual labels:  sap-hana
cloud-cap-multitenancy
SAP Cloud Application Programming Model (CAP) sample code project with multitenancy using service manager-created SAP HANA containers for tenant data isolation.
Stars: ✭ 33 (+73.68%)
Mutual labels:  sap-hana
cloud-hana-helloworld
This project provides the full source code for the "Hello World" tutorials on https://hcp.sap.com. In this tutorials you can learn how to make your very first steps on SAP HANA by developing a very simple "Hello World" application using the SAP HANA web-based Development Workbench on the SAP HANA Cloud Platform.
Stars: ✭ 26 (+36.84%)
Mutual labels:  sap-hana
hana-developer-cli-tool-example
Learn how to build a developer-centric SAP HANA command line tool, particularly designed to be used when performing SAP HANA development in non-SAP tooling (for example from VS Code).
Stars: ✭ 73 (+284.21%)
Mutual labels:  sap-hana

Django DB Backend for SAP HANA

Build Status codecov

Installation

  1. Install PyHDB

  2. Install the python package via setup.py

    python setup.py install
  3. The config in the Django project is as follows

    DATABASES = {
        'default': {
            'ENGINE': 'django_hana',           # or as per your python path
            'NAME': '<SCHEMA_NAME>',           # The schema to use. It will be created if doesn't exist
            'USER': '<USERNAME>',
            'PASSWORD': '<PASSWORD>',
            'HOST': '<HOSTNAME>',
            'PORT': '3<INSTANCE_NUMBER>15',
        }
    }
  4. HANA doesn't support Timezone. Set USE_TZ=False in settings.py.

Config

Column/Row store

Use the column/row-store class decorators to make sure that your models are using the correct HANA engine. If the models are not using any decorators the default behaviour will be a ROW-store column.

from django.db import models
from django_hana import column_store, row_store

@column_store
class ColumnStoreModel(models.Model):
	some_field = models.CharField()

@row_store
class RowStoreModel(models.Model):
	some_field = models.CharField()

Support of spatial column types

Add django.contrib.gis to your INSTALLED_APPS.

In your models.py files use

from django.contrib.gis.db.models import ...

instead of

from django.db.models import ...

Make use of the following fields:

  • PointField
  • LineStringField
  • PolygonField
  • MultiPointField
  • MulitLineString
  • MultiPolygon

Contributing

  1. Fork repo
  2. Create your feature branch (e.g. git checkout -b my-new-feature)
  3. Implement your feature
  4. Commit your changes (e.g. git commit -am 'Add some feature' | See here)
  5. Push to the branch (e.g. git push -u origin my-new-feature)
  6. Create new pull request

Setting up for developement / Implement a feature

  1. (Optional) Create virtualenv
  2. Install development dependencies (pip install -r requirements-testing.txt)
  3. Add test case
  4. Run tests
  5. For all supported python and django version: tox
  6. For a single env: tox -e <ENVNAME> (e.g. tox -e py35django110)
  7. Tests failing?
  8. Hack, hack, hack
  9. Run tests again
  10. Tests should pass
  11. Run isort (isort -rc . or tox -e isort)
  12. run flake8 (flake8 . or tox -e lint)

Disclaimer

This project is not a part of standard SAP HANA delivery, hence SAP support is not responsible for any queries related to this software. All queries/issues should be reported here.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].