diff --git a/Cicm.Database/Operations/Computer.cs b/Cicm.Database/Operations/Computer.cs
index 13ee8c32..a3809664 100644
--- a/Cicm.Database/Operations/Computer.cs
+++ b/Cicm.Database/Operations/Computer.cs
@@ -438,14 +438,14 @@ namespace Cicm.Database
Company = (int)dataRow["company"],
Year = (int)dataRow["year"],
Model = (string)dataRow["model"],
- Cpu1 = (int)dataRow["cpu1"],
- Mhz1 = float.Parse(dataRow["mhz1"].ToString()),
+ Cpu1 = dataRow["cpu1"] == DBNull.Value ? 0 : (int)dataRow["cpu1"],
+ Mhz1 = dataRow["mhz1"] == DBNull.Value ? 0 : float.Parse(dataRow["mhz1"].ToString()),
Cpu2 = dataRow["cpu2"] == DBNull.Value ? 0 : (int)dataRow["cpu2"],
Mhz2 = dataRow["mhz2"] == DBNull.Value ? 0 : float.Parse(dataRow["mhz2"].ToString()),
Bits = (int)dataRow["bits"],
Ram = (int)dataRow["ram"],
Rom = (int)dataRow["rom"],
- Gpu = (int)dataRow["gpu"],
+ Gpu = dataRow["gpu"] == DBNull.Value ? 0 : (int)dataRow["gpu"],
Vram = (int)dataRow["vram"],
Colors = (int)dataRow["colors"],
Resolution = (string)dataRow["res"],
diff --git a/Cicm.Database/Operations/Console.cs b/Cicm.Database/Operations/Console.cs
index 698e0927..bcc5a198 100644
--- a/Cicm.Database/Operations/Console.cs
+++ b/Cicm.Database/Operations/Console.cs
@@ -417,14 +417,14 @@ namespace Cicm.Database
Company = (int)dataRow["company"],
Year = (int)dataRow["year"],
Model = (string)dataRow["model"],
- Cpu1 = (int)dataRow["cpu1"],
- Mhz1 = float.Parse(dataRow["mhz1"].ToString()),
+ Cpu1 = dataRow["cpu1"] == DBNull.Value ? 0 : (int)dataRow["cpu1"],
+ Mhz1 = dataRow["mhz1"] == DBNull.Value ? 0 : float.Parse(dataRow["mhz1"].ToString()),
Cpu2 = dataRow["cpu2"] == DBNull.Value ? 0 : (int)dataRow["cpu2"],
Mhz2 = dataRow["mhz2"] == DBNull.Value ? 0 : float.Parse(dataRow["mhz2"].ToString()),
Bits = (int)dataRow["bits"],
Ram = (int)dataRow["ram"],
Rom = (int)dataRow["rom"],
- Gpu = (int)dataRow["gpu"],
+ Gpu = dataRow["gpu"] == DBNull.Value ? 0 : (int)dataRow["gpu"],
Vram = (int)dataRow["vram"],
Colors = (int)dataRow["colors"],
Resolution = (string)dataRow["res"],
diff --git a/Cicm.Database/Operations/Init.cs b/Cicm.Database/Operations/Init.cs
index 898d5ddf..cf862065 100644
--- a/Cicm.Database/Operations/Init.cs
+++ b/Cicm.Database/Operations/Init.cs
@@ -49,111 +49,111 @@ namespace Cicm.Database
IDbCommand dbCmd = dbCon.CreateCommand();
Console.WriteLine("Creating table `admins`");
- dbCmd.CommandText = V11.Admins;
+ dbCmd.CommandText = V12.Admins;
dbCmd.ExecuteNonQuery();
Console.WriteLine("Creating table `browser_tests`");
- dbCmd.CommandText = V11.BrowserTests;
+ dbCmd.CommandText = V12.BrowserTests;
dbCmd.ExecuteNonQuery();
Console.WriteLine("Creating table `cicm_db`");
- dbCmd.CommandText = V11.CicmDb;
+ dbCmd.CommandText = V12.CicmDb;
dbCmd.ExecuteNonQuery();
Console.WriteLine("Creating table `companies`");
- dbCmd.CommandText = V11.Companies;
+ dbCmd.CommandText = V12.Companies;
dbCmd.ExecuteNonQuery();
Console.WriteLine("Creating table `computers`");
- dbCmd.CommandText = V11.Computers;
+ dbCmd.CommandText = V12.Computers;
dbCmd.ExecuteNonQuery();
Console.WriteLine("Creating table `consoles`");
- dbCmd.CommandText = V11.Consoles;
+ dbCmd.CommandText = V12.Consoles;
dbCmd.ExecuteNonQuery();
Console.WriteLine("Creating table `disk_formats`");
- dbCmd.CommandText = V11.DiskFormats;
+ dbCmd.CommandText = V12.DiskFormats;
dbCmd.ExecuteNonQuery();
Console.WriteLine("Creating table `forbidden`");
- dbCmd.CommandText = V11.Forbidden;
+ dbCmd.CommandText = V12.Forbidden;
dbCmd.ExecuteNonQuery();
Console.WriteLine("Creating table `gpus`");
- dbCmd.CommandText = V11.Gpus;
+ dbCmd.CommandText = V12.Gpus;
dbCmd.ExecuteNonQuery();
Console.WriteLine("Creating table `log`");
- dbCmd.CommandText = V11.Logs;
+ dbCmd.CommandText = V12.Logs;
dbCmd.ExecuteNonQuery();
Console.WriteLine("Creating table `money_donations`");
- dbCmd.CommandText = V11.MoneyDonations;
+ dbCmd.CommandText = V12.MoneyDonations;
dbCmd.ExecuteNonQuery();
Console.WriteLine("Creating table `music_synths`");
- dbCmd.CommandText = V11.MusicSynths;
+ dbCmd.CommandText = V12.MusicSynths;
dbCmd.ExecuteNonQuery();
Console.WriteLine("Creating table `news`");
- dbCmd.CommandText = V11.News;
+ dbCmd.CommandText = V12.News;
dbCmd.ExecuteNonQuery();
Console.WriteLine("Creating table `owned_computers`");
- dbCmd.CommandText = V11.OwnedComputers;
+ dbCmd.CommandText = V12.OwnedComputers;
dbCmd.ExecuteNonQuery();
Console.WriteLine("Creating table `owned_consoles`");
- dbCmd.CommandText = V11.OwnedConsoles;
+ dbCmd.CommandText = V12.OwnedConsoles;
dbCmd.ExecuteNonQuery();
Console.WriteLine("Creating table `instruction_sets`");
- dbCmd.CommandText = V11.InstructionSets;
+ dbCmd.CommandText = V12.InstructionSets;
dbCmd.ExecuteNonQuery();
Console.WriteLine("Creating table `instruction_set_extensions`");
- dbCmd.CommandText = V11.InstructionSetExtensions;
+ dbCmd.CommandText = V12.InstructionSetExtensions;
dbCmd.ExecuteNonQuery();
Console.WriteLine("Creating table `processors`");
- dbCmd.CommandText = V11.Processors;
+ dbCmd.CommandText = V12.Processors;
dbCmd.ExecuteNonQuery();
Console.WriteLine("Creating table `instruction_set_extensions_by_processor`");
- dbCmd.CommandText = V11.InstructionSetExtensionsByProcessor;
+ dbCmd.CommandText = V12.InstructionSetExtensionsByProcessor;
dbCmd.ExecuteNonQuery();
Console.WriteLine("Creating table `sound_synths`");
- dbCmd.CommandText = V11.SoundSynths;
+ dbCmd.CommandText = V12.SoundSynths;
dbCmd.ExecuteNonQuery();
Console.WriteLine("Creating table `iso3166_1_numeric`");
- dbCmd.CommandText = V11.Iso3166Numeric;
+ dbCmd.CommandText = V12.Iso3166Numeric;
dbCmd.ExecuteNonQuery();
Console.WriteLine("Filling table `iso3166_1_numeric`");
- dbCmd.CommandText = V11.Iso3166NumericValues;
+ dbCmd.CommandText = V12.Iso3166NumericValues;
dbCmd.ExecuteNonQuery();
Console.WriteLine("Creating foreign keys for table `companies`");
- dbCmd.CommandText = V11.CompaniesForeignKeys;
+ dbCmd.CommandText = V12.CompaniesForeignKeys;
dbCmd.ExecuteNonQuery();
Console.WriteLine("Creating foreign keys for table `computers`");
- dbCmd.CommandText = V11.ComputersForeignKeys;
+ dbCmd.CommandText = V12.ComputersForeignKeys;
dbCmd.ExecuteNonQuery();
Console.WriteLine("Creating foreign keys for table `consoles`");
- dbCmd.CommandText = V11.ConsolesForeignKeys;
+ dbCmd.CommandText = V12.ConsolesForeignKeys;
dbCmd.ExecuteNonQuery();
Console.WriteLine("Creating table `company_logos`");
- dbCmd.CommandText = V11.CompanyLogos;
+ dbCmd.CommandText = V12.CompanyLogos;
dbCmd.ExecuteNonQuery();
Console.WriteLine("Creating table `company_descriptions`");
- dbCmd.CommandText = V11.CompanyDescriptions;
+ dbCmd.CommandText = V12.CompanyDescriptions;
dbCmd.ExecuteNonQuery();
return true;
diff --git a/Cicm.Database/Operations/Operations.cs b/Cicm.Database/Operations/Operations.cs
index e1ac0b1a..363138da 100644
--- a/Cicm.Database/Operations/Operations.cs
+++ b/Cicm.Database/Operations/Operations.cs
@@ -35,7 +35,11 @@ namespace Cicm.Database
public partial class Operations
{
/// Last known database version
- const int DB_VERSION = 11;
+ const int DB_VERSION = 12;
+ /// The column with this value indicates there is no item of this type.
+ public const int DB_NONE = -1;
+ /// This value indicates there's no GPU, but a direct memory->display connection (a framebuffer).
+ public const int DB_FRAMEBUFFER = -2;
readonly IDbConnection dbCon;
readonly IDbCore dbCore;
diff --git a/Cicm.Database/Operations/Update.cs b/Cicm.Database/Operations/Update.cs
index 423efb22..e723b734 100644
--- a/Cicm.Database/Operations/Update.cs
+++ b/Cicm.Database/Operations/Update.cs
@@ -123,6 +123,11 @@ namespace Cicm.Database
UpdateDatabaseToV11();
break;
}
+ case 11:
+ {
+ UpdateDatabaseToV12();
+ break;
+ }
}
OptimizeDatabase();
@@ -1006,6 +1011,81 @@ namespace Cicm.Database
dbCmd.Dispose();
}
+ void UpdateDatabaseToV12()
+ {
+ Console.WriteLine("Updating database to version 12");
+
+ Console.WriteLine("Altering colums from table `computers`");
+ IDbCommand dbCmd = dbCon.CreateCommand();
+ IDbTransaction trans = dbCon.BeginTransaction();
+ dbCmd.Transaction = trans;
+ dbCmd.CommandText = "ALTER TABLE `computers` CHANGE COLUMN `gpu` `gpu` INT DEFAULT NULL;\n" +
+ "ALTER TABLE `computers` CHANGE COLUMN `cpu1` `cpu1` INT DEFAULT NULL;\n" +
+ "ALTER TABLE `computers` CHANGE COLUMN `mhz1` `mhz1` INT DEFAULT NULL;";
+ dbCmd.ExecuteNonQuery();
+ trans.Commit();
+ dbCmd.Dispose();
+
+ Console.WriteLine("Altering colums from table `consoles`");
+ dbCmd = dbCon.CreateCommand();
+ trans = dbCon.BeginTransaction();
+ dbCmd.Transaction = trans;
+ dbCmd.CommandText = "ALTER TABLE `consoles` CHANGE COLUMN `gpu` `gpu` INT DEFAULT NULL;\n" +
+ "ALTER TABLE `consoles` CHANGE COLUMN `cpu1` `cpu1` INT DEFAULT NULL;\n" +
+ "ALTER TABLE `consoles` CHANGE COLUMN `mhz1` `mhz1` INT DEFAULT NULL;";
+ dbCmd.ExecuteNonQuery();
+ trans.Commit();
+ dbCmd.Dispose();
+
+ Console.WriteLine("Adding new special items to table `gpus`");
+ dbCmd = dbCon.CreateCommand();
+ trans = dbCon.BeginTransaction();
+ dbCmd.Transaction = trans;
+ dbCmd.CommandText = $"INSERT INTO `gpus` (`id`, `name`) VALUES ({DB_NONE}, 'DB_NONE');\n" +
+ $"INSERT INTO `gpus` (`id`, `name`) VALUES ({DB_FRAMEBUFFER}, 'DB_FRAMEBUFFER');";
+ dbCmd.ExecuteNonQuery();
+ trans.Commit();
+ dbCmd.Dispose();
+
+ Console.WriteLine("Updating items from table `computers`");
+ dbCmd = dbCon.CreateCommand();
+ trans = dbCon.BeginTransaction();
+ dbCmd.Transaction = trans;
+ dbCmd.CommandText = $"UPDATE `computers` SET `gpu` = {DB_NONE} WHERE `gpu` = 1;\n" +
+ "UPDATE `computers` SET `gpu` = NULL WHERE `gpu` = 2;\n" +
+ $"UPDATE `computers` SET `gpu` = {DB_FRAMEBUFFER} WHERE `gpu` = 3;";
+ dbCmd.ExecuteNonQuery();
+ trans.Commit();
+ dbCmd.Dispose();
+
+ Console.WriteLine("Updating items from table `consoles`");
+ dbCmd = dbCon.CreateCommand();
+ trans = dbCon.BeginTransaction();
+ dbCmd.Transaction = trans;
+ dbCmd.CommandText = $"UPDATE `consoles` SET `gpu` = {DB_NONE} WHERE `gpu` = 1;\n" +
+ "UPDATE `consoles` SET `gpu` = NULL WHERE `gpu` = 2;\n" +
+ $"UPDATE `consoles` SET `gpu` = {DB_FRAMEBUFFER} WHERE `gpu` = 3;";
+ dbCmd.ExecuteNonQuery();
+ trans.Commit();
+ dbCmd.Dispose();
+
+ Console.WriteLine("Remocing old special items from table `gpus`");
+ dbCmd = dbCon.CreateCommand();
+ trans = dbCon.BeginTransaction();
+ dbCmd.Transaction = trans;
+ dbCmd.CommandText = "DELETE FROM `gpus` WHERE `id` = 1;\n" + "DELETE FROM `gpus` WHERE `id` = 2;\n" +
+ "DELETE FROM `gpus` WHERE `id` = 3;";
+ dbCmd.ExecuteNonQuery();
+ trans.Commit();
+ dbCmd.Dispose();
+
+ Console.WriteLine("Setting new database version to 12...");
+ dbCmd = dbCon.CreateCommand();
+ dbCmd.CommandText = "INSERT INTO cicm_db (version) VALUES ('12')";
+ dbCmd.ExecuteNonQuery();
+ dbCmd.Dispose();
+ }
+
void OptimizeDatabase()
{
IDbCommand dbCmd = dbCon.CreateCommand();
diff --git a/Cicm.Database/Schemas/Sql/V12.cs b/Cicm.Database/Schemas/Sql/V12.cs
new file mode 100644
index 00000000..3bb551f2
--- /dev/null
+++ b/Cicm.Database/Schemas/Sql/V12.cs
@@ -0,0 +1,209 @@
+/******************************************************************************
+// Canary Islands Computer Museum Website
+// ----------------------------------------------------------------------------
+//
+// Filename : V11.cs
+// Author(s) : Natalia Portillo
+//
+// --[ Description ] ----------------------------------------------------------
+//
+// Contains SQL queries to create the database version 7.
+//
+// --[ License ] --------------------------------------------------------------
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// ----------------------------------------------------------------------------
+// Copyright © 2003-2018 Natalia Portillo
+*******************************************************************************/
+
+namespace Cicm.Database.Schemas.Sql
+{
+ public static class V12
+ {
+ public static readonly string Admins = V11.Admins;
+
+ public static readonly string BrowserTests = V11.BrowserTests;
+
+ public static readonly string CicmDb = "CREATE TABLE `cicm_db` (\n" +
+ "`id` int(11) NOT NULL AUTO_INCREMENT,\n" +
+ "`version` int(11) NOT NULL,\n" +
+ "`updated` datetime DEFAULT CURRENT_TIMESTAMP,\n" +
+ "PRIMARY KEY (`id`)\n" + ");\n" +
+ "INSERT INTO cicm_db (version) VALUES ('12');";
+
+ public static readonly string Companies = V11.Companies;
+
+ public static readonly string Computers =
+ "CREATE TABLE `computers` (\n" +
+ "`id` int(11) NOT NULL AUTO_INCREMENT,\n" +
+ "`company` int(11) NOT NULL DEFAULT '0',\n" +
+ "`year` int(11) NOT NULL DEFAULT '0',\n" +
+ "`model` char(50) NOT NULL DEFAULT '',\n" +
+ "`cpu1` int(11) DEFAULT NULL,\n" +
+ "`mhz1` int(11) DEFAULT NULL,\n" +
+ "`cpu2` int(11) DEFAULT NULL,\n" +
+ "`mhz2` decimal(11,2) DEFAULT NULL,\n" +
+ "`bits` int(11) NOT NULL DEFAULT '0',\n" +
+ "`ram` int(11) NOT NULL DEFAULT '0',\n" +
+ "`rom` int(11) NOT NULL DEFAULT '0',\n" +
+ "`gpu` int(11) DEFAULT NULL,\n" +
+ "`vram` int(11) NOT NULL DEFAULT '0',\n" +
+ "`colors` int(11) NOT NULL DEFAULT '0',\n" +
+ "`res` char(10) NOT NULL DEFAULT '',\n" +
+ "`sound_synth` int(11) NOT NULL DEFAULT '0',\n" +
+ "`music_synth` int(11) NOT NULL DEFAULT '0',\n" +
+ "`sound_channels` int(11) NOT NULL DEFAULT '0',\n" +
+ "`music_channels` int(11) NOT NULL DEFAULT '0',\n" +
+ "`hdd1` int(11) NOT NULL DEFAULT '0',\n" +
+ "`hdd2` int(11) DEFAULT NULL,\n" +
+ "`hdd3` int(11) DEFAULT NULL,\n" +
+ "`disk1` int(11) NOT NULL DEFAULT '0',\n" +
+ "`cap1` char(25) NOT NULL DEFAULT '0',\n" +
+ "`disk2` int(11) DEFAULT NULL,\n" +
+ "`cap2` char(25) DEFAULT NULL,\n" +
+ "PRIMARY KEY (`id`),\n" +
+ "KEY `idx_computers_company` (`company`),\n" +
+ "KEY `idx_computers_year` (`year`),\n" +
+ "KEY `idx_computers_model` (`model`),\n" +
+ "KEY `idx_computers_cpu1` (`cpu1`),\n" +
+ "KEY `idx_computers_cpu2` (`cpu2`),\n" +
+ "KEY `idx_computers_mhz1` (`mhz1`),\n" +
+ "KEY `idx_computers_mhz2` (`mhz2`),\n" +
+ "KEY `idx_computers_bits` (`bits`),\n" +
+ "KEY `idx_computers_ram` (`ram`),\n" +
+ "KEY `idx_computers_rom` (`rom`),\n" +
+ "KEY `idx_computers_gpu` (`gpu`),\n" +
+ "KEY `idx_computers_vram` (`vram`),\n" +
+ "KEY `idx_computers_colors` (`colors`),\n" +
+ "KEY `idx_computers_res` (`res`),\n" +
+ "KEY `idx_computers_sound_synth` (`sound_synth`),\n" +
+ "KEY `idx_computers_music_synth` (`music_synth`),\n" +
+ "KEY `idx_computers_hdd1` (`hdd1`),\n" +
+ "KEY `idx_computers_hdd2` (`hdd2`),\n" +
+ "KEY `idx_computers_hdd3` (`hdd3`),\n" +
+ "KEY `idx_computers_disk1` (`disk1`),\n" +
+ "KEY `idx_computers_disk2` (`disk2`),\n" +
+ "KEY `idx_computers_cap1` (`cap1`),\n" +
+ "KEY `idx_computers_cap2` (`cap2`),\n" +
+ "CONSTRAINT `fk_computers_company` FOREIGN KEY (`company`) REFERENCES `companies` (`id`),\n" +
+ "CONSTRAINT `fk_computers_cpu1` FOREIGN KEY (`cpu1`) REFERENCES `processors` (`id`),\n" +
+ "CONSTRAINT `fk_computers_cpu2` FOREIGN KEY (`cpu2`) REFERENCES `processors` (`id`),\n" +
+ "CONSTRAINT `fk_computers_disk1` FOREIGN KEY (`disk1`) REFERENCES `disk_formats` (`id`),\n" +
+ "CONSTRAINT `fk_computers_disk2` FOREIGN KEY (`disk2`) REFERENCES `disk_formats` (`id`),\n" +
+ "CONSTRAINT `fk_computers_gpu` FOREIGN KEY (`gpu`) REFERENCES `gpus` (`id`),\n" +
+ "CONSTRAINT `fk_computers_hdd1` FOREIGN KEY (`hdd1`) REFERENCES `disk_formats` (`id`),\n" +
+ "CONSTRAINT `fk_computers_hdd2` FOREIGN KEY (`hdd2`) REFERENCES `disk_formats` (`id`),\n" +
+ "CONSTRAINT `fk_computers_hdd3` FOREIGN KEY (`hdd3`) REFERENCES `disk_formats` (`id`),\n" +
+ "CONSTRAINT `fk_computers_music_synth` FOREIGN KEY (`music_synth`) REFERENCES `music_synths` (`id`),\n" +
+ "CONSTRAINT `fk_computers_sound_synth` FOREIGN KEY (`sound_synth`) REFERENCES `sound_synths` (`id`))";
+
+ public static readonly string Consoles =
+ "CREATE TABLE `consoles` (\n" +
+ "`id` int(11) NOT NULL AUTO_INCREMENT,\n" +
+ "`company` int(11) NOT NULL DEFAULT '0',\n" +
+ "`model` char(50) NOT NULL DEFAULT '',\n" +
+ "`year` int(11) NOT NULL DEFAULT '0',\n" +
+ "`cpu1` int(11) DEFAULT NULL,\n" +
+ "`mhz1` int(11) DEFAULT NULL,\n" +
+ "`cpu2` int(11) DEFAULT NULL,\n" +
+ "`mhz2` decimal(11,2) DEFAULT NULL,\n" +
+ "`bits` int(11) NOT NULL DEFAULT '0',\n" +
+ "`ram` int(11) NOT NULL DEFAULT '0',\n" +
+ "`rom` int(11) NOT NULL DEFAULT '0',\n" +
+ "`gpu` int(11) DEFAULT NULL,\n" +
+ "`vram` int(11) NOT NULL DEFAULT '0',\n" +
+ "`res` char(11) NOT NULL DEFAULT '',\n" +
+ "`colors` int(11) NOT NULL DEFAULT '0',\n" +
+ "`palette` int(11) NOT NULL DEFAULT '0',\n" +
+ "`sound_synth` int(11) NOT NULL DEFAULT '0',\n" +
+ "`schannels` int(11) NOT NULL DEFAULT '0',\n" +
+ "`music_synth` int(11) NOT NULL DEFAULT '0',\n" +
+ "`mchannels` int(11) NOT NULL DEFAULT '0',\n" +
+ "`format` int(11) NOT NULL DEFAULT '0',\n" +
+ "`cap` int(11) NOT NULL DEFAULT '0',\n" +
+ "PRIMARY KEY (`id`),\n" +
+ "KEY `idx_consoles_company` (`company`),\n" +
+ "KEY `idx_consoles_year` (`year`),\n" +
+ "KEY `idx_consoles_model` (`model`),\n" +
+ "KEY `idx_consoles_cpu1` (`cpu1`),\n" +
+ "KEY `idx_consoles_cpu2` (`cpu2`),\n" +
+ "KEY `idx_consoles_mhz1` (`mhz1`),\n" +
+ "KEY `idx_consoles_mhz2` (`mhz2`),\n" +
+ "KEY `idx_consoles_bits` (`bits`),\n" +
+ "KEY `idx_consoles_ram` (`ram`),\n" +
+ "KEY `idx_consoles_rom` (`rom`),\n" +
+ "KEY `idx_consoles_gpu` (`gpu`),\n" +
+ "KEY `idx_consoles_vram` (`vram`),\n" +
+ "KEY `idx_consoles_colors` (`colors`),\n" +
+ "KEY `idx_consoles_res` (`res`),\n" +
+ "KEY `idx_consoles_sound_synth` (`sound_synth`),\n" +
+ "KEY `idx_consoles_music_synth` (`music_synth`),\n" +
+ "KEY `idx_consoles_palette` (`palette`),\n" +
+ "KEY `idx_consoles_format` (`format`),\n" +
+ "KEY `idx_consoles_cap` (`cap`),\n" +
+ "CONSTRAINT `fk_consoles_company` FOREIGN KEY (`company`) REFERENCES `companies` (`id`),\n" +
+ "CONSTRAINT `fk_consoles_cpu1` FOREIGN KEY (`cpu1`) REFERENCES `processors` (`id`),\n" +
+ "CONSTRAINT `fk_consoles_cpu2` FOREIGN KEY (`cpu2`) REFERENCES `processors` (`id`),\n" +
+ "CONSTRAINT `fk_consoles_format` FOREIGN KEY (`format`) REFERENCES `disk_formats` (`id`),\n" +
+ "CONSTRAINT `fk_consoles_gpu` FOREIGN KEY (`gpu`) REFERENCES `gpus` (`id`),\n" +
+ "CONSTRAINT `fk_consoles_music_synth` FOREIGN KEY (`music_synth`) REFERENCES `music_synths` (`id`),\n" +
+ "CONSTRAINT `fk_consoles_sound_synth` FOREIGN KEY (`sound_synth`) REFERENCES `sound_synths` (`id`));";
+
+ public static readonly string DiskFormats = V11.DiskFormats;
+
+ public static readonly string Forbidden = V11.Forbidden;
+
+ public static readonly string Gpus =
+ V11.Gpus + "\n" +
+ $"INSERT INTO `gpus` (`id`, `name`) VALUES ({Operations.DB_NONE}, `DB_NONE`);\n" +
+ $"INSERT INTO `gpus` (`id`, `name`) VALUES ({Operations.DB_FRAMEBUFFER}, `DB_FRAMEBUFFER`);";
+
+ public static readonly string Logs = V11.Logs;
+
+ public static readonly string MoneyDonations = V11.MoneyDonations;
+
+ public static readonly string MusicSynths = V11.MusicSynths;
+
+ public static readonly string News = V11.News;
+
+ public static readonly string OwnedComputers = V11.OwnedComputers;
+
+ public static readonly string OwnedConsoles = V11.OwnedConsoles;
+
+ public static readonly string Processors = V11.Processors;
+
+ public static readonly string SoundSynths = V11.SoundSynths;
+
+ public static readonly string ComputersForeignKeys = V11.ComputersForeignKeys;
+
+ public static readonly string ConsolesForeignKeys = V11.ConsolesForeignKeys;
+
+ public static readonly string Iso3166Numeric = V11.Iso3166Numeric;
+
+ public static readonly string Iso3166NumericValues = V11.Iso3166NumericValues;
+
+ public static readonly string CompaniesForeignKeys = V11.CompaniesForeignKeys;
+
+ public static readonly string CompanyLogos = V11.CompanyLogos;
+
+ public static readonly string CompanyDescriptions = V11.CompanyDescriptions;
+
+ public static readonly string InstructionSets = V11.InstructionSets;
+
+ public static readonly string InstructionSetExtensions = V11.InstructionSetExtensions;
+
+ public static readonly string InstructionSetExtensionsByProcessor = V11.InstructionSetExtensionsByProcessor;
+ }
+}
\ No newline at end of file
diff --git a/cicm_web/cicm_web.csproj b/cicm_web/cicm_web.csproj
index 9565ce31..bf55b1e1 100644
--- a/cicm_web/cicm_web.csproj
+++ b/cicm_web/cicm_web.csproj
@@ -2,7 +2,7 @@
netcoreapp2.0
- 3.0.99.182
+ 3.0.99.186
Canary Islands Computer Museum
Copyright © 2003-2018 Natalia Portillo
Canary Islands Computer Museum Website