An Arrow connector to PostgreSQL.
- Installation
- Configuration
- Usage
- Auto generated keys and user defined ones
- Where clause
- Changelog
- License
The connector works in the context of Arrow application.
So first create your Arrow application.
In the terminal from the root of your app install the connector with:
appc install connector/appc.postgresql
After the installation you will see conf/appc.postgresql.default.js
config file.
It will contain template with all configuration parameters.
Some of them have default values but other must be configured appropriately.
For this connector you need to set the following configuration properties:
module.exports = {
connectors: {
'appc.postgresql': {
connectionPooling: '<OPTIONAL. SET IF YOU WANT TO USE CONNECTION POOLING OR NOT.CAN BE FALSE OR TRUE>',
connectionLimit: '<OPTIONAL. SET IF YOU WANT TO USE CONNECTION POOLING OR NOT. SET THE LIMIT AS A NUMBER>',
database: '<MANDATORY. YOUR DATABASE NAME>',
user: '<MANDATORY. YOUR DATABASE USER>',
password: '<MANDATORY. YOUR DATABASE PASSWORD>',
host: '<MANDATORY. YOUR DATABASE HOST.>',
port: '<MANDATORY. YOUR DATABASE PORT.>',
generateModels: '<OPTIONAL. ARRAY OF MODEL NAMES THAT NEED TO BE GENERATED>',
modelAutogen: true,
generateModelsFromSchema: true,
skipModelNamespace: false,
modelNamespace: '<OPTIONAL. OVERRIDES THE DEFAULT NAMESPACE VALUE WHICH IS SET TO THE NAME OF THE CONNECTOR.>'
}
}
}
Run your arrow application with:
appc run
Then open the admin ui pannel usually at http://localhost:8080/arrow to play with the available models and exposed endpoints.
The connector handles data sources with auto generated ids and user defined ones. If your service has auto generated ids you'll see the Key of every entity as 'id'. Otherwise you'll also have a dublicate of the id. For example if your Key is 'UserName' the dublicate will be visible as 'UserNameID' and will have the same value as 'id'.
You can create a new record by entering the value for the Key as the dublicate. For example if we enter data:
{
'UserNameID': 'johndoe',
'Age' : 30
}
and we have Key for the table 'UserName' this will create a record with 'UserName' johndoe and 'Age' 30.
The connector supports queries. You can use the following: '{"Name": {"$eq": "Tom"}}' to get the record with 'Name' equal to 'Tom'. Full list of all supported operators:
Operator | Meaning |
---|---|
$lt | less than |
$lte | less than or equal |
$gt | greater than |
$gte | greater than or equal |
$ne | not equal |
$eq | equal |
Please see the changelog
Clone this repository
From the root of your project run npm install
Run npm test
to see unite test suite test results
Start doing your code changes
Make sure the test suite is still working after code changes
Run the following command to do this:
npm start
Usually you could open http://localhost:8080/arrow to play with the available models and endpoints.
This project is open source and licensed under the Apache Public License (version 2). Please consider forking this project to improve, enhance or fix issues. If you feel like the community will benefit from your fork, please open a pull request.
To protect the interests of the contributors, Appcelerator, customers and end users we require contributors to sign a Contributors License Agreement (CLA) before we pull the changes into the main repository. Our CLA is simple and straightforward - it requires that the contributions you make to any Appcelerator open source project are properly licensed and that you have the legal authority to make those changes. This helps us significantly reduce future legal risk for everyone involved. It is easy, helps everyone, takes only a few minutes, and only needs to be completed once.
You can digitally sign the CLA online. Please indicate your email address in your first pull request so that we can make sure that will locate your CLA. Once you've submitted it, you no longer need to send one for subsequent submissions.
This software is licensed under the Apache 2 Public License. However, usage of the software to access the Appcelerator Platform is governed by the Appcelerator Enterprise Software License Agreement. Copyright (c) 2014-2017 by Appcelerator, Inc. All Rights Reserved.
Appcelerator is a registered trademark of Appcelerator, Inc. Arrow and associated marks are trademarks of Appcelerator. All other marks are intellectual property of their respective owners. Please see the LEGAL information about using our trademarks, privacy policy, terms of usage and other legal information at http://www.appcelerator.com/legal.