小编Mat*_*ick的帖子

如何在单表继承上强制引用完整性?

我已经阅读了Bill Karwin关于单表继承的一些答案,并认为这种方法对我正在考虑的设置有好处:

Playlist
--------
id AUTO_INCREMENT
title

TeamPlaylist
------------
id REFERENCES Playlist.id
teamId REFERENCES Team.id

UserPlaylist
------------
id REFERENCES Playlist.id
userId REFERENCES User.id

PlaylistVideo
-------------
id
playlistId REFERENCES Playlist.id
videoId REFERENCES Video.id
Run Code Online (Sandbox Code Playgroud)

所有CASCADE选项都设置DELETE为在Playlist删除a时正常工作,但是,如果删除UserTeam删除会发生什么?

即.如果User被删除,在行UserPlaylist会被删除,但被引用的行中Playlist,并PlaylistVideo仍将保留.我考虑过强制执行此操作,TRIGGER AFTER DELETE但无法知道删除请求是否因为Playlist已删除或删除而导致User.

在这种情况下,强制执行诚信的最佳方法是什么?

编辑(提供ERD)

在此输入图像描述

mysql referential-integrity single-table-inheritance polymorphic-associations cascading-deletes

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

jQuery索引问题()

我必须要有一些简单的东西.我正在尝试获取元素的索引但仍然保持-1.

HTML:

<div id="rating_boxes">
<img src="/img/ratingbox.gif" class="ratingbox" alt="Rate this Speech" />
<img src="/img/ratingbox.gif" class="ratingbox" alt="Rate this Speech" />
<img src="/img/ratingbox.gif" class="ratingbox" alt="Rate this Speech" />
<img src="/img/ratingbox.gif" class="ratingbox" alt="Rate this Speech" />
<img src="/img/ratingbox.gif" class="ratingbox" alt="Rate this Speech" />
<img src="/img/ratingbox.gif" class="ratingbox" alt="Rate this Speech" />
<img src="/img/ratingbox.gif" class="ratingbox" alt="Rate this Speech" />
<img src="/img/ratingbox.gif" class="ratingbox" alt="Rate this Speech" />
<img src="/img/ratingbox.gif" class="ratingbox" alt="Rate this Speech" />
<img src="/img/ratingbox.gif" class="ratingbox" alt="Rate this Speech" />
</div>
Run Code Online (Sandbox Code Playgroud)

jQuery的:

