composants orm object alter - yamsuz/damix GitHub Wiki

ORM - Modification d'une table

Ajout d'un champ

$table1 = \damix\engines\orm\request\structure\OrmTable::newTable('maTable');
$alter = new \damix\engines\orm\request\ormrequestalter();
$alter->setTable( $table );

$field = new \damix\engines\orm\request\structure\OrmField();
$field->setName('maChaine');
$field->setDatatype(\damix\engines\orm\request\structure\OrmDataType::ORM_STRING);
$field->setSize( 255 );
$field->setNull( true );
$field->setDefault( null );
$alter->fieldAdd($field);
//$sql = $alter->getSQL(); //récupére la requete sql sans l'exécuter
$alter->executeNonQuery(); //exécute la requete automatiquement

Modification d'un champ

$table1 = \damix\engines\orm\request\structure\OrmTable::newTable('maTable');
$alter = new \damix\engines\orm\request\ormrequestalter();
$alter->setTable( $table );

$field = new \damix\engines\orm\request\structure\OrmField();
$field->setName('maChaine');
$field->setDatatype(\damix\engines\orm\request\structure\OrmDataType::ORM_STRING);
$field->setSize( 255 );
$field->setNull( true );
$field->setDefault( null );
$alter->fieldModify($field);
//$sql = $alter->getSQL(); //récupére la requete sql sans l'exécuter
$alter->executeNonQuery(); //exécute la requete automatiquement

Suppression d'un champ

$table1 = \damix\engines\orm\request\structure\OrmTable::newTable('maTable');
$alter = new \damix\engines\orm\request\ormrequestalter();
$alter->setTable( $table );

$field = new \damix\engines\orm\request\structure\OrmField();
$field->setName('maChaine');
$field->setDatatype(\damix\engines\orm\request\structure\OrmDataType::ORM_STRING);
$field->setSize( 255 );
$field->setNull( true );
$field->setDefault( null );
$alter->fieldDelete($field);
//$sql = $alter->getSQL(); //récupére la requete sql sans l'exécuter
$alter->executeNonQuery(); //exécute la requete automatiquement

Ajout d'un index

$field = new \damix\engines\orm\request\structure\OrmField();
$field->setName('maChaine');
$table1 = \damix\engines\orm\request\structure\OrmTable::newTable('maTable');
$alter = new \damix\engines\orm\request\ormrequestalter();
$alter->setTable( $table );
$index = new \damix\engines\orm\request\structure\OrmIndex();
$index->setName( 'NomIndex' );
$index->setIndexType( \damix\engines\orm\request\structure\OrmIndexType::ORM_INDEX );
$index->addField( $field, \damix\engines\orm\request\structure\OrmOrderWay::WAY_DESC );

$alter->IndexAdd( $index );
//$sql = $alter->getSQL(); //récupére la requete sql sans l'exécuter
$alter->executeNonQuery(); //exécute la requete automatiquement

Suppression d'un index

$field = new \damix\engines\orm\request\structure\OrmField();
$field->setName('maChaine');
$table1 = \damix\engines\orm\request\structure\OrmTable::newTable('maTable');
$alter = new \damix\engines\orm\request\ormrequestalter();
$alter->setTable( $table );
$index = new \damix\engines\orm\request\structure\OrmIndex();
$index->setName( 'NomIndex' );
$index->setIndexType( \damix\engines\orm\request\structure\OrmIndexType::ORM_INDEX );
$index->addField( $field, \damix\engines\orm\request\structure\OrmOrderWay::WAY_DESC );

$alter->IndexRemove( $index );
//$sql = $alter->getSQL(); //récupére la requete sql sans l'exécuter
$alter->executeNonQuery(); //exécute la requete automatiquement

Ajout d'une contrainte (Foreign Key)

$fieldid= new \damix\engines\orm\request\structure\OrmField();
$fieldid->setName('id');

$fieldfk= new \damix\engines\orm\request\structure\OrmField();
$fieldfk->setName('maFk');

$alter = new \damix\engines\orm\request\ormrequestalter();
$contraint = new \damix\engines\orm\request\structure\OrmContraint();
$alter->setTable( $table );
$contraint->setName( maFK );
$contraint->setForeign( $fieldfk );
$contraint->setReference( $fieldid );
$alter->ContraintAdd( $contraint );
$sql = $alter->query();
//$sql = $alter->getSQL(); //récupére la requete sql sans l'exécuter
$alter->executeNonQuery(); //exécute la requete automatiquement