Openbravo Issue Tracking System - Openbravo ERP |
View Issue Details |
|
ID | Project | Category | View Status | Date Submitted | Last Update |
0046647 | Openbravo ERP | Y. DBSourceManager | public | 2021-05-12 15:58 | 2021-06-04 11:47 |
|
Reporter | marvintm | |
Assigned To | alostale | |
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | fixed | |
Platform | | OS | 5 | OS Version | |
Product Version | | |
Target Version | | Fixed in Version | PR21Q3 | |
Merge Request Status | approved |
Review Assigned To | |
OBNetwork customer | No |
Web browser | |
Modules | Core |
Support ticket | |
Regression level | |
Regression date | |
Regression introduced in release | |
Regression introduced by commit | |
Triggers an Emergency Pack | No |
|
Summary | 0046647: Neither onCreateDefault nor default values are used when inserting sampledata |
Description | Currently, neither onCreateDefault nor default values are used when inserting sampledata, for mandatory columns in client/org records.
This means that sampledata import is currently quite fragile, because if later on a new module adding a mandatory column is installed, the same sampledata cannot be used unless the data definition is updated with values for that column.
It currently also impacts us in the development of the new POS, because we are trying to use the same sampledata we had in the old POS, and we also want to add mandatory columns (with their corresponding default) to the new POS modules. |
Steps To Reproduce | - Create some sampledata records for a set of modules
- Install a new module which adds a mandatory column with a default/oncreatedefault value.
- Do install.source. Realise that it fails because the record is being inserted without value in this mandatory column. |
Proposed Solution | Probably either oncreatedefault or default should be used, if when inserting a record the value of a column is null, the column is mandatory, and it contains a default or oncreatedefault.
Most probably the behaviour we have for sourcedata should be replicated here. Originally, oncreatedefault value was used for this, but this may have changed in recent years. |
Additional Information | |
Tags | No tags attached. |
Relationships | related to | defect | 0049897 | PR22Q4 | closed | alostale | Add missing support for referencing other columns in onCreateDefault during importsampledata |
|
Attached Files | |
|
Issue History |
Date Modified | Username | Field | Change |
2021-05-12 15:58 | marvintm | New Issue | |
2021-05-12 15:58 | marvintm | Assigned To | => platform |
2021-05-12 15:58 | marvintm | OBNetwork customer | => No |
2021-05-12 15:58 | marvintm | Modules | => Core |
2021-05-12 15:58 | marvintm | Triggers an Emergency Pack | => No |
2021-05-25 16:00 | shuehner | Issue Monitored: shuehner | |
2021-05-31 13:26 | alostale | Assigned To | platform => alostale |
2021-05-31 13:30 | hgbot | Merge Request Status | => open |
2021-05-31 13:30 | hgbot | Note Added: 0128813 | |
2021-06-04 10:46 | hgbot | Merge Request Status | open => approved |
2021-06-04 10:51 | hgbot | Resolution | open => fixed |
2021-06-04 10:51 | hgbot | Status | new => closed |
2021-06-04 10:51 | hgbot | Note Added: 0129058 | |
2021-06-04 10:51 | hgbot | Note Added: 0129059 | |
2021-06-04 11:47 | hgbot | Fixed in Version | => PR21Q3 |
2021-06-04 11:47 | hgbot | Note Added: 0129068 | |
2022-11-18 09:23 | caristu | Relationship added | related to 0049897 |
Notes |
|
(0128813)
|
hgbot
|
2021-05-31 13:30
|
|
|
|
(0129058)
|
hgbot
|
2021-06-04 10:51
|
|
Directly closing issue as related merge request is already approved.
Repository: https://gitlab.com/openbravo/product/dbsm [^]
Changeset: 83897056d170385c18fe163b8d5465ccc3eae8c4
Author: Asier Lostalé <asier.lostale@openbravo.com>
Date: 2021-06-04T10:47:42+02:00
URL: https://gitlab.com/openbravo/product/dbsm/-/commit/83897056d170385c18fe163b8d5465ccc3eae8c4 [^]
fixes BUG-46647: no default applied when inserting sample data
When inserting sample data neither default or on create default were
applied. This made more difficult to import sample data in an instance
with a different set of modules than the ones used to generate it.
Now when trying to import sample data with null values in mandatory columns
the following is applied:
* If there is an on create default literal value it gets applied. Note on
create default based on subqueries cannot be applied.
* If there is no create default, default value gets applied.
---
A src-test/data/sampledata/NO_REQ1.xml
A src-test/data/sampledata/NO_REQ2.xml
A src-test/data/sampledata/NO_REQ3.xml
A src-test/data/sampledata/OPT_NULL.xml
A src-test/data/sampledata/SIMPLE.xml
A src-test/data/sampledata/UNKNOWN_COL.xml
A src-test/model/sampledata/SAMPLE_DATA_MODEL.xml
A src-test/src/org/openbravo/dbsm/test/sampledata/ImportSampleData.java
A src-test/src/org/openbravo/dbsm/test/sampledata/SampleDataSuite.java
M src-test/src/org/openbravo/dbsm/test/DBSMTestSuite.java
M src-test/src/org/openbravo/dbsm/test/base/DbsmTest.java
M src/org/apache/ddlutils/io/DataToDatabaseSink.java
M src/org/openbravo/ddlutils/task/ImportSampledata.java
---
|
|
|
(0129059)
|
hgbot
|
2021-06-04 10:51
|
|
|
|
(0129068)
|
hgbot
|
2021-06-04 11:47
|
|
Directly closing issue as related merge request is already approved.
Repository: https://gitlab.com/openbravo/product/openbravo [^]
Changeset: 870040145e6772c5c7a8a689055a6f6f2d53775a
Author: Asier Lostalé <asier.lostale@openbravo.com>
Date: 2021-06-04T10:55:51+02:00
URL: https://gitlab.com/openbravo/product/openbravo/-/commit/870040145e6772c5c7a8a689055a6f6f2d53775a [^]
fixes BUG-46974: core2 tables export; fixes BUG-46647: sampledata defaults
dbsm including the fixes for:
BUG-46974: cannot export data of tables from core2
Source data in core2 AD tables was not exported. ISSUE-46245 skips
export of these tables in case the module that defines them is not
installed.
When exporting source data it was not working because it incorrectly
dected core2 to be always not installed. It relied on
DBSMOBUtil.allModules to be correctly completelly initialized which is
not the case after calling getSortedTemplates.
Now the optional modules not installed are initialized in getModules and
kept after getSortedTemplates. belongsToOptionalUninstalledModule method
must be invoked after getModules, now if called before it will
explicitily fail.
BUG-46647: no default applied when inserting sample data
When inserting sample data neither default or on create default were
applied. This made more difficult to import sample data in an instance
with a different set of modules than the ones used to generate it.
Now when trying to import sample data with null values in mandatory columns
the following is applied:
* If there is an on create default literal value it gets applied. Note on
create default based on subqueries cannot be applied.
* If there is no create default, default value gets applied.
---
M src-db/database/lib/dbsourcemanager.jar
---
|
|