I am just playing around with mongodb and web2py 

I noticed that when I just make a web2py dump of my mysql db and then upload it 
to mongodb some of the "joins" now just rec id's are right and some are newly 
generated.

Also would it be possible to keep id to be web2py specific and to use _id for 
mongodb ?

I was wondering if it was a bug. In this case in the setup table the pointers 
to the frame work fine, but the pointers in the setupprofile named lparprofile 
do not exist anymore in the lparprofile table.

Mike 


db.define_table('frame',

    Field('framename', type='string',
          unique=True,
          label=T('Framename')),
    Field('description', type='string',
          label=T('Description')),
    Field('netboot', type='string',default="None",
          label=T('Netboot information')),
    Field('ip', type='string',
          unique=True,
          label=T('IP Address')),
    Field('servermodel', type='string',default="p6",
          label=T('Server model')),
    Field('serial', type='string',default="None",
          label=T('Serial Number')),
    Field('lvname', type='string',default="FRAMEx",
          label=T('Frame extension for storage logical volumes')),
    Field('framestaterecord_ID', type='integer',
          label=T('Frame State record ID')),
    Field('created_on','datetime',default=request.now,
          label=T('Created On'),writable=False,readable=False),
    Field('modified_on','datetime',default=request.now,
          label=T('Modified On'),writable=False,readable=False,
          update=request.now),
    format='%(framename)s',
    migrate=settings.migrate)

# Table rules
db.frame.framename.requires = IS_NOT_EMPTY()
db.frame.ip.requires = IS_NOT_EMPTY()
db.frame.servermodel.requires = IS_IN_SET(['p5', 'p6'])

db.define_table('setup',

    Field('setupname', type='string',
          unique=True,
          label=T('Setup name')),
    Field('description', type='string',
          label=T('Description')),
    Field('frame_id', db.frame,
          label=T('Frame ID')),
    Field('course_id', db.course,
          label=T('Course ID')),
    Field('usedstorage_id', db.storageunit,
          label=T('Storage ID')),
    Field('disksetupname_id', db.disksetupname,
          label=T('Disk group selection ID for storage setup')),
    Field('nimhost_id', db.host,
          label=T('Nim Host ID')),
    Field('hmchost_id', db.host,
          label=T('HMC Host ID')),
    Field('ready', type='boolean',
          default=False,
          label=T('Ready for use')), 
    Field('nostorage', type='boolean',
          default=False,
          label=T('No storage needed')),
    Field('noprofiles', type='boolean',
          default=False,
          label=T('No profiles needed')),
    Field('nonim', type='boolean',
          default=False,
          label=T('No nim actions needed')),
      Field('securitylevel', type='integer',
          default=0,
          label=T('Security Level')),
    Field('created_on','datetime',default=request.now,
          label=T('Created On'),writable=False,readable=False),
    Field('modified_on','datetime',default=request.now,
          label=T('Modified On'),writable=False,readable=False,
          update=request.now),
    format='%(setupname)s',
    migrate=settings.migrate)   

# Table rules for setup
db.setup.setupname.requires = IS_NOT_EMPTY()
db.setup.frame_id.requires = IS_IN_DB(db, 'frame.id', 'frame.framename')
db.setup.course_id.requires = IS_IN_DB(db, 'course.id', 'course.coursename')
db.setup.usedstorage_id.requires = IS_IN_DB(db, 'storageunit.id', 
'storageunit.storagename')
db.setup.nimhost_id.requires = IS_IN_DB(db, 'host.id', 'host.hostname')
db.setup.hmchost_id.requires = IS_IN_DB(db, 'host.id', 'host.hostname')
db.setup.disksetupname_id.requires = IS_IN_DB(db, 'disksetupname.id', 
'disksetupname.disksetupnamedesc')

db.define_table('setupprofile',

    Field('setup_id', db.setup,
          label=T('Setup ID')),
    Field('frame_id', db.frame,
          default=5,
          label=T('Frame ID')),
    Field('lparprofile_id', db.lparprofile,
          label=T('Profile ID')),
    Field('seq','integer',
          label=T('Deployment Sequence')),
    migrate=settings.migrate)   


# table rules for setup profile
db.setupprofile.seq.requires = IS_INT_IN_RANGE(1, 300)
db.setupprofile.setup_id.requires = IS_IN_DB(db, 'setup.id', 'setup.setupname')
db.setupprofile.lparprofile_id.requires = IS_IN_DB(db, 'lparprofile.id', 
'lparprofile.lparname')
db.setupprofile.frame_id.requires = IS_IN_DB(db, 'frame.id', 'frame.framename')



-- 

--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to