Database migration fails from HSQLDB - Cannot insert the value NULL into column user_name

Troubleshooting Databases

このページの内容

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

症状

External database migration fails from HSQLDB:

2013-03-06 15:57:20,836 ERROR [threadpool:thread-3] tester 939x54x1 9x6sca 10.95.31.99 "POST /admin/db/edit HTTP/1.1" c.a.s.i.m.FullMigrationMaintenanceTask Reverting database configuration after a failed migration attempt
com.atlassian.stash.internal.backup.liquibase.LiquibaseChangeExecutionException: Failed to execute change: Insert Row; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: Cannot insert the value NULL into column 'user_name', table 'Stash.dbo.cwd_user'; column does not allow nulls. INSERT fails.
  ...
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Cannot insert the value NULL into column 'user_name', table 'Stash.dbo.cwd_user'; column does not allow nulls. INSERT fails.
...

原因

Values that match the string null are actually transformed into a null value (NULL) which prevents successful completion of the migration.

回避策

  1. Stop Stash.
  2. Either connect to the Stash database and rename the offending table entries directly (table CWD_USER, see the schema below) or rename the values in STASH_HOME/data/db.script:
INSERT INTO CWD_USER VALUES(298135,'null','null','T','2013-02-15 
10:25:38.301000','2013-02-15 
10:25:38.301000','null','null','null','null','null','null','null@atlassian.com','null@atlassian.com',229377,'nopass')

 

For reference, this is the table schema:

ID    USER_NAME    LOWER_USER_NAME    ACTIVE    CREATED_DATE    UPDATED_DATE    FIRST_NAME    LOWER_FIRST_NAME    LAST_NAME    LOWER_LAST_NAME    DISPLAY_NAME    LOWER_DISPLAY_NAME    EMAIL_ADDRESS    LOWER_EMAIL_ADDRESS    DIRECTORY_ID    CREDENTIAL                                              

 

 

For example, to modify the database, first locate the offending entries:

SELECT * FROM cwd_user WHERE user_name = 'null';

Second, update them:

UPDATE cwd_user SET user_name = 'null_value' WHERE user_name = 'null';

 

 

 

ソリューション

An internal development task has been created to track this issue.
最終更新日 2018 年 11 月 2 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.