小编Jas*_*ett的帖子

在大表上添加索引需要永远

我有一个表(在MySQL中)unused,大约有540万行.该表如下所示:

CREATE TABLE `unused` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `account_id` bigint(20) DEFAULT NULL,
  `heading_label` varchar(255) NOT NULL,
  `value` varchar(255) NOT NULL,
  `created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  `updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  PRIMARY KEY (`id`),
  KEY `fk_account_id` (`account_id`),
  CONSTRAINT `unused_ibfk_1` FOREIGN KEY (`account_id`) REFERENCES `account` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=80524905 DEFAULT CHARSET=latin1
Run Code Online (Sandbox Code Playgroud)

如果我要添加索引,我认为这个表上的查询可能会更快.我试过这个:

create index heading_label
on unused (heading_label) using btree
Run Code Online (Sandbox Code Playgroud)

我让这个命令在重启MySQL之前运行了一两个小时.虽然这个表有超过500万行,但似乎不需要花费一个多小时才能运行这类东西.但也许这是正常的.我真的不知道自己在做什么.有人可以开导我吗?

mysql indexing

15
推荐指数
1
解决办法
7814
查看次数

Foreigner :: ConnectionAdapters :: ForeignKeyDefinition的未定义方法`column'

当我尝试运行迁移时,我得到以下内容:

NoMethodError: undefined method `column' for #<Foreigner::ConnectionAdapters::ForeignKeyDefinition:0x007fa020938740>
Run Code Online (Sandbox Code Playgroud)

这是迁移代码:

class CreateAdvertisement < ActiveRecord::Migration
  def change
    create_table :advertisement do |t|
      t.integer :issue_id, null: false
      t.string :client_name, null: false
      t.decimal :size, null: false
      t.decimal :price, null: false
      t.decimal :commission_amount, null: false
      t.string :first_payment, null: false
      t.string :second_payment, null: false

      t.timestamps null: false
      t.foreign_key :issue
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

我安装了Foreigner 1.6.1,Rails 4.2.0.有任何想法吗?

ruby-on-rails

15
推荐指数
2
解决办法
3900
查看次数

Angular UI Grid单击行

我有一个Angular UI Grid中的项目列表.当我点击一行时,我想要被带到另一页.(换句话说,网格中的每一行都是一个链接.)

我想这一定是一个非常普遍的愿望,虽然我还没有看到任何关于如何做的文档.有什么好办法来实现这个目标?

angularjs angular-ui-grid

15
推荐指数
3
解决办法
3万
查看次数

sudo gem install pg将无法正常工作

我试图让Rails与PostgreSQL一起工作.显然,我一路上需要做的一件事是sudo gem install pg.当我这样做时,我得到了这个:

jason@buster:~/projects$ sudo gem install pg
Building native extensions.  This could take a while...
ERROR:  Error installing pg:
        ERROR: Failed to build gem native extension.

