转于
http://snippets.dzone.com/tag/yaml
运行:
cd #{RAILS_ROOT}/lib/tasks/
rake db:fixtures:dump_all
or
rake db:fixtures:dump_references
namespace :db do
namespace :fixtures do
desc 'Create YAML test fixtures from data in an existing database.
Defaults to development database. Set RAILS_ENV to override.'
task :dump_all => :environment do
sql = "SELECT * FROM %s"
skip_tables = ["schema_info"]
ActiveRecord::Base.establish_connection(:development)
(ActiveRecord::Base.connection.tables - skip_tables).each do |table_name|
i = "000"
File.open("#{RAILS_ROOT}/test/fixtures/#{table_name}.yml", 'w') do |file|
data = ActiveRecord::Base.connection.select_all(sql % table_name)
file.write data.inject({}) { |hash, record|
hash["#{table_name}_#{i.succ!}"] = record
hash
}.to_yaml
end
end
end
end
namespace :fixtures do
desc 'Create YAML test fixtures for references. Defaults to development database.
Set RAILS_ENV to override.'
task :dump_references => :environment do
sql = "SELECT * FROM %s"
dump_tables = ["areas","countries"]
ActiveRecord::Base.establish_connection(:development)
dump_tables.each do |table_name|
i = "000"
file_name = "#{RAILS_ROOT}/test/fixtures/#{table_name}.yml"
p "Fixture save for table #{table_name} to #{file_name}"
File.open(file_name, 'w') do |file|
data = ActiveRecord::Base.connection.select_all(sql % table_name)
file.write data.inject({}) { |hash, record|
hash["#{table_name}_#{i.succ!}"] = record
hash
}.to_yaml
end
end
end
end
end
权限管理用下面方法直接把数据库中的数据导出。test 时非常方便。要不那么多权限输死人嘞。
desc 'Create YAML test fixtures from data in an existing database.
Defaults to development database. Set RAILS_ENV to override.'
run:
cd #{RAILS_ROOT}/lib/tasks/
rake extract_fixtures
task :extract_fixtures => :environment do
sql = "SELECT * FROM %s"
skip_tables = ["schema_info"]
ActiveRecord::Base.establish_connection
(ActiveRecord::Base.connection.tables - skip_tables).each do |table_name|
i = "000"
File.open("#{RAILS_ROOT}/test/fixtures/#{table_name}.yml", 'w') do |file|
data = ActiveRecord::Base.connection.select_all(sql % table_name)
file.write data.inject({}) { |hash, record|
hash["#{table_name}_#{i.succ!}"] = record
hash
}.to_yaml
end
end
end
分享到:
相关推荐
资源分类:Python库 所属语言:Python 资源全名:Py_YAML_Fixtures-0.4.0-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
sqla_yaml_fixtures 加载用于SQLAlchemy的YAML数据固定装置 该软件包允许您在YAML中定义一些数据并将其加载到数据库中。 yaml数据应对应于SQLAlchemy声明性映射器。 例子: - User : - __key__ : joey ...
标题 "yaml_test.rar" 涉及到的关键技术是C#编程语言以及yaml(YAML Ain't Markup Language)文件的处理。yaml是一种简洁且人类可读的数据序列化格式,常用于配置文件、数据交换和存储等场景。在描述中提到,我们...
`yaml-test-suite` 是一个专为YAML设计的全面、独立于语言的测试套件,旨在确保不同实现之间的兼容性和一致性。这个测试套件对于开发者来说尤其重要,因为它们可以帮助验证他们的YAML解析器或生成器是否符合规范,...
**C++版YAML库yaml-cpp** yaml-cpp是一个用C++编写的开源库,专为解析、生成YAML格式的数据而设计。YAML(YAML Ain't Markup Language)是一种人类可读的数据序列化语言,常用于配置文件、数据交换和存储等领域。...
在这个场景中,我们有一个名为"api_test.rar"的压缩包文件,它包含了关于API测试的相关资源,特别是与YAML配置文件相关的测试脚本。 首先,让我们了解什么是YAML。YAML是一种易读易写的标记语言,常用于配置文件,...
name: "test_yaml" result: "success" ``` - **列表**:使用破折号`-`表示列表项,项之间用空格分隔。例如: ```yaml - item1 - item2 ``` ### 2. YAML字典和列表的进阶操作 - **字典嵌套**:可以创建...
yaml文件 yaml 入门yaml 入门yaml 入门yaml 入门yaml 入门yaml 入门yaml 入门yaml 入门yaml 入门yaml 入门yaml 入门yaml 入门yaml 入门yaml 入门yaml 入门yaml 入门yaml 入门yaml 入门yaml 入门yaml 入门yaml 入门...
在这个名为"test-merge-yaml"的主题中,我们主要关注如何合并多个YAML文件。在给定的压缩包里,有三个YAML文件:open.yaml、color.yaml和book.yaml,它们各自可能包含独立的配置信息。下面将详细介绍如何管理和合并...
YAML文件通常存储在`database/factories`目录下,每个文件代表一个模型的多个实例。例如,`UserFactory.php`可能包含多个用户实例。 ```yaml # database/factories/UserFactory.yaml users: - name: John Doe ...
在yaml-cpp-0.5.3版本中,除了这两个主要组件外,还有一些辅助类和函数,如`Yaml::Parser`用于解析YAML输入,`Yaml::Exception`处理解析或序列化过程中的错误,以及`Yaml::parse`和`Yaml::dump`两个方便的全局函数,...
《yaml-cpp库详解及其在运维中的应用》 yaml-cpp是C++语言的一个开源库,主要用于解析和生成YAML(YAML Ain't Markup Language)格式的数据。YAML是一种轻量级的数据序列化语言,广泛应用于配置文件、数据交换、...
在MATLAB中,YAML(YAML Ain't Markup Language)是一种流行的数据序列化格式,它被广泛用于存储配置文件、数据传输以及版本控制系统中的元数据。YAML库为MATLAB提供了一个接口,允许用户轻松地读取和写入YAML格式的...
《深入理解YAML-CPP库:解析YAML文件的CPP实现》 YAML,全称“YAML Ain't Markup Language”(发音同“camel”,意为“不是标记语言”),是一种简洁、直观的数据序列化语言。它常用于配置文件、数据交换格式等领域...
在IT行业中,配置文件是管理和控制程序运行状态的关键元素,而YAML(Yet Another Markup Language)因其简洁明了的语法,常被用作配置文件的首选格式。本篇将深入探讨YAML配置文件的解析与使用,特别是如何在Python...
然而,`Laravel开发-yaml`是一个扩展包,它允许开发者使用YAML(Yet Another Markup Language)格式来编写配置文件,提供了一种更为简洁、易读的替代方式。 YAML是一种轻量级的数据序列化语言,常用于配置文件和...
YAML(YAML Ain't Markup Language)是一种数据序列化格式,常用于Kubernetes资源对象的配置文件,包括Ingress。下面我们将深入探讨Ingress的YAML文件及其相关知识点。 1. **Ingress资源对象**: - Ingress是...
《yaml-cpp库详解与应用》 yaml-cpp是一个开源的C++库,专门用于解析和生成YAML(Yet Another Markup Language)格式的数据。YAML是一种简洁、直观的人类可读的数据序列化语言,常被用于配置文件、数据交换以及存储...
pyyaml模块在python中用于处理yaml格式数据,主要使用yaml.safe_dump()、yaml.safe_load()函数将python值和yaml格式数据相互转换。当然也存在yaml.dump()、yaml.load()函数,同样能实现数据转换功能,只是官方不太...
标题 "yaml-cpp-master_library_yaml_cpp_" 暗示我们关注的是一个名为 "yaml-cpp" 的开源库的master分支,这个库主要用于处理YAML(Yet Another Markup Language)格式的数据。YAML是一种常用的数据序列化语言,常在...