4
좋아, 레일스에 yaml_db
을 사용하여 생성 된 다음 YAML 파일이 있습니다. 그래서 나의 레일 데이터베이스의 자동 생성 수출 기본적으로 :Ruby의 YAML은 큰 파일에서 첫 번째 레코드 만로드합니다. 이유가 무엇입니까?
---
admins:
columns:
- id
- username
- email
- encrypted_password
- password_salt
- sign_in_count
- current_sign_in_at
- last_sign_in_at
- current_sign_in_ip
- last_sign_in_ip
- failed_attempts
- unlock_token
- locked_at
- created_at
- updated_at
records:
- - 1
-
- [email protected]
- $2a$10$dZU50HD6paWS7EjKuWAruOFdwt9eqxiNTRh/D4sj8cqSzy5gjYd2i
- $2a$10$dZU50HD6paWS7EjKuWAruO
- 86
- 2011-01-27 07:37:45 Z
- 2011-01-26 13:27:13 Z
- 12.34.56.78
- 12.34.56.78
- 0
-
-
- 2010-12-23 09:20:46 Z
- 2011-01-27 07:37:45 Z
- - 2
- admin
- [email protected]
- $2a$10$3DML64hdCCvG90bnhIpN/unEEm6C.a9FqGrAFlFHU0.2D54DSQ1Ni
- $2a$10$3DML64hdCCvG90bnhIpN/u
- 1
- 2011-01-21 09:52:14 Z
- 2011-01-21 09:52:14 Z
- 12.34.56.78
- 12.34.56.78
- 0
-
-
- 2011-01-05 14:29:49 Z
- 2011-01-21 09:52:14 Z
---
experiments:
columns:
- id
- description
- startdate
- enddate
- maps_base_URI
- maps_count
- queries_count
- proposals_count
- created_at
- updated_at
.......
지금 내가 함께 루비이 YAML 파일을로드 할 때 :
file = YAML.load(File.open("data-2011-01-27.yml"))
그것은 첫째 admin
보다 더로드되지 않습니다, 심지어 experiments
:
ruby-1.9.2-p0 > file.keys
=> ["admins"]
ruby-1.9.2-p0 > file["admins"]["records"].count
=> 1
왜 그런가요? 자동 생성 된 .yml 파일이 구문 상 올바르다 고 가정합니다. rake:db:dump
과 rake:db:load
을 실행하면 잘 작동합니다.
YAML.load_stream에 대한 링크가 더 이상 작동하지 않습니다. [load_stream] (http://ruby-doc.org/stdlib-1.9.3/libdoc/psych/rdoc/Psych.html#method-c-load_stream)에 대한 또 다른 문서가 있습니다. – slothbear
이것은 Psych 구현에서만 작동하며 유일한 구현입니다 ... 1.8 및 1.9가 여전히 'syck' 구현을 지원하기 때문에 마침내 그들은 루비 2.x 용 워드 프로세서를 업데이트 할 수 있습니다. – akostadinov