[ic] 2 stores sharing one product database (Glenn McCalley)
glenn at bnetmd.net
Sat May 26 12:59:15 UTC 2012
----- Original Message -----
From: "Angus Rogerson" <arogerso at uwaterloo.ca>
To: <interchange-users at icdevgroup.org>
Sent: Friday, May 25, 2012 5:07 PM
Subject: Re: [ic] 2 stores sharing one product database (Glenn McCalley)
> We use multiple catalogs running off a single mysql database....
> On 2012-05-25, at 8:37 AM, Glenn McCalley wrote:
>> Tom, good to know it can work.
>> I don't -think- I want to link order.number in that we want to prefix the
>> order numbers in the two versions differently so our back end can give us
>> sales numbers on mobile vs. traditional.
> We have separate numbering sequences in each catalog. The prefixes are
> different so there is no conflict between catalogs.
> If you wanted the same numbering sequence across multiple catalogs, you
> would definitely need to have them linked, but that might not be good
> enough depending on how your system does file locking.
> The COUNTER-1.0 system is defined in Vend::CounterFile and uses
> Vend::Util::lockfile, which uses Vend:File::lockfile which uses
> Vend::File::flock_lock which does a system call to flock (See
> http://perldoc.perl.org/functions/flock.html) to lock the file. Various
> comments in the code mention the importance of your system using flock for
> things to work. If your system uses flock you should be fine. If your
> system is set up to emulate file locking by creating separate lock files
> you may need to link the whole directory which contains the order.number
> and other counters. So each catalog has a variable set to tell IC to look
> for the order.number file in mycounterslink/order.number, where
> mycounterslink points to allcatalogs/. Then when the file locking system
> tries to create a lock file it will be in
> allcatalogs/order.number.lockfile which is shared, instead of
> mycatalog/order.number.lockfile which is not.
>> Also, operational question. do you have to restart both stores when you
>> update the one database?
> "when you update" is a bit vague so I have three answers ...
> If you change the data structure then you need to change the
> dbconf/mysql/...mysql and the products/....txt in both catalogs (or have
> them linked together). IC keeps the file configurations in each catalog
> (since normally they would be pointing to different files). So, each
> catalog would need to be restarted. (This is not a problem for my setup
> because I am lazy :) and always restart the whole ic server.) Note that
> this assumes you have already done the mysql alter to change tables in the
> mysql database.
> But note that when I change the data structure I typically need to load
> new data also. So, I change the dbconf/mysql/whatever.mysql and
> products/whatever.txt files in *every* catalog, then delete the
> products/.whatever.sql and products/.whatever.autonumber in *one* catalog.
> I don't do a mysql alter to change the table structure in mysql. Deleting
> the .sql and .autonumber files makes Interchange do a mysql drop of the
> old table and create a new one in mysql, and populate it with data from
> products/whatever.txt. This only needs to be done by *one* of the
> Every night I import data into the products and inventory tables in the
> database using mysqlimport. Mysql deletes all the data and imports the new
> records. The structure is not changing so IC does not get confused by
> that. When you do any sort of search/query you are asking the database.
> So, the catalog does not need to know that the data underneath has
> changed. Mysql worries about that. No restarts are required.
> Hope that helps,
Very much so Angus, thank you. Good to have confirmation from one who has
> interchange-users mailing list
> interchange-users at icdevgroup.org
More information about the interchange-users