Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update 457 schlägt fehl #692

Open
mbmueller opened this issue Feb 18, 2025 · 4 comments
Open

Update 457 schlägt fehl #692

mbmueller opened this issue Feb 18, 2025 · 4 comments

Comments

@mbmueller
Copy link

mbmueller commented Feb 18, 2025

Beim durchforsten der Log-Einträge für die Fehlermeldungen aus #689 und #691 ist mir aufgefallen, dass bei mir Update 457 fehlgeschlagen ist mit:

[Mon Feb 10 10:20:33 CET 2025][ERROR][main][de.willuhn.sql.ScriptExecutor.execute] error while executing sql script. Current statement: INSERT INTO sollbuchungposition (sollbuchung, betrag, steuersatz, buchungsart, buchungsklasse, datum, zweck) SELECT id,betrag,steuersatz,buchungsart,buchungsklasse,datum,zweck1 FROM mitgliedskonto
org.h2.jdbc.JdbcSQLException: Wert zu gross / lang f r Feld "ZWECK VARCHAR(140)": "STRINGDECODE('Zu langer Text... (183)"
Value too long for column "ZWECK VARCHAR(140)": "STRINGDECODE('Zu langer Text... (183)"; SQL statement:
INSERT INTO sollbuchungposition (sollbuchung, betrag, steuersatz, buchungsart, buchungsklasse, datum, zweck) SELECT id,betrag,steuersatz,buchungsart,buchungsklasse,datum,zweck1 FROM mitgliedskonto [22001-193]
	at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
	at org.h2.message.DbException.get(DbException.java:179)
	at org.h2.table.Column.validateConvertUpdateSequence(Column.java:335)
	at org.h2.table.Table.validateConvertUpdateSequence(Table.java:784)
	at org.h2.command.dml.Insert.addRow(Insert.java:195)
	at org.h2.command.dml.Insert.insertRows(Insert.java:172)
	at org.h2.command.dml.Insert.update(Insert.java:114)
	at org.h2.command.CommandContainer.update(CommandContainer.java:98)
	at org.h2.command.Command.executeUpdate(Command.java:258)
	at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:130)
	at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:115)
	at de.willuhn.sql.ScriptExecutor.execute(ScriptExecutor.java:166)
	at de.jost_net.JVerein.server.DDLTool.AbstractDDLUpdate.execute(AbstractDDLUpdate.java:89)
	at de.jost_net.JVerein.server.DDLTool.AbstractDDLUpdate.execute(AbstractDDLUpdate.java:76)
	at de.jost_net.JVerein.server.DDLTool.Updates.Update0457.run(Update0457.java:98)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	at de.jost_net.JVerein.server.JVereinUpdateProvider.callMethod2(JVereinUpdateProvider.java:266)
	at de.jost_net.JVerein.server.JVereinUpdateProvider.<init>(JVereinUpdateProvider.java:93)
	at de.jost_net.JVerein.server.DBSupportH2Impl.checkConsistency(DBSupportH2Impl.java:174)
	at de.jost_net.JVerein.server.JVereinDBServiceImpl.checkConsistency(JVereinDBServiceImpl.java:114)
	at de.jost_net.JVerein.JVereinPlugin$1.call(JVereinPlugin.java:114)
	at de.jost_net.JVerein.JVereinPlugin.call(JVereinPlugin.java:219)
	at de.jost_net.JVerein.JVereinPlugin.init(JVereinPlugin.java:107)
	at de.willuhn.jameica.plugin.PluginLoader.initPlugin(PluginLoader.java:394)
	at de.willuhn.jameica.plugin.PluginLoader.init(PluginLoader.java:239)
	at de.willuhn.jameica.services.PluginService.init(PluginService.java:39)
	at de.willuhn.boot.BootLoader.resolve(BootLoader.java:139)
	at de.willuhn.boot.BootLoader.resolve(BootLoader.java:119)
	at de.willuhn.boot.BootLoader.getBootable(BootLoader.java:70)
	at de.willuhn.jameica.system.Application.init(Application.java:103)
	at de.willuhn.jameica.system.Application.newInstance(Application.java:87)
	at de.willuhn.jameica.Main.main(Main.java:78)

@lenilsas
Copy link

Den Fehler haben wir in 3.0.1 behoben. Du hast wahrscheinlich erst die 3.0.0 installiert und erst später die 3.0.1 Daher wurde die DB bei dir nicht richtig migriert.
Am besten gehst du zu einem Backup vor dem Update zurück, dann wird die Migration richtig durchgeführt.

@mbmueller
Copy link
Author

mbmueller commented Feb 18, 2025

Am besten gehst du zu einem Backup vor dem Update zurück, dann wird die Migration richtig durchgeführt.

Gibt es denn eine Möglichkeit, das noch nachträglich zu beheben? Ich denke das wird im Zweifel ja ein paar Nutzer betreffen, denen das nicht bewusst ist und sollte das erst nach bspw. nem halben Jahr auffallen ist es auch keine praktikable Lösung mehr ein altes Backup zu installieren

@lenilsas
Copy link

Wir haben die 3.0.1 nur einen Tag nach der 3.0.0 rausgegeben, von daher gehe ich davon aus, dass es nur sehr wenige nutzer betrifft. Außerdem ist es nur der Fall, wenn in bestehenden Sollbuchungen der Zweck länger als 140 Zeichen ist.
Eine Alternative wäre nur, das Update ein weiteres mal mit einer anderen Versionsnummer durchzuführen.

@mbmueller
Copy link
Author

Eine Alternative wäre nur, das Update ein weiteres mal mit einer anderen Versionsnummer durchzuführen.

Wenn das das Problem behebt wäre ich stark dafür, das gleiche Update einfach 2 Mal durchlaufen zu lassen.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants