Kurulmuş modların SQL sorgularını Kaldırmak

Yeni başlayanlar, nasıl ve ne yapacağını bilmeyenler buraya yazabilir.

Kurulmuş modların SQL sorgularını Kaldırmak

İleti aydd 01.08.2006, 22:46

arkadaşlar install db ile tablolar oluşturuyoruz filan

modu kurarken sonra bu modu kaldırmak istersek tabloları elle silmek çok uğraştırıcı olur hata da yapabilme riski var

install db yi uninstall db ye çevirecek bir sistem program yada başka bişey varmı
aydd
Üye
Üye
 
İleti: 103
Kayıt: 14.11.2005, 22:47

İleti sabri ünal 02.08.2006, 02:19

eğer böyle bir şeyi normal bir phpBB yi kaldırmak istiyorsan o çok kolay, tabloları siliyorsun bitiyor...

eğer yüklediğin modlar için istiyorsan senin için şöyle bir kolaylık sağlayabiliriz...

öncelikle biraz tasnif edelim...

1. Durum / Oluşturulmuş tablonun silinmesi

Kod: Tümünü seç
CREATE TABLE phpbb_pa_config (
değerler...
değerler...
  PRIMARY KEY  (config_name)
) TYPE=MyISAM;


gibi bir sorguyla oluşturulmuş bir tablo

Kod: Tümünü seç
DROP TABLE  phpbb_pa_config;


şeklinde kaldırılır...

2. Durum / Oluşturulmuş tablonun değerleriyle birlikte silinmesi

eğer bir mod bir tablo oluşturuyorsa ve tabloların içine değer giriyorsa sadece tabloyu silmemiz yeterlidir, bu durumda

Kod: Tümünü seç
CREATE TABLE phpbb_pa_config (
  config_name varchar(255) NOT NULL default '',
  config_value varchar(255) NOT NULL default '',
  PRIMARY KEY  (config_name)
) TYPE=MyISAM;


ve

Kod: Tümünü seç
ALTER TABLE  phpbb_pa_config ....
INSERT INTO phpbb_pa_config VALUES ('allow_comment_images', '0');
INSERT INTO phpbb_pa_config VALUES ('no_comment_image_message', '[No image please]');
INSERT INTO phpbb_pa_config VALUES ('allow_smilies', '1');


gibi bir koddan oluşan bir sorgunun kaldırılma işlemi

Kod: Tümünü seç
DROP TABLE  phpbb_pa_config;


gibi kısa bir koddan ibaret kalacaktır...

yani ilk işlemle aynı

3. Durum / Tabloya girilmiş sutonların silinmesi

bir çok mod kimi tabloların yapısına yeni sütunlar ekler: mesala

Kod: Tümünü seç
ALTER TABLE `phpbb_users` ADD `user_fake_delete` TINYINT( 1 ) DEFAULT '0' NOT NULL ;


bu kodu kaldırmak için

Kod: Tümünü seç
ALTER TABLE phpbb_users DROP user_fake_delete;


gibi bir sorgu çalıştırıyoruz...

4. Durum / Girilen config değerlerinin silinmesi

mesela böyle bir mod girdisi var

Kod: Tümünü seç
INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_login_for_profile',1);


bunu config tablosundan aşağıdaki gibi kaldırıyoruz...

Kod: Tümünü seç
DELETE FROM phpbb_config WHERE config_name = 'allow_login_for_profile'';


5. Durum / Değiştirilen bir değerin geri alınması

mesela aşağıdaki kod

Bu kod bizim mesaj konumuzun 100 karakter olmasını sağlıyor...

Kod: Tümünü seç
alter table phpbb_posts_text modify post_subject varchar(100);


bu kodu geri çevirmek ise kodun düzenlenip yeniden çalıştırılmasıyla oluyor...

Kod: Tümünü seç
alter table phpbb_posts_text modify post_subject varchar(60);



6. Durum / Değiştirilen bir değerin güncellenmesi

mesela bu bir kod

Kod: Tümünü seç
UPDATE phpbb_ctrack SET value = '4.1.7' WHERE name = 'version';


işlev olarak ise versiyon bilgisini güncelliyor, bunun da geri alınması sorgunun yeniden çalıştırılması ve ilgili kısmın düzenlenmesiyle oluyor

Kod: Tümünü seç
UPDATE phpbb_ctrack SET value = '4.1.6' WHERE name = 'version';
Mutluyum, biraz komedi takılıyorum! sakın kızmayın yakında geçer, sebebini ben de bilmiyorum! yeni bir aşk da bulmuş değilim!
Kullanıcı avatarı
sabri ünal
Üye
Üye
 
