Skip to content

SQLIte Deprecation

Ringo Hoffmann edited this page Jul 15, 2021 · 2 revisions

With release 1.16.0, the SQLite3 driver was marked as deprecated and with update 1.18.0 it has been removed.

Why?

The SQLite3 driver was purposed to be used while development so that you don't need to set up a MariaDB instance on your dev system. But because shinpuru nowadays also requires a connection to other services like Redis or MinIO, you would still need to go trough setting up these services. And also because shinpuru now provides handy Docker Compose configurations configurations, setting up these is literally done in seconds.

Another problem with the SQLite implementation was the lack of support for migration and table altering, which made it nearly impossible to use it in production. Here you can also read a bit more about that if you are interested.

Furthermore, the used SQLite3 driver mainly consisted of cgo bindings which required a C toolchain installed, which was kind of nasty on deployment.

How to Switch

The recommended way to set up MariaDB is by using the provided Docker Compose configuration.

version: '3'

volumes:
  mysql-cfg:
  mysql-lib:

services:

  mysql:
    image: 'mariadb:latest'
    ports:
      - '3306:3306'
    environment:
      MYSQL_ROOT_PASSWORD: 'dev'
    volumes:
      - 'mysql-cfg:/etc/mysql'
      - 'mysql-lib:/var/lib/mysql'
    restart: 'unless-stopped'

  # Optional if you want to have easy control over
  # your test DB.
  phpmyadmin:
    image: 'phpmyadmin/phpmyadmin:latest'
    ports:
      - '18080:80'
    environment:
      PMA_HOST: mysql
      PMA_PORT: 3306
    restart: 'unless-stopped'
    depends_on:
      - 'mysql'

Getting Started

Documentation

Self-Hosting

Clone this wiki locally