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/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to