Skip to content

Commit

Permalink
Drop mysql2 support, settle on postgresql
Browse files Browse the repository at this point in the history
It's enough work to support one database, let's settle on
the defacto Rails default.
  • Loading branch information
hennevogel committed Jun 6, 2024
1 parent f51db48 commit b2f0796
Show file tree
Hide file tree
Showing 11 changed files with 38 additions and 40 deletions.
1 change: 0 additions & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
.bundle/cache
.git/
coverage/
db/*.sqlite3
Dockerfile
docker-compose.*
log/
Expand Down
14 changes: 13 additions & 1 deletion .github/workflows/next-rails.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ jobs:
runs-on: ubuntu-latest
name: next-rails
env:
OSEM_DB_HOST: localhost
RAILS_ENV: test
strategy:
matrix:
Expand All @@ -29,7 +30,6 @@ jobs:
bundler-cache: true
- name: Prepare spec
run: |
rm -f osem_test osem_development
bundle exec rake db:setup --trace
bundle exec bin/rails webdrivers:chromedriver:update
- name: spec/${{ matrix.suite }}
Expand All @@ -40,3 +40,15 @@ jobs:
with:
project-token: ${{ secrets.CODACY_PROJECT_TOKEN }}
coverage-reports: coverage/coverage.xml
services:
postgres:
image: postgres:16-alpine
env:
POSTGRES_PASSWORD: mysecretpassword
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
14 changes: 13 additions & 1 deletion .github/workflows/spec.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ jobs:
runs-on: ubuntu-latest
name: spec
env:
OSEM_DB_HOST: localhost
RAILS_ENV: test
strategy:
matrix:
Expand All @@ -37,7 +38,6 @@ jobs:
bundler-cache: true
- name: Prepare spec
run: |
rm -f osem_test osem_development
bundle exec rake db:setup --trace
bundle exec bin/rails webdrivers:chromedriver:update
bundle exec rake factory_bot:lint RAILS_ENV=test
Expand All @@ -49,3 +49,15 @@ jobs:
with:
project-token: ${{ secrets.CODACY_PROJECT_TOKEN }}
coverage-reports: coverage/coverage.xml
services:
postgres:
image: postgres:16-alpine
env:
POSTGRES_PASSWORD: mysecretpassword
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
2 changes: 0 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
/db/test.sqlite3-journal
config/application.rb
config/config.yml
config/secrets.yml
Expand All @@ -18,7 +17,6 @@ capybara-*.html
/vendor/bundle
/log/*
/tmp/*
/db/*.sqlite3
/public/system/*
/coverage/
/spec/tmp/*
Expand Down
9 changes: 8 additions & 1 deletion .rubocop_todo.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# This configuration was generated by
# `rubocop --auto-gen-config`
# on 2024-06-06 14:55:31 UTC using RuboCop version 1.63.5.
# on 2024-06-06 15:22:39 UTC using RuboCop version 1.63.5.
# The point is for the user to remove these configuration records
# one by one as the offenses are removed from the code base.
# Note that changes in the inspected code, or installation of new
Expand Down Expand Up @@ -1156,6 +1156,13 @@ Rails/Blank:
- 'app/models/user.rb'
- 'spec/factories/event_schedule.rb'

# Offense count: 68
# Configuration parameters: Database, Include.
# SupportedDatabases: mysql, postgresql
# Include: db/**/*.rb
Rails/BulkChangeTable:
Enabled: false

# Offense count: 1
# This cop supports unsafe autocorrection (--autocorrect-all).
Rails/CompactBlank:
Expand Down
3 changes: 1 addition & 2 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,7 @@ gem 'puma'
# http://edgeguides.rubyonrails.org/upgrading_ruby_on_rails.html#responders
gem 'responders', '~> 3.0'

# as supported databases
gem 'mysql2'
# as database
gem 'pg'

# for tracking data changes
Expand Down
2 changes: 0 additions & 2 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -307,7 +307,6 @@ GEM
multi_xml (0.7.1)
bigdecimal (~> 3.1)
multipart-post (2.4.1)
mysql2 (0.5.6)
net-http (0.4.1)
uri
net-imap (0.4.11)
Expand Down Expand Up @@ -663,7 +662,6 @@ DEPENDENCIES
mina
mini_magick
money-rails
mysql2
next_rails
omniauth
omniauth-facebook
Expand Down
15 changes: 2 additions & 13 deletions config/database.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,6 @@
<%
encoding = 'unicode'
if ENV.fetch('OSEM_DB_ADAPTER', nil) == 'mysql2'
encoding = 'utf8'
end
%>


default: &default
adapter: <%= ENV.fetch('OSEM_DB_ADAPTER', 'postgresql') %>
encoding: <%= encoding %>
adapter: 'postgresql'
encoding: 'unicode'
host: <%= ENV.fetch('OSEM_DB_HOST', 'database') %>
port: <%= ENV.fetch('OSEM_DB_PORT', '5432') %>
username: <%= ENV.fetch('OSEM_DB_USER', 'postgres') %>
Expand All @@ -21,9 +13,6 @@ development:
<<: *default
database: osem_development

# Warning: The database defined as "test" will be erased and
# re-generated when you run "rake".
# Do not set this db to the same as development or production.
test:
<<: *default
database: osem_test
Expand Down
2 changes: 1 addition & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ version: "2.4"

services:
database:
image: postgres:12-alpine
image: postgres:16-alpine
environment:
PGDATA: /var/lib/postgresql/data/pgdata
POSTGRES_PASSWORD: mysecretpassword
Expand Down
3 changes: 0 additions & 3 deletions dotenv.example
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,6 @@
# bundle exec rake secret
# SECRET_KEY_BASE=12345

# The type of database to use (postgresql, mysql2, sqlite3)
# OSEM_DB_ADAPTER=mysql2

# The name of the host the database runs on
# OSEM_DB_HOST=database

Expand Down
13 changes: 0 additions & 13 deletions lib/tasks/dump_db.rake

This file was deleted.

0 comments on commit b2f0796

Please sign in to comment.