ソースを参照

Finalize database changes

Neal Wilson 7年前
コミット
a495482ef8
1個のファイルの変更22行の追加16行の削除
  1. 22
    16
      config/Windows/navigation.xml

+ 22
- 16
config/Windows/navigation.xml ファイルの表示

@@ -239,7 +239,7 @@
239 239
 		   Typica 1.6 and later. */
240 240
 		var DBCreateSampleRoasting = function() {
241 241
 			var query = new QSqlQuery;
242
-			query.exec("CREATE TABLE IF NOT EXISTS item_attributes (id bigint PRIMARY KEY NOT NULL, name text NOT NULL)");
242
+			query.exec("CREATE TABLE IF NOT EXISTS item_attributes (id bigserial PRIMARY KEY NOT NULL, name text NOT NULL)");
243 243
 			query.exec("CREATE TABLE IF NOT EXISTS coffee_sample_items(arrival timestamp without time zone, vendor text, attribute_ids bigint[], attribute_values text[], item_id bigint) INHERITS (items)");
244 244
 			query.exec("INSERT INTO TypicaFeatures (feature, enabled, version) VALUES('sample-roasting', TRUE, 1)");
245 245
 			query = query.invalidate();
@@ -310,9 +310,8 @@
310 310
 			query.exec("CREATE OR REPLACE FUNCTION log_session_user() RETURNS trigger AS $$ BEGIN IF NEW.person IS NULL THEN NEW.person := session_user; END IF; RETURN NEW; END; $$ LANGUAGE plpgsql");
311 311
 			query.exec("CREATE OR REPLACE FUNCTION log_use() RETURNS trigger AS $$ DECLARE i integer := array_lower(NEW.unroasted_id, 1); u integer := array_upper(NEW.unroasted_id, 1); BEGIN IF NEW.transaction_type = 'ROAST' THEN WHILE i <= u LOOP INSERT INTO use (time, item, quantity, person) VALUES(NEW.time, NEW.unroasted_id[i], NEW.unroasted_quantity[i], NEW.person); i := i + 1; END LOOP; END IF; RETURN NEW; END; $$ LANGUAGE plpgsql");
312 312
 			query.exec("CREATE OR REPLACE FUNCTION log_make() RETURNS trigger AS $$ BEGIN IF NEW.roasted_quantity IS NOT NULL THEN INSERT INTO make (time, item, quantity, person) VALUES(NEW.time, NEW.roasted_id, NEW.roasted_quantity, NEW.person); END IF; RETURN NEW; END; $$ LANGUAGE plpgsql");
313
-			
314
-			/* Uncomment before release */
315
-			// query.exec("UPDATE TypicaFeatures SET version = 7 WHERE feature = 'base-features'");
313
+			query.exec("CREATE TABLE IF NOT EXISTS sample_roast_profiles(\"time\" timestamp without time zone NOT NULL, profile_name TEXT NOT NULL, file bigint NOT NULL)");
314
+			query.exec("UPDATE TypicaFeatures SET version = 7 WHERE feature = 'base-features'");
316 315
 			query = query.invalidate();
317 316
 		};
318 317
 		if(Application.databaseConnected()) {
@@ -321,18 +320,6 @@
321 320
 			   table is created
322 321
 			   if required. */
323 322
 			query.exec("CREATE TABLE IF NOT EXISTS TypicaFeatures (feature TEXT PRIMARY KEY, enabled boolean, version bigint)");
324
-			query.exec("SELECT feature, enabled, version FROM TypicaFeatures WHERE feature = 'sample-roasting'");
325
-			if(query.next())
326
-			{
327
-				if(query.value(2) < 1)
328
-				{
329
-					DBCreateSampleRoasting();
330
-				}
331
-			}
332
-			else
333
-			{
334
-				DBCreateSampleRoasting();
335
-			}
336 323
 			query.exec("SELECT feature, enabled, version FROM TypicaFeatures WHERE feature = 'base-features'");
337 324
 			if(query.next())
338 325
 			{
@@ -368,6 +355,25 @@
368 355
 			else
369 356
 			{
370 357
 				DBCreateBase();
358
+				DBUpdateMultiUser();
359
+		        DBUpdateHistory();
360
+				DBUpdateNotifications();
361
+				DBUpdateTriggers();
362
+				DBUpdateReminders();
363
+				DBUpdateSpecification();
364
+				DBUpdate18();
365
+			}
366
+			query.exec("SELECT feature, enabled, version FROM TypicaFeatures WHERE feature = 'sample-roasting'");
367
+			if(query.next())
368
+			{
369
+				if(query.value(2) < 1)
370
+				{
371
+					DBCreateSampleRoasting();
372
+				}
373
+			}
374
+			else
375
+			{
376
+				DBCreateSampleRoasting();
371 377
 			}
372 378
 			var promptNewUsers = true;
373 379
 			query.exec("SELECT count(1) FROM typica_users");

読み込み中…
キャンセル
保存