// - -  - -  - -  - -  - -  - -  - -  - -  - -  - -  - -  - -  - -  - -  - -

        public static bool CreateTable(DBSQLViewModel _dBSQLViewModel = null)
        {
            bool Result = true;

            if (!_dBSQLViewModel.CheckConnection())
            {
                return(false);
            }

            DB_SQL.QuickQueryInt(_dBSQLViewModel, "select PK from AuditTrail where 1=2");
            if (DB_SQL._ViewModel != null && DB_SQL._ViewModel.LastError == "")
            {
                return(true);
            }
            ;

            if (Result)
            {
                // - - -  - - -

                #region Create table & co

                string SQL = "";

                switch (_dBSQLViewModel.DBType)
                {
                case DBType.Firebird: return(false); break; // ToDo CHM

                case DBType.SQLServer: SQL = AuditTrail.PostScript_MSSQL; break;

                case DBType.SQLite: SQL = AuditTrail.PostScript_SQLite; break;

                case DBType.PostgreSQL: SQL = AuditTrail.PostScript_PGSQL; break;

                case DBType.MySQL: SQL = AuditTrail.PostScript_MySQL; break;
                }
                ;

                // - - -  - - -

                DB_SQL.CreateTable(_dBSQLViewModel, typeof(AuditTrail), SQL, "");

                #endregion

                // - - -  - - -

                if (!Result)
                {
                    Log.Write(new AuditTrail()
                    {
                        Level = ErrorLevel.Error, Message = _dBSQLViewModel.LastError + Environment.NewLine + _dBSQLViewModel.LastQuery
                    });

                    if (Debugger.IsAttached)
                    {
                        Debugger.Break();
                    }
                    ;

                    return(false);
                }
            }
            ;
            return(Result);
        }