• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: ERXMigrationDatabase and postUpgrade
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ERXMigrationDatabase and postUpgrade


  • Subject: Re: ERXMigrationDatabase and postUpgrade
  • From: Sanford Selznick <email@hidden>
  • Date: Fri, 10 Apr 2009 15:00:19 -0700

At 4:49 PM -0400 4/10/09, David Avendasora wrote:
Hi Sanford,

Your Migration class needs to implement IERXPostMigration in order for that method to get called, I believe.

According to the Package Description for Migrations:
http://webobjects.mdimension.com/wonder/api/index.html?overview-summary.html

Ahh, I read this and I thought adding postUpgrade() to my class was good enough. But I actually had to change the class definition as:


  public class CCLimsModel0
    extends ERXMigrationDatabase.Migration
    implements IERXPostMigration

I need to get my head out of Objective-C land.  Thank you for the help!

Best,
  Sanford

On Apr 10, 2009, at 4:01 PM, Sanford Selznick wrote:

Hello,

 I'm experimenting with Migrations.  I'm a little new to all this.

What's the proper way to implement postUpgrade? Below is a snippet of what I've got, but postUpgrade is never called. I don't see an ERXMigrationDatabase.PostMigration class. And I don't really want to duplicate what's in ERXMigrationDatabase.Migration.

public class CCLimsModel0 extends ERXMigrationDatabase.Migration {
 ...

 @Override
 public void upgrade(EOEditingContext editingContext,
                      ERXMigrationDatabase database) throws Throwable {
   ERXMigrationTable accessTable = database.newTableNamed("Access");
   accessTable.newIntegerColumn("id", false);
   accessTable.newStringColumn("password", 255, false);
   accessTable.newStringColumn("username", 255, false);
   accessTable.create();
   accessTable.setPrimaryKey("id");
 }

 public void postUpgrade(EOEditingContext editingContext,
                       EOModel model) throws Throwable {

   // Add a record after migrations are done.
   Access a = new Access();
   editingContext.insertObject(a);
   a.setUsername("thing1");
   a.setPassword("thing2");
   editingContext.saveChanges();

 }

}

Thank you,
 Sanford

PS - Wouldn't it be cool if the migration generator in Entity Modeler would use the string constants from the model for table and column names instead of in-line strings? :-)
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

_______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: This email sent to email@hidden
References: 
 >ERXMigrationDatabase and postUpgrade (From: Sanford Selznick <email@hidden>)
 >Re: ERXMigrationDatabase and postUpgrade (From: David Avendasora <email@hidden>)

  • Prev by Date: [MEET] Chicago CocoaHeads / CAWUG Tuesday 4/14
  • Next by Date: Re: [OT] local persistence ORM
  • Previous by thread: Re: ERXMigrationDatabase and postUpgrade
  • Next by thread: Re: ERXMigrationDatabase and postUpgrade
  • Index(es):
    • Date
    • Thread