Comments (6)
I can confirm that.
"properties": {
"amount": {
"type": "Number",
"required": true,
"postgresql": {
"dataType": "numeric",
"dataPrecision": 20,
"dataScale": 0
}
}
results in
CREATE TABLE split
(
amount numeric NOT NULL,
[...]
from loopback-connector-postgresql.
Can you provide a link to a test project on GitHub? See https://github.com/strongloop/loopback/wiki/Reporting-issues#bug-report
from loopback-connector-postgresql.
Thank you for your answer @superkhau.
I set up a test project at https://github.com/sebastianhaas/loopback-sandbox.
You have to have a PostgreSQL server running at localhost:5432 with the following credentials and database:
"postgres": {
"host": "localhost",
"port": "5432",
"database": "dbname",
"username": "dbuser",
"password": "dbpassword",
"name": "postgres",
"debug": true,
"connector": "postgresql"
}
Afterwards you want to call the automigrate script to create the table.
$ node bin/automigrate.js
The newly created table will be:
CREATE TABLE testmodel
(
"numericValue" numeric NOT NULL,
id serial NOT NULL,
CONSTRAINT testmodel_pkey PRIMARY KEY (id)
)
While it should rather be numeric(19,4)
.
I took a quick look into the source, I don't see any code inside the automigrate logic that would actually do this. Maybe in node-postgres though.
from loopback-connector-postgresql.
Found a workaround for this, from @raymondfeng:
You can customize the DB type as follows:
{
"rate": {
"type": "number",
"postgresql": {
"dataType": "NUMERIC(10,2)"
}
}
```}
from loopback-connector-postgresql.
This does not work @madianas
from loopback-connector-postgresql.
Can confirm this is not an issue anymore in the latest connector. If you specify the postgresql column data type on the property you want to inject it into, this works as expected.
Here is a sample code snippet:
model-definition.json
{
"name": "Item",
"base": "PersistedModel",
"idInjection": true,
"options": {
"validateUpsert": true
},
"properties": {
"name": {
"type": "string"
},
"price": {
"type": "number",
"postgresql": {
"dataType": "numeric",
"dataPrecision": 10,
"dataScale": 2
}
}
},
"validations": [],
"relations": {},
"acls": [],
"methods": {}
}
boot-script.js
'use strict';
var util = require('util');
var _ = require('lodash');
module.exports = function(app) {
var db = app.datasources.postgresqlDs;
var Item = app.models.Item;
db.automigrate(function(err) {
if (err) throw err;
console.log('\nAutomigrate completed');
});
};
database output
testdb=# \d Item;
Table "public.item"
Column | Type | Modifiers
--------+---------------+---------------------------------------------------
name | text |
price | numeric(10,2) |
id | integer | not null default nextval('item_id_seq'::regclass)
Indexes:
"item_pkey" PRIMARY KEY, btree (id)
Closing this issue as a result. Feel free to reopen if needed.
from loopback-connector-postgresql.
Related Issues (20)
- Postgresql column as text[] or character varying() is returning data as string HOT 8
- Query with AND & OR combination is not working HOT 2
- Error when using transaction timeout HOT 6
- Postgres support > 9.x HOT 4
- LB4 with [email protected] causing SSL Error HOT 4
- eq object (JSON columns) doesn't work HOT 6
- Error: syntax error at or near ")"
- Support for Full Text Search
- Option to use joins instead of multiple calls for relations. HOT 1
- Release called on client which has already been released to the pool HOT 2
- Doesn't scramble the where correctly
- If url is empty string in config server crashes HOT 2
- Dependency Dashboard
- Add back Node.js v12 tests HOT 4
- Support bulk insert in one query using newly added createAll() in connector
- Error: Postgresql column as jsonb returning data as string using createAll() method HOT 2
- MongoDB extended operator rules erroneously applied to SQL databases and json bodies
- Default values in Models properties totally being ignored when using migrateschema. HOT 1
- Support for overlaps json operator
- Getting 5000ms Timeout error while connecting Postgres - I'm using node version 16.0.0, still running into the same problem. And I'm using the latest Postgres connector: `^7.0.1`. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from loopback-connector-postgresql.