小编b.b*_*4rd的帖子

doctrine:schema:update不遵守列顺序

Entity在Symfony2中有这个:

<?php

namespace Project\UserBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Users
 *
 * @ORM\Table(name="users")
 * @ORM\Entity
 */
class Users
{
    /**
     * @var integer
     *
     * @ORM\Column(name="user_id", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    private $userId;


    /**
     * @var integer
     *
     * @ORM\Column(name="test", type="integer", nullable=false)
     */
    private $test;
}
Run Code Online (Sandbox Code Playgroud)

我在{{userId}}和{{test}}之间添加以下行:

/**
 * @var integer
 *
 * @ORM\Column(name="superbanana", type="integer", nullable=false)
 */
private $superbanana;
Run Code Online (Sandbox Code Playgroud)

然后我在控制台中执行:

php app/console doctrine:schema:update --dump-sql
Run Code Online (Sandbox Code Playgroud)

它给了我答复:

ALTER TABLE users ADD superbanana INT NOT NULL
Run Code Online (Sandbox Code Playgroud)

**我该怎么办呢?**

ALTER …
Run Code Online (Sandbox Code Playgroud)

php mysql symfony doctrine-orm

9
推荐指数
1
解决办法
4105
查看次数

如何在python中重复异常?

在python中导致异常之后重复某些事情的最优雅方法是什么?

我有这样的东西[伪代码作为例子]:

try:
  do_some_database_stuff()
except DatabaseTimeoutException:
  reconnect_to_database()
  do_some_database_stuff() # just do it again
Run Code Online (Sandbox Code Playgroud)

但想象一下,如果我没有一个很好的功能,而是很多代码.重复的代码不是很好.

所以我认为这稍微好一些:

while True:
  try:
    do_some_database_stuff()
    break
  except DatabaseTimeoutException:
    reconnect_to_database()
Run Code Online (Sandbox Code Playgroud)

如果异常确实解决了问题,那就足够了.如果不是,我需要一个计数器来防止无限循环:

i = 0
while i < 5:
  try:
    do_some_database_stuff()
    break
  except DatabaseTimeoutException:
    reconnect_to_database()
    i += 1
Run Code Online (Sandbox Code Playgroud)

但后来我真的不知道它是否有效,所以它也是:

while i <= 5:
  try:
    do_some_database_stuff()
    break
  except DatabaseTimeoutException:
    if i != 5:
     reconnect_to_database()
    else:
      raise DatabaseTimeoutException
    i += 1
Run Code Online (Sandbox Code Playgroud)

你可以看到它开始变得非常混乱.

表达这种逻辑的最优雅方式是什么?

  • 尝试一下
  • 如果失败则应用修复
  • 尝试n次,包括修复
  • 如果它继续失败给我一个错误,以防止无限循环

python python-2.7

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

重用学说实体管理器使用的数据库连接

Doctrine 将本地的、驱动程序特定的数据库连接资源句柄封装在其 Connection 类中。我说的是从,例如,返回的资源mysqli_connect()。我看不到任何访问原始连接资源的方法 - 我找不到任何 getter 方法。这种强封装可能暗示我不应该尝试访问和使用它,但当然,这正是我想要做的。

如果我要从同一连接发出只读选择查询,会不会引起任何问题?我不确定学说的工作流程是如何在幕后运作的。数据库连接是有状态的,我有点害怕在学说有一些多步骤事务部分正在进行时我可能会跳入并发出 sql 查询,这显然会导致问题。但是由于 php 的单线程特性,我认为它在实践中很有可能是不可能的,这取决于学说的工作方式。

旁白:我想这样做的原因是为了性能。我还有一些不是用学说编写的代码,它需要原始数据库连接,因为它使用本机 db 扩展函数。我可以只打开另一个 db 连接,但打开第二个连接在我的场景中具有显着的性能影响......这使得尝试重用学说连接非常有吸引力。

php mysql doctrine-orm

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

如何使用Symfony2,Doctrine2执行存储过程

我使用以下代码:

use Doctrine\ORM\Query\ResultSetMapping;
...
...
...
...
$em    = $this->get( 'doctrine.orm.entity_manager' );
$rsm   = new ResultSetMapping();
$query = $em->createNativeQuery( 'CALL procedureName(:param1, :param2)', $rsm )
            ->setParameters( array(
                'param1' => 'foo',
                'param2' => 'bar'
            ) );
$result = $query->getResult();
//$result = $query->execute(); // Also tried

$em->flush();
die(var_dump($result));
Run Code Online (Sandbox Code Playgroud)

我在$ result参数中没有得到任何东西.谁能告诉我如何从Symfony 2.0.15中的存储过程中获取结果?

php mysql stored-procedures symfony doctrine-orm

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

Jenkins为Go Projects构建设置

