Ruby on rails 利用生产数据建立播种发展数据库
我正在处理一个使用Postgresql的复杂Rails应用程序。Ruby on rails 利用生产数据建立播种发展数据库,ruby-on-rails,postgresql,development-environment,production-environment,seeding,Ruby On Rails,Postgresql,Development Environment,Production Environment,Seeding,我正在处理一个使用Postgresql的复杂Rails应用程序。 从头开始创建种子可能太复杂了(有许多模型和激活步骤只能按非常特定的顺序工作) 但我确实需要一些非常精确的种子来开发新功能。 是否有办法将一些数据从生产数据库传输到开发数据库? 我也不希望仅仅为了这个而安装gems或修改生产应用程序 是否有办法将一些数据从生产数据库传输到开发数据库 仅转储特定表,并使用转储的sql文件为开发数据库种子: pg_dump -d production_database -t table_one -t t
从头开始创建种子可能太复杂了(有许多模型和激活步骤只能按非常特定的顺序工作) 但我确实需要一些非常精确的种子来开发新功能。
是否有办法将一些数据从生产数据库传输到开发数据库?
我也不希望仅仅为了这个而安装gems或修改生产应用程序 是否有办法将一些数据从生产数据库传输到开发数据库 仅转储特定表,并使用转储的sql文件为开发数据库种子:
pg_dump -d production_database -t table_one -t table_two ... > /tmp/dev_dump.sql
但要小心,桌子上经常有外键和其他工作人员
是否有办法将一些数据从生产数据库传输到开发数据库
仅转储特定表,并使用转储的sql文件为开发数据库种子:
pg_dump -d production_database -t table_one -t table_two ... > /tmp/dev_dump.sql
但要小心,表通常有外键和其他工作人员。Tonic(免责声明:我在那里工作)有一个用于设置Postgres数据库子集的开源解决方案。它在Github上可用,并且是用Python编写的。你可以在这里找到它:
子集设置是一个困难的问题,因为您必须保持引用完整性。我们的方法是构建数据库的网络图,其中表是节点,FK关系是有向边(从父到子)。然后,我们通过a对图进行排序,并开始机会主义地删除行。尽管有一些细微差别和一些陷阱。例如,有向图可以包含循环,当这种情况发生时,拓扑排序将失败。它还有很多内容,你可以阅读更多关于它的信息(或者只是克隆repo并拥有它)。Toni(免责声明:我在那里工作)有一个用于子集Postgres数据库的开源解决方案。它在Github上可用,并且是用Python编写的。你可以在这里找到它:
子集设置是一个困难的问题,因为您必须保持引用完整性。我们的方法是构建数据库的网络图,其中表是节点,FK关系是有向边(从父到子)。然后,我们通过a对图进行排序,并开始机会主义地删除行。尽管有一些细微差别和一些陷阱。例如,有向图可以包含循环,当这种情况发生时,拓扑排序将失败。它还有很多内容,您可以阅读更多有关它的信息(或者只是克隆repo并拥有它)。下载生产数据库转储并导出到本地数据库。假设您可以访问生产数据库,您应该创建一个转储文件,正如jagdeep所说:“pg_dump production_dbname>dumpfile”然后,您可以使用此处的dev dbs名称通过“psql dev_dbname