PHPackages                             fspringveldt/db-read-only-mode - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. fspringveldt/db-read-only-mode

ActiveSilverstripe-module

fspringveldt/db-read-only-mode
==============================

Places a SilverStripe website in read-only mode, blocking all write requests.

261PHP

Since Sep 4Pushed 9y ago2 watchersCompare

[ Source](https://github.com/fspringveldt/db-read-only-mode)[ Packagist](https://packagist.org/packages/fspringveldt/db-read-only-mode)[ RSS](/packages/fspringveldt-db-read-only-mode/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

DB Read Only Mode
=================

[](#db-read-only-mode)

This module places your entire SilverStripe site into read only mode to safely reduce downtime during deployments. When activated all DML and DQL queries which changes the data are blocked from executing, allowing user to continue using your site in a view-only mode.

Minimum requirements
--------------------

[](#minimum-requirements)

```
silverstripe/framework: ^3.4.*
silverstripe/cms: ^3.4.*

```

Installation and Setup
----------------------

[](#installation-and-setup)

To install, run below from root of SilverStripe installation:

```
> composer require fspringveldt/db-read-only-mode
```

http://**your-site-url**?flush=1 once composer is complete the flush the manifest.

Switching it on and off
-----------------------

[](#switching-it-on-and-off)

Readonly mode is activated by default. To switch it on, find below in [\_ *config/app.yml*](_config/app.yml)

```
ReadOnlyAspect:
  properties:
    activate: 1
```

and change the 1 to 0. Then flush again to clear the cache manifest, activating the module.

Switching off exceptions
------------------------

[](#switching-off-exceptions)

If you'd like to throw a catchable exception, then switch it on in [\_ *config/app.yml*](_config/app.yml)

```
ReadOnlyAspect:
  properties:
    throwExceptions: 0
```

by changing the 0 to 1. Flush the manifest afterwards.

###  Health Score

21

—

LowBetter than 19% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/9717cc5aaeaf534cbead15e8a28f3e74d14e12c708b1a633c7502c433b2ad397?d=identicon)[fspringveldt](/maintainers/fspringveldt)

---

Top Contributors

[![fspringveldt](https://avatars.githubusercontent.com/u/10938392?v=4)](https://github.com/fspringveldt "fspringveldt (4 commits)")

### Embed Badge

![Health badge](/badges/fspringveldt-db-read-only-mode/health.svg)

```
[![Health](https://phpackages.com/badges/fspringveldt-db-read-only-mode/health.svg)](https://phpackages.com/packages/fspringveldt-db-read-only-mode)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
