I would guess it's the table named "USER" which is a reserved word ... It probably should be quoting that table name. I don't know if that's a bug in the FB PlugIn for that particular schema sync method or not, but picking "user" as a table name is usually a bad idea in general.

ms

On Nov 20, 2008, at 7:33 PM, Mitchell Smith wrote:

You are setting your column to "NOT NULL" so if you have existing rows in the table the alter table will fail unless you provide a default value for the column.

userTable.existingColumnNamed("password").defaultValue("xxxxxxxx");


then setAllowsNull(false)

----- Original Message -----
From: Gustavo Pizano
To: WebObjects-Dev Apple
Sent: Friday, November 21, 2008 3:47 AM
Subject: Migation failed when updating a table

Hello, well I run the migrationClass0 and it run fine, the db was created and everything , but then I forgot I needed another attribute in one entity, I used

@Override
public void upgrade(EOEditingContext editingContext, ERXMigrationDatabase database) throws Throwable {
ERXMigrationTable userTable = database.existingTableNamed("USER");
userTable.newStringColumn("password", 16, false);


}
and when I run I got the following. What Im doing wrong?...  thanks
Gustavo


Nov 20 18:37:18 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - Finished initialization after launch: ERXExtensions Nov 20 18:37:18 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - Finished initialization after launch: ERPrototypes Nov 20 18:37:18 StockManager[1250] (Application.java:13) INFO er.extensions.appserver.ERXApplication - Welcome to StockManager ! Nov 20 18:37:18 StockManager[1250] (ERXModelGroup.java:127) WARN er.extensions.eof.ERXModelGroup - Clearing previous class descriptions Nov 20 18:37:18 StockManager[1250] (ERXModelGroup.java:845) WARN er.extensions.eof.ERXModelGroup - The EOModel 'erprototypes' has an empty connection dictionary. Nov 20 18:37:18 StockManager[1250] (ERXEntityClassDescription.java: 576) WARN er.extensions.eof.ERXEntityClassDescription - Invalid class name for entity: PRODUCTXPROVIDER exception: java.lang.ClassNotFoundException: com.StockManager.eo.EOGenericRecord using com.webobjects.eocontrol.EOGenericRecord instead Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - Using JDBCPlugIn 'com.webobjects.jdbcadaptor._FrontBasePlugIn' for [EMAIL PROTECTED] Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - Using JDBCPlugIn 'com.webobjects.jdbcadaptor._FrontBasePlugIn' for [EMAIL PROTECTED] Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - Using JDBCPlugIn 'com.webobjects.jdbcadaptor._FrontBasePlugIn' for [EMAIL PROTECTED] Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - connecting with dictionary: {password = "<password deleted for log>"; username = "gustavpicora"; URL = "jdbc:FrontBase://localhost/StockManager"; } Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - === Begin Internal Transaction Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - === Commit Internal Transaction Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - === Begin Internal Transaction Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - Using JDBCPlugIn 'com.webobjects.jdbcadaptor._FrontBasePlugIn' for [EMAIL PROTECTED] Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - fetching JDBC Info with [EMAIL PROTECTED] Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - connecting with dictionary: {password = "<password deleted for log>"; username = "gustavpicora"; URL = "jdbc:FrontBase://localhost/StockManager"; } Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - connection disconnected. Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - fetching JDBC Info with [EMAIL PROTECTED] Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - connecting with dictionary: {password = "<password deleted for log>"; username = "gustavpicora"; URL = "jdbc:FrontBase://localhost/StockManager"; } Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - evaluateExpression: <com.webobjects.jdbcadaptor._FrontBasePlugIn$FrontbaseExpression: "UPDATE "_dbupdater" SET "lockowner" = 'StockManager--1', "updatelock" = 1 WHERE ("modelname" = 'StockManager' AND ("updatelock" = 0 OR "lockowner" = 'StockManager--1'))" withBindings: > Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - === Commit Internal Transaction Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - === Begin Internal Transaction Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - evaluateExpression: <com.webobjects.jdbcadaptor._FrontBasePlugIn$FrontbaseExpression: "SELECT t0."version" FROM "_dbupdater" t0 WHERE t0."modelname" = 'StockManager'" withBindings: > Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - fetch canceled Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - 1 row(s) processed Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - === Commit Internal Transaction Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - === Begin Internal Transaction Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - evaluateExpression: <com.webobjects.jdbcadaptor._FrontBasePlugIn$FrontbaseExpression: "UPDATE "_dbupdater" SET "lockowner" = NULL, "updatelock" = 0 WHERE "modelname" = 'StockManager'" withBindings: > Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - === Commit Internal Transaction Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - === Begin Internal Transaction Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - === Commit Internal Transaction Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - === Begin Internal Transaction Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - === Commit Internal Transaction Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - Using JDBCPlugIn 'com.webobjects.jdbcadaptor._FrontBasePlugIn' for [EMAIL PROTECTED] Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - === Begin Internal Transaction Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - === Commit Internal Transaction Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - === Begin Internal Transaction Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - evaluateExpression: <com.webobjects.jdbcadaptor._FrontBasePlugIn$FrontbaseExpression: "UPDATE "_dbupdater" SET "lockowner" = 'StockManager--1', "updatelock" = 1 WHERE ("modelname" = 'StockManager' AND ("updatelock" = 0 OR "lockowner" = 'StockManager--1'))" withBindings: > Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - === Commit Internal Transaction Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - === Begin Internal Transaction Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - evaluateExpression: <com.webobjects.jdbcadaptor._FrontBasePlugIn$FrontbaseExpression: "SELECT t0."version" FROM "_dbupdater" t0 WHERE t0."modelname" = 'StockManager'" withBindings: > Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - fetch canceled Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - 1 row(s) processed Nov 20 18:37:19 StockManager[1250] (ERXMigrator.java:408) INFO er.extensions.migration.ERXMigrator - Upgrading StockManager to version 1 with migration '[EMAIL PROTECTED]' Nov 20 18:37:19 StockManager[1250] (ERXJDBCUtilities.java:610) INFO er.extensions.jdbc.ERXJDBCUtilities - Executing alter table USER add "password" VARCHAR(16) CONSTRAINT NOT_NULL_USER__password NOT NULL Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - === Commit Internal Transaction Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - === Begin Internal Transaction Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - evaluateExpression: <com.webobjects.jdbcadaptor._FrontBasePlugIn$FrontbaseExpression: "UPDATE "_dbupdater" SET "lockowner" = NULL, "updatelock" = 0 WHERE "modelname" = 'StockManager'" withBindings: > Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - === Commit Internal Transaction Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - === Begin Internal Transaction Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - === Rollback Internal Transaction Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - === Begin Internal Transaction Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:46) DEBUG NSLog - === Commit Internal Transaction Nov 20 18:37:19 StockManager[1250] (ERXApplication.java:1055) ERROR er.extensions.appserver.ERXApplication - StockManager failed to start.
er.extensions.migration.ERXMigrationFailedException: Migration failed.
at er.extensions.migration.ERXMigrator $ERXMigrationAction.doPerform(ERXMigrator.java:427) at er.extensions.eof.ERXEOAccessUtilities $ChannelAction.perform(ERXEOAccessUtilities.java:1455) at er.extensions.migration.ERXMigrator.migrateToLatest(ERXMigrator.java: 179) at er .extensions .appserver.ERXApplication.finishInitialization(ERXApplication.java: 956)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun .reflect .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun .reflect .DelegatingMethodAccessorImpl .invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com .webobjects.foundation.NSSelector._safeInvokeMethod(NSSelector.java: 122) at com.webobjects.foundation.NSNotificationCenter $_Entry.invokeMethod(NSNotificationCenter.java:588) at com .webobjects .foundation .NSNotificationCenter.postNotification(NSNotificationCenter.java:532) at com .webobjects .foundation .NSNotificationCenter.postNotification(NSNotificationCenter.java:546)
at com.webobjects.appserver.WOApplication.run(WOApplication.java:1229)
at er.extensions.appserver.ERXApplication.run(ERXApplication.java: 1051)
at com.webobjects.appserver.WOApplication.main(WOApplication.java:548)
at er.extensions.appserver.ERXApplication.main(ERXApplication.java: 593)
at stockManager.app.Application.main(Application.java:9)
Caused by: java.sql.SQLException: Syntax error 61. Expected Identifier not found. at com .frontbase .jdbc.FBJErrorMetaData.errorMessageAtIndex(FBJErrorMetaData.java:162) at com .frontbase .jdbc.FBJErrorMetaData.getExceptionChain(FBJErrorMetaData.java:194) at com.frontbase.jdbc.FBJStatement.checkMetaData(FBJStatement.java: 472) at com.frontbase.jdbc.FBJStatement.executeUpdate(FBJStatement.java: 262) at er .extensions .jdbc.ERXJDBCUtilities.executeUpdateScript(ERXJDBCUtilities.java:612) at er .extensions .migration.ERXMigrationColumn.create(ERXMigrationColumn.java:382) at er .extensions .migration.ERXMigrationTable._newColumn(ERXMigrationTable.java:224) at er .extensions .migration.ERXMigrationTable.newColumn(ERXMigrationTable.java:269) at er .extensions .migration.ERXMigrationTable.newStringColumn(ERXMigrationTable.java: 282) at stockManager.app.migration.StockManager1.upgrade(StockManager1.java: 25) at er.extensions.migration.ERXMigrationDatabase $Migration.upgrade(ERXMigrationDatabase.java:425) at er.extensions.migration.ERXMigrator $ERXMigrationAction.doPerform(ERXMigrator.java:410)
... 16 more
Nov 20 18:37:19 StockManager[1250] (ERXNSLogLog4jBridge.java:43) WARN NSLog - A fatal exception occurred: er.extensions.migration.ERXMigrationFailedException: Migration failed.
[2008-11-20 18:37:19 CET] <main> [stack trace already printed]



_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/mjsotn%40gmail.com

This email sent to [EMAIL PROTECTED]
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/mschrag%40mdimension.com

This email sent to [EMAIL PROTECTED]

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to