在Rails中,如何恢复表的索引?

时间:2014-07-20 04:05:05

标签: ruby-on-rails sql-server azure rails-activerecord

我有一个Rails应用程序,最初我在本地SQL Server中进行了数据库设置。最近,我将其移至Azure SQL Server,并再次在本地复制了更改。当我向下导入数据库时​​,所有表和数据都被复制下来,但似乎所有主键和索引都消失了。是否可以运行rake命令或rails命令来添加这些键/索引?

2 个答案:

答案 0 :(得分:0)

你可能有一个自动生成的SQL脚本文件(通过rake db:create,rake db:migrate)等,这个文件通常在db / structure.sql'中可用。您可以运行该脚本 - 您可能需要手动删除CREATE TABLE语句,但保留ALTER SEQUENCE,ALTER TABLE,CREATE INDEX语句。

答案 1 :(得分:0)

我最终从Azure数据库创建了一个bacpac文件,并将其作为SQL Server中的数据层应用程序导入。

创建BACPAC文件

  1. 转到Azure门户。
  2. 从菜单中选择“存储”并创建新存储。我刚给它一个网址,然后点击创建存储帐户。创建新存储需要一分钟。
  3. 创建存储后,转到SQL数据库。打开要从中创建bacpac文件的数据库,然后在门户底部选择“导出”。并按照导出向导,选择存储帐户并提供凭据。
  4. SSMS导入数据层应用程序

    1. 右键单击对象资源管理器中的数据库文件夹。

    2. 单击“导入数据层应用程序”并按照向导进行操作。当您进入“导入设置”时,选择从Azure门户下载的bacpac文件。