CSV Import fails with "user_status" cannot be null
Moderator: moderator
-
maschoff
- Site Admin
- Posts: 2661
- Joined: Thu Aug 03, 2006 10:20 am
- Location: Munich, Germany
- Contact:
Re: CSV Import fails with "user_status" cannot be null
Wow! I will check the JSON file if it is really clean. It may contain some artifacts too.
OpenEMM Maintainer
Re: CSV Import fails with "user_status" cannot be null
I still didnt manage to import multiple CSVs on any version past 22.10.
This is error logs from 24.10.000.167.
I've activated debug logging in mysql, but its not very clear to me how it shows me the error:
Could the migration process have a little bug in any version after 22.10 and if so, how would I identify it? The SCHEMA of the table looks identical for the "user_status" column, so what else could it be?
This is error logs from 24.10.000.167.
I've activated debug logging in mysql, but its not very clear to me how it shows me the error:
Code: Select all
SET GLOBAL log_warnings = 2;
SET GLOBAL general_log = ON;
SET GLOBAL log_output = 'TABLE';
Code: Select all
SELECT event_time, argument FROM mysql.general_log WHERE argument LIKE 'INSERT INTO customer_1_binding_tbl%' ORDER BY event_time DESC \G;
*************************** 1. row ***************************
event_time: 2025-12-17 17:09:12.827769
argument: INSERT INTO customer_1_binding_tbl (customer_id, user_type, user_status, user_remark, timestamp, creation_date, exit_mailing_id, mailinglist_id, mediatype) (SELECT DISTINCT customer_id, 'W', 1, 'CSV File Upload', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 0, 3, 0 FROM tmp_imp1_19 temp WHERE (customer_id != 0 AND customer_id IS NOT NULL) AND NOT EXISTS (SELECT 1 FROM customer_1_binding_tbl bind WHERE temp.customer_id = bind.customer_id AND 3 = bind.mailinglist_id AND 0 = bind.mediatype))
*************************** 2. row ***************************
event_time: 2025-12-17 17:09:12.773758
argument: INSERT INTO customer_1_binding_tbl (customer_id, user_type, user_status, user_remark, timestamp, creation_date, exit_mailing_id, mailinglist_id, mediatype) (SELECT customer_id, 'W', 1, 'CSV File Upload', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 0, 3, 0 FROM customer_1_tbl cust WHERE datasource_id = 19 AND NOT EXISTS (SELECT 1 FROM customer_1_binding_tbl bind WHERE cust.customer_id = bind.customer_id AND 3 = bind.mailinglist_id AND 0 = bind.mediatype))
*************************** 3. row ***************************
-
maschoff
- Site Admin
- Posts: 2661
- Joined: Thu Aug 03, 2006 10:20 am
- Location: Munich, Germany
- Contact:
Re: CSV Import fails with "user_status" cannot be null
This log does not help. Please post the stacktrace from Tomcat's log catalina.out.
OpenEMM Maintainer
Re: CSV Import fails with "user_status" cannot be null
It should be the one from the first page.
This is the latest:
This is the latest:
Code: Select all
[ WARN] (WorkerExecutorService-emm-thread-#2) Error: 1048-23000: Column 'user_status' cannot be null
2025-12-17 17:09:12,828: ERROR [WorkerExecutorService-emm-thread-#2] org.agnitas.dao.impl.ImportRecipientsDaoImpl - Error: PreparedStatementCallback; SQL [INSERT INTO customer_1_binding_tbl (customer_id, user_type, user_status, user_remark, timestamp, creation_date, exit_mailing_id, mailinglist_id, mediatype) (SELECT DISTINCT customer_id, 'W', ?, 'CSV File Upload', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 0, ?, ? FROM tmp_imp1_19 temp WHERE (customer_id != 0 AND customer_id IS NOT NULL) AND NOT EXISTS (SELECT 1 FROM customer_1_binding_tbl bind WHERE temp.customer_id = bind.customer_id AND ? = bind.mailinglist_id AND ? = bind.mediatype))]; (conn=5232) Column 'user_status' cannot be null
SQL: INSERT INTO customer_1_binding_tbl (customer_id, user_type, user_status, user_remark, timestamp, creation_date, exit_mailing_id, mailinglist_id, mediatype) (SELECT DISTINCT customer_id, 'W', ?, 'CSV File Upload', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 0, ?, ? FROM tmp_imp1_19 temp WHERE (customer_id != 0 AND customer_id IS NOT NULL) AND NOT EXISTS (SELECT 1 FROM customer_1_binding_tbl bind WHERE temp.customer_id = bind.customer_id AND ? = bind.mailinglist_id AND ? = bind.mediatype))
Parameter: 1, 3, 0, 3, 0
org.springframework.dao.DataIntegrityViolationException: PreparedStatementCallback; SQL [INSERT INTO customer_1_binding_tbl (customer_id, user_type, user_status, user_remark, timestamp, creation_date, exit_mailing_id, mailinglist_id, mediatype) (SELECT DISTINCT customer_id, 'W', ?, 'CSV File Upload', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 0, ?, ? FROM tmp_imp1_19 temp WHERE (customer_id != 0 AND customer_id IS NOT NULL) AND NOT EXISTS (SELECT 1 FROM customer_1_binding_tbl bind WHERE temp.customer_id = bind.customer_id AND ? = bind.mailinglist_id AND ? = bind.mediatype))]; (conn=5232) Column 'user_status' cannot be null
at org.springframework.jdbc.support.SQLExceptionSubclassTranslator.doTranslate(SQLExceptionSubclassTranslator.java:97) ~[spring-jdbc-6.1.14.migrated.jar:6.1.14-migrated-1.0.0]
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) ~[spring-jdbc-6.1.14.migrated.jar:6.1.14-migrated-1.0.0]
at org.springframework.jdbc.core.JdbcTemplate.translateException(JdbcTemplate.java:1548) ~[spring-jdbc-6.1.14.migrated.jar:6.1.14-migrated-1.0.0]
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:677) ~[spring-jdbc-6.1.14.migrated.jar:6.1.14-migrated-1.0.0]
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:970) ~[spring-jdbc-6.1.14.migrated.jar:6.1.14-migrated-1.0.0]
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:1014) ~[spring-jdbc-6.1.14.migrated.jar:6.1.14-migrated-1.0.0]
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:1024) ~[spring-jdbc-6.1.14.migrated.jar:6.1.14-migrated-1.0.0]
at org.agnitas.dao.impl.BaseDaoImpl.update(BaseDaoImpl.java:472) ~[classes/:?]
at org.agnitas.dao.impl.RetryUpdateBaseDaoImpl.retryableUpdate(RetryUpdateBaseDaoImpl.java:44) ~[classes/:?]
at org.agnitas.dao.impl.ImportRecipientsDaoImpl.assignExistingCustomerWithoutBindingToMailingList(ImportRecipientsDaoImpl.java:454) ~[classes/:?]
at org.agnitas.util.importvalues.ImportModeAddAndUpdateHandler.handlePostProcessing(ImportModeAddAndUpdateHandler.java:207) ~[classes/:?]
at org.agnitas.service.ProfileImportWorker.importData(ProfileImportWorker.java:750) ~[classes/:?]
at org.agnitas.service.ProfileImportWorker.call(ProfileImportWorker.java:458) ~[classes/:?]
at com.agnitas.emm.core.imports.web.RecipientImportController.lambda$execute$0(RecipientImportController.java:318) ~[classes/:?]
at com.agnitas.service.impl.PollingServiceImpl$CallablePollable.call(PollingServiceImpl.java:90) [classes/:?]
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) [?:?]
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) [?:?]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
at java.base/java.lang.Thread.run(Thread.java:840) [?:?]
Caused by: java.sql.SQLIntegrityConstraintViolationException: (conn=5232) Column 'user_status' cannot be null
at org.mariadb.jdbc.export.ExceptionFactory.createException(ExceptionFactory.java:290) ~[mariadb-java-client-3.0.8.jar:?]
at org.mariadb.jdbc.export.ExceptionFactory.create(ExceptionFactory.java:370) ~[mariadb-java-client-3.0.8.jar:?]
at org.mariadb.jdbc.message.ClientMessage.readPacket(ClientMessage.java:137) ~[mariadb-java-client-3.0.8.jar:?]
at org.mariadb.jdbc.client.impl.StandardClient.readPacket(StandardClient.java:840) ~[mariadb-java-client-3.0.8.jar:?]
at org.mariadb.jdbc.client.impl.StandardClient.readResults(StandardClient.java:779) ~[mariadb-java-client-3.0.8.jar:?]
at org.mariadb.jdbc.client.impl.StandardClient.readResponse(StandardClient.java:698) ~[mariadb-java-client-3.0.8.jar:?]
at org.mariadb.jdbc.client.impl.StandardClient.execute(StandardClient.java:641) ~[mariadb-java-client-3.0.8.jar:?]
at org.mariadb.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:95) ~[mariadb-java-client-3.0.8.jar:?]
at org.mariadb.jdbc.ClientPreparedStatement.executeLargeUpdate(ClientPreparedStatement.java:334) ~[mariadb-java-client-3.0.8.jar:?]
at org.mariadb.jdbc.ClientPreparedStatement.executeUpdate(ClientPreparedStatement.java:311) ~[mariadb-java-client-3.0.8.jar:?]
at org.apache.tomcat.dbcp.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:137) ~[tomcat-dbcp.jar:10.1.39]
at org.apache.tomcat.dbcp.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:137) ~[tomcat-dbcp.jar:10.1.39]
at org.springframework.jdbc.core.JdbcTemplate.lambda$update$2(JdbcTemplate.java:975) ~[spring-jdbc-6.1.14.migrated.jar:6.1.14-migrated-1.0.0]
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:658) ~[spring-jdbc-6.1.14.migrated.jar:6.1.14-migrated-1.0.0]
... 18 more
2025-12-17 17:09:13,214: ERROR [WorkerExecutorService-emm-thread-#2] org.agnitas.service.ProfileImportWorker - Error during profile importData: PreparedStatementCallback; SQL [INSERT INTO customer_1_binding_tbl (customer_id, user_type, user_status, user_remark, timestamp, creation_date, exit_mailing_id, mailinglist_id, mediatype) (SELECT DISTINCT customer_id, 'W', ?, 'CSV File Upload', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 0, ?, ? FROM tmp_imp1_19 temp WHERE (customer_id != 0 AND customer_id IS NOT NULL) AND NOT EXISTS (SELECT 1 FROM customer_1_binding_tbl bind WHERE temp.customer_id = bind.customer_id AND ? = bind.mailinglist_id AND ? = bind.mediatype))]; (conn=5232) Column 'user_status' cannot be null
org.springframework.dao.DataIntegrityViolationException: PreparedStatementCallback; SQL [INSERT INTO customer_1_binding_tbl (customer_id, user_type, user_status, user_remark, timestamp, creation_date, exit_mailing_id, mailinglist_id, mediatype) (SELECT DISTINCT customer_id, 'W', ?, 'CSV File Upload', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 0, ?, ? FROM tmp_imp1_19 temp WHERE (customer_id != 0 AND customer_id IS NOT NULL) AND NOT EXISTS (SELECT 1 FROM customer_1_binding_tbl bind WHERE temp.customer_id = bind.customer_id AND ? = bind.mailinglist_id AND ? = bind.mediatype))]; (conn=5232) Column 'user_status' cannot be null
at org.springframework.jdbc.support.SQLExceptionSubclassTranslator.doTranslate(SQLExceptionSubclassTranslator.java:97) ~[spring-jdbc-6.1.14.migrated.jar:6.1.14-migrated-1.0.0]
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) ~[spring-jdbc-6.1.14.migrated.jar:6.1.14-migrated-1.0.0]
at org.springframework.jdbc.core.JdbcTemplate.translateException(JdbcTemplate.java:1548) ~[spring-jdbc-6.1.14.migrated.jar:6.1.14-migrated-1.0.0]
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:677) ~[spring-jdbc-6.1.14.migrated.jar:6.1.14-migrated-1.0.0]
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:970) ~[spring-jdbc-6.1.14.migrated.jar:6.1.14-migrated-1.0.0]
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:1014) ~[spring-jdbc-6.1.14.migrated.jar:6.1.14-migrated-1.0.0]
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:1024) ~[spring-jdbc-6.1.14.migrated.jar:6.1.14-migrated-1.0.0]
at org.agnitas.dao.impl.BaseDaoImpl.update(BaseDaoImpl.java:472) ~[classes/:?]
at org.agnitas.dao.impl.RetryUpdateBaseDaoImpl.retryableUpdate(RetryUpdateBaseDaoImpl.java:44) ~[classes/:?]
at org.agnitas.dao.impl.ImportRecipientsDaoImpl.assignExistingCustomerWithoutBindingToMailingList(ImportRecipientsDaoImpl.java:454) ~[classes/:?]
at org.agnitas.util.importvalues.ImportModeAddAndUpdateHandler.handlePostProcessing(ImportModeAddAndUpdateHandler.java:207) ~[classes/:?]
at org.agnitas.service.ProfileImportWorker.importData(ProfileImportWorker.java:750) ~[classes/:?]
at org.agnitas.service.ProfileImportWorker.call(ProfileImportWorker.java:458) ~[classes/:?]
at com.agnitas.emm.core.imports.web.RecipientImportController.lambda$execute$0(RecipientImportController.java:318) ~[classes/:?]
at com.agnitas.service.impl.PollingServiceImpl$CallablePollable.call(PollingServiceImpl.java:90) [classes/:?]
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) [?:?]
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) [?:?]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
at java.base/java.lang.Thread.run(Thread.java:840) [?:?]
Caused by: java.sql.SQLIntegrityConstraintViolationException: (conn=5232) Column 'user_status' cannot be null
at org.mariadb.jdbc.export.ExceptionFactory.createException(ExceptionFactory.java:290) ~[mariadb-java-client-3.0.8.jar:?]
at org.mariadb.jdbc.export.ExceptionFactory.create(ExceptionFactory.java:370) ~[mariadb-java-client-3.0.8.jar:?]
at org.mariadb.jdbc.message.ClientMessage.readPacket(ClientMessage.java:137) ~[mariadb-java-client-3.0.8.jar:?]
at org.mariadb.jdbc.client.impl.StandardClient.readPacket(StandardClient.java:840) ~[mariadb-java-client-3.0.8.jar:?]
at org.mariadb.jdbc.client.impl.StandardClient.readResults(StandardClient.java:779) ~[mariadb-java-client-3.0.8.jar:?]
at org.mariadb.jdbc.client.impl.StandardClient.readResponse(StandardClient.java:698) ~[mariadb-java-client-3.0.8.jar:?]
at org.mariadb.jdbc.client.impl.StandardClient.execute(StandardClient.java:641) ~[mariadb-java-client-3.0.8.jar:?]
at org.mariadb.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:95) ~[mariadb-java-client-3.0.8.jar:?]
at org.mariadb.jdbc.ClientPreparedStatement.executeLargeUpdate(ClientPreparedStatement.java:334) ~[mariadb-java-client-3.0.8.jar:?]
at org.mariadb.jdbc.ClientPreparedStatement.executeUpdate(ClientPreparedStatement.java:311) ~[mariadb-java-client-3.0.8.jar:?]
at org.apache.tomcat.dbcp.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:137) ~[tomcat-dbcp.jar:10.1.39]
at org.apache.tomcat.dbcp.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:137) ~[tomcat-dbcp.jar:10.1.39]
at org.springframework.jdbc.core.JdbcTemplate.lambda$update$2(JdbcTemplate.java:975) ~[spring-jdbc-6.1.14.migrated.jar:6.1.14-migrated-1.0.0]
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:658) ~[spring-jdbc-6.1.14.migrated.jar:6.1.14-migrated-1.0.0]
... 18 more
-
maschoff
- Site Admin
- Posts: 2661
- Joined: Thu Aug 03, 2006 10:20 am
- Location: Munich, Germany
- Contact:
Re: CSV Import fails with "user_status" cannot be null
Root cause is "Column 'user_status' cannot be null". Please share the settings of your import profile.
OpenEMM Maintainer
Re: CSV Import fails with "user_status" cannot be null
Here is the test import profile.
This exact profile works on the 25.04 OVA version (I havent tried the other versions which I have in .ova yet).
I think either
a) I messed up the migration from 22.10 to beyond (3 times)
b) migration of 22.10 to beyond is borked (can this be? Theres only a very little chance this can be true.. else you would have the same error I think)
c) ? nothing else comes to mind
Thanks
Code: Select all
Import profile: "Test" (ID: 2)
Character set: UTF-8
Headings in first row: true
Zipped file: false
Zip password: false
Automatic mapping: false
Separator: ,
Text recognition character: NONE
Decimal separator: .
Date format: dd.MM.yyyy HH:mm
HtmlTagCheck: no
AllowSimpleHtmlTags: yes
Mode: Add new recipients and update existing recipients
Duplicate recipients: COMPLETE
Empty values in import file: OVERWRITE
Recipient mailing type (Default): HTML
Media type: E-mail
Datatype: CSV
Update all duplicates (not only first found): true
E-mail address(es) for reports: None
E-mail address(es) for errors: None
Gender settings: NONE
Mapping:
email = Email
firstname = Firstname
lastname = Surname
storecode = StoreCode
store_name = StoreName
coupon_code = GutscheinCode
unsubscribelink = UnsubscribeLink
Key column: email
I think either
a) I messed up the migration from 22.10 to beyond (3 times)
b) migration of 22.10 to beyond is borked (can this be? Theres only a very little chance this can be true.. else you would have the same error I think)
c) ? nothing else comes to mind
Thanks
Last edited by pquotto on Thu Dec 18, 2025 2:06 pm, edited 1 time in total.
-
maschoff
- Site Admin
- Posts: 2661
- Joined: Thu Aug 03, 2006 10:20 am
- Location: Munich, Germany
- Contact:
Re: CSV Import fails with "user_status" cannot be null
The import profile looks OK. Does the mapping contain all fields which are present in the import file?
Which exact version of OpenEMM do you use?
Which exact version of OpenEMM do you use?
OpenEMM Maintainer
Re: CSV Import fails with "user_status" cannot be null
Yes.Does the mapping contain all fields which are present in the import file?
https://imgur.com/a/pgQ9bXU
The logs are from this system:
Code: Select all
=================================================
= OpenEMM Maintenance Tool (OMT) v24.10.000.036 =
=================================================
Hostname: -
Free diskspace: 89.1 % (of 49.98 GiB)
OpenEMM License: OpenEMM (ID: 0)
OpenEMM Runtime Version: 24.10.000.036
OpenEMM Version: 24.10.000.167
OpenEMM Manual Version: 24.10.001
System-Url: http://192.168.23.234:8080
Current menu: Show OpenEMM status
OpenEMM status:
Operating System (OS): Alma 8
Python version: 3.8.17
Optional system package 'galera' for MariaDB clusters is not installed
DBCFG: local OK
Postfix Version: 3.5.8
Database client version: /usr/bin/mariadb Ver 15.1 Distrib 10.6.21-MariaDB, for Linux (x86_64) using readline 5.1
Database Connection: OK
System-Time: 2025-12-18 13:50:24
System-Time-DB: 2025-12-18 13:50:24
Database version: MariaDB 10.6.21-MariaDB
OpenEMM database structure exists (Version 24.07.535)
Database table emm_db_errorlog_tbl: OK
BirtURL configvalue: OK
Mailaddresses: ERROR (feature_support not set)
Jobqueue status: 15 errorneous jobs (BirtReports, LoginTrackTableCleaner, CalendarCommentMailingService, ...)
DKIM keys available for domains: None
Java version: 17.0.14 (Oracle)
Tomcat version: 10.1.39.0
Wkhtml version: wkhtmltopdf 0.12.6 (with patched qt)
OpenEMM Application is running (Tomcat ProcessID: 143675, started at: Dec17 4:17)
OpenEMM Backend ok: once
OpenEMM Backend running: mailout, update, trigger, generate, pickdist, slrtscn, direct-path, bav-update, bavd, bav
Frontend application integrity: OK
Statistics application integrity: OK
Webservices application integrity: OK
What I can do is, to do more upgrades from 22.10 - to make sure I did everything correct.
I documented all my steps and did the upgrade process 3 times (on two different systems, meaning different hosts. And the data set was different. 1 system (the logs are from the testing instance) does not contain actual customer data, but only testing data))
Thanks
-
maschoff
- Site Admin
- Posts: 2661
- Joined: Thu Aug 03, 2006 10:20 am
- Location: Munich, Germany
- Contact:
Re: CSV Import fails with "user_status" cannot be null
Let's check the schema of your customer_1_binding_tbl:
What do you get? (edited)
Code: Select all
# mysql -u root -p
> use openemm
> DESC customer_1_binding_tbl;
OpenEMM Maintainer
Re: CSV Import fails with "user_status" cannot be null
My system 24.10.000.167
25.04.000.124 OVA (no issues with CSV import here)
Production (20.10.x - no issues with CSV import here)
Code: Select all
DESC customer_1_binding_tbl;
+------------------+------------------+------+-----+---------------------+-------------------------------+
| Field | Type | Null | Key | Default | Extra |
+------------------+------------------+------+-----+---------------------+-------------------------------+
| customer_id | int(10) unsigned | NO | MUL | 0 | |
| mailinglist_id | int(10) unsigned | NO | MUL | 0 | |
| user_type | char(1) | YES | | NULL | |
| user_status | int(10) | NO | | NULL | |
| user_remark | varchar(150) | YES | | NULL | |
| timestamp | timestamp | YES | | current_timestamp() | on update current_timestamp() |
| exit_mailing_id | int(10) unsigned | YES | | NULL | |
| creation_date | timestamp | YES | | NULL | |
| mediatype | int(10) unsigned | YES | | 0 | |
| referrer | varchar(4000) | YES | | NULL | |
| entry_mailing_id | int(10) unsigned | YES | | NULL | |
+------------------+------------------+------+-----+---------------------+-------------------------------+
11 rows in set (0.001 sec)
Code: Select all
DESC customer_1_binding_tbl;
+------------------+------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------------+------------------+------+-----+---------+-------+
| customer_id | int(10) unsigned | NO | MUL | 0 | |
| mailinglist_id | int(10) unsigned | NO | MUL | 0 | |
| user_type | char(1) | YES | | NULL | |
| user_status | int(10) | NO | | NULL | |
| user_remark | varchar(150) | YES | | NULL | |
| timestamp | timestamp | YES | | NULL | |
| exit_mailing_id | int(10) unsigned | YES | | NULL | |
| creation_date | timestamp | YES | | NULL | |
| mediatype | int(10) unsigned | YES | | 0 | |
| referrer | varchar(4000) | YES | | NULL | |
| entry_mailing_id | int(10) unsigned | YES | | NULL | |
+------------------+------------------+------+-----+---------+-------+
11 rows in set (0.001 sec)
Code: Select all
DESC customer_1_binding_tbl;
+------------------+------------------+------+-----+---------------------+-------------------------------+
| Field | Type | Null | Key | Default | Extra |
+------------------+------------------+------+-----+---------------------+-------------------------------+
| customer_id | int(10) unsigned | NO | MUL | 0 | |
| mailinglist_id | int(10) unsigned | NO | MUL | 0 | |
| user_type | char(1) | YES | | NULL | |
| user_status | int(10) | NO | | NULL | |
| user_remark | varchar(150) | YES | | NULL | |
| timestamp | timestamp | YES | | current_timestamp() | on update current_timestamp() |
| exit_mailing_id | int(10) unsigned | YES | | NULL | |
| creation_date | timestamp | YES | | NULL | |
| mediatype | int(10) unsigned | YES | | 0 | |
| referrer | varchar(4000) | YES | | NULL | |
| entry_mailing_id | int(10) unsigned | YES | | NULL | |
+------------------+------------------+------+-----+---------------------+-------------------------------+
11 rows in set (0.004 sec)
Code: Select all
=============================================
= OpenEMM Maintenance Tool (OMT) v20.10.070 =
=============================================
Host: -
License: OpenEMM (ID: 0)
Runtime Version: 20.10.070
OpenEMM Frontend Version: 20.10.000.107
System-Url: -
OpenEMM Backend Version: 20.10.000.102
Current menu: Show OpenEMM status
OpenEMM status:
Operating System (OS): CentOS 8
Python version: 3.8.7 (default, Jan 20 2021, 16:03:21) [GCC 8.3.1 20191121 (Red Hat 8.3.1-5)]
Postfix Version: 3.3.1
DB client version: /usr/bin/mysql Ver 15.1 Distrib 10.3.27-MariaDB, for Linux (x86_64) using readline 5.1
Database Connection: OK
System-Time: 2025-12-19 11:14:34
System-Time-DB: 2025-12-19 11:14:34
Database version: MariaDB 10.3.27-MariaDB
OpenEMM database structure exists (Version 20.10.037)
Currently running database threads ratio (Current: 6, Maximum: 15): 0.4
Database table emm_db_errorlog_tbl: OK
Jobqueue status: OK
No DKIM keys
Java version: 1.8.0_275 (Oracle)
Tomcat version: 9.0.33.0
Tomcat-Native version: 1.2.23
Wkhtml version: wkhtmltopdf 0.12.6 (with patched qt)
OpenEMMApplication is running (Tomcat ProcessID: 11581, started at: Apr22 4800:25)
OpenEMMBackend ok: once
OpenEMMBackend running: mailout, update, trigger, generate, mta, pickdist, slrtscn, direct-path, bav-update, bavd, bav, mlcontrol
-
maschoff
- Site Admin
- Posts: 2661
- Joined: Thu Aug 03, 2006 10:20 am
- Location: Munich, Germany
- Contact:
Re: CSV Import fails with "user_status" cannot be null
DB schema looks ok.
The problem is that error message
contradicts itsself, because user_status (first "?") is not set to NULL but according to the parameter list (last line) to value 1.
A hack could be to allow NULL values for column "user_status".
The problem is that error message
Code: Select all
ERROR [WorkerExecutorService-emm-thread-#2] org.agnitas.dao.impl.ImportRecipientsDaoImpl - Error: PreparedStatementCallback;
SQL [INSERT INTO customer_1_binding_tbl (customer_id, user_type, user_status, user_remark, timestamp, creation_date, exit_mailing_id, mailinglist_id, mediatype) (SELECT DISTINCT customer_id, 'W', ?, 'CSV File Upload', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 0, ?, ? FROM tmp_imp1_19 temp WHERE (customer_id != 0 AND customer_id IS NOT NULL) AND NOT EXISTS (SELECT 1 FROM customer_1_binding_tbl bind WHERE temp.customer_id = bind.customer_id AND ? = bind.mailinglist_id AND ? = bind.mediatype))];
(conn=5232) Column 'user_status' cannot be null
SQL: INSERT INTO customer_1_binding_tbl (customer_id, user_type, user_status, user_remark, timestamp, creation_date, exit_mailing_id, mailinglist_id, mediatype) (SELECT DISTINCT customer_id, 'W', ?, 'CSV File Upload', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 0, ?, ? FROM tmp_imp1_19 temp WHERE (customer_id != 0 AND customer_id IS NOT NULL) AND NOT EXISTS (SELECT 1 FROM customer_1_binding_tbl bind WHERE temp.customer_id = bind.customer_id AND ? = bind.mailinglist_id AND ? = bind.mediatype))
Parameter: 1, 3, 0, 3, 0A hack could be to allow NULL values for column "user_status".
OpenEMM Maintainer
Re: CSV Import fails with "user_status" cannot be null
user_status = NULL would fix it for the databse. But what would a casted value of NULL mean for the customer?
Its also wierd that while debugging I dont see where a "NULL" value would be.
Its also wierd that while debugging I dont see where a "NULL" value would be.
Code: Select all
SELECT event_time, argument FROM mysql.general_log WHERE argument LIKE '%tmp_imp%' AND DATE(event_time) = CURDATE() ORDER BY event_time DESC \G;
*************************** 1. row ***************************
event_time: 2025-12-19 11:57:17.715987
argument: SELECT event_time, argument FROM mysql.general_log WHERE argument LIKE '%tmp_imp%' AND DATE(event_time) = CURDATE() ORDER BY event_time DESC
*************************** 2. row ***************************
event_time: 2025-12-19 11:56:38.680294
argument: SELECT event_time, argument FROM mysql.general_log WHERE argument LIKE '%customer_1_binding_tbl%' OR argument LIKE '%tmp_imp%' AND DATE(event_time) = CURDATE() ORDER BY event_time DESC
*************************** 3. row ***************************
event_time: 2025-12-19 11:54:29.754573
argument: DELETE FROM import_temporary_tables WHERE temporary_table_name = 'tmp_imp1_21'
*************************** 4. row ***************************
event_time: 2025-12-19 11:54:29.564192
argument: DROP TABLE tmp_imp1_21
*************************** 5. row ***************************
event_time: 2025-12-19 11:54:29.395897
argument: TRUNCATE TABLE tmp_imp1_21
*************************** 6. row ***************************
event_time: 2025-12-19 11:54:29.394989
argument: SELECT COUNT(*) FROM information_schema.columns WHERE table_schema = SCHEMA() AND table_name = 'tmp_imp1_21'
*************************** 7. row ***************************
event_time: 2025-12-19 11:54:29.392792
argument: INSERT INTO customer_1_binding_tbl (customer_id, user_type, user_status, user_remark, timestamp, creation_date, exit_mailing_id, mailinglist_id, mediatype) (SELECT DISTINCT customer_id, 'W', 1, 'CSV File Upload', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 0, 3, 0 FROM tmp_imp1_21 temp WHERE (customer_id != 0 AND customer_id IS NOT NULL) AND NOT EXISTS (SELECT 1 FROM customer_1_binding_tbl bind WHERE temp.customer_id = bind.customer_id AND 3 = bind.mailinglist_id AND 0 = bind.mediatype))
*************************** 8. row ***************************
event_time: 2025-12-19 11:54:27.628495
argument: UPDATE customer_1_tbl SET timestamp = CURRENT_TIMESTAMP, cleaned_date = NULL , latest_datasource_id = 21 WHERE (email) IN (SELECT DISTINCT email FROM tmp_imp1_21 WHERE customer_id != 0 AND customer_id IS NOT NULL)
*************************** 9. row ***************************
event_time: 2025-12-19 11:54:27.626910
argument: UPDATE customer_1_tbl dst JOIN (SELECT * FROM tmp_imp1_21 WHERE csvindex IN (SELECT MAX(src.csvindex) FROM tmp_imp1_21 src GROUP BY src.email)) AS updatevalues ON updatevalues.email = dst.email AND updatevalues.email IS NOT NULL SET dst.firstname = updatevalues.firstname, dst.lastname = updatevalues.lastname, dst.storecode = updatevalues.storecode, dst.store_name = updatevalues.store_name, dst.coupon_code = updatevalues.coupon_code, dst.unsubscribelink = updatevalues.unsubscribelink
*************************** 10. row ***************************
event_time: 2025-12-19 11:54:27.626447
argument: UPDATE tmp_imp1_21 src SET customer_id = (SELECT MAX(customer_id) FROM customer_1_tbl dst WHERE src.email = dst.email AND src.email IS NOT NULL) WHERE (customer_id IS NULL OR customer_id = 0) AND dbl IS NOT NULL
*************************** 11. row ***************************
event_time: 2025-12-19 11:54:27.626049
argument: INSERT INTO customer_1_tbl (creation_date, timestamp, datasource_id, latest_datasource_id, mailtype, gender, email, firstname, lastname, storecode, store_name, coupon_code, unsubscribelink) (SELECT CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 21, 21, 1, 2, email, firstname, lastname, storecode, store_name, coupon_code, unsubscribelink FROM tmp_imp1_21 WHERE (customer_id = 0 OR customer_id IS NULL) AND dbl IS NULL)
*************************** 12. row ***************************
event_time: 2025-12-19 11:54:27.625671
argument: DELETE FROM tmp_imp1_21 WHERE (customer_id = 0 OR customer_id IS NULL) AND (email IS NULL OR email = '')
*************************** 13. row ***************************
event_time: 2025-12-19 11:54:27.619062
argument: SELECT COUNT(*) FROM tmp_imp1_21 WHERE customer_id > 0
*************************** 14. row ***************************
event_time: 2025-12-19 11:54:27.581069
argument: UPDATE tmp_imp1_21 dst SET dst.customer_id = COALESCE((SELECT MIN(src.customer_id) FROM customer_1_tbl src WHERE src.email = dst.email AND src.email IS NOT NULL), 0)
*************************** 15. row ***************************
event_time: 2025-12-19 11:54:27.548495
argument: UPDATE tmp_imp1_21 SET dbl = NULL WHERE csvindex = dbl
*************************** 16. row ***************************
event_time: 2025-12-19 11:54:27.538542
argument: UPDATE tmp_imp1_21 SET dbl = (SELECT subselect.csvindex FROM (SELECT email, MIN(csvindex) AS csvindex FROM tmp_imp1_21 GROUP BY email) subselect WHERE tmp_imp1_21.email = subselect.email AND tmp_imp1_21.email IS NOT NULL)
*************************** 17. row ***************************
event_time: 2025-12-19 11:54:27.537752
argument: DELETE FROM tmp_imp1_21 WHERE EXISTS (SELECT 1 FROM cust1_ban_tbl ban WHERE tmp_imp1_21.email = ban.email AND NOT ban.email LIKE '%*%' AND NOT ban.email LIKE '%|%%' ESCAPE '|')
*************************** 18. row ***************************
event_time: 2025-12-19 11:54:27.537360
argument: SELECT COUNT(*) FROM tmp_imp1_21 WHERE dbl IS NOT NULL
*************************** 19. row ***************************
event_time: 2025-12-19 11:54:27.507202
argument: INSERT INTO tmp_imp1_21 (email, firstname, lastname, storecode, store_name, coupon_code, unsubscribelink, csvindex) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
*************************** 20. row ***************************
event_time: 2025-12-19 11:54:27.507158
argument: INSERT INTO tmp_imp1_21 (email, firstname, lastname, storecode, store_name, coupon_code, unsubscribelink, csvindex) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
*************************** 21. row ***************************
event_time: 2025-12-19 11:54:27.294363
argument: CREATE INDEX tmp_imp1_21dblix ON tmp_imp1_21 (dbl)
*************************** 22. row ***************************
event_time: 2025-12-19 11:54:27.107785
argument: ALTER TABLE tmp_imp1_21 ADD dbl INTEGER
*************************** 23. row ***************************
event_time: 2025-12-19 11:54:27.107058
argument: SELECT * FROM tmp_imp1_21 WHERE 1 = 0
*************************** 24. row ***************************
event_time: 2025-12-19 11:54:26.716570
argument: CREATE INDEX tmp_imp1_21csvix ON tmp_imp1_21 (csvindex)
*************************** 25. row ***************************
event_time: 2025-12-19 11:54:26.496917
argument: ALTER TABLE tmp_imp1_21 ADD csvindex INTEGER
*************************** 26. row ***************************
event_time: 2025-12-19 11:54:26.496148
argument: SELECT * FROM tmp_imp1_21 WHERE 1 = 0
*************************** 27. row ***************************
event_time: 2025-12-19 11:54:26.084165
argument: CREATE INDEX tmp_21_email_idx ON tmp_imp1_21 (email)
*************************** 28. row ***************************
event_time: 2025-12-19 11:54:25.951277
argument: CREATE INDEX tmp_21_cust_idx ON tmp_imp1_21 (customer_id)
*************************** 29. row ***************************
event_time: 2025-12-19 11:54:25.610978
argument: ALTER TABLE tmp_imp1_21 MODIFY email varchar(100) NULL
*************************** 30. row ***************************
event_time: 2025-12-19 11:54:25.300714
argument: ALTER TABLE tmp_imp1_21 MODIFY mailtype int(10) NULL
*************************** 31. row ***************************
event_time: 2025-12-19 11:54:24.958228
argument: ALTER TABLE tmp_imp1_21 MODIFY bounceload int(10) NULL
*************************** 32. row ***************************
event_time: 2025-12-19 11:54:24.824359
argument: ALTER TABLE tmp_imp1_21 MODIFY customer_id int(10) NULL
*************************** 33. row ***************************
event_time: 2025-12-19 11:54:24.424389
argument: ALTER TABLE tmp_imp1_21 MODIFY gender int(10) NULL
*************************** 34. row ***************************
event_time: 2025-12-19 11:54:24.422363
argument: SELECT column_name, data_type, character_maximum_length, numeric_precision, numeric_scale, is_nullable FROM information_schema.columns WHERE table_schema = SCHEMA() AND LOWER(table_name) = LOWER('tmp_imp1_21') ORDER BY column_name
*************************** 35. row ***************************
event_time: 2025-12-19 11:54:24.304384
argument: ALTER TABLE tmp_imp1_21 MODIFY lastname VARCHAR(100) CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci
*************************** 36. row ***************************
event_time: 2025-12-19 11:54:24.260601
argument: ALTER TABLE tmp_imp1_21 MODIFY firstname VARCHAR(100) CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci
*************************** 37. row ***************************
event_time: 2025-12-19 11:54:24.176097
argument: CREATE TABLE tmp_imp1_21 ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci AS SELECT * FROM customer_1_tbl WHERE 1 = 0
*************************** 38. row ***************************
event_time: 2025-12-19 11:54:24.175393
argument: SELECT COUNT(*) FROM information_schema.columns WHERE table_schema = SCHEMA() AND table_name = 'tmp_imp1_21'
*************************** 39. row ***************************
event_time: 2025-12-19 11:54:24.168833
argument: INSERT INTO import_temporary_tables (session_id, temporary_table_name, import_table_name, host, description) VALUES('D804FF1F11EEB4AC6597807A469D8C8B', 'tmp_imp1_21', 'customer_1_tbl', 'openemm2.xx.de', 'Import by emm-master')
*************************** 40. row ***************************
event_time: 2025-12-19 11:52:19.348928
argument: DELETE FROM import_temporary_tables WHERE temporary_table_name = 'tmp_imp1_20'
*************************** 41. row ***************************
event_time: 2025-12-19 11:52:19.225188
argument: DROP TABLE tmp_imp1_20
*************************** 42. row ***************************
event_time: 2025-12-19 11:52:18.783897
argument: TRUNCATE TABLE tmp_imp1_20
*************************** 43. row ***************************
event_time: 2025-12-19 11:52:18.782894
argument: SELECT COUNT(*) FROM information_schema.columns WHERE table_schema = SCHEMA() AND table_name = 'tmp_imp1_20'
*************************** 44. row ***************************
event_time: 2025-12-19 11:52:18.714744
argument: INSERT INTO customer_1_binding_tbl (customer_id, user_type, user_status, user_remark, timestamp, creation_date, exit_mailing_id, mailinglist_id, mediatype) (SELECT DISTINCT customer_id, 'W', 1, 'CSV File Upload', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 0, 3, 0 FROM tmp_imp1_20 temp WHERE (customer_id != 0 AND customer_id IS NOT NULL) AND NOT EXISTS (SELECT 1 FROM customer_1_binding_tbl bind WHERE temp.customer_id = bind.customer_id AND 3 = bind.mailinglist_id AND 0 = bind.mediatype))
*************************** 45. row ***************************
event_time: 2025-12-19 11:52:17.025088
argument: UPDATE customer_1_tbl SET timestamp = CURRENT_TIMESTAMP, cleaned_date = NULL , latest_datasource_id = 20 WHERE (email) IN (SELECT DISTINCT email FROM tmp_imp1_20 WHERE customer_id != 0 AND customer_id IS NOT NULL)
*************************** 46. row ***************************
event_time: 2025-12-19 11:52:17.023257
argument: UPDATE customer_1_tbl dst JOIN (SELECT * FROM tmp_imp1_20 WHERE csvindex IN (SELECT MAX(src.csvindex) FROM tmp_imp1_20 src GROUP BY src.email)) AS updatevalues ON updatevalues.email = dst.email AND updatevalues.email IS NOT NULL SET dst.firstname = updatevalues.firstname, dst.lastname = updatevalues.lastname, dst.storecode = updatevalues.storecode, dst.store_name = updatevalues.store_name, dst.coupon_code = updatevalues.coupon_code, dst.unsubscribelink = updatevalues.unsubscribelink
*************************** 47. row ***************************
event_time: 2025-12-19 11:52:17.022763
argument: UPDATE tmp_imp1_20 src SET customer_id = (SELECT MAX(customer_id) FROM customer_1_tbl dst WHERE src.email = dst.email AND src.email IS NOT NULL) WHERE (customer_id IS NULL OR customer_id = 0) AND dbl IS NOT NULL
*************************** 48. row ***************************
event_time: 2025-12-19 11:52:17.022349
argument: INSERT INTO customer_1_tbl (creation_date, timestamp, datasource_id, latest_datasource_id, mailtype, gender, email, firstname, lastname, storecode, store_name, coupon_code, unsubscribelink) (SELECT CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 20, 20, 1, 2, email, firstname, lastname, storecode, store_name, coupon_code, unsubscribelink FROM tmp_imp1_20 WHERE (customer_id = 0 OR customer_id IS NULL) AND dbl IS NULL)
*************************** 49. row ***************************
event_time: 2025-12-19 11:52:17.022005
argument: DELETE FROM tmp_imp1_20 WHERE (customer_id = 0 OR customer_id IS NULL) AND (email IS NULL OR email = '')
*************************** 50. row ***************************
event_time: 2025-12-19 11:52:17.015195
argument: SELECT COUNT(*) FROM tmp_imp1_20 WHERE customer_id > 0
*************************** 51. row ***************************
event_time: 2025-12-19 11:52:16.950145
argument: UPDATE tmp_imp1_20 dst SET dst.customer_id = COALESCE((SELECT MIN(src.customer_id) FROM customer_1_tbl src WHERE src.email = dst.email AND src.email IS NOT NULL), 0)
*************************** 52. row ***************************
event_time: 2025-12-19 11:52:16.873934
argument: UPDATE tmp_imp1_20 SET dbl = NULL WHERE csvindex = dbl
*************************** 53. row ***************************
event_time: 2025-12-19 11:52:16.835175
argument: UPDATE tmp_imp1_20 SET dbl = (SELECT subselect.csvindex FROM (SELECT email, MIN(csvindex) AS csvindex FROM tmp_imp1_20 GROUP BY email) subselect WHERE tmp_imp1_20.email = subselect.email AND tmp_imp1_20.email IS NOT NULL)
*************************** 54. row ***************************
event_time: 2025-12-19 11:52:16.834369
argument: DELETE FROM tmp_imp1_20 WHERE EXISTS (SELECT 1 FROM cust1_ban_tbl ban WHERE tmp_imp1_20.email = ban.email AND NOT ban.email LIKE '%*%' AND NOT ban.email LIKE '%|%%' ESCAPE '|')
*************************** 55. row ***************************
event_time: 2025-12-19 11:52:16.833945
argument: SELECT COUNT(*) FROM tmp_imp1_20 WHERE dbl IS NOT NULL
*************************** 56. row ***************************
event_time: 2025-12-19 11:52:16.761917
argument: INSERT INTO tmp_imp1_20 (email, firstname, lastname, storecode, store_name, coupon_code, unsubscribelink, csvindex) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
*************************** 57. row ***************************
event_time: 2025-12-19 11:52:16.761850
argument: INSERT INTO tmp_imp1_20 (email, firstname, lastname, storecode, store_name, coupon_code, unsubscribelink, csvindex) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
*************************** 58. row ***************************
event_time: 2025-12-19 11:52:16.481517
argument: CREATE INDEX tmp_imp1_20dblix ON tmp_imp1_20 (dbl)
*************************** 59. row ***************************
event_time: 2025-12-19 11:52:16.380085
argument: ALTER TABLE tmp_imp1_20 ADD dbl INTEGER
*************************** 60. row ***************************
event_time: 2025-12-19 11:52:16.379309
argument: SELECT * FROM tmp_imp1_20 WHERE 1 = 0
*************************** 61. row ***************************
event_time: 2025-12-19 11:52:16.082344
argument: CREATE INDEX tmp_imp1_20csvix ON tmp_imp1_20 (csvindex)
*************************** 62. row ***************************
event_time: 2025-12-19 11:52:15.874921
argument: ALTER TABLE tmp_imp1_20 ADD csvindex INTEGER
*************************** 63. row ***************************
event_time: 2025-12-19 11:52:15.874140
argument: SELECT * FROM tmp_imp1_20 WHERE 1 = 0
*************************** 64. row ***************************
event_time: 2025-12-19 11:52:15.528169
argument: CREATE INDEX tmp_20_email_idx ON tmp_imp1_20 (email)
*************************** 65. row ***************************
event_time: 2025-12-19 11:52:15.247809
argument: CREATE INDEX tmp_20_cust_idx ON tmp_imp1_20 (customer_id)
*************************** 66. row ***************************
event_time: 2025-12-19 11:52:15.147296
argument: ALTER TABLE tmp_imp1_20 MODIFY email varchar(100) NULL
*************************** 67. row ***************************
event_time: 2025-12-19 11:52:14.897792
argument: ALTER TABLE tmp_imp1_20 MODIFY mailtype int(10) NULL
*************************** 68. row ***************************
event_time: 2025-12-19 11:52:14.695025
argument: ALTER TABLE tmp_imp1_20 MODIFY bounceload int(10) NULL
*************************** 69. row ***************************
event_time: 2025-12-19 11:52:14.600971
argument: ALTER TABLE tmp_imp1_20 MODIFY customer_id int(10) NULL
*************************** 70. row ***************************
event_time: 2025-12-19 11:52:14.309578
argument: ALTER TABLE tmp_imp1_20 MODIFY gender int(10) NULL
*************************** 71. row ***************************
event_time: 2025-12-19 11:52:14.308067
argument: SELECT column_name, data_type, character_maximum_length, numeric_precision, numeric_scale, is_nullable FROM information_schema.columns WHERE table_schema = SCHEMA() AND LOWER(table_name) = LOWER('tmp_imp1_20') ORDER BY column_name
*************************** 72. row ***************************
event_time: 2025-12-19 11:52:14.181282
argument: ALTER TABLE tmp_imp1_20 MODIFY lastname VARCHAR(100) CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci
*************************** 73. row ***************************
event_time: 2025-12-19 11:52:13.901146
argument: ALTER TABLE tmp_imp1_20 MODIFY firstname VARCHAR(100) CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci
*************************** 74. row ***************************
event_time: 2025-12-19 11:52:13.727133
argument: CREATE TABLE tmp_imp1_20 ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci AS SELECT * FROM customer_1_tbl WHERE 1 = 0
*************************** 75. row ***************************
event_time: 2025-12-19 11:52:13.726483
argument: SELECT COUNT(*) FROM information_schema.columns WHERE table_schema = SCHEMA() AND table_name = 'tmp_imp1_20'
*************************** 76. row ***************************
event_time: 2025-12-19 11:52:13.717323
argument: INSERT INTO import_temporary_tables (session_id, temporary_table_name, import_table_name, host, description) VALUES('D804FF1F11EEB4AC6597807A469D8C8B', 'tmp_imp1_20', 'customer_1_tbl', 'openemm2.xx.de', 'Import by emm-master')
76 rows in set (0.130 sec)
Re: CSV Import fails with "user_status" cannot be null
Do you still have access to the .ova files and can share them? I want to test the migration on the .ova files to make sure its not some setting on my servers.
I have access to 22.10, 24.04, 24.10 and 25.04 but I am missing 20.04, 20.10, 21.04, 21.10, 22.04 and 23.x.
So far I did not test any upgrade on the .ova files.
Thanks
I have access to 22.10, 24.04, 24.10 and 25.04 but I am missing 20.04, 20.10, 21.04, 21.10, 22.04 and 23.x.
So far I did not test any upgrade on the .ova files.
Thanks
-
maschoff
- Site Admin
- Posts: 2661
- Joined: Thu Aug 03, 2006 10:20 am
- Location: Munich, Germany
- Contact:
Re: CSV Import fails with "user_status" cannot be null
Download link for OVA 24.10 is https://share.agnitas.de/index.php/s/gbe4JZwjepB4j5L
You can build executables of old OpenEMM versions from GitHub at https://github.com/agnitas-org/openemm/branches/all
You can build executables of old OpenEMM versions from GitHub at https://github.com/agnitas-org/openemm/branches/all
OpenEMM Maintainer
