본문 바로가기
반응형

Back-End20

rails, ruby 역순 정렬, 변수 역순 each문 rails 에서 정렬을 하여 가져오는 방법은 아주 간단합니다 week 라는 필드의 값이 작은 것 부터 정렬을 해서 가져오는 방법입니다 @my_data = MyData.where(:param_id => @search_param.param_id).order('week') 그렇다면 week 라는 필드의 값이 큰 ㄱ덧 부터 정렬을 해서 가져오는 방법은? @my_data = MyData.where(:param_id => @search_param.param_id).order('week desc') 이렇듯 변수에 저장하는 방법을 알아보았습니다. 하지만 우리가 생각하는 것은, 일단 작은 것 부터 정렬을 해서 가져와서 사용하다가 한 곳에서만 역순으로 가져오고 싶다면, 변수를 두 번을 사용해야 하는 것일까요? 아닙니다. .. 2024. 1. 2.
mysql Workbench db export, import 오류 해결 이 포스트는 terminal 작업 없이 진행됩니다 workbench 로 옮길, 받을 db에 연결되어있다는 가정 하에 진행합니다. 저는 Mac 을 사용중입니다. 명명이나 경로가 살짝은 다를 수 있어도 그러한 부분은 검색으로 충분히 찾을 수 있습니다 쉬운 진행을 위해 A라는 회사에서 진행하던 db 를 B라는 회사로 로 옮긴다고 하겠습니다 1. Export 1) Workbench 를 실행시켜 A사와의 연결에 들어가서 상단 바의 Server - Data Export 선택 2) Advanced Options... 여기가 중요! 대부분 여기서 오류가 납니다 3) set-gtid-purged - Add 'SET @@GLOBAL.GTID_PURGED' to the output. 부분이 AUTO 로 되어있다면 OFF .. 2023. 10. 25.
관련 데이터 필터링: Ruby on Rails에서 두 번의 조인을 활용한 방법 A belongs_to B B belongs_to C 의 관계를 만족하는 3개의 테이블이 있을 때에 A 테이블의 정보들을 가져올 때에 C 의 필드를 기준으로 필터링 하여 가져오고 싶은 경우가 있다. 여기서 C 의 c라는 필드의 값이 1 인 것만 가져오고싶은 경우의 1. 오류가 발생하는 쿼리문 2. 올바른 쿼리문 두 경우의 코드를 드리겠습니다 1. 오류가 발생하는 쿼리문 A.joins(:B).joins(:C).where('C.c = 1') → 첫 번째 코드 대로 한다면, A 와 C 의 다이렉트 관계를 찾아 조인을 시도해요. 하지만 B 와 C 의 관계가 명시적으로 정의가 되어있지 않았으니 Rails 는 이 관계를 인식하지 못할 수 있어요 2. 올바른 쿼리문 A.joins(:B).joins(B: :C).whe.. 2023. 9. 15.
Rails 오류 "You have already activated... " 해결하기 `check_for_activated_spec!': You have already activated activesupport 7.0.7.2, but your Gemfile requires activesupport 6.1.7.6. Prepending `bundle exec` to your command may solve this. (Gem::LoadError) 이런 오류가 발생하기 시작했다... Gemfile.lock 을 지우고 다시 bundle install 해도 안되는 경우! 가끔 bin/rails 오류나 각종 터미널 상의 오류, 특정 gem 설치 이후 오류들이 발생할때마다 하나를 고치면 파생된 다른 오류들이 연달아 생기곤 합니다.. 물론 rails 만의 문제는 아닙니다ㅋㅋ 저는 gem 을 설치하고 R.. 2023. 9. 6.
mysql id를 1로 변경하기 오픈을 한참을 준비하며 테스트 데이터를 만들어 보았으나, 오픈 직전 이전 테스트 데이터들을 지우고 id 를 1로 다시 설정하고 싶을 때가 있습니다. mysql 에서 id 는 AI(Auto Increase)로 자동적으로 숫자가 1씩 늘도록 설정이 되어있습니다. ALTER TABLE 스키마-이름.바꿀테이블-이름 AUTO_INCREMENT=1; 테이블 명을 바로 넣으시면 안되고, Schema이름.Table이름 으로 접근을 하셔야 합니다. 그러고 AUTO_INCREMENT 를 1로 설정해주시면 됩니다. 2023. 1. 24.
[mysql-함수]날짜 관련 함수 모음 dayofweek(date) 날짜를 한 주의 몇 번째 요일인지를 나타내는 숫자로 리턴한다. (1 = 일요일, 2 = 월요일, ... 7 = 토요일) mysql> select dayofweek('1998-02-03'); -> 3 weekday(date) 날짜를 한 주의 몇 번째 요일인지를 나타내는 숫자로 리턴한다. (0 = 월요일, 1=화요일 ... 6 = 일요일) mysql> select weekday('1997-10-04 22:23:00'); -> 5 mysql> select weekday('1997-11-05'); -> 2 dayofmonth(date) 그 달의 몇 번째 날인지를 알려준다. 리턴 값은 1에서 31 사이이다. mysql> select dayofmonth('1998-02-03'); -> .. 2023. 1. 15.
firestore 데이터 내보내기, 엑셀로 내보내기 올해 초 이직을 하며 떠나게 된 회사에서 db를 추출하고 싶다는 연락을 받았습니다. 파이어베이스 firestore 에서 특정 collection, 예를 들어 User 나 payment history 같은 디비를 가져올 때에 가장 흔하게 하는 방식은 구글링을 통해 js, 혹은 파이썬을 사용하여 가져오는 방식이 있죠. 하지만! 이미 떠나온 회사를 위해 오래전 사용한 기술과 구조를 다시 이해하거나 새로 기능을 짜는데 걸릴 시간이 너무 아까울 것 같아 쉬운 방법을 찾아보았습니다. 알아보던 도중 클릭 한번으로 firestore export 기능을 수행하는 프로그램을 발견했습니다. 충분히 이런 저런 삽질해보고 나온 가장 쉽고 빠른, 정확한 결과를 가져내는 방법이니 이대로 따라하시는 것이 가장 편할 것입니다 (202.. 2022. 12. 31.
rails i18n 하는 방법, rails 언어처리 (5분 내외) rails 언어처리 방법에 대해서 한번 포스팅을 해보려 합니다. 학생때야 하나의 언어로 처리를 하였겠지만, 본격적으로 실무를 하게 될 때면, 여러 가지의 언어를 동시에 사용해야 하는 경우가 생깁니다. 과연 rails 에서는 이 부분을 어떻게 처리하는지 코드와 함께 알아보도록 하겠습니다. 1. i18n(다중언어처리)를 위한 gem 을 설치합니다 루트 폴더 부분의 Gemlfile을 열어 한 줄을 추가해줍니다 # locale gem 'rails-i18n' gem을 설치했으므로 터미널에서 bundle i 를 실행해줍니다 2. app/controllers/application_controller.rb 파일에 언어 세팅을 합니다 def set_locale I18n.locale = params[:locale] || .. 2022. 12. 8.
Rails CRUD - 데이터 저장이 잘 되었는지 확인하는 방법 def saveCheck # NewData 라는 테이블이 있다고 가정합니다 new_data = NewData.new new_data.title = "새로 만드는 데이터" new_data.status = 0 new_data.save # 데이터가 안정적으로 잘 들어갔는지 확인하는 if new_data.save puts "데이터가 안정적으로 만들어졌습니다" # 데이터가 잘 들어가지 않은 경우 어떤것이 오류인지 오류코드를 왁인 else # 오류가 생긴다면 오류 내용을 전부 찍어 보기 puts new_data.errors.full_messages end end + puts로 찍어본 로그는 rails s 를 띄운 서버 터미널에서 보실 수 있습니다 2022. 10. 3.
(해결 방법) rails devise sign_up 오류 devise sign up error Rails 에는 정말 많은 gem 들이 있습니다. 이 중 웹사이트를 개발할 때에 가장 많이, 그리고 가장 기본적으로 사용이되는 회원 관리 부분을 볼 것입니다. Admin을 이야기 하는 것이 아니라, 회원 가입, 로그인, 로그아웃 등을 구현할 것입니다. 여기서 많은 오류들을 만나게 될텐데, 천천히 잘 따라만 오시면 됩니다 로그인, 회원가입 페이지 만들기 1. blog 라는 이름의 프로젝트를 생성할 것입니다 $ rails new blog 2. Devise 라는 회원가입, 로그인 기능 gem 을 설치합니다 $ bundle add devise 3. 번들을 추가 했으니 설치를 합니다 $ rails g devise:install 4. User 라는 이름으로 devise 만들되, 저는 추가로 role(권한) 필드를 .. 2022. 5. 24.
(해결) LoadError: cannot load such file -- sass Ruby on rails 개발 중 admin 페이지를 함께 만들기 위해 devise 라는 gem과 activeadmin 이라는 gem 을 설치했습니다. 그런데 bundle install 을 하고 다시 서버를 보았더니 LoadError: cannot load such file -- sass 이런 문구가 떳습니다. 당황하였지만, 여러 해결 방법을 찾아본 결과 예전 버전들에서는 없었던 오류가 rails 버전이 높은 것을 사용했더니 나더군요. 해결 방법 gem 'sass-rails' 해당 잼을 추가하고, bundle을 한 후 서버를 control + c 로 종료한 후 rails s 로 다시 켜봤습니다 잘 뜹니다! sass-rails 를 사용하니 오류가 있다던 파일이 잘 돌아갔습니다. 다른 파일을 수정할 것이 아.. 2022. 5. 19.
루비 온 레일즈 rails Gem 설치 다운로드 방법 오늘은 Gem 을 안전하게 다운받는 방법을 함께 포스팅을 할게요 일단 Gem을 왜 사용하느냐. 이 부분은 rails를 왜 사용하느냐 문제와도 정말 연관이 있습니다. Gem 을 사용하면 정말 말도 안되게 빠른 속도로 개발을 할 수 있거든요. rails 에는 1. 게시판 만들기 → Scaffolding 2. 페이지네이션 구현 → Kaminari 3. 이미지 업로드 구현 → Carrierwave 4. 회원가입,로그인 구현 → Devise 5. 회원 권한 구현 → CanCanCan 등등 가져와 설치만 하면 페이지와 기능, 라우팅등에 관련한 모든 코드들을 자동으로 작성해주고 가져와주거든요. rails를 사용하면 Gem 을 모르는것은 정말 음.. 좀 곤란해요. 일단 가장 많이 쓰이는 Gem 중 하나인 devise .. 2022. 5. 19.
반응형