public function up()
 {
     $this->createTable('contentcontainer_setting', ['id' => Schema::TYPE_PK, 'module_id' => $this->string(50)->notNull(), 'contentcontainer_id' => Schema::TYPE_INTEGER . ' NOT NULL', 'name' => $this->string(50)->notNull(), 'value' => Schema::TYPE_TEXT . ' NOT NULL']);
     $this->createIndex('settings-unique', 'contentcontainer_setting', ['module_id', 'contentcontainer_id', 'name'], true);
     $this->addForeignKey('fk-contentcontainerx', 'contentcontainer_setting', 'contentcontainer_id', 'contentcontainer', 'id', 'CASCADE', 'CASCADE');
     // Import old user settings
     $rows = (new Query())->select("*, contentcontainer.id as cid")->from('user_setting')->leftJoin('contentcontainer', 'user_setting.user_id = contentcontainer.pk AND contentcontainer.class=:class', [':class' => \humhub\modules\user\models\User::className()])->andWhere('contentcontainer.id IS NOT NULL')->all();
     foreach ($rows as $row) {
         $this->insertSilent('contentcontainer_setting', ['module_id' => $row['module_id'], 'contentcontainer_id' => $row['cid'], 'name' => $row['name'], 'value' => $row['value']]);
     }
     // Import old space settings
     $rows = (new Query())->select("*, contentcontainer.id as cid")->from('space_setting')->leftJoin('contentcontainer', 'space_setting.space_id = contentcontainer.pk AND contentcontainer.class=:class', [':class' => humhub\modules\space\models\Space::className()])->andWhere('contentcontainer.id IS NOT NULL')->all();
     foreach ($rows as $row) {
         $this->insertSilent('contentcontainer_setting', ['module_id' => $row['module_id'], 'contentcontainer_id' => $row['cid'], 'name' => $row['name'], 'value' => $row['value']]);
     }
     $this->dropTable('user_setting');
     $this->dropTable('space_setting');
 }
 public function up()
 {
     $this->createTable('contentcontainer', array('id' => Schema::TYPE_PK, 'guid' => Schema::TYPE_STRING, 'class' => Schema::TYPE_STRING, 'pk' => Schema::TYPE_INTEGER, 'owner_user_id' => Schema::TYPE_INTEGER, 'wall_id' => Schema::TYPE_INTEGER), '');
     $this->createIndex('unique_target', 'contentcontainer', ['class', 'pk'], true);
     $this->createIndex('unique_guid', 'contentcontainer', ['guid'], true);
     $this->addColumn('space', 'contentcontainer_id', Schema::TYPE_INTEGER);
     $this->addColumn('user', 'contentcontainer_id', Schema::TYPE_INTEGER);
     $spaces = (new \yii\db\Query())->select("space.*")->from('space');
     foreach ($spaces->each() as $space) {
         $this->insertSilent('contentcontainer', ['guid' => $space['guid'], 'class' => humhub\modules\space\models\Space::className(), 'pk' => $space['id'], 'owner_user_id' => $space['created_by'], 'wall_id' => $space['wall_id']]);
         $this->updateSilent('space', ['contentcontainer_id' => Yii::$app->db->getLastInsertID()], 'space.id=:spaceId', [':spaceId' => $space['id']]);
     }
     $users = (new \yii\db\Query())->select("user.*")->from('user');
     foreach ($users->each() as $user) {
         $this->insertSilent('contentcontainer', ['guid' => $user['guid'], 'class' => \humhub\modules\user\models\User::className(), 'pk' => $user['id'], 'owner_user_id' => $user['id'], 'wall_id' => $user['wall_id']]);
         $this->updateSilent('user', ['contentcontainer_id' => Yii::$app->db->getLastInsertID()], 'user.id=:userId', [':userId' => $user['id']]);
     }
 }