$("img.ratingbox").hover(function() {
    var index …
Run Code Online (Sandbox Code Playgroud)

indexing jquery jquery-selectors

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

软件开发成本金字塔

有一天,一位朋友告诉我,在软件开发生命周期中修复问题的成本存在一个金字塔.我在哪里可以找到这个?

他指的是解决问题的成本.

例如,

在需求阶段解决问题成本1.

在开发阶段解决问题成本为10.

在测试阶段解决问题成本为100

在生产阶段解决问题成本为1000.

(这些数字只是例子)

如果有人参考,我会有兴趣看到更多相关信息.

software-quality

10
推荐指数
2
解决办法
9749
查看次数

如何在IE中禁用文件输入文本框?

是否可以阻止用户在IE中输入文件输入文本框?我问的原因是,如果用户输入的文本看起来不像文件系统路径(例如,不是以c:...开头),那么当用户点击提交按钮时,不会发生任何事情.

我要么不允许用户输入框或让表单正常提交.

我发现同样的问题在这里被问到没有答案:http: //www.webmasterworld.com/html/3290988.htm

如果没有其他合适的答案,这个人想出了一个我可以使用的黑客:http: //www.shauninman.com/archive/2007/09/10/styling_file_inputs_with_css_and_the_dom

编辑:澄清 - 如果用户在"浏览"按钮旁边的文本框中键入"不是文件路径"并单击提交,则在IE中不会发生任何事情.表单将不会提交 - 当<input type ="file">框没有真正的文件路径时,IE不允许提交表单.

html internet-explorer file input filepath

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

为什么.val()不是函数?

我有一个动态表单,用户提供名称和描述:

<label>Name</label><br />
<input type="text" name="name[]" maxlength="255" /><br />

<label>Description</label><br />
<textarea name="desc[]"></textarea><br />
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用Javascript验证表单,以确保如果指定了名称,则必须输入说明.

$("input[name='name[]']").each(function() {
    var index = $("input[name='name[]']").index(this);
    if ($(this).val() != '') {
        alert($("textarea[name='desc[]']").get(index).value);
        alert($("textarea[name='desc[]']").get(index).val());
    }
}
Run Code Online (Sandbox Code Playgroud)

第一个alert()按预期工作但是我得到第二个警告:$("textarea [name ='desc []']").get(index).val()不是函数

有什么不同?为什么我不能使用jQuery函数?

javascript jquery

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

如何从准备好的声明中获得标量结果?

是否可以将预准备语句的结果设置为变量?我试图创建以下存储过程,但它失败了:

第31行的错误1064(42000):SQL语法中有错误; 检查与MySQL服务器版本对应的手册,以便在'stmt USING @m,@ c,@ a附近使用正确的语法;

DROP PROCEDURE IF EXISTS deleteAction;

DELIMITER $$
CREATE PROCEDURE deleteAction(
    IN modul CHAR(64),
    IN controller CHAR(64),
    IN actn CHAR(64))

MODIFIES SQL DATA

BEGIN

    PREPARE stmt FROM 'SELECT id 
                         FROM actions 
                        WHERE `module` = ? 
                          AND `controller` = ? 
                          AND `action` = ?';

    SET @m = modul;
    SET @c = controller;
    SET @a = actn;

    SET @i = EXECUTE stmt USING @m, @c, @a;

    DEALLOCATE PREPARE stmt;

    DELETE FROM acl WHERE action_id = @i; …
Run Code Online (Sandbox Code Playgroud)

mysql variables stored-procedures prepared-statement mysql-error-1064

8
推荐指数
1
解决办法
6250
查看次数

如何设置SVN仓库进行紧急修复?

作为一名开发人员多年来,我应该知道这一点,但事实并非如此.

我正在一个小团队中发布一个已发布的产品.我是提交大部分代码的主要开发人员,但还有一些其他开发人员不时提交.目前,我们有一个运行Hudson CI的登台服务器,它在每次提交后构建.当中继线稳定并经过测试时,通过简单的svn up命令手动更新生产.

这通常工作正常,但是当代码未在主干中最终确定时,我们确实有需要紧急/紧急更改生产的情况.

如何设置回购以适应这种情况?我认为这个回复是一个很好的回复,但它仍然有点过头了.

我在想,在更新生产时,在该版本中创建一个分支.但是,如果我需要进行紧急生产修复,我该如何访问该分支,如何通过从该分支而不是中继来更新生产?如何确保生产分支的任何紧急修复程序也已提交到主干?

即.这是我希望有更好的解决方案的情况,因为它已经发生了几次

  • Rev 1000更新了生产
  • Rev 1001-1005是新功能请求/错误修复,将包含在下一版本中
  • Rev 1006是一个迫切的解决方案,需要推向生产
  • Rev 1007-1009是更多功能更新
  • Rev 1010应该是更新到生产的下一个版本

更新:

阅读完SVN Book的分支部分后,我正在考虑以下设置.

  1. 准备好推进生产时创建分支

    svn copy /trunk /branches/production_01 -m 'Production release'

  2. 在生产时,切换到生产分支

    svn switch /branches/production_01

  3. 如果需要紧急修复,开发人员需要在分支中进行更改:

    svn checkout /branches/production_01
    // make changes
    svn merge /trunk # make sure changes get merged into trunk as well
    svn commit -m 'Urgent fix

  4. 在制作时,更新到最新的分支

    svn update

这个过程听起来像我们的设置吗?

svn deployment version-control branch repository

7
推荐指数
1
解决办法
2286
查看次数

Fabric使用Gateway的Key通过网关连接

我需要通过网关机器连接到EC2实例.密钥文件存储在网关机器上.以下ssh命令连接我:

ssh -t gateway ssh ec2
Run Code Online (Sandbox Code Playgroud)

但是,在我的fabfile中,我有以下设置:

env.hosts = ['ec2.<snip>.compute.amazonaws.com']
env.gateway = 'gateway'
Run Code Online (Sandbox Code Playgroud)

但是在连接到ec2时它会提示我输入密码.

故障排除指南说,以"ssh -t"要执行的命令.当我这样做时,它的工作原理:

local> ssh -t gateway ssh ec2.compute.amazonaws.com /bin/bash -l -c "uname -a"
Linux
Connection to gateway closed.
Run Code Online (Sandbox Code Playgroud)

这是面料和paramiko调试信息:

local> fab --show=debug uname
Using fabfile '/home/matt/.../fabfile.py'
Commands to run: uname
Parallel tasks now using pool size of 1
[ec2-.compute.amazonaws.com] Executing task 'uname'
[ec2-.compute.amazonaws.com] run: /bin/bash -l -c "uname -a"
Creating new gateway connection to 'gateway'
DEBUG:paramiko.transport:starting thread (client mode): 0xb6e50dd0L
INFO:paramiko.transport:Connected (version 2.0, client …
Run Code Online (Sandbox Code Playgroud)

ssh paramiko fabric

6
推荐指数
1
解决办法
440
查看次数

使用带有form.fields.queryset的<optgroup>?

是否可以设置一个表单的ForeignKey字段的查询集,以便它将采用单独的查询集并将其输出为<optgroup>

这是我有的:

views.py

form = TemplateFormBasic(initial={'template': digest.template.id})
form.fields['template'].queryset = Template.objects.filter(Q(default=1) | Q(user=request.user)).order_by('name')
Run Code Online (Sandbox Code Playgroud)

在我的模板模型中,我有默认模板和用户创建的模板.我希望它们在<select>盒子中明显分开,例如.

<select>
  <optgroup label="Default Templates">
    <option>Default 1</option>
    <option>Default 2</option>
  </optgroup>
  <optgroup label="User Templates">
    <option>User Template 1</option>
    <option>User Template 2</option>
  </optgroup>
</select>
Run Code Online (Sandbox Code Playgroud)

可以这样做吗?

python django django-forms django-queryset

5
推荐指数
1
解决办法
2864
查看次数

如何为Cake PHP find()方法找到多个值?(IN条件)

有没有办法在CakePHP中执行转换为IN条件的find()?似乎find()方法只需要一个值来搜索.

我想做这样的事情:

$this->User->findAllById(array(1, 5, 7));
Run Code Online (Sandbox Code Playgroud)

这会将SQL转换为:

SELECT * FROM users WHERE id IN (1, 5, 7);
Run Code Online (Sandbox Code Playgroud)

cakephp cakephp-model

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