如何将表中数据导入yml文件

如何将表中数据导入yml文件,第1张

在lib/task目录下创缺拦建fixtures.rake文件,文件内容为:

namespace :db do

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 = ["table1","table2"...] # 需要伏陵胡导入的表们

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!}"] = recordhash

}.to_yamlendendend #task

我们在做微服务项目时候会引入spring cloud框架,对于配置文件我们就会通过spring cloud config来配置,实现线上环境动态修改配置文件属性而不需要重新打jar 包。 但行猛如是对于单体的spring boot工程,我们又希望可以在生产环境中方案修改配置文件属性。

通过引入外部配置文件,应用启动时候设置配置文件的自动加载

1: 在单体工程的root目录下添加一个config目录,然后新建我们的properties, 如:jdbc-db.properties, redis.properties

2: 然后在我们的application启动类上添加@propertySources注解引入我们的外部文件

注意:因为PropertySources 默认只解析.properties文件档启,如果要解析yml文件,需要指定factory只需要实现org.springframework.core下的 PropertySourceFactory 接口就OK了。

简单的properties配置文件知笑只需要按如下方式配置即可

只需要1,2步骤就可以完成外部文件的加载,如果涉及到线上修改配置就只需要手动修改配置文件,重新启动应用即可生效。

YML文件格式是YAML (YAML Aint Markup Language)编瞎液族写埋羡的文件格式,YAML是一种直观的能够被电脑识别的的数据数据序列化格式,他并且容易被人类阅读,容易和脚本语言交互的,可以被支持YAML库的不同的编程语言程序导入,比如: C/C++, Ruby, Python, Java, Perl, C#, PHP等。例如YML文件格式的用法:

文件,通常就是Ruby on Rails 用来保存磨弊连接数据库时使用的连接信息文件。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12152356.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存