Yii Framework Forum: Migrations: Come Eliminare Una Colonna Con Sqlite3 - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Migrations: Come Eliminare Una Colonna Con Sqlite3 Rate Topic: -----

#1 User is offline   sensorario 

  • Elite Member
  • Yii
  • Group: Moderators
  • Posts: 1,986
  • Joined: 07-September 10
  • Location:Cesena (Italy)

Posted 24 October 2012 - 11:51 PM

Sapete come si possa fare una migration che elimini una colonna con sqlite3? Purtroppo la normale migration non funziona e si verifica un'eccesione. A quanto pare l'AR non supporta la cancellazione di una colonna in sqlite3. Magari voi avete una soluzione:

<?php

class m121023_163621_RemoveColumnRole extends CDbMigration
{

    public function up()
    {
        $this->dropColumn('notifyii', 'role');
    }

    public function down()
    {
        echo "m121023_163621_AddTitleToMigration does not support migration down.\n";
        return false;
    }

}


Ho aperto ora una una issue su github.
0

#2 User is offline   Maurizio Domba Cerin 

  • Yii - Yesss It Is !!!
  • Yii
  • Group: Yii Dev Team
  • Posts: 4,336
  • Joined: 12-October 09
  • Location:Croatia

Posted 25 October 2012 - 06:02 AM

Hai dimenticato il link per l'issue - https://github.com/y...yii/issues/1601

Come ho scritto li e come viene spiegato al link che ti ho postatto li (http://www.sqlite.org/faq.html#q11), sqlite ha un limitato supporto per l'alter table cosi che drop column non esiste in esso.

Per fare rimuovere una collona devi fare tutto manualmente.

Esempio copiato dal link:

BEGIN TRANSACTION;
CREATE TEMPORARY TABLE t1_backup(a,B);
INSERT INTO t1_backup SELECT a,b FROM t1;
DROP TABLE t1;
CREATE TABLE t1(a,B);
INSERT INTO t1 SELECT a,b FROM t1_backup;
DROP TABLE t1_backup;
COMMIT;

Find more about me.... btw. Do you know your WAN IP?
0

#3 User is offline   sensorario 

  • Elite Member
  • Yii
  • Group: Moderators
  • Posts: 1,986
  • Joined: 07-September 10
  • Location:Cesena (Italy)

Posted 25 October 2012 - 04:53 PM

Io ti ringrazio Maurizio ma mi chiedo: c'è una ragione per la quale l'ORM di Yii non supporta questa cosa? L'ORM dovrebbe rendermi tutto trasparente. In questo caso però non è possibile e mi costringe a scrivere SQL nativo. Per me rimane un bug.
0

#4 User is offline   Maurizio Domba Cerin 

  • Yii - Yesss It Is !!!
  • Yii
  • Group: Yii Dev Team
  • Posts: 4,336
  • Joined: 12-October 09
  • Location:Croatia

Posted 26 October 2012 - 02:04 AM

Non capisco perche pensi questo sia un bug... e perche Yii dovrebe solverlo... e una "feature" che non e supportata in sqlite...

se sarebbe un bug allora e sqlite che lo dovrebe solvere non Yii...

In Yii si guarda sempre di includere soltanto funzioni che sono communi per tutti i database supportati, pero se una feature come "drop column" e tanto utile e non viene supportata da soltanto un database allora viene inclusa perche sarebbe uno sprecco non includerla per via di sqlite.


Find more about me.... btw. Do you know your WAN IP?
0

#5 User is offline   sensorario 

  • Elite Member
  • Yii
  • Group: Moderators
  • Posts: 1,986
  • Joined: 07-September 10
  • Location:Cesena (Italy)

Posted 30 October 2012 - 08:02 PM

Penso che sia un big perché le migrazioni mi permettono di fare qualche cosa, salvo poi dirmi che non è vero. A questo punto, mi piacerebbe avere le migrazioni per SQLite3.
0

#6 User is offline   Maurizio Domba Cerin 

  • Yii - Yesss It Is !!!
  • Yii
  • Group: Yii Dev Team
  • Posts: 4,336
  • Joined: 12-October 09
  • Location:Croatia

Posted 31 October 2012 - 06:21 AM

Nella documentazione specifica di sqlite ce scritto che dropColumn() non e suportato - http://www.yiiframew...opColumn-detail
Find more about me.... btw. Do you know your WAN IP?
0

#7 User is offline   Maurizio Domba Cerin 

  • Yii - Yesss It Is !!!
  • Yii
  • Group: Yii Dev Team
  • Posts: 4,336
  • Joined: 12-October 09
  • Location:Croatia

Posted 02 November 2012 - 11:16 AM

Adesso si lavora ad agiungere addPrimaryKey() e dropprimaryKey() alla migration... e dinuovo sqlite non ha il supporto per questi SQL commandi

https://github.com/y...omment-10005188
Find more about me.... btw. Do you know your WAN IP?
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users