我们计划为Go Projects设置Jenkin Build流程.我在jenkins中设置了Custom Workspace,并从"Global Tool Configuration"安装了go1.6.

执行时我收到错误消息go build 下面是GOPATH和GOROOT

GOPATH /var/lib/jenkins/workspace/project/go
GOROOT  /var/lib/jenkins/workspace
Run Code Online (Sandbox Code Playgroud)
ain.go:20:2: cannot find package "bytes" in any of:
    /var/lib/jenkins/workspace/src/pkg/bytes (from $GOROOT)
    /var/lib/jenkins/workspace/project/go/src/bytes (from $GOPATH)
Run Code Online (Sandbox Code Playgroud)

我在这里缺少什么?...感谢您的帮助..

go jenkins jenkins-plugins

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

Cloudwatch发送到SNS的JSON有效负载中有什么?我如何读取这些数据?

当Cloudwatch中触发警报时,我正在尝试使用Lambda解析数据。我目前正在使用SNS触发lambda;但是,我想知道什么数据正在发送到该Lambda,以便我可以正确解析它。

如何读取SNS传递给Lambda的JSON警报数据?

python amazon-web-services amazon-sns amazon-cloudwatch aws-lambda

4
推荐指数
2
解决办法
1831
查看次数

适用于PHP的AWS开发工具包 - 如何获取文件的创建日期

我有工作代码,它返回s3存储桶下的所有文件.我必须得到今天上传的文件以便进一步处理.

获取文件的代码:

use Aws\S3\S3Client;
$s3Client = S3Client::factory(array(
    'region'  => 'us-east-1',
    'version' => '2006-03-01',
    'credentials' => array(
    'key'    => 'XXXX',
    'secret' => 'YYYYYYYY'

)
));

$iterator = $s3Client->getIterator('ListObjects', array(
    'Bucket' => 'mybucket',    
    'Prefix' => 'adityamusic',
    'Suffix' => '.xlsx',
    ), array(
    'limit'     => 999,
    'page_size' => 100
));

foreach ($iterator as $object) {
    print_r($object['LastModified']); 
    print_r($object['LastModified']['date']);   //this gives error
}
Run Code Online (Sandbox Code Playgroud)

print_r($object['LastModified']) 输出为:

Array
(
   [Key] => mymusic/
   [LastModified] => Aws\Api\DateTimeResult Object
       (
           [date] => 2016-08-03 06:20:31
           [timezone_type] => 2
           [timezone] => Z
       ) …
Run Code Online (Sandbox Code Playgroud)

php amazon-s3 amazon-web-services

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

创建具有大索引的JavaScript数组的好方法是什么?

我正在创建一个Web应用程序,其中用户从PHP获取数据,并且数据由MySQL行组成,因此我想将已使用的数据保存在全局变量中,类似于缓冲区,以防止额外的AJAX请求.

我现在正在这样做:

window.ray = []; // global variable
$(function(){
   data = getDataWithAjax(idToSearch);
   window.ray[data.id] = data.text;
});
Run Code Online (Sandbox Code Playgroud)

但是当id很大时,现在就说10,window.ray变成这样:

,,,,,,,,42
Run Code Online (Sandbox Code Playgroud)

所以它包含9个不必要的点.或者是吗?它只在我做的时候可见console.log(window.ray);

如果这是低效的,我想找到像PHP这样的方式,我只能分配我想要的索引,如:

$array['420'] = "abc";
$array['999'] = "xyz";
Run Code Online (Sandbox Code Playgroud)

我目前的方式与PHP一样高效,还是实际上包含不必要的内存点?

谢谢你的帮助 !

javascript arrays performance

0
推荐指数
1
解决办法
40
查看次数

"Doctrine\ORM\QueryBuilder"类型的预期参数

这是在函数"myList中" ProduitRepository:

    public function myList($id)
{


    $qb = $this->createQueryBuilder('p');

    $qb->where('p.id > 10');

    return $qb->getQuery()
               ->getResult();

}
Run Code Online (Sandbox Code Playgroud)

这是ProduitType.php中的builderForm:

    public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder
        ->add('nom', 'text',              array('required' => true))
        ->add('description', 'textarea',  array('required' => false))
        ->add('prix', 'money',            array('required' => true))
        ->add('publication', 'checkbox',  array('required' => false))
        ->add('image', new ImageType() )
        ->add('sousCategorie', 'entity',array(
        'class' => 'StoreCategorieBundle:SousCategorie',
        'property' => 'nom',
        'multiple' => false,
        'expanded' => false ))

        ->add('produit', 'entity', array(
        'class' => 'StoreProduitBundle:Produit',
        'property' => 'nom',
        'query_builder' => function(\Store\ProduitBundle\Entity\ProduitRepository $er) …
Run Code Online (Sandbox Code Playgroud)

php query-builder symfony doctrine-orm

-1
推荐指数
1
解决办法
3766
查看次数