/usr/bin/ruby1.8 extconf.rb
extconf.rb:2:in `require': no such file to load -- mkmf (LoadError)
        from extconf.rb:2


Gem files will remain installed in /var/lib/gems/1.8/gems/pg-0.10.0 for inspection.
Results logged to /var/lib/gems/1.8/gems/pg-0.10.0/ext/gem_make.out
Run Code Online (Sandbox Code Playgroud)

我用谷歌搜索并根据我发现的东西尝试了一些东西,但似乎没有任何帮助.有什么建议?我在Ubuntu上.

ruby postgresql ubuntu ruby-on-rails

14
推荐指数
2
解决办法
1万
查看次数

Symfony2中的HTML表单标签而不是纯文本

我试图实现这样的事情:

<div>
    <input type="checkbox" name="checkbox" id="checkbox_id" />
    <label for="checkbox_id">I agree to the <a href="/tos">Terms of Service</a></label>
</div>
Run Code Online (Sandbox Code Playgroud)

我最接近实现这一点是通过:

<div>
    {{ form_widget(form.agreeWithTos) }}
    <label for="{{ form.agreeWithTos.vars.id }}">I agree to the <a href="#">Terms of Service</a></label>
</div>
Run Code Online (Sandbox Code Playgroud)

有没有更好的办法?必须指定{{form.agreeWithTos.vars.id}}是不优雅的.:)

php symfony

14
推荐指数
3
解决办法
1万
查看次数

Symfony2表单将空字符串解释为空值

我有一个包含各种字段的Symfony2表单,包括一个名为的可选文本字段recap.

recap当该字段中包含一些文本时,此字段可以完美保存,但当该字段留空时,我收到此错误:

SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'recap' cannot be null
Run Code Online (Sandbox Code Playgroud)

那是对的 - 专栏recap不可能null.我是故意这样设定的.Null意味着未知.当用户recap留空时,其值recap不是未知的; 它是空白的.

我的问题是如何让Symfony保存recap''空白,而不是null.

symfony

14
推荐指数
4
解决办法
9042
查看次数

我如何在ES6中需要一个目录?

我知道我可以在ES6中要求这样的文件:

require('./config/auth');

当我尝试这样做

require('./config/');

我明白了:Module not found: Error: Cannot resolve directory './config'.为什么会这样?我怎么能要求目录?

ecmascript-6

14
推荐指数
1
解决办法
2万
查看次数

迁移时"pg_dump:无效选项 - i"

当我运行rake db:migrate我的Rails项目(3.2.22.2)时,我得到了pg_dump: invalid option -- i.这是完整的痕迹:

Celluloid 0.17.1.1 is running in BACKPORTED mode. [ http://git.io/vJf3J ]
[DEPRECATION] `last_comment` is deprecated.  Please use `last_description` instead.
[DEPRECATION] `last_comment` is deprecated.  Please use `last_description` instead.
[DEPRECATION] `last_comment` is deprecated.  Please use `last_description` instead.
[DEPRECATION] `last_comment` is deprecated.  Please use `last_description` instead.
[DEPRECATION] `last_comment` is deprecated.  Please use `last_description` instead.
pg_dump: invalid option -- i
Try "pg_dump --help" for more information.
rake aborted!
Error dumping database
/Users/jasonswett/.rvm/gems/ruby-2.1.4@bm43/gems/activerecord-3.2.22.2/lib/active_record/railties/databases.rake:429:in `block (3 levels) …
Run Code Online (Sandbox Code Playgroud)

postgresql ruby-on-rails

14
推荐指数
3
解决办法
4931
查看次数

每个表真的需要一个自动递增的人工主键吗?

我在7年的开发经验中看到的每个数据库中的几乎每个表都有一个自动递增的主键.为什么是这样?如果我有一个美国州的表格,其中每个州的每个州都必须有一个唯一的名称,那么自动递增主键的用途是什么?为什么不使用州名作为主键?对我来说似乎是一个允许重复伪装成唯一行的借口.

这对我来说显而易见,但是再一次,似乎没有其他人像我一样到达并采取相同的逻辑结论,所以我必须假设我错了.

我们需要使用自动递增键是否有任何真实的实际原因?

sql database relational-database relational-model

13
推荐指数
2
解决办法
2827
查看次数

链接到涡轮框架不起作用,而是导航整个页面

我有以下代码:

<%= turbo_frame_tag :my_frame do %>
  frame
<% end %>

<%= link_to "About", about_path, data: { turbo_frame: :my_frame } %>
Run Code Online (Sandbox Code Playgroud)

当我单击“关于”链接时,框架的内容不会更新。相反,整个页面导航到about_path

我知道上面的代码不是问题,因为我在一个新的应用程序上测试了相同的代码并且运行良好。该应用程序的某些内容有所不同,导致该涡轮框架链接无法工作。

有任何想法吗?

ruby-on-rails turbo turbo-frames

13
推荐指数
1
解决办法
7928
查看次数