mirror of
https://github.com/openSUSE/osem.git
synced 2025-12-23 22:28:15 -05:00
Drop mysql2 support, settle on postgresql
It's enough work to support one database, let's settle on the defacto Rails default.
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
.bundle/cache
|
||||
.git/
|
||||
coverage/
|
||||
db/*.sqlite3
|
||||
Dockerfile
|
||||
docker-compose.*
|
||||
log/
|
||||
|
||||
14
.github/workflows/next-rails.yml
vendored
14
.github/workflows/next-rails.yml
vendored
@@ -12,6 +12,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
name: next-rails
|
||||
env:
|
||||
OSEM_DB_HOST: localhost
|
||||
RAILS_ENV: test
|
||||
strategy:
|
||||
matrix:
|
||||
@@ -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 }}
|
||||
@@ -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
.github/workflows/spec.yml
vendored
14
.github/workflows/spec.yml
vendored
@@ -25,6 +25,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
name: spec
|
||||
env:
|
||||
OSEM_DB_HOST: localhost
|
||||
RAILS_ENV: test
|
||||
strategy:
|
||||
matrix:
|
||||
@@ -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
|
||||
@@ -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
.gitignore
vendored
2
.gitignore
vendored
@@ -1,4 +1,3 @@
|
||||
/db/test.sqlite3-journal
|
||||
config/application.rb
|
||||
config/config.yml
|
||||
config/secrets.yml
|
||||
@@ -18,7 +17,6 @@ capybara-*.html
|
||||
/vendor/bundle
|
||||
/log/*
|
||||
/tmp/*
|
||||
/db/*.sqlite3
|
||||
/public/system/*
|
||||
/coverage/
|
||||
/spec/tmp/*
|
||||
|
||||
@@ -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
|
||||
@@ -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:
|
||||
|
||||
3
Gemfile
3
Gemfile
@@ -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
|
||||
|
||||
@@ -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)
|
||||
@@ -663,7 +662,6 @@ DEPENDENCIES
|
||||
mina
|
||||
mini_magick
|
||||
money-rails
|
||||
mysql2
|
||||
next_rails
|
||||
omniauth
|
||||
omniauth-facebook
|
||||
|
||||
@@ -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') %>
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require 'yaml'
|
||||
task :dump_db do
|
||||
yaml = YAML.load_file("config/database.yml")
|
||||
conf = yaml["production"]
|
||||
filename = "#{conf["database"]}-#{Time.now.strftime("%Y-%m-%d-%H:%M:%S:%L")}.sql"
|
||||
if conf["adapter"] == 'mysql2'
|
||||
system "mysqldump -u #{conf["username"]} --password=#{conf["password"]} -h #{conf["host"]} #{conf["database"]} > ~/#{filename}"
|
||||
else
|
||||
puts "Error: This rake task only works for MYSQL"
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user