为Dev Handoff生成SQL脚本

时间:2011-07-08 17:11:24

标签: sql

我需要从我们的数据库中获取脚本,以便于使用虚拟数据填充数据库以进行测试。

数据库在多个文件上进行分区,并使用分区方案对数据库进行分区。生成脚本生成的脚本当前生成对分区方案的调用。

如何获取完整数据库(有或没有分区方案)创建脚本以在我的开发数据库上运行?

1 个答案:

答案 0 :(得分:0)

我根本不明白你的问题,所以我会给你两个答案。

第一个回答:

经过互联网和论坛搜索后,我想我找到了一个解决方案,只需要一行代码

我发现了一个很好的宝石,可以完全按照您的要求进行,但对于单个模型,对象和对象的数组。此外,此gem仅适用于Rails 3.2及更早版本。我talked with author,他不想再支持这个宝石了。所以我自己发现了如何支持Rails 4.0,现在我正在维护这个宝石。

下载"models-to-sql-rails" gem here,支持Rails 4.0及更早版本。

<小时/> 有了这个宝石,您可以轻松地执行以下操作。 ( values 中的示例只是一个笑话,在对象中使用它时会得到正确的值)。

对象:

object.to_sql_insert
# INSERT INTO modelName (field1, field2) VALUES ('Wow, amaze gem', 'much doge')

对于对象数组:

array_of_objects.to_sql_insert
# INSERT INTO modelName (field1, field2) VALUES ('Awesome doge', "im *Censored* cop")
# INSERT INTO modelName (field1, field2) VALUES ('much profit', 'much doge')
# (...)

对于模特:

Model.all.to_sql_insert
# INSERT INTO modelName (field1, field2) VALUES ('Awesome doge', "im *Censored* cop")
# INSERT INTO modelName (field1, field2) VALUES ('much profit', 'much doge')
# (...)

只需看看Github of this project,您就会发现如何安装和使用这个美妙的宝石。

第二个答案:

关注this answer,您只需使用mysqldump转储所有数据库。

mysqldump [options] db_name [tbl_name ...]

将生成脚本文件,包括所选表所需的创建和插入。要导入转储,您只需执行以下操作:

mysql -u <user> -p dbname < mys.dmp

希望它有所帮助。