i use MySQL and do migration by the migration java class (not sql-file):
....

 @Override
    public void upgrade(EOEditingContext editingContext,
ERXMigrationDatabase database) throws Throwable {
     ERXMigrationTable albumTable = database.existingTableNamed("Album");
     albumTable.newStringColumn("oldName", true);

....

and i get:

INFO  32.41 MB used/48.65 MB free [ProcessChangesQueue]
(ERXJDBCUtilities.java:653)  - Executing alter table Album null oldName
longtext
DEBUG 34.08 MB used/46.99 MB free [ProcessChangesQueue]
(ERXEOAccessUtilities.java:1221)  - "_dbupdater"@999692932 expression took
5 ms: UPDATE _dbupdater SET lockowner = NULL, updatelock = ? WHERE
modelname = ? withBindings: 1:0[updateLock], 2:sounds[modelName]
ERROR 34.41 MB used/46.65 MB free [ProcessChangesQueue]
(ERXApplication.java:1307)  - SoundsAdmin failed to start.
MySQLSyntaxErrorException: You have an error in your SQL syntax; check the
manual that corresponds to your MySQL server version for the right syntax
to use near 'null oldName longtext' at line 1
  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
  at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
  at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
  at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
  at com.mysql.jdbc.Util.getInstance(Util.java:384)
  at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1054)
  at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3566)
  at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3498)
  at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1959)
  at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2113)
  at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2562)
  at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1664)
  at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1583)
  at
er.extensions.jdbc.ERXJDBCUtilities.executeUpdateScript(ERXJDBCUtilities.java:656)
  at
er.extensions.jdbc.ERXJDBCUtilities.executeUpdateScript(ERXJDBCUtilities.java:614)
  at
er.extensions.migration.ERXMigrationColumn.create(ERXMigrationColumn.java:390)
  at
er.extensions.migration.ERXMigrationTable._newColumn(ERXMigrationTable.java:237)
  at
er.extensions.migration.ERXMigrationTable.newColumn(ERXMigrationTable.java:282)
  at
er.extensions.migration.ERXMigrationTable.newLargeStringColumn(ERXMigrationTable.java:334)
  at
er.extensions.migration.ERXMigrationTable.newStringColumn(ERXMigrationTable.java:321)
  at
dm.legalsounds.migrations.LegalSounds147.upgrade(LegalSounds147.java:20)
  at
er.extensions.migration.ERXMigrationDatabase$Migration.upgrade(ERXMigrationDatabase.java:444)
  at
er.extensions.migration.ERXMigrator$ERXMigrationAction.doPerform(ERXMigrator.java:473)
  at
er.extensions.eof.ERXEOAccessUtilities$ChannelAction.perform(ERXEOAccessUtilities.java:1489)
  at
er.extensions.migration.ERXMigrator.migrateToLatest(ERXMigrator.java:201)
  at
er.extensions.appserver.ERXApplication.finishInitialization(ERXApplication.java:1186)
  ... skipped 13 stack elements
WARN  38.74 MB used/42.32 MB free [ProcessChangesQueue]
(ERXNSLogLog4jBridge.java:43)  - A fatal exception occurred: Migration
failed.
[2012-4-21 15:59:31 EEST] <ProcessChangesQueue>
er.extensions.migration.ERXMigrationFailedException: Migration failed.
 at
er.extensions.migration.ERXMigrator$ERXMigrationAction.doPerform(ERXMigrator.java:490)
 at
er.extensions.eof.ERXEOAccessUtilities$ChannelAction.perform(ERXEOAccessUtilities.java:1489)
 at
er.extensions.migration.ERXMigrator.migrateToLatest(ERXMigrator.java:201)
 at
er.extensions.appserver.ERXApplication.finishInitialization(ERXApplication.java:1186)
 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:597)
 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:1303)
 at com.webobjects.appserver.WOApplication.main(WOApplication.java:548)
 at er.extensions.appserver.ERXApplication.main(ERXApplication.java:783)
 at dm.legalsounds.Application.main(Application.java:45)
Caused by: java.lang.RuntimeException: Failed to execute 'alter table Album
null oldName longtext'.
 at
er.extensions.jdbc.ERXJDBCUtilities.executeUpdateScript(ERXJDBCUtilities.java:660)
 at
er.extensions.jdbc.ERXJDBCUtilities.executeUpdateScript(ERXJDBCUtilities.java:614)
 at
er.extensions.migration.ERXMigrationColumn.create(ERXMigrationColumn.java:390)
 at
er.extensions.migration.ERXMigrationTable._newColumn(ERXMigrationTable.java:237)
 at
er.extensions.migration.ERXMigrationTable.newColumn(ERXMigrationTable.java:282)
 at
er.extensions.migration.ERXMigrationTable.newLargeStringColumn(ERXMigrationTable.java:334)
 at
er.extensions.migration.ERXMigrationTable.newStringColumn(ERXMigrationTable.java:321)
 at dm.legalsounds.migrations.LegalSounds147.upgrade(LegalSounds147.java:20)
 at
er.extensions.migration.ERXMigrationDatabase$Migration.upgrade(ERXMigrationDatabase.java:444)
 at
