On 03/30/2012 12:01 AM, Massimo Di Pierro wrote:
When you say "I want to manipulate db.lvdisksetup but in stead it manipulates db.lvdisk" what do you mean by "manipulates"?


That when I delete a record or do add a record it gives me the db.lvdisk table and not the db.lvdisksetup table.

So I delete or add a record that is supposed to be a reverence.



On Wednesday, 28 March 2012 22:58:31 UTC-5, Gwayne aka Mike Veltman wrote:

    Gentle people,

    I have the following grid:

    query = ( (db.lvdisksetup.lvgroupname_id == usedlvdisksetup) &
    (db.lvgroupname.id <http://db.lvgroupname.id> == usedlvdisksetup)
    & (db.lvdisksetup.lvdisk_id == db.lvdisk.id <http://db.lvdisk.id>) )
        fields = [db.lvdisksetup.id <http://db.lvdisksetup.id>,
    db.lvgroupname.lvgroupnamedesc , db.lvdisk.lvdiskdesc,
    db.lvdisksetup.lunid]

        form = SQLFORM.grid(query,
            fields=fields,
            orderby=['lvdisksetup.lunid'],
            csv=False,
            create = False,
            maxtextlength=45
            )

    I want to manipulate db.lvdisksetup but in stead it manipulates
    db.lvdisk :-)

    What causes havoc by deleting essential table data :)

    Part of the db models :)

    # All the LV sizes will be collected in here in bytes, like 30GB,
    10GB, 2GB etc
    db.define_table('lvsize',

        Field('sizename', type='string',
              unique=True,
              label=T('Lun Size')),
        Field('size', type='string',
              label=T('LV Size in bytes')),
        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),
        migrate=settings.migrate)

    # The LV Disk groups
    db.define_table('lvgroupname',

        Field('lvgroupnamedesc', type='string',
               unique=True,
              label=T('LV Disk Groupname ')),
        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),
        migrate=settings.migrate)

    # Table rules
    db.lvgroupname.lvgroupnamedesc.requires = IS_NOT_EMPTY()

    # Logical volume on storage
    db.define_table('lvdisk',

        Field('lvdiskdesc', type='string',
               unique=True,
              label=T('LV Disk description ')),
        Field('lvsize_id', db.lvsize,
              default=2,
              label=T('Size 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),
        migrate=settings.migrate)

    # Table rules
    db.lvdisk.lvsize_id.requires = IS_IN_DB(db, 'lvsize.id
    <http://lvsize.id>', 'lvsize.sizename')
    db.lvdisk.lvdiskdesc.requires = IS_NOT_EMPTY()


    # lvdisksetup
    db.define_table('lvdisksetup',

        Field('lvdisk_id', db.lvdisk,
              default=1,
              label=T('Logical volume to be added')),
        Field('lvgroupname_id', db.lvgroupname,
              default=1,
              label=T('Member of Logical volume group name')),
            Field('lunid', type='integer',
              default=2,
              label=T('Lun 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),
        migrate=settings.migrate)

    # Table rules
    db.lvdisksetup.lvdisk_id.requires = IS_IN_DB(db, 'lvdisk.id
    <http://lvdisk.id>', 'lvdisk.lvdiskdesc')
    db.lvdisksetup.lvgroupname_id.requires = IS_IN_DB(db,
    'lvgroupname.id <http://lvgroupname.id>',
    'lvgroupname.lvgroupnamedesc')


    # hbahostgroupsetup (to add the right disks to a hba or a hostgroup)
    db.define_table('hbahostgroupsetup',

        Field('hbahgdesc', type='string',
              label=T('LV Disk setup Description ')),
        Field('lvgroupname_id', db.lvgroupname,
              default=1,
              label=T('LV Disk')),
        Field('mapping_id', db.storagemap,
              default=1,
              label=T('HBA or Hostgroup mapping')),
        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),
        migrate=settings.migrate)

    # Table rules
    db.hbahostgroupsetup.lvgroupname_id.requires = IS_IN_DB(db,
    'lvgroupname.id <http://lvgroupname.id>', 'lvdisk.lvgroupnamedesc')
    db.hbahostgroupsetup.mapping_id.requires = IS_IN_DB(db,
    'storagemap.id <http://storagemap.id>', 'storagemap.mapping')
    db.hbahostgroupsetup.hbahgdesc.requires = IS_NOT_EMPTY()

    # disksetupname (to make it possible to have the same lv setup for
    different class setups)
    db.define_table('disksetupname',

        Field('disksetupnamedesc', type='string',
              label=T('LV Disk group selection description ')),
        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),
        migrate=settings.migrate)

    # Table rules
    db.disksetupname.disksetupnamedesc.requires = IS_NOT_EMPTY()

    # hbahggroup
    db.define_table('hbahggroup',

        Field('hbahostgroupsetup_id', db.hbahostgroupsetup,
              default=1,
              label=T('LV on HBA or Hostgroup setup')),
        Field('disksetupname_id', db.disksetupname,
              default=1,
              label=T('Member of Diskgroup')),
        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),
        migrate=settings.migrate)

    # Table rules
    db.hbahggroup.hbahostgroupsetup_id.requires = IS_IN_DB(db,
    'hbahostgroupsetup.id <http://hbahostgroupsetup.id>',
    'hbahostgroupsetup.hbahgdesc')
    db.hbahggroup.disksetupname_id.requires = IS_IN_DB(db,
    'disksetupname.id <http://disksetupname.id>',
    'disksetupname.disksetupnamedesc')


Reply via email to