Arhīvs

Raksti, atzīmeti kā sql

WordPress bloga migrēšana uz citu domēnu

septembris 13th, 2009 Mārtiņš Štāls 2 komentāri

Parasti blogam vai mājas lapai izstrādes stadijā ir cits domēns, piemēram, dev.domain.lv, bet kad lapa ir gatava, tad  domēns ir cits, piemēram, www.domain.lv. Tā kā WordPress daudzās vietās izmanto pilnos failu ceļus, tad es aprakstīju, kā veikt lapas pārvietošanu uz citu serveri un/vai domēnu:

  1. Nokopējam visu WordPress direktoriju uz gala mērķi;
  2. Nokopējam datu bāzi;
  3. wp-config.php failā norādam jaunās datu bāzes pieslēgšanās parametrus, ja tie ir mainīti;
  4. Tabulā wp_options laukos siteurl un home norādām jauno domēnu, piemēram, http://www.domain.lv;
  5. Tabulā wp_options laukā upload_path jāieraksta pilnais ceļš uz upload direktoriju un iespējams arī jāpiešķir tiesības uz šo direktoriju;
  6. Izlabojam pilnos ceļus rakstos:
UPDATE wp_posts SET guid = replace(guid, 'http://dev.domain.lv','http://www.domain.lv');
UPDATE wp_posts SET post_content = replace(post_content, 'http://dev.domain.lv','http://www.domain.lv');

Ja ir izmantoti spraudņi, tad jāskatās arī to iestatījumos, vai nav palicis kāds pilnais ceļš.

Tēmas:WordPress Birkas:,

Kā atlasīt unikālu ierakstu skaitu ar X++?

jūlijs 23rd, 2009 Mārtiņš Štāls 3 komentāri

Situācija tāda, ka nav standarta veida kā atlasīt unikālu ierakstu skaitu Axaptā. Tad viens variants, kā atrisināt šo problēmu ir izmantot klasi SqlStatementExecutePermission(AX4.0), lai izpildītu SQL. SQLā savukārt ir atslēgas vārds DISTINCT, kas nodrošina unikālu ierakstu atlasīšanu.

1) Vispirms izveido jaunu klasi, piemēram, Class1, kas izpildās servera pusē (Run on: Server) ar statisku metodi ‘recordCount’:

static int recordCount(Str _query)
{
    Connection                      connection = new Connection();
    Statement                       statement  = connection.createStatement();
    ResultSet                       resultSet;
    SqlStatementExecutePermission   permission;
    int                             result;
    ;
    permission = new SqlStatementExecutePermission(_query);
    permission.assert();
    resultSet = statement.executeQuery(_query);
    if (resultSet.next())
    {
        result = resultSet.getInt(1);
    }
   return result;
}

2) Un šinī piemērā izveidosim jaunu job:

static void stma1_CountDistinct(Args _args)
{
    str query = @"SELECT COUNT(DISTINCT RECID) FROM EMPLTABLE WHERE DATAAREAID='%1' AND CITY='%2'";
    int ret;
    ;
    query = strfmt(query, CurExt(), 'Liepāja');
    print Class1::recordCount(query);
    pause;
}

Tie kas saprot SQL uzreiz redz, kas te notiek. Respektīvi, no tabulas EmplTable tika atlasīti tikai tie ieraksti, kuriem City ir Liepāja. Savukārt mūsu metode RecordCount atgrieza šo ierakstu skaitu. Protams šo triviālo situāciju varēja atrisināt citādāk, bet ja skaitāmais lauks nebūtu RecId, tad būtu jāveido cikls, lai saskaitītu cik unikālu ierakstu ir bijis.