İleti: 1325
Kayıt: 27.10.2005, 15:49
Konum: İstanbul

Cvp: Kurulmuş modların SQL sorgularını Kaldırmak

İleti cerxa 03.09.2006, 23:32

peki instal dosyası olarak browserden yüklenenler nasıl kaldırılıyor şunu kaldıramadım yardımcı olurmusunuz üstat :( install dosyası buydu modun


Kod: Tümünü seç
<?php

define('IN_PHPBB', true);
define('IN_REAL_LIFE_INSTALL', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
include($phpbb_root_path . 'includes/bbcode.'.$phpEx);

//
// Start session management
//
$userdata = session_pagestart($user_ip, -1);
init_userprefs($userdata);
//
// End session management
//

if( !$userdata['session_logged_in'] )
{
   header('Location: ' . append_sid("login.$phpEx?redirect=marriage_install.$phpEx", true));
}

if( $userdata['user_level'] != ADMIN )
{
   message_die(GENERAL_MESSAGE, $lang['Not_Authorised']);
}

if ( isset($HTTP_POST_VARS['mode']) || isset($HTTP_GET_VARS['mode']) )
{
   $mode = ( isset($HTTP_POST_VARS['mode']) ) ? $HTTP_POST_VARS['mode'] : $HTTP_GET_VARS['mode'];
}
else
{
   $mode = '';
}

switch($mode)
{
   default:
      $table_exists = false;
      $pre_table_list = mysql_list_tables($dbname);
      while($row = mysql_fetch_row($pre_table_list))
      {
         if($row[0]==$table_prefix . 'children')
         {
            $table_exists = true;
            break;
         }
      }
      $message = '';
      if(!(isset($HTTP_GET_VARS['force']) && $HTTP_GET_VARS['force']==1234567890) && isset($board_config['real_life_version']))
      {
         $message .= 'Version detection: <b>OK</b> version ' . $board_config['real_life_version'] . ' detected. Please select action:';
         $message .= "<form method='POST' action='" . append_sid('marriage_install.' . $phpEx) . "'>";
         $message .= "<input type='hidden' name='mode' value='upgrade_save' />";
         $message .= "<input type='submit' name='submit' value='Upgrade and save the current marriages and children' />";
         $message .= "</form>";
         $message .= "<form method='POST' action='" . append_sid('marriage_install.' . $phpEx) . "'>";
         $message .= "<input type='hidden' name='mode' value='upgrade_dont_save' />";
         $message .= "<input type='submit' name='submit' value=\"Upgrade but don't save the current marriages and children\" />";
         $message .= "</form>";
      }
      elseif(!(isset($HTTP_GET_VARS['force']) && $HTTP_GET_VARS['force']==1234567890) && ((($dbms=='mysql' || $dbms=='mysql4') ? ((defined('CHILDREN_TABLE') && $table_exists) ? true : false) : ((defined('CHILDREN_TABLE')) ? true : false))))
      {
         $message .= 'Version detection: <b>ERROR</b> 0.7.0 or earlier version installed. Please select action:';
         $message .= "<form method='POST' action='" . append_sid('marriage_install.' . $phpEx) . "'>";
         $message .= "<input type='hidden' name='mode' value='upgrade_save' />";
         $message .= "<input type='submit' name='submit' value='Upgrade and save the current marriages and children' />";
         $message .= "</form>";
         $message .= "<form method='POST' action='" . append_sid('marriage_install.' . $phpEx) . "'>";
         $message .= "<input type='hidden' name='mode' value='upgrade_dont_save' />";
         $message .= "<input type='submit' name='submit' value=\"Upgrade but don't save the current marriages and children\" />";
         $message .= "</form>";
      }
      else
      {
         $message .= 'Version detection: <b>FAILED</b> no version detected.';
         $message .= 'Please select what you would like to do. IF this is your first install click the New install button.';
         $message .= "<form method='POST' action='" . append_sid('marriage_install.' . $phpEx) . "'>";
         $message .= "<input type='hidden' name='mode' value='new' />";
         $message .= "<input type='submit' name='submit' value='New install' />";
         $message .= "</form>";
         $message .= "<form method='POST' action='" . append_sid('marriage_install.' . $phpEx) . "'>";
         $message .= "<input type='hidden' name='mode' value='upgrade_save' />";
         $message .= "<input type='submit' name='submit' value='Upgrade and save the current marriages and children' />";
         $message .= "</form>";
         $message .= "<form method='POST' action='" . append_sid('marriage_install.' . $phpEx) . "'>";
         $message .= "<input type='hidden' name='mode' value='upgrade_dont_save' />";
         $message .= "<input type='submit' name='submit' value=\"Upgrade but don't save the current marriages and children\" />";
         $message .= "</form>";
      }
      message_die(GENERAL_MESSAGE, $message);
      break;
   case 'new':
      $done_users = array();
      $sql_array = array();
      $sql_array[] = "CREATE TABLE " . $table_prefix . "marriage (
  id int(20) NOT NULL auto_increment,
  partner int(15) NOT NULL default '0',
  partner2 int(15) NOT NULL default '0',
  type int(1) NOT NULL default '0',
  propose_time INT( 15 ) NOT NULL default '0',
  begin_time int(15) NOT NULL default '0',
  end_time int(15) NOT NULL default '0',
  active int(1) NOT NULL default '0',
  act_hash varchar(40) NOT NULL default '',
  sug_child int(1) NOT NULL default '0',
  PRIMARY KEY  (id,id)
) TYPE=MyISAM;";
      $sql_array[] = "CREATE TABLE " . $table_prefix . "children (  id int(11) NOT NULL auto_increment,  m_id int(11) NOT NULL default '0',  c_id int(11) NOT NULL default '0',  PRIMARY KEY  (id)) TYPE=MyISAM;";
      $sql_array[] = "ALTER TABLE " . USERS_TABLE . " ADD user_married INT( 1 ) DEFAULT '0' NOT NULL ;";
      $sql_array[] = "ALTER TABLE " . USERS_TABLE . " ADD user_children INT( 1 ) DEFAULT '0' NOT NULL ;";
      $sql_array[] = "ALTER TABLE " . USERS_TABLE . " ADD user_child INT( 1 ) DEFAULT '0' NOT NULL ;";
      $sql_array[] = "INSERT INTO " . CONFIG_TABLE . " (config_name,config_value) VALUES ('marriage_allow_multiple_marriages', '0');";
      $sql_array[] = "INSERT INTO " . CONFIG_TABLE . " (config_name,config_value) VALUES ('marriage_allow_gay_marriages', '1');";
      $sql_array[] = "INSERT INTO " . CONFIG_TABLE . " (config_name,config_value) VALUES ('premarriages', '1');";
      $sql_array[] = "INSERT INTO " . CONFIG_TABLE . " (config_name,config_value) VALUES ('postmarriages', '1');";
      $sql_array[] = "INSERT INTO " . CONFIG_TABLE . " (config_name,config_value) VALUES ('marriage_allow_multiple_marriages_limit', '0');";
      $sql_array[] = "INSERT INTO " . CONFIG_TABLE . " (config_name,config_value) VALUES ('sync_marriages_in_user_table_last_time', '" . time() . "');";
      $sql_array[] = "INSERT INTO " . CONFIG_TABLE . " (config_name,config_value) VALUES ('children_exist', '0');";
      $sql_array[] = "INSERT INTO " . CONFIG_TABLE . " (config_name,config_value) VALUES ('children_max', '1');";
      $sql_array[] = "INSERT INTO " . CONFIG_TABLE . " (config_name,config_value) VALUES ('sync_childs_exists', '" . time() . "');";
      $sql_array[] = "INSERT INTO " . CONFIG_TABLE . " (config_name,config_value) VALUES ('marriage_email', '0');";
      $sql_array[] = "INSERT INTO " . CONFIG_TABLE . " (config_name,config_value) VALUES ('marriage_pm', '1');";
      $sql_array[] = "INSERT INTO " . CONFIG_TABLE . " (config_name,config_value) VALUES ('marriage_gender', '" . ((isset($userdata['user_gender'])) ? 1 : 0) . "');";
      $sql_array[] = "INSERT INTO " . CONFIG_TABLE . " (config_name,config_value) VALUES ('marriage_gender_sync', '" . time() . "');";
      $sql_array[] = "INSERT INTO " . CONFIG_TABLE . " (config_name,config_value) VALUES ('marriage_death_funny', '0');";
      $sql_array[] = "INSERT INTO " . CONFIG_TABLE . " (config_name,config_value) VALUES ('marriage_pastor_id', '" . $userdata['user_id'] . "');";
      $sql_array[] = "INSERT INTO " . CONFIG_TABLE . " (config_name,config_value) VALUES ('marriage_grim_reaper_id', '" . $userdata['user_id'] . "');";
      $sql_array[] = "INSERT INTO " . CONFIG_TABLE . " (config_name,config_value) VALUES ('view_postmarriage_row', '1');";
      $sql_array[] = "INSERT INTO " . CONFIG_TABLE . " (config_name,config_value) VALUES ('marriage_wrap_first_uname', '0');";
      $sql_array[] = "INSERT INTO " . CONFIG_TABLE . " (config_name,config_value) VALUES ('marriage_post_icon', '0');";
      $sql_array[] = "INSERT INTO " . CONFIG_TABLE . " (config_name,config_value) VALUES ('marriage_allow_real_life_classes', 'real_life,message,marriage,life_time,api,common,progressbar,xml,javascript,death,cache');";
      $sql_array[] = "INSERT INTO " . CONFIG_TABLE . " (config_name,config_value) VALUES ('real_life_version', '0.7.5');";
      $sql_array[] = "INSERT INTO " . CONFIG_TABLE . " (config_name,config_value) VALUES ('real_life_prune_marriage_proposals', '" . time() . "');";
      $sql_array[] = "INSERT INTO " . CONFIG_TABLE . " (config_name,config_value) VALUES ('real_life_dropdown', '0');";
      $sql_array[] = "INSERT INTO " . CONFIG_TABLE . " (config_name,config_value) VALUES ('real_life_level', '0');";
      break;
   case 'upgrade_save':
      $sql_array[] = "INSERT INTO " . CONFIG_TABLE . " (config_name,config_value) VALUES ('real_life_prune_marriage_proposals', '" . time() . "');";
      $sql_array[] = "INSERT INTO " . CONFIG_TABLE . " (config_name,config_value) VALUES ('real_life_dropdown', '0');";
      $sql_array[] = "INSERT INTO " . CONFIG_TABLE . " (config_name,config_value) VALUES ('real_life_level', '0');";
      $sql_array[] = "UPDATE " . CONFIG_TABLE . " SET config_value = '0.7.5' WHERE config_name = 'real_life_version'";
      $sql_array[] = "UPDATE " . CONFIG_TABLE . " SET config_value = 'real_life,message,marriage,life_time,api,common,progressbar,xml,javascript,death,cache' WHERE config_name = 'marriage_allow_real_life_classes'";
      $sql_array[] = "DROP TABLE IF EXISTS " . $table_prefix . "partner";
      $sql_array[] = "DROP TABLE IF EXISTS " . $table_prefix . "marriages";
      $sql_array[] = "CREATE TABLE " . $table_prefix . "marriage (
  id int(20) NOT NULL auto_increment,
  partner int(15) NOT NULL default '0',
  partner2 int(15) NOT NULL default '0',
  type int(1) NOT NULL default '0',
  propose_time INT( 15 ) NOT NULL default '0',
  begin_time int(15) NOT NULL default '0',
  end_time int(15) NOT NULL default '0',
  active int(1) NOT NULL default '0',
  act_hash varchar(40) NOT NULL default '',
  sug_child int(1) NOT NULL default '0',
  PRIMARY KEY  (id,id)
) TYPE=MyISAM;";
$sql = "SELECT u1.username AS username_1, u1.user_id AS user_id_1, u1.user_level AS user_level_1, u2.username AS username_2, u2.user_id AS user_id_2, u2.user_level AS user_level_2, u3.username AS username_3, u3.user_level AS user_level_3, u4.username AS username_4, u4.user_level AS user_level_4, p1.*, p2.*, m.*, m2.id AS m_id_new FROM " . $table_prefix . "marriages m LEFT JOIN " . $table_prefix . "marriages m2 ON (m2.acthash=m.acthash) LEFT JOIN " . $table_prefix . "partner p1 ON p1.id=m.mid1 LEFT JOIN " . $table_prefix . "partner p2 ON p2.id=m.mid2 LEFT JOIN " . USERS_TABLE . " u1 ON u1.user_id=p1.me LEFT JOIN " . USERS_TABLE . " u2 ON u2.user_id=p2.me LEFT JOIN " . USERS_TABLE . " u3 ON u3.user_id=m.mid1 LEFT JOIN " . USERS_TABLE . " u4 ON u4.user_id=m.mid2";
if( !($result = $db->sql_query($sql)) )
{
   message_die(GENERAL_ERROR, 'Could not query users', '', __LINE__, __FILE__, $sql);
}
else
{
   $sql = array();
   $i = 0;
   while ( $row = $db->sql_fetchrow($result) )
   {
      $partners['1']['username'] = (($row['stop']>0) ? $row['username_3'] : $row['username_1']);
      $partners['1']['user_id'] = (($row['stop']>0) ? $row['mid1'] : $row['user_id_1']);
      $partners['1']['user_level'] = (($row['stop']>0) ? $row['user_level_3'] : $row['user_level_1']);
      $partners['2']['username'] = (($row['stop']>0) ? $row['username_4'] : $row['username_2']);
      $partners['2']['user_id'] = (($row['stop']>0) ? $row['mid2'] : $row['user_id_2']);
      $partners['2']['user_level'] = (($row['stop']>0) ? $row['user_level_4'] : $row['user_level_2']);
      
      $sql_array[] = "INSERT INTO " . $table_prefix . "marriage (id,partner,partner2,type,begin_time,end_time,active,act_hash,sug_child) VALUES ('" . $row['m_id_new'] . "','" . $partners['1']['user_id'] . "', '" . $partners['2']['user_id'] . "', '1', '" . $row['start'] . "', '" . $row['stop'] . "', '" . $row['active'] . "', '" . $row['acthash'] . "','" . $row['sug_child'] . "')";
      
      $i++;
   }
}
      break;
   case 'upgrade_dont_save':
      $sql_array[] = "INSERT INTO " . CONFIG_TABLE . " (config_name,config_value) VALUES ('real_life_prune_marriage_proposals', '" . time() . "');";
      $sql_array[] = "INSERT INTO " . CONFIG_TABLE . " (config_name,config_value) VALUES ('real_life_dropdown', '0');";
      $sql_array[] = "INSERT INTO " . CONFIG_TABLE . " (config_name,config_value) VALUES ('real_life_level', '0');";
      $sql_array[] = "UPDATE " . CONFIG_TABLE . " SET config_value = '0.7.5' WHERE `config_name` = 'real_life_version'";
      $sql_array[] = "UPDATE " . CONFIG_TABLE . " SET config_value = 'real_life,message,marriage,life_time,api,common,progressbar,xml,javascript,death,cache' WHERE config_name = 'marriage_allow_real_life_classes'";
      $sql_array[] = "DROP TABLE IF EXISTS " . $table_prefix . "partner";
      $sql_array[] = "DROP TABLE IF EXISTS " . $table_prefix . "marriages";
      $sql_array[] = "CREATE TABLE " . $table_prefix . "marriage (
  id int(20) NOT NULL auto_increment,
  partner int(15) NOT NULL default '0',
  partner2 int(15) NOT NULL default '0',
  type int(1) NOT NULL default '0',
  propose_time INT( 15 ) NOT NULL default '0',
  begin_time int(15) NOT NULL default '0',
  end_time int(15) NOT NULL default '0',
  active int(1) NOT NULL default '0',
  act_hash varchar(40) NOT NULL default '',
  sug_child int(1) NOT NULL default '0',
  PRIMARY KEY  (id,id)
) TYPE=MyISAM;";
      break;
}
//var_export($sql_array);
//exit;
$messages = '';

