diff options
Diffstat (limited to 'Software/Visual_Studio/Utilities/Tango.SQLiteGenerator.CLI/Program.cs')
| -rw-r--r-- | Software/Visual_Studio/Utilities/Tango.SQLiteGenerator.CLI/Program.cs | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/Software/Visual_Studio/Utilities/Tango.SQLiteGenerator.CLI/Program.cs b/Software/Visual_Studio/Utilities/Tango.SQLiteGenerator.CLI/Program.cs index 9c39eeac6..6acdc5ff5 100644 --- a/Software/Visual_Studio/Utilities/Tango.SQLiteGenerator.CLI/Program.cs +++ b/Software/Visual_Studio/Utilities/Tango.SQLiteGenerator.CLI/Program.cs @@ -12,11 +12,18 @@ using Tango.Synchronization.Conversion; namespace Tango.SQLiteGenerator.CLI { + public enum Config + { + Default, + CopyAll, + } + class Program { static void Main(string[] args) { String sqlitePath = args[0]; + Config conf = args.Length > 1 ? (Config)Enum.Parse(typeof(Config), args[1]) : Config.Default; sqlitePath = Path.GetFullPath(sqlitePath); @@ -60,14 +67,23 @@ namespace Tango.SQLiteGenerator.CLI { List<TableSchema> updated = schema.Where(x => x.TableName.ToLower() != "sysdiagrams").ToList(); - updated - .Where(table => sync_configurations.Where(config => (SyncConfiguration)config.SYNC_TYPE == SyncConfiguration.OverwriteLocal).ToList() - .Exists(config => config.TABLE_NAME == table.TableName)).ToList().ForEach(x => x.CopyData = true); + if (conf == Config.Default) + { + updated + .Where(table => sync_configurations.Where(config => (SyncConfiguration)config.SYNC_TYPE == SyncConfiguration.OverwriteLocal).ToList() + .Exists(config => config.TABLE_NAME == table.TableName)).ToList().ForEach(x => x.CopyData = true); + } + else if (conf == Config.CopyAll) + { + updated.ForEach(x => x.CopyData = true); + } return updated; }); SqlServerToSQLiteConverter converter = new SqlServerToSQLiteConverter(); + converter.GenerateForeignKeys = true; + converter.GenerateIndexes = true; converter.ConvertSqlServerToSQLiteDatabase(connectionString, sqlitePath, null, handler, selectionHandler, null, false, false); |
