MariaDB 다양한 Debian 9 서버 및 Rails 앱에서 Active Record를 간단하게 사용할 수 있는 점이 특이합니다.
한 쌍의 OVZ-6 서버와 동일한 Ruby on Rails 애플리케이션에서 간단한 선택 게시글 댓글(일대다 연결)
<%= @post.comments.each do |c| %>
<%= c.body %>
<% end %>
는 존재하는 세 개의 코멘트를 표시하고 있지만 마지막에 일부 전체 레코드를 표시하고 있습니다.
Great solution for a big and old problem.
This is a problem that I have started to web design years ago.
Thanks for facilitating this css files, this really help us!
[#<Comment id: 2, body: "Great solution for a big and old problem.",
post_id: 2, created_at: "2018-01-11 10:28:08", updated_at: "2018-01-11
10:28:08">, #<Comment id: 3, body: "This is a problem that I have
started to web desig...", post_id: 2, created_at: "2018-01-11
10:28:08", updated_at: "2018-01-11 10:28:08">, #<Comment id: 4, body:
"Thanks for facilitating this css files, this reall...", post_id: 2,
created_at: "2018-01-11 13:02:33", updated_at: "2018-01-11 13:02:33">]
댓글이 없으면 표시됩니다: []
Debian-8에서 새로 업그레이드된 서버와 다른 서버의 구성은 다음과 같습니다.
데비안 GNU/리눅스 9(스트레치), 리눅스 4.9.0-1-amd64, x86-64Apache 2.4.25 (데비안).Mysql 15.1 배포 10.1.26-MariaDB, debian-linux-gnu (x86_64), readline 5.2. (아래 상태) Phusion Passenger 5.1.12. RVM 1.29.3Ruby 2.4.3p205 (2017-12-14 개정 61247) [x86_64-linux.레일 5.1.4.mysql2 (0.4.10)
BDD 상태는 다음과 같습니다.
`$ sudo service mysql status`
mariadb.service - MariaDB 10.2.12 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; ven
Drop-In: /etc/systemd/system/mariadb.service.d
+-migrated-from-my.cnf-settings.conf
Active: active (running) since Wed 2018-01-10 11:58:23 UTC; 1 day
Docs: man:mysqld(8)
https://mariadb.com/kb/en/library/systemd/
Process: 481 ExecStartPost=/bin/sh -c systemctl unset-environment
Process: 478 ExecStartPost=/etc/mysql/debian-start (code=exited, s
Process: 208 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recove
Process: 202 ExecStartPre=/bin/sh -c systemctl unset-environment _
Process: 190 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root
Main PID: 393 (mysqld)
Status: "Taking your SQL requests now..."
CGroup: /system.slice/mariadb.service
+-393 /usr/sbin/mysqld
sql 파일은 다음과 같습니다.
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
CREATE TABLE ar_internal_metadata (
key varchar(255) COLLATE utf8_bin NOT NULL,
value varchar(255) COLLATE utf8_bin DEFAULT NULL,
created_at datetime NOT NULL,
updated_at datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
INSERT INTO ar_internal_metadata (key, value, created_at, updated_at) VALUES
('environment', 'development', '2018-01-10 16:44:47', '2018-01-10 16:44:47');
CREATE TABLE comments (
id bigint(20) NOT NULL,
body varchar(255) COLLATE utf8_bin DEFAULT NULL,
post_id bigint(20) DEFAULT NULL,
created_at datetime NOT NULL,
updated_at datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
CREATE TABLE posts (
id bigint(20) NOT NULL,
title varchar(255) COLLATE utf8_bin DEFAULT NULL,
body text COLLATE utf8_bin DEFAULT NULL,
created_at datetime NOT NULL,
updated_at datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
CREATE TABLE schema_migrations (
version varchar(255) COLLATE utf8_bin NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
ALTER TABLE comments
ADD CONSTRAINT fk_rails_2fd19c0db7 FOREIGN KEY (post_id) REFERENCES posts (id);
schema.rb 파일은 다음과 같습니다.
ActiveRecord::Schema.define(version: 20180111151927) do
create_table "posts", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin" do |t|
t.string "title"
t.text "body"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
create_table "comments", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin" do |t|
t.string "body"
t.bigint "post_id"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.index ["post_id"], name: "index_comments_on_post_id"
end
add_foreign_key "comments", "posts"
end
레일 콘솔을 통해 Post.last.comments를 선택하면 주석이 잘 표시됩니다.
스캐폴드를 사용하여 제작된 다른 RoR 앱에서도 동일한 오류가 표시됩니다.
Comments
congratulations!
[#<Comment id: 1, body: "congratulations!", post_id: 1, created_at:
"2018-01-11 17:13:26", updated_at: "2018-01-11 17:13:26">]
무엇이 문제가 될 수 있습니까?이 오류를 어떻게 수정할 수 있습니까?어떻게 진행하는 것이 좋습니까?미리 감사드립니다!
언급URL : https://stackoverflow.com/questions/48214242/mariadb-odd-in-its-simple-usage-of-active-record-in-different-debian-9-servers-a
'programing' 카테고리의 다른 글
xpath: 값에 문자열이 포함된 지정된 속성을 가진 노드를 찾습니다. (0) | 2023.09.20 |
---|---|
std:: vector에서 char* 배열까지 (0) | 2023.09.20 |
스프링 기반 SockJS/STOMP 웹 소켓이 있는 JSON 웹 토큰(JWT) (0) | 2023.09.20 |
스캔f() 발행전 C/C++ printf() (0) | 2023.09.20 |
OQGRAPH 쿼리에서 노드 간의 관계를 선택할 수 있습니까? (0) | 2023.09.20 |