$sql_count = count($sql_array);

for($i = 0; $i < $sql_count; $i++)
{
   $messages .= "<b style=\"color:blue\">Running</b> :: " . $sql_array[$i];

   if( !$db->sql_query($sql_array[$i]) )
   {
      $errored = true;
      $error = $db->sql_error();
      $messages .= " -> <b style=\"color:red\">FAILED</b> ---> <u>" . $error['message'] . "</u><br /><br />\n\n";
   }
   else
   {
      $messages .= " -> <b style=\"color:darkgreen\">COMPLETED</b><br /><br />\n\n";
   }
}



if( $errored )
{
   $messages .= "Some of the querys have failed, contact me so I can fix the errors.";
}
else
{
   if(@unlink(__FILE__))
   {
      $messages .= (($sql_count==0) ? "No database updates where needed." : " The database has been updated successfully.") . " This file has been deleted.";
   }
   else
   {
      $messages .= (($sql_count==0) ? "No database updates where needed." : " The database has been updated successfully.") . " This file must be deleted.";
   }
}


message_die(GENERAL_MESSAGE, $messages);
?>
ßaZen biLmEk yeTmez KanıtLAmak GereKir
Kullanıcı avatarı
cerxa
Üye
Üye
 
İleti: 229
Kayıt: 21.05.2006, 20:40

Re: Kurulmuş modların SQL sorgularını Kaldırmak

İleti NEFRİT 24.12.2007, 00:09

Sana bir video hazırladım nasıl tablo kadırıp nasıl ekleyeceğin konusunda çok yardımcı olacak indir ve hemen izle:

Anlatan : nefrit
http://rapidshare.com/files/78634055/ve ... i.avi.html
Kullanıcı avatarı
NEFRİT
Üye
Üye
 
İleti: 287
Kayıt: 17.03.2006, 01:14
Konum: Elazığ


Yeni Başlayanlar



Kimler çevrimiçi

Bu forumu görüntüleyenler: Kayıtlı kullanıcı yok ve 0 misafir