Upgrade() public static method

Upgrade datafile from v6 to new v7 format used in LiteDB 3
public static Upgrade ( string filename, string password = null, bool backup = true, int batchSize = 5000 ) : bool
filename string
password string
backup bool
batchSize int
return bool
Example #1
0
        /// <summary>
        /// Starts LiteDB database using a connection string for file system database
        /// </summary>
        public LiteDatabase(ConnectionString connectionString, BsonMapper mapper = null, Logger log = null)
        {
            _connectionString = connectionString ?? throw new ArgumentNullException(nameof(connectionString));

            Log       = log ?? new Logger();
            Log.Level = log?.Level ?? _connectionString.Log;

            if (_connectionString.Upgrade)
            {
                LiteEngine.Upgrade(_connectionString.Filename, _connectionString.Password);
            }

            Mapper = mapper ?? BsonMapper.Global;

            var options = new FileOptions
            {
#if HAVE_SYNC_OVER_ASYNC
                Async = _connectionString.Async,
#endif
#if HAVE_FLUSH_DISK
                Flush = _connectionString.Flush,
#endif
                InitialSize = _connectionString.InitialSize,
                LimitSize   = _connectionString.LimitSize,
                Journal     = _connectionString.Journal,
                FileMode    = _connectionString.Mode
            };

            _engine = new LazyLoad <LiteEngine>(() => new LiteEngine(new FileDiskService(_connectionString.Filename, options), _connectionString.Password, _connectionString.Timeout, _connectionString.CacheSize, Log, _connectionString.UtcDate));
        }
        /// <summary>
        /// Starts LiteDB database using a connection string for file system database
        /// </summary>
        public LiteDatabase(ConnectionString connectionString, BsonMapper mapper = null)
        {
            if (connectionString == null)
            {
                throw new ArgumentNullException("connectionString");
            }

            _connectionString = connectionString;
            _log.Level        = _connectionString.Log;

            if (_connectionString.Upgrade)
            {
                LiteEngine.Upgrade(_connectionString.Filename, _connectionString.Password);
            }

            _mapper = mapper ?? BsonMapper.Global;

            var options = new FileOptions
            {
                InitialSize = _connectionString.InitialSize,
                LimitSize   = _connectionString.LimitSize,
                Journal     = _connectionString.Journal
            };

            _engine = new LazyLoad <LiteEngine>(() => new LiteEngine(new FileDiskService(_connectionString.Filename, options), _connectionString.Password, _connectionString.Timeout, _connectionString.CacheSize, _log));
        }
Example #3
0
        /// <summary>
        /// Starts LiteDB database using a connection string for file system database
        /// </summary>
        public LiteDatabase(ConnectionString connectionString, BsonMapper mapper = null)
        {
            if (connectionString == null)
            {
                throw new ArgumentNullException(nameof(connectionString));
            }

            if (connectionString.Upgrade == true)
            {
                // try upgrade if need
                LiteEngine.Upgrade(connectionString.Filename, connectionString.Password);
            }

            _engine         = connectionString.CreateEngine();
            _mapper         = mapper ?? BsonMapper.Global;
            _disposeOnClose = true;

            if (connectionString.Collation != null)
            {
                var current = this.Collation.ToString();

                if (connectionString.Collation.ToString() != current)
                {
                    this.Dispose();

                    throw new LiteException(0, $"Database collation '{current}' is different from connection string. Use Rebuild database to change collation.");
                }
            }
        }
Example #4
0
        /// <summary>
        /// Starts LiteDB database using a connection string for file system database
        /// </summary>
        public LiteDatabase(ConnectionString connectionString, BsonMapper mapper = null)
        {
            if (connectionString == null)
            {
                throw new ArgumentNullException(nameof(connectionString));
            }

            if (connectionString.Upgrade != UpgradeOption.False)
            {
                // try upgrade if need
                LiteEngine.Upgrade(connectionString.Filename, connectionString.Password, connectionString.Upgrade);
            }

            _engine = connectionString.CreateEngine();
            _mapper = mapper ?? BsonMapper.Global;
        }
Example #5
0
        /// <summary>
        /// Starts LiteDB database using a connection string for file system database
        /// </summary>
        public LiteDatabase(ConnectionString connectionString, BsonMapper mapper = null)
        {
            if (connectionString == null)
            {
                throw new ArgumentNullException(nameof(connectionString));
            }

            _mapper = mapper ?? BsonMapper.Global;

            if (connectionString.Upgrade)
            {
                LiteEngine.Upgrade(connectionString.Filename, connectionString.Password);
            }

            _engine = new Lazy <ILiteEngine>(connectionString.CreateEngine);
        }
Example #6
0
        /// <summary>
        /// Starts LiteDB database using a connection string for file system database
        /// </summary>
        public LiteDatabase(ConnectionString connectionString, BsonMapper mapper = null)
        {
            if (connectionString == null)
            {
                throw new ArgumentNullException(nameof(connectionString));
            }

            if (connectionString.Upgrade == true)
            {
                // try upgrade if need
                LiteEngine.Upgrade(connectionString.Filename, connectionString.Password, connectionString.Collation);
            }

            _engine         = connectionString.CreateEngine();
            _mapper         = mapper ?? BsonMapper.Global;
            _disposeOnClose = true;
        }
Example #7
0
        /// <summary>
        /// Starts LiteDB database using a connection string for file system database
        /// </summary>
        public LiteDatabase(ConnectionString connectionString, BsonMapper mapper = null)
        {
            if (connectionString == null)
            {
                throw new ArgumentNullException(nameof(connectionString));
            }

            _mapper = mapper ?? BsonMapper.Global;

            if (connectionString.Upgrade)
            {
                // try upgrade if need
                LiteEngine.Upgrade(connectionString.Filename, connectionString.Password);
            }

            _engine = new Lazy <ILiteEngine>(connectionString.CreateEngine, LazyThreadSafetyMode.PublicationOnly);
        }
Example #8
0
        /// <summary>
        /// Starts LiteDB database using a connection string for filesystem database
        /// </summary>
        public LiteDatabase(string connectionString, BsonMapper mapper = null)
        {
            _connectionString = new ConnectionString(connectionString);

            if (_connectionString.Upgrade)
            {
                LiteEngine.Upgrade(_connectionString.Filename, _connectionString.Password);
            }

            _mapper = mapper ?? BsonMapper.Global;

            var options = new FileOptions
            {
                InitialSize = _connectionString.InitialSize,
                LimitSize   = _connectionString.LimitSize,
                Journal     = _connectionString.Journal,
                Timeout     = _connectionString.Timeout
            };

            _engine = new LazyLoad <LiteEngine>(() => new LiteEngine(new FileDiskService(_connectionString.Filename, options), _connectionString.Password, _connectionString.Timeout, _connectionString.CacheSize, _log));
        }