|
14 | 14 | using System.Text.RegularExpressions;
|
15 | 15 | using System.Threading.Tasks;
|
16 | 16 | using xivModdingFramework.Cache;
|
| 17 | +using xivModdingFramework.General; |
17 | 18 | using xivModdingFramework.General.Enums;
|
18 | 19 | using xivModdingFramework.Helpers;
|
19 | 20 | using xivModdingFramework.Items.Enums;
|
@@ -1391,6 +1392,9 @@ public static TTModel LoadFromFile(string filePath, Action<bool, string> logging
|
1391 | 1392 | {
|
1392 | 1393 | db.Open();
|
1393 | 1394 | SetPragmas(db);
|
| 1395 | + |
| 1396 | + MigrateImportDb(db); |
| 1397 | + |
1394 | 1398 | // Using statements help ensure we don't accidentally leave any connections open and lock the file handle.
|
1395 | 1399 |
|
1396 | 1400 | // Load Mesh Groups
|
@@ -1641,6 +1645,49 @@ public static TTModel LoadFromFile(string filePath, Action<bool, string> logging
|
1641 | 1645 | return model;
|
1642 | 1646 | }
|
1643 | 1647 |
|
| 1648 | + private static void MigrateImportDb(SQLiteConnection db) |
| 1649 | + { |
| 1650 | + //cmd.Parameters.AddWithValue("value", typeof(XivCache).Assembly.GetName().Version); |
| 1651 | + Version version = null; |
| 1652 | + |
| 1653 | + bool hasUv3 = false; |
| 1654 | + var query = @"PRAGMA table_info(vertices);"; |
| 1655 | + using (var cmd = new SQLiteCommand(query, db)) |
| 1656 | + { |
| 1657 | + using (var sqlReader = cmd.ExecuteReader()) |
| 1658 | + { |
| 1659 | + while (sqlReader.Read()) |
| 1660 | + { |
| 1661 | + var name = sqlReader.GetString(1); |
| 1662 | + if(name == "uv_3_u") |
| 1663 | + { |
| 1664 | + hasUv3 = true; |
| 1665 | + } |
| 1666 | + } |
| 1667 | + |
| 1668 | + if (!sqlReader.IsClosed) |
| 1669 | + { |
| 1670 | + sqlReader.Close(); |
| 1671 | + } |
| 1672 | + } |
| 1673 | + } |
| 1674 | + |
| 1675 | + if (!hasUv3) |
| 1676 | + { |
| 1677 | + query = "ALTER TABLE vertices ADD COLUMN uv_3_u INTEGER NOT NULL DEFAULT 0;"; |
| 1678 | + using (var cmd = new SQLiteCommand(query, db)) |
| 1679 | + { |
| 1680 | + cmd.ExecuteScalar(); |
| 1681 | + } |
| 1682 | + query = "ALTER TABLE vertices ADD COLUMN uv_3_v INTEGER NOT NULL DEFAULT 0;"; |
| 1683 | + using (var cmd = new SQLiteCommand(query, db)) |
| 1684 | + { |
| 1685 | + cmd.ExecuteScalar(); |
| 1686 | + } |
| 1687 | + } |
| 1688 | + |
| 1689 | + } |
| 1690 | + |
1644 | 1691 |
|
1645 | 1692 | /// <summary>
|
1646 | 1693 | /// Saves the TTModel to a .DB file for use with external importers/exporters.
|
|
0 commit comments