er.extensions.migration.ERXMigrator$ERXMigrationAction.doPerform(ERXMigrator.java:473)
 ... 16 more
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You
have an error in your SQL syntax; check the manual that corresponds to your
MySQL server version for the right syntax to use near 'null oldName
longtext' at line 1
 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

=================

why EOF generate
alter table Album null oldName longtext
?
well-written code is:
alter table Album ADD oldName longtext

thanx.

17 апреля 2012 г. 18:43 пользователь Henrique Prange <hpra...@gmail.com>написал:

> Hi Ron,
>
> The m2e plug-in usually respects the order of your dependencies. Always
> add ERExtensions as your first dependency to avoid problems.
>
> Cheers,
>
> Henrique
>
> On 17/04/2012, at 12:30, Ron X wrote:
>
> i use maven
>
> 17 апреля 2012 г. 17:17 пользователь Johann Werner <j...@oyosys.de> написал:
>
>>
>> Am 17.04.2012 um 15:52 schrieb Ron X:
>>
>> compilation error:
>> The constructor NSArray<String>(String, String) is undefined
>>
>>
>> Then something with your class path is wrong, the Wonder version of
>> NSArray has the constructor NSArray(E, E...).
>> Check if ERExtensions comes before the Java* frameworks.
>>
>>
>>
>> 17 апреля 2012 г. 11:53 пользователь Johann Werner <j...@oyosys.de>написал:
>>
>>>
>>> Am 17.04.2012 um 09:22 schrieb Ron X:
>>>
>>>         NSArray<String> keys = new NSArray<String>(new
>>> String[]{"chart_count", "chart_size_sum"});
>>>
>>>
>>> don't make it more complicated than necessary:
>>>
>>> keys = new NSArray<String>("chart_count", "chart_size_sum");
>>>
>>>
>>>
>>>         NSArray<NSDictionary> result =
>>> EOUtilities.rawRowsForSQL(editingContext,
>>>                 "legalsounds",
>>>                 "SELECT count(*), sum(songFileSize) FROM `Song`", keys);
>>>
>>> works fine
>>>
>>> 17 апреля 2012 г. 10:20 пользователь Ron X <ron.x.by...@gmail.com>написал:
>>>
>>>> Error!
>>>> The method rawRowsForSQL(EOEditingContext, String, String, NSArray) in
>>>> the type EOUtilities is not applicable for the arguments (EOEditingContext,
>>>> String, String, String[])
>>>>
>>>> 13 апреля 2012 г. 21:47 пользователь Larry Mills-Gahl 
>>>> <l...@webfarm.com>написал:
>>>>
>>>>
>>>>>
>>>>> On Apr 13, 2012, at 7:07 AM, Ron X wrote:
>>>>>
>>>>> thank you very much! very good!
>>>>> this method considered deprecated - is there non-deprecated method?
>>>>>
>>>>>
>>>>> *EOUtilities.rawRowsForSQL<http://api.webobjects.me/wo542/com/webobjects/eoaccess/EOUtilities.html#rawRowsForSQL%28com.webobjects.eocontrol.EOEditingContext,%20java.lang.String,%20java.lang.String,%20com.webobjects.foundation.NSArray%29>
>>>>> *(EOEditingContext<http://api.webobjects.me/wo542/com/webobjects/eocontrol/EOEditingContext.html>
>>>>>  ec, String<http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html>
>>>>>  modelName, 
>>>>> String<http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html>
>>>>>  sqlString, 
>>>>> NSArray<http://api.webobjects.me/wo542/com/webobjects/foundation/NSArray.html>
>>>>>  keys)
>>>>>
>>>>>
>>>>>  rawRowsForSQL
>>>>>
>>>>> public static NSArray 
>>>>> <http://api.webobjects.me/wo542/com/webobjects/foundation/NSArray.html> 
>>>>> *rawRowsForSQL*(EOEditingContext 
>>>>> <http://api.webobjects.me/wo542/com/webobjects/eocontrol/EOEditingContext.html>
>>>>>  ec,
>>>>>                                     String 
>>>>> <http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html> modelName,
>>>>>                                     String 
>>>>> <http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html> sqlString,
>>>>>                                     NSArray 
>>>>> <http://api.webobjects.me/wo542/com/webobjects/foundation/NSArray.html> 
>>>>> keys)
>>>>>
>>>>> Evaluates the specified SQL and returns the resulting raw rows.
>>>>>
>>>>>
>>>>> *Parameters:*ec - an EOEditingContext modelName - name of the EOModel
>>>>> to usesqlString - the query string in SQL syntaxkeys - array of
>>>>> Strings corresponding to the SELECT list; these will be used as the keys 
>>>>> in
>>>>> the result dictionaries; use null for default naming *Returns:*matching
>>>>> raw rows (an NSArray of NSDictionaries)
>>>>> *Since:*5.2.2
>>>>>
>>>>>
>>>>
>>>
>>
>>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/webobjects-dev/hprange%40gmail.com
>
> This email sent to hpra...@gmail.com
>
>
>
 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to