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