如何从生产数据库的数据迁移到发展分贝(轨道4)?(How do I migrate data fro

2019-10-20 13:08发布

我知道这一个听起来有点倒退! 我一直工作在基于云的情况下,管理应用程序,并正在制定一项支持票务功能。 我们具有所有相同的数据,我们的生产数据库(这是一个非常大的应用程序),我们的开发数据库(MySQL的)。 发展基本上是一个“沙箱”的环境中,因此为什么发展分贝具有完全相同的生产分贝。 今天早上,我跑进我的本地开发服务器的一个问题:

Migrations are pending; run 'bin/rake db:migrate RAILS_ENV=development' to resolve this issue.

好吧,这样做,虽然它没有任何意义。 它err'd出来,因为它试图创建一个已经存在的表(我已经跑了我的迁移,特征是在一天前完成了!所有的一切都很好工作)。

我做的那一刻之前,我在开发服务器得到这个消息,唯一的办法就是取消注释完全-注释掉的文件,试图解决问题的TinyMCE(/config/tinymce.yml,文本编辑器),然后重新启动我的轨开发服务器。 所有这些文件是,是一堆违约和插件。 当我看到这个问题,我首先评论了他们全部退了出去。 还是同样的错误。 继续进行耙分贝:任务。

开始寻找答案..继续得到错误。 做一个小白错误,并最终做了

rake db:migrate:reset 

我知道会在冲水分贝的成本重建架构。 这种失败。但我们确实有在多个地方的分贝此外,只是为了尝试,并把所有的表背(因为它是一样的生产。):

rake db:schema:load

....与失败在桌子上的一个反正

ActiveRecord::StatementInvalid: Mysql2::Error: Specified key was too long; max key length is 767 bytes: CREATE UNIQUE INDEX `login` USING btree ON `users` (`login`, `intranet_id`)

..和所有的表是空的(如预期)成功创建。 我绝不是一个数据库亲(我没有dev'd很长)。 我想知道,有没有办法将整个生产数据库复制到devel的数据库? 表,数据,和所有。 或任何其他建议? 真的失去了在这一个。

Answer 1:

您可以使用mysql_dump 。

如果您连接到数据库,一切都在那里 - 你只需要做的全部数据库的转储,然后再次进行转储到生产表中。

当你清楚地看到你可以用“>”从数据库输出,你可以用“<”导入。



文章来源: How do I migrate data from production db to development db (Rails 4)?