Dokumentace migrace DB
[mirrors/SokoMan.git] / assistants / migrations.inc.php
index 95d3b86dac4c83fa2364110260891cebdcae75d9..93a720f8fef46d7c3f4fb7944de9a97219892946 100644 (file)
@@ -1,6 +1,20 @@
-<pre><h1>populate column item_date_bought</h1><?php
-$data = $this->db->safe_query_fetch('SELECT item_id,MIN(item_valid_from) AS item_valid_from FROM item GROUP BY item_id;');
+<pre>
+<h1>-- Remove all uncountable items</h1>
+SELECT DISTINCT model_countable FROM model;
+DELETE item FROM item LEFT JOIN barcode USING(barcode_id) LEFT JOIN model USING(model_id) WHERE model_countable=0;
+UPDATE model SET model_countable=1;
+<h1>-- populate barcode table</h1><?php
+$data = $this->db->safe_query_fetch('SELECT model_id as id, model_barcode as bar FROM model;', false);
+//print_r($data);
+echo("UPDATE item SET barcode_id=model_id;\n");
+echo("INSERT INTO barcode (barcode_id,model_id,barcode_name) VALUES\n");
+foreach($data as $line) echo("('".$line['id']."','".$line['id']."',".$this->db->quote($line['bar'])."),\n");
+?>
+<h1>-- populate columns item_date_bought and item_date_sold</h1><?php
+$data = $this->db->safe_query_fetch('SELECT item_id,MIN(item_valid_from) AS min,MAX(item_valid_from) AS max FROM item GROUP BY item_id;', false);
 //print_r($data);
 echo("START TRANSACTION;\n");
-foreach($data as $line) echo("UPDATE item SET item_date_bought='".$line['item_valid_from']."' WHERE item_id=".$line['item_id'].";\n");
+foreach($data as $line) echo("UPDATE item SET item_date_bought='".$line['min']."',item_date_sold='".$line['max']."' WHERE item_id=".$line['item_id'].";\n");
 echo("COMMIT;\n");
+?>
+</pre>
This page took 0.090569 seconds and 4 git